{"version":3,"file":"app.1743084310.js","mappings":"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","sources":["webpack://cadacstore/./src/types/generated/localazyMetaData.ts","webpack://cadacstore/./src/types/helpers/formatHelper.ts","webpack://cadacstore/./src/types/utils/i18n.ts","webpack://cadacstore/./src/directives/lazyLoadImageDirective.ts","webpack://cadacstore/./src/types/helpers/logHelper.ts","webpack://cadacstore/./src/views/blocks/askAQuestionBlock.vue?65bd","webpack://cadacstore/./src/views/blocks/askAQuestionBlock.vue","webpack://cadacstore/./src/types/utils/httpRequestManager.ts","webpack://cadacstore/./src/types/helpers/apiHelper.ts","webpack://cadacstore/./src/types/helpers/urlHelper.ts","webpack://cadacstore/./src/store/common/layoutStore.ts","webpack://cadacstore/./src/store/common/loadingStore.ts","webpack://cadacstore/./src/types/utils/ga4.ts","webpack://cadacstore/./src/types/models/googleAnalytics/enum/gaEvent.ts","webpack://cadacstore/./src/types/enum/productCategoryType.ts","webpack://cadacstore/./src/types/models/googleAnalytics/enum/trafficSource.ts","webpack://cadacstore/./src/components/base/baseComponent.vue","webpack://cadacstore/./src/components/base/baseComponent.vue?a256","webpack://cadacstore/./src/types/enum/blockBackgroundColor.ts","webpack://cadacstore/./src/types/enum/ctaButtonStyle.ts","webpack://cadacstore/./src/types/enum/horizontalAlignment.ts","webpack://cadacstore/./src/components/base/baseBlock.vue","webpack://cadacstore/./src/components/base/baseBlock.vue?a036","webpack://cadacstore/./src/types/enum/askAQuestionCategoryType.ts","webpack://cadacstore/./src/views/blocks/askAQuestionBlock.vue?cb70","webpack://cadacstore/./src/views/blocks/callToActionCenteredDivideBlock.vue?681f","webpack://cadacstore/./src/views/blocks/callToActionCenteredDivideBlock.vue","webpack://cadacstore/./src/views/blocks/callToActionCenteredDivideBlock.vue?19a3","webpack://cadacstore/./src/views/blocks/callToActionDefaultBlock.vue?024f","webpack://cadacstore/./src/views/blocks/callToActionDefaultBlock.vue","webpack://cadacstore/./src/types/enum/size.ts","webpack://cadacstore/./src/views/blocks/callToActionDefaultBlock.vue?166b","webpack://cadacstore/./src/views/blocks/callToActionOfferBlock.vue?e537","webpack://cadacstore/./src/views/blocks/callToActionOfferBlock.vue","webpack://cadacstore/./src/views/blocks/callToActionOfferBlock.vue?07f8","webpack://cadacstore/./src/views/blocks/callToActionSplitBlock.vue?2449","webpack://cadacstore/./src/views/blocks/callToActionSplitBlock.vue","webpack://cadacstore/./src/views/blocks/callToActionSplitBlock.vue?8e37","webpack://cadacstore/./src/views/blocks/categoriesBlock.vue?5ebd","webpack://cadacstore/./src/views/blocks/categoriesBlock.vue","webpack://cadacstore/./src/views/blocks/categoriesBlock.vue?26a8","webpack://cadacstore/./src/views/blocks/categoriesBlock.vue?17d9","webpack://cadacstore/./src/views/blocks/collectionsGridBlock.vue?92e1","webpack://cadacstore/./src/views/blocks/collectionsGridBlock.vue","webpack://cadacstore/./src/components/product/baseProductOverviewItemCard.vue?db46","webpack://cadacstore/./src/components/product/baseProductOverviewItemCard.vue","webpack://cadacstore/./src/components/experts/expertOverviewItemCard.vue?8262","webpack://cadacstore/./src/components/experts/expertOverviewItemCard.vue","webpack://cadacstore/./src/components/experts/expertOverviewItemCard.vue?4d9e","webpack://cadacstore/./src/components/product/productOverviewItemCard.vue?0d78","webpack://cadacstore/./src/components/product/productOverviewItemCard.vue","webpack://cadacstore/./src/types/enum/itemProductType.ts","webpack://cadacstore/./src/components/product/productOverviewItemCard.vue?2021","webpack://cadacstore/./src/components/service/serviceOverviewItemCard.vue?13fe","webpack://cadacstore/./src/components/service/serviceOverviewItemCard.vue","webpack://cadacstore/./src/components/service/serviceOverviewItemCard.vue?42bc","webpack://cadacstore/./src/components/product/baseProductOverviewItemCard.vue?d2cd","webpack://cadacstore/./src/views/blocks/collectionsGridBlock.vue?859b","webpack://cadacstore/./src/views/blocks/featuredFaqBlock.vue?a726","webpack://cadacstore/./src/views/blocks/featuredFaqBlock.vue","webpack://cadacstore/./src/views/blocks/featuredFaqBlock.vue?12d4","webpack://cadacstore/./src/views/blocks/heroDefaultBlock.vue?0f6c","webpack://cadacstore/./src/views/blocks/heroDefaultBlock.vue","webpack://cadacstore/./src/components/common/heroSearchBar.vue?73e9","webpack://cadacstore/./src/components/common/heroSearchBar.vue","webpack://cadacstore/./src/types/enum/searchCategory.ts","webpack://cadacstore/./src/components/common/heroSearchBar.vue?3bb7","webpack://cadacstore/./src/types/enum/heroBackgroundColor.ts","webpack://cadacstore/./src/types/enum/verticalAlignment.ts","webpack://cadacstore/./src/views/blocks/heroDefaultBlock.vue?82e4","webpack://cadacstore/./src/views/blocks/heroFaqBlock.vue?bcf3","webpack://cadacstore/./src/views/blocks/heroFaqBlock.vue","webpack://cadacstore/./src/components/common/linkButton.vue?5aad","webpack://cadacstore/./src/components/common/linkButton.vue","webpack://cadacstore/./src/components/common/linkButton.vue?aabf","webpack://cadacstore/./src/views/blocks/heroFaqBlock.vue?8018","webpack://cadacstore/./src/views/blocks/highlightsBlock.vue?3f5c","webpack://cadacstore/./src/views/blocks/highlightsBlock.vue","webpack://cadacstore/./src/views/blocks/highlightsBlock.vue?294a","webpack://cadacstore/./src/views/blocks/linkToBlock.vue?9ea0","webpack://cadacstore/./src/views/blocks/linkToBlock.vue","webpack://cadacstore/./src/views/blocks/linkToBlock.vue?f2b1","webpack://cadacstore/./src/views/blocks/logosBlock.vue?e492","webpack://cadacstore/./src/views/blocks/logosBlock.vue","webpack://cadacstore/./src/views/blocks/logosBlock.vue?e015","webpack://cadacstore/./src/views/blocks/productGridBlock.vue?bc0d","webpack://cadacstore/./src/views/blocks/productGridBlock.vue","webpack://cadacstore/./src/views/blocks/productGridBlock.vue?6f56","webpack://cadacstore/./src/views/blocks/productGridColumnedBlock.vue?829d","webpack://cadacstore/./src/views/blocks/productGridColumnedBlock.vue","webpack://cadacstore/./src/views/blocks/productGridColumnedBlock.vue?e229","webpack://cadacstore/./src/views/blocks/recentContentBlock.vue?c3a2","webpack://cadacstore/./src/views/blocks/recentContentBlock.vue","webpack://cadacstore/./src/views/blocks/recentContentBlock.vue?0c19","webpack://cadacstore/./src/views/blocks/textAndMediaBlock.vue?031e","webpack://cadacstore/./src/views/blocks/textAndMediaBlock.vue","webpack://cadacstore/./src/types/enum/imagePosition.ts","webpack://cadacstore/./src/views/blocks/textAndMediaBlock.vue?0315","webpack://cadacstore/./src/views/blocks/textBlock.vue?1f41","webpack://cadacstore/./src/views/blocks/textBlock.vue","webpack://cadacstore/./src/types/enum/textBlockIntroPosition.ts","webpack://cadacstore/./src/types/enum/textBlockTemplate.ts","webpack://cadacstore/./src/views/blocks/textBlock.vue?2f6f","webpack://cadacstore/./src/views/blocks/_index.ts","webpack://cadacstore/./src/components/common/backButton.vue?ba3a","webpack://cadacstore/./src/components/common/backButton.vue","webpack://cadacstore/./src/components/common/backButton.vue?5af5","webpack://cadacstore/./src/components/common/popoverIcon.vue?1d08","webpack://cadacstore/./src/components/common/popoverIcon.vue","webpack://cadacstore/./src/components/common/popoverIcon.vue?2829","webpack://cadacstore/./src/components/common/priceSummary.vue?2fea","webpack://cadacstore/./src/components/common/priceSummary.vue","webpack://cadacstore/./src/types/enum/vatSituation.ts","webpack://cadacstore/./src/components/common/priceSummary.vue?1d4b","webpack://cadacstore/./src/components/commerce/productAddedModal.vue?1d51","webpack://cadacstore/./src/components/commerce/productAddedModal.vue","webpack://cadacstore/./src/store/commerce/cartStore.ts","webpack://cadacstore/./src/components/commerce/productAddedModal.vue?7912","webpack://cadacstore/./src/types/enum/expertBookingStatus.ts","webpack://cadacstore/./src/types/enum/expertPageState.ts","webpack://cadacstore/./src/components/common/statusBadge.vue","webpack://cadacstore/./src/components/common/statusBadge.vue?225d","webpack://cadacstore/./src/components/common/statusBadge.vue?3d86","webpack://cadacstore/./src/components/index.ts","webpack://cadacstore/./src/types/enum/gender.ts","webpack://cadacstore/./src/types/helpers/validationHelper.ts","webpack://cadacstore/./src/types/utils/validators.ts","webpack://cadacstore/./src/types/utils/gtm.ts","webpack://cadacstore/./src/types/utils/fa-library.ts","webpack://cadacstore/./src/views/myCadac/accountSettings.vue?b8ca","webpack://cadacstore/./src/views/myCadac/accountSettings.vue","webpack://cadacstore/./src/components/common/forms/addressForm.vue?7957","webpack://cadacstore/./src/components/common/forms/addressForm.vue","webpack://cadacstore/./src/components/common/inputWithValidation.vue?c24f","webpack://cadacstore/./src/components/common/inputWithValidation.vue","webpack://cadacstore/./src/components/common/inputWithValidation.vue?c161","webpack://cadacstore/./src/components/common/forms/addressForm.vue?ffee","webpack://cadacstore/./src/components/common/forms/companyForm.vue?8652","webpack://cadacstore/./src/components/common/forms/companyForm.vue","webpack://cadacstore/./src/components/common/forms/companyForm.vue?a39a","webpack://cadacstore/./src/components/common/forms/newPasswordForm.vue?7b21","webpack://cadacstore/./src/components/common/forms/newPasswordForm.vue","webpack://cadacstore/./src/components/common/forms/newPasswordForm.vue?f42e","webpack://cadacstore/./src/components/common/forms/personalForm.vue?fc23","webpack://cadacstore/./src/components/common/forms/personalForm.vue","webpack://cadacstore/./src/components/common/forms/personalForm.vue?8b85","webpack://cadacstore/./src/components/accountSettings/relatedContactTable.vue?39e7","webpack://cadacstore/./src/components/accountSettings/relatedContactTable.vue","webpack://cadacstore/./src/components/accountSettings/relatedContactTable.vue?27f4","webpack://cadacstore/./src/views/myCadac/accountSettings.vue?09d0","webpack://cadacstore/./src/views/commerce/advisorInfo.vue?a1e5","webpack://cadacstore/./src/views/commerce/advisorInfo.vue","webpack://cadacstore/./src/components/advisor/advisorUploadUsageModal.vue?ffe1","webpack://cadacstore/./src/components/advisor/advisorUploadUsageModal.vue","webpack://cadacstore/./src/types/enum/advisorLogStatus.ts","webpack://cadacstore/./src/types/utils/i18n-validators.ts","webpack://cadacstore/./src/store/advisor/advisorStore.ts","webpack://cadacstore/./src/components/advisor/advisorUploadUsageModal.vue?c532","webpack://cadacstore/./src/views/commerce/advisorInfo.vue?6552","webpack://cadacstore/./src/views/myCadac/bookingDetail.vue?8eae","webpack://cadacstore/./src/views/myCadac/bookingDetail.vue","webpack://cadacstore/./src/components/commerce/cart/columnExpertInfo.vue?4551","webpack://cadacstore/./src/components/commerce/cart/columnExpertInfo.vue","webpack://cadacstore/./src/components/commerce/cart/columnExpertInfo.vue?e4b6","webpack://cadacstore/./src/components/commerce/cart/columnYesNo.vue?1e5a","webpack://cadacstore/./src/components/commerce/cart/columnYesNo.vue","webpack://cadacstore/./src/components/commerce/cart/columnYesNo.vue?f901","webpack://cadacstore/./src/components/experts/expertAcceptBookingModal.vue?53ca","webpack://cadacstore/./src/components/experts/expertAcceptBookingModal.vue","webpack://cadacstore/./src/store/expert/expertStore.ts","webpack://cadacstore/./src/components/experts/expertAcceptBookingModal.vue?9806","webpack://cadacstore/./src/components/experts/expertCompleteBookingModal.vue?9ebc","webpack://cadacstore/./src/components/experts/expertCompleteBookingModal.vue","webpack://cadacstore/./src/components/experts/expertCompleteBookingModal.vue?b9aa","webpack://cadacstore/./src/components/experts/expertDeclineBookingModal.vue?4e80","webpack://cadacstore/./src/components/experts/expertDeclineBookingModal.vue","webpack://cadacstore/./src/components/experts/expertDeclineBookingModal.vue?b434","webpack://cadacstore/./src/components/product/productConfigurationSummaryItem.vue?102b","webpack://cadacstore/./src/components/product/productConfigurationSummaryItem.vue","webpack://cadacstore/./src/components/product/productConfigurationSummaryItem.vue?ade2","webpack://cadacstore/./src/types/enum/expertCalculationLineType.ts","webpack://cadacstore/./src/types/enum/expertTypes.ts","webpack://cadacstore/./src/components/experts/expertReviewBookingModal.vue?ab00","webpack://cadacstore/./src/components/experts/expertReviewBookingModal.vue","webpack://cadacstore/./src/components/experts/expertReviewBookingModal.vue?e575","webpack://cadacstore/./src/components/experts/expertReviewBookingDetailsModal.vue?bb76","webpack://cadacstore/./src/components/experts/expertReviewBookingDetailsModal.vue","webpack://cadacstore/./src/components/experts/expertReviewBookingDetailsModal.vue?6d51","webpack://cadacstore/./src/views/myCadac/bookingDetail.vue?2f4d","webpack://cadacstore/./src/views/commerce/checkout.vue?3e61","webpack://cadacstore/./src/views/commerce/checkout.vue","webpack://cadacstore/./src/components/commerce/cart/cartPageSummary.vue?ca9c","webpack://cadacstore/./src/components/commerce/cart/cartPageSummary.vue","webpack://cadacstore/./src/components/commerce/checkout/checkoutSteps.vue?9757","webpack://cadacstore/./src/components/commerce/checkout/checkoutSteps.vue","webpack://cadacstore/./src/components/commerce/checkout/checkoutDetails.vue?0eab","webpack://cadacstore/./src/components/commerce/checkout/checkoutDetails.vue","webpack://cadacstore/./src/components/commerce/checkout/checkoutDetails.vue?f2d8","webpack://cadacstore/./src/components/commerce/checkout/checkoutOrderConfirmation.vue?9bb7","webpack://cadacstore/./src/components/commerce/checkout/checkoutOrderConfirmation.vue","webpack://cadacstore/./src/components/commerce/checkout/checkoutOrderConfirmation.vue?b1d0","webpack://cadacstore/./src/components/commerce/checkout/orderSummary.vue?8bb8","webpack://cadacstore/./src/components/commerce/checkout/orderSummary.vue","webpack://cadacstore/./src/components/commerce/cart/cartOverview.vue?1907","webpack://cadacstore/./src/components/commerce/cart/cartOverview.vue","webpack://cadacstore/./src/components/commerce/cart/cartClientTable.vue?8eb9","webpack://cadacstore/./src/components/commerce/cart/cartClientTable.vue","webpack://cadacstore/./src/components/commerce/cart/columnAmount.vue?c115","webpack://cadacstore/./src/components/commerce/cart/columnAmount.vue","webpack://cadacstore/./src/components/commerce/cart/columnAmount.vue?3763","webpack://cadacstore/./src/components/commerce/cart/columnProductInfo.vue?b341","webpack://cadacstore/./src/components/commerce/cart/columnProductInfo.vue","webpack://cadacstore/./src/types/enum/licenseClass.ts","webpack://cadacstore/./src/types/enum/cartLineType.ts","webpack://cadacstore/./src/components/commerce/cart/columnProductInfo.vue?b9ab","webpack://cadacstore/./src/components/commerce/cart/columnProductName.vue?9b48","webpack://cadacstore/./src/components/commerce/cart/columnProductName.vue","webpack://cadacstore/./src/components/commerce/cart/columnProductName.vue?a8d5","webpack://cadacstore/./src/components/commerce/cart/cartClientTable.vue?cf60","webpack://cadacstore/./src/components/commerce/cart/cartContractTable.vue?6536","webpack://cadacstore/./src/components/commerce/cart/cartContractTable.vue","webpack://cadacstore/./src/components/common/contractSummary.vue?a846","webpack://cadacstore/./src/components/common/contractSummary.vue","webpack://cadacstore/./src/components/common/contractSummary.vue?0fb8","webpack://cadacstore/./src/components/commerce/cart/cartContractTable.vue?2e2b","webpack://cadacstore/./src/components/commerce/cart/cartMircoServiceTable.vue?ff37","webpack://cadacstore/./src/components/commerce/cart/cartMircoServiceTable.vue","webpack://cadacstore/./src/components/commerce/cart/cartMircoServiceTable.vue?8b46","webpack://cadacstore/./src/components/commerce/cart/cartExpertTable.vue?d68c","webpack://cadacstore/./src/components/commerce/cart/cartExpertTable.vue","webpack://cadacstore/./src/components/commerce/cart/cartExpertTable.vue?e2fb","webpack://cadacstore/./src/components/commerce/cart/cartTrainingTable.vue?88bd","webpack://cadacstore/./src/components/commerce/cart/cartTrainingTable.vue","webpack://cadacstore/./src/components/commerce/cart/columnTrainingInfo.vue?c7a9","webpack://cadacstore/./src/components/commerce/cart/columnTrainingInfo.vue","webpack://cadacstore/./src/components/commerce/cart/columnTrainingInfo.vue?97a2","webpack://cadacstore/./src/types/enum/localTrainingType.ts","webpack://cadacstore/./src/components/commerce/cart/cartTrainingTable.vue?6ae4","webpack://cadacstore/./src/components/commerce/cart/cartOverview.vue?7dbb","webpack://cadacstore/./src/types/enum/paymentMethod.ts","webpack://cadacstore/./src/components/commerce/checkout/orderSummary.vue?9b80","webpack://cadacstore/./src/components/commerce/checkout/paymentMethodSelection.vue?edb2","webpack://cadacstore/./src/components/commerce/checkout/paymentMethodSelection.vue","webpack://cadacstore/./src/components/commerce/checkout/paymentMethodSelection.vue?009b","webpack://cadacstore/./src/components/commerce/checkout/checkoutSteps.vue?f3e9","webpack://cadacstore/./src/store/commerce/checkoutStore.ts","webpack://cadacstore/./src/components/commerce/cart/cartPageSummary.vue?2911","webpack://cadacstore/./src/types/enum/buckarooStatus.ts","webpack://cadacstore/./src/views/commerce/checkout.vue?1c80","webpack://cadacstore/./src/views/commerce/checkoutComplete.vue?cfd1","webpack://cadacstore/./src/views/commerce/checkoutComplete.vue","webpack://cadacstore/./src/components/commerce/supportCard.vue?e79a","webpack://cadacstore/./src/components/commerce/supportCard.vue","webpack://cadacstore/./src/components/commerce/supportCard.vue?d1a1","webpack://cadacstore/./src/views/commerce/checkoutComplete.vue?77f0","webpack://cadacstore/./src/views/general/contentCategoryDetail.vue?6be9","webpack://cadacstore/./src/views/general/contentCategoryDetail.vue","webpack://cadacstore/./src/views/blocks/authorBlock.vue?f282","webpack://cadacstore/./src/views/blocks/authorBlock.vue","webpack://cadacstore/./src/views/blocks/authorBlock.vue?cb05","webpack://cadacstore/./src/views/general/contentCategoryDetail.vue?549a","webpack://cadacstore/./src/views/general/contentCategoryOverview.vue?73f9","webpack://cadacstore/./src/views/general/contentCategoryOverview.vue","webpack://cadacstore/./src/components/general/contentCategoryOverviewItemGridCard.vue?09e2","webpack://cadacstore/./src/components/general/contentCategoryOverviewItemGridCard.vue","webpack://cadacstore/./src/types/enum/contentCategory.ts","webpack://cadacstore/./src/components/general/contentCategoryOverviewItemGridCard.vue?fc84","webpack://cadacstore/./src/components/general/contentCategoryOverviewItemListCard.vue?7e67","webpack://cadacstore/./src/components/general/contentCategoryOverviewItemListCard.vue","webpack://cadacstore/./src/components/general/contentCategoryOverviewItemListCard.vue?222a","webpack://cadacstore/./src/components/general/contentCategoryOverviewItemSkeletonCard.vue?d6ee","webpack://cadacstore/./src/components/general/contentCategoryOverviewItemSkeletonCard.vue","webpack://cadacstore/./src/components/general/contentCategoryOverviewItemSkeletonCard.vue?a8b1","webpack://cadacstore/./src/types/enum/overviewSortType.ts","webpack://cadacstore/./src/store/common/contentCategoryOverviewFilterStore.ts","webpack://cadacstore/./src/types/helpers/scrollHelper.ts","webpack://cadacstore/./src/views/general/contentCategoryOverview.vue?c466","webpack://cadacstore/./src/views/myCadac/contractDetail.vue?e691","webpack://cadacstore/./src/views/myCadac/contractDetail.vue","webpack://cadacstore/./src/components/contracts/contractDetailChangeCard.vue?aecb","webpack://cadacstore/./src/components/contracts/contractDetailChangeCard.vue","webpack://cadacstore/./src/components/contracts/contractDetailChangeCard.vue?3eaf","webpack://cadacstore/./src/components/contracts/contractDetailTable.vue?ed1b","webpack://cadacstore/./src/components/contracts/contractDetailTable.vue","webpack://cadacstore/./src/components/contracts/contractDetailTable.vue?7328","webpack://cadacstore/./src/components/common/menu/myCadacMenu.vue?fb66","webpack://cadacstore/./src/components/common/menu/myCadacMenu.vue","webpack://cadacstore/./src/types/enum/myCadacCategory.ts","webpack://cadacstore/./src/components/common/menu/myCadacMenu.vue?fb6b","webpack://cadacstore/./src/views/myCadac/contractDetail.vue?33bf","webpack://cadacstore/./src/views/myCadac/contractExtend.vue?2642","webpack://cadacstore/./src/views/myCadac/contractExtend.vue","webpack://cadacstore/./src/components/contracts/contractDetailExtendCard.vue?4fe1","webpack://cadacstore/./src/components/contracts/contractDetailExtendCard.vue","webpack://cadacstore/./src/types/enum/contractProlongationOptionType.ts","webpack://cadacstore/./src/store/software/contractStore.ts","webpack://cadacstore/./src/components/contracts/contractDetailExtendCard.vue?fe59","webpack://cadacstore/./src/components/contracts/contractDetailSwitchCard.vue?85da","webpack://cadacstore/./src/components/contracts/contractDetailSwitchCard.vue","webpack://cadacstore/./src/types/enum/deployment.ts","webpack://cadacstore/./src/components/contracts/contractDetailSwitchCard.vue?e20f","webpack://cadacstore/./src/components/contracts/contractExtendModal.vue?0d4f","webpack://cadacstore/./src/components/contracts/contractExtendModal.vue","webpack://cadacstore/./src/components/contracts/contractExtendModal.vue?cbd4","webpack://cadacstore/./src/components/contracts/contractSwitchModal.vue?2b39","webpack://cadacstore/./src/components/contracts/contractSwitchModal.vue","webpack://cadacstore/./src/components/contracts/contractSwitchModal.vue?3ee4","webpack://cadacstore/./src/views/myCadac/contractExtend.vue?2dd7","webpack://cadacstore/./src/views/myCadac/contractOverview.vue?fb33","webpack://cadacstore/./src/views/myCadac/contractOverview.vue","webpack://cadacstore/./src/components/contracts/contractOverviewTable.vue?41b4","webpack://cadacstore/./src/components/contracts/contractOverviewTable.vue","webpack://cadacstore/./src/types/enum/switchStatus.ts","webpack://cadacstore/./src/types/enum/contractType.ts","webpack://cadacstore/./src/components/contracts/contractOverviewTable.vue?bf8c","webpack://cadacstore/./src/components/contracts/subscriptionOverviewTable.vue?344e","webpack://cadacstore/./src/components/contracts/subscriptionOverviewTable.vue","webpack://cadacstore/./src/components/contracts/subscriptionOverviewTable.vue?4edd","webpack://cadacstore/./src/views/myCadac/contractOverview.vue?bcfb","webpack://cadacstore/./src/views/myCadac/digitalAdvisor.vue?0748","webpack://cadacstore/./src/views/myCadac/digitalAdvisor.vue","webpack://cadacstore/./src/components/advisor/advisorAdviceOverview.vue?d957","webpack://cadacstore/./src/components/advisor/advisorAdviceOverview.vue","webpack://cadacstore/./src/components/advisor/advisorTokenAdvice.vue?0296","webpack://cadacstore/./src/components/advisor/advisorTokenAdvice.vue","webpack://cadacstore/./src/components/advisor/advisorTokenAdviceContent.vue?8af4","webpack://cadacstore/./src/components/advisor/advisorTokenAdviceContent.vue","webpack://cadacstore/./src/components/advisor/advisorTokenAdviceContent.vue?b751","webpack://cadacstore/./src/components/advisor/advisorTokenAdvice.vue?8843","webpack://cadacstore/./src/components/advisor/advisorProductAdvices.vue?bd40","webpack://cadacstore/./src/components/advisor/advisorProductAdvices.vue","webpack://cadacstore/./src/components/advisor/advisorProductAdviceContent.vue?1ff7","webpack://cadacstore/./src/components/advisor/advisorProductAdviceContent.vue","webpack://cadacstore/./src/types/enum/productAdviceType.ts","webpack://cadacstore/./src/components/advisor/advisorProductAdviceContent.vue?97e7","webpack://cadacstore/./src/components/advisor/advisorProductAdvices.vue?0228","webpack://cadacstore/./src/components/advisor/advisorAdviceOverview.vue?ed7e","webpack://cadacstore/./src/components/advisor/advisorInsightsOverview.vue?829a","webpack://cadacstore/./src/components/advisor/advisorInsightsOverview.vue","webpack://cadacstore/./src/components/advisor/advisorInsightSkeleton.vue?3959","webpack://cadacstore/./src/components/advisor/advisorInsightSkeleton.vue","webpack://cadacstore/./src/components/advisor/advisorInsightSkeleton.vue?0a81","webpack://cadacstore/./src/components/advisor/advisorInsightsOverview.vue?6830","webpack://cadacstore/./src/components/advisor/advisorResultCta.vue?1c97","webpack://cadacstore/./src/components/advisor/advisorResultCta.vue","webpack://cadacstore/./src/components/advisor/advisorResultCta.vue?e3eb","webpack://cadacstore/./src/views/myCadac/digitalAdvisor.vue?e796","webpack://cadacstore/./src/views/myCadac/expertAvailability.vue?4326","webpack://cadacstore/./src/views/myCadac/expertAvailability.vue","webpack://cadacstore/./src/views/myCadac/expertAvailability.vue?b6f3","webpack://cadacstore/./src/views/commerce/expertAccountPage.vue?af85","webpack://cadacstore/./src/views/commerce/expertAccountPage.vue","webpack://cadacstore/./src/components/common/profileImage.vue?4c02","webpack://cadacstore/./src/components/common/profileImage.vue","webpack://cadacstore/./src/components/common/profileImage.vue?a021","webpack://cadacstore/./src/views/commerce/expertAccountPage.vue?bb4a","webpack://cadacstore/./src/views/myCadac/expertBookingOverview.vue?74a7","webpack://cadacstore/./src/views/myCadac/expertBookingOverview.vue","webpack://cadacstore/./src/components/experts/expertBookingOverviewTable.vue?23b4","webpack://cadacstore/./src/components/experts/expertBookingOverviewTable.vue","webpack://cadacstore/./src/types/enum/cadacExpertType.ts","webpack://cadacstore/./src/components/experts/expertBookingOverviewTable.vue?7226","webpack://cadacstore/./src/views/myCadac/expertBookingOverview.vue?fdcf","webpack://cadacstore/./src/views/commerce/expertDetail.vue?9f3b","webpack://cadacstore/./src/views/commerce/expertDetail.vue","webpack://cadacstore/./src/components/experts/expertBookingCalendar.vue?5674","webpack://cadacstore/./src/components/experts/expertBookingCalendar.vue","webpack://cadacstore/./src/types/enum/expertDateAvailability.ts","webpack://cadacstore/./src/types/enum/expertBookingLocation.ts","webpack://cadacstore/./src/components/experts/expertBookingCalendar.vue?cf0a","webpack://cadacstore/./src/components/experts/expertBookingModal.vue?2a1e","webpack://cadacstore/./src/components/experts/expertBookingModal.vue","webpack://cadacstore/./src/components/experts/expertBookingModal.vue?6814","webpack://cadacstore/./src/components/experts/expertBookingSlider.vue?8d1f","webpack://cadacstore/./src/components/experts/expertBookingSlider.vue","webpack://cadacstore/./src/components/experts/expertBookingSlider.vue?65d4","webpack://cadacstore/./src/components/experts/expertProfile.vue?5dd6","webpack://cadacstore/./src/components/experts/expertProfile.vue","webpack://cadacstore/./src/components/experts/expertProfile.vue?1dd8","webpack://cadacstore/./src/components/common/stickyScrollToButton.vue?f010","webpack://cadacstore/./src/components/common/stickyScrollToButton.vue","webpack://cadacstore/./src/components/common/stickyScrollToButton.vue?d57d","webpack://cadacstore/./src/components/common/WalletMessage.vue?679b","webpack://cadacstore/./src/components/common/WalletMessage.vue","webpack://cadacstore/./src/components/common/WalletMessage.vue?3430","webpack://cadacstore/./src/types/enum/expertBookingDateType.ts","webpack://cadacstore/./src/views/commerce/expertDetail.vue?f6e6","webpack://cadacstore/./src/views/commerce/expertOverview.vue?0f4a","webpack://cadacstore/./src/views/commerce/expertOverview.vue","webpack://cadacstore/./src/components/experts/expertFilters.vue?4e4e","webpack://cadacstore/./src/components/experts/expertFilters.vue","webpack://cadacstore/./src/types/enum/filterTypes.ts","webpack://cadacstore/./src/store/common/productOverviewFiltersStore.ts","webpack://cadacstore/./src/components/experts/expertFilters.vue?2c5c","webpack://cadacstore/./src/components/service/serviceOverviewItemCardSkeleton.vue?acc0","webpack://cadacstore/./src/components/service/serviceOverviewItemCardSkeleton.vue","webpack://cadacstore/./src/components/service/serviceOverviewItemCardSkeleton.vue?2c09","webpack://cadacstore/./src/views/layout/productOverviewLayout.vue?eafe","webpack://cadacstore/./src/views/layout/productOverviewLayout.vue","webpack://cadacstore/./src/components/product/productFilters.vue?87d8","webpack://cadacstore/./src/components/product/productFilters.vue","webpack://cadacstore/./src/components/product/productFilters.vue?aef9","webpack://cadacstore/./src/components/common/slideSidebar.vue?7d42","webpack://cadacstore/./src/components/common/slideSidebar.vue","webpack://cadacstore/./src/components/common/slideSidebar.vue?20ee","webpack://cadacstore/./src/views/layout/productOverviewLayout.vue?895a","webpack://cadacstore/./src/views/commerce/expertOverview.vue?baa4","webpack://cadacstore/./src/views/myCadac/expertSettings.vue?d00d","webpack://cadacstore/./src/views/myCadac/expertSettings.vue","webpack://cadacstore/./src/components/common/ctaBlockModal.vue?8868","webpack://cadacstore/./src/components/common/ctaBlockModal.vue","webpack://cadacstore/./src/components/common/ctaBlockModal.vue?743f","webpack://cadacstore/./src/components/experts/expertExperienceForm.vue?59de","webpack://cadacstore/./src/components/experts/expertExperienceForm.vue","webpack://cadacstore/./src/components/common/menu/languageDropdown.vue?3cbc","webpack://cadacstore/./src/components/common/menu/languageDropdown.vue","webpack://cadacstore/./src/components/common/menu/changeCompanyModal.vue?562d","webpack://cadacstore/./src/components/common/menu/changeCompanyModal.vue","webpack://cadacstore/./src/types/enum/cookieType.ts","webpack://cadacstore/./src/components/common/menu/changeCompanyModal.vue?28a7","webpack://cadacstore/./src/components/common/menu/mainSearchBar.vue?5470","webpack://cadacstore/./src/components/common/menu/mainSearchBar.vue","webpack://cadacstore/./src/components/common/menu/mainSearchBar.vue?e5be","webpack://cadacstore/./src/components/common/menu/languageDropdown.vue?f898","webpack://cadacstore/./src/types/enum/expertExperienceType.ts","webpack://cadacstore/./src/components/experts/expertExperienceForm.vue?01db","webpack://cadacstore/./src/components/experts/expertLevelModal.vue?0a78","webpack://cadacstore/./src/components/experts/expertLevelModal.vue","webpack://cadacstore/./src/components/experts/expertLevelModal.vue?2990","webpack://cadacstore/./src/components/experts/expertOverviewForm.vue?eb5c","webpack://cadacstore/./src/components/experts/expertOverviewForm.vue","webpack://cadacstore/./src/components/experts/expertOverviewForm.vue?0936","webpack://cadacstore/./src/views/myCadac/expertSettings.vue?a7b7","webpack://cadacstore/./src/views/myCadac/expertTravelSettings.vue?437d","webpack://cadacstore/./src/views/myCadac/expertTravelSettings.vue","webpack://cadacstore/./src/views/myCadac/expertTravelSettings.vue?ab45","webpack://cadacstore/./src/views/myCadac/finishedTrainingDetail.vue?b32a","webpack://cadacstore/./src/views/myCadac/finishedTrainingDetail.vue","webpack://cadacstore/./src/components/training/trainingDetailSummary.vue?87c5","webpack://cadacstore/./src/components/training/trainingDetailSummary.vue","webpack://cadacstore/./src/components/training/trainingDetailSummary.vue?5322","webpack://cadacstore/./src/views/myCadac/finishedTrainingDetail.vue?2fc1","webpack://cadacstore/./src/views/myCadac/finishedTrainingOverview.vue?b418","webpack://cadacstore/./src/views/myCadac/finishedTrainingOverview.vue","webpack://cadacstore/./src/views/myCadac/finishedTrainingOverview.vue?1a95","webpack://cadacstore/./src/views/myCadac/licenceManagementDetail.vue?f471","webpack://cadacstore/./src/views/myCadac/licenceManagementDetail.vue","webpack://cadacstore/./src/components/licenceManagement/licenceFormModal.vue?2792","webpack://cadacstore/./src/components/licenceManagement/licenceFormModal.vue","webpack://cadacstore/./src/components/licenceManagement/serverLicenceForm.vue?f41f","webpack://cadacstore/./src/components/licenceManagement/serverLicenceForm.vue","webpack://cadacstore/./src/store/software/licenceStore.ts","webpack://cadacstore/./src/components/licenceManagement/serverLicenceForm.vue?08cc","webpack://cadacstore/./src/components/licenceManagement/userLicenceForm.vue?3685","webpack://cadacstore/./src/components/licenceManagement/userLicenceForm.vue","webpack://cadacstore/./src/components/licenceManagement/userLicenceForm.vue?ed42","webpack://cadacstore/./src/types/enum/licenceStatus.ts","webpack://cadacstore/./src/types/enum/licenceType.ts","webpack://cadacstore/./src/components/licenceManagement/licenceFormModal.vue?abb4","webpack://cadacstore/./src/views/myCadac/licenceManagementDetail.vue?dbc2","webpack://cadacstore/./src/views/myCadac/licenceManagementOverview.vue?509f","webpack://cadacstore/./src/views/myCadac/licenceManagementOverview.vue","webpack://cadacstore/./src/views/myCadac/licenceManagementOverview.vue?d5a1","webpack://cadacstore/./src/views/layout/mainLayout.vue?0edc","webpack://cadacstore/./src/views/layout/mainLayout.vue","webpack://cadacstore/./src/components/common/menu/mainFooter.vue?9915","webpack://cadacstore/./src/components/common/menu/mainFooter.vue","webpack://cadacstore/./src/components/common/menu/changeRegionModal.vue?f3fe","webpack://cadacstore/./src/components/common/menu/changeRegionModal.vue","webpack://cadacstore/./src/types/enum/continent.ts","webpack://cadacstore/./src/components/common/menu/changeRegionModal.vue?6258","webpack://cadacstore/./src/components/common/menu/mainFooter.vue?1deb","webpack://cadacstore/./src/components/common/menu/mainNavBar.vue?75ac","webpack://cadacstore/./src/components/common/menu/mainNavBar.vue","webpack://cadacstore/./src/components/common/menu/mainMenuBar.vue?116d","webpack://cadacstore/./src/components/common/menu/mainMenuBar.vue","webpack://cadacstore/./src/components/common/forms/impersonationForm.vue?00fb","webpack://cadacstore/./src/components/common/forms/impersonationForm.vue","webpack://cadacstore/./src/components/common/forms/impersonationForm.vue?22b7","webpack://cadacstore/./src/components/common/menu/mainUserMenu.vue?31b8","webpack://cadacstore/./src/components/common/menu/mainUserMenu.vue","webpack://cadacstore/./src/components/common/menu/mainUserMenu.vue?05b1","webpack://cadacstore/./src/components/common/menu/mainMenuBar.vue?c3a2","webpack://cadacstore/./src/components/common/menu/mainMenuBarMobile.vue?1925","webpack://cadacstore/./src/components/common/menu/mainMenuBarMobile.vue","webpack://cadacstore/./src/components/common/menu/mainMenuBarMobile.vue?a26b","webpack://cadacstore/./src/components/common/menu/mainNavBar.vue?3232","webpack://cadacstore/./src/types/enum/boolean.ts","webpack://cadacstore/./src/types/helpers/hashHelper.ts","webpack://cadacstore/./src/views/layout/mainLayout.vue?d6c7","webpack://cadacstore/./src/views/layout/myCadacLayout.vue?fa39","webpack://cadacstore/./src/views/layout/myCadacLayout.vue","webpack://cadacstore/./src/views/blocks/myCadacBannerBlock.vue?16d1","webpack://cadacstore/./src/views/blocks/myCadacBannerBlock.vue","webpack://cadacstore/./src/views/blocks/myCadacBannerBlock.vue?8996","webpack://cadacstore/./src/views/layout/myCadacLayout.vue?b55b","webpack://cadacstore/./src/views/myCadac/orderOverview.vue?0fe3","webpack://cadacstore/./src/views/myCadac/orderOverview.vue","webpack://cadacstore/./src/views/myCadac/orderOverview.vue?e41a","webpack://cadacstore/./src/views/myCadac/plannedTrainingDetail.vue?2448","webpack://cadacstore/./src/views/myCadac/plannedTrainingDetail.vue","webpack://cadacstore/./src/components/training/trainingAddParticipantsModal.vue?8a7c","webpack://cadacstore/./src/components/training/trainingAddParticipantsModal.vue","webpack://cadacstore/./src/components/common/forms/trainingParticipantForm.vue?61b7","webpack://cadacstore/./src/components/common/forms/trainingParticipantForm.vue","webpack://cadacstore/./src/components/common/forms/trainingParticipantForm.vue?ae21","webpack://cadacstore/./src/store/training/trainingStore.ts","webpack://cadacstore/./src/components/training/trainingAddParticipantsModal.vue?ba66","webpack://cadacstore/./src/components/training/trainingParticipantsTable.vue?c3cf","webpack://cadacstore/./src/components/training/trainingParticipantsTable.vue","webpack://cadacstore/./src/components/training/trainingParticipantsTable.vue?2ec8","webpack://cadacstore/./src/views/myCadac/plannedTrainingDetail.vue?86d6","webpack://cadacstore/./src/views/myCadac/plannedTrainingOverview.vue?b8da","webpack://cadacstore/./src/views/myCadac/plannedTrainingOverview.vue","webpack://cadacstore/./src/views/myCadac/plannedTrainingOverview.vue?ac44","webpack://cadacstore/./src/views/myCadac/savedCartsOverview.vue?07d5","webpack://cadacstore/./src/views/myCadac/savedCartsOverview.vue","webpack://cadacstore/./src/components/commerce/cart/cartPrintPreview.vue?8f02","webpack://cadacstore/./src/components/commerce/cart/cartPrintPreview.vue","webpack://cadacstore/./src/components/commerce/cart/cartPrintPreview.vue?5431","webpack://cadacstore/./src/views/myCadac/savedCartsOverview.vue?8e4b","webpack://cadacstore/./src/views/myCadac/rewardsPage.vue?49e9","webpack://cadacstore/./src/views/myCadac/rewardsPage.vue","webpack://cadacstore/./src/components/rewards/circularProgress.vue?1f3d","webpack://cadacstore/./src/components/rewards/circularProgress.vue","webpack://cadacstore/./src/components/rewards/circularProgress.vue?9ae6","webpack://cadacstore/./src/views/myCadac/rewardsPage.vue?f1ab","webpack://cadacstore/./src/views/general/searchPage.vue?73ff","webpack://cadacstore/./src/views/general/searchPage.vue","webpack://cadacstore/./src/components/general/search/searchPageResultItem.vue?6afb","webpack://cadacstore/./src/components/general/search/searchPageResultItem.vue","webpack://cadacstore/./src/components/general/search/searchPageResultItem.vue?b69c","webpack://cadacstore/./src/components/general/search/searchPageResultItemSkeleton.vue?4620","webpack://cadacstore/./src/components/general/search/searchPageResultItemSkeleton.vue","webpack://cadacstore/./src/components/general/search/searchPageResultItemSkeleton.vue?2678","webpack://cadacstore/./src/components/general/search/searchPageSidebar.vue?4038","webpack://cadacstore/./src/components/general/search/searchPageSidebar.vue","webpack://cadacstore/./src/components/general/search/searchPageSidebar.vue?bd95","webpack://cadacstore/./src/views/general/searchPage.vue?ff54","webpack://cadacstore/./src/views/myCadac/serviceOverview.vue?730c","webpack://cadacstore/./src/views/myCadac/serviceOverview.vue","webpack://cadacstore/./src/views/myCadac/serviceOverview.vue?d37f","webpack://cadacstore/./src/views/commerce/servicePassProduct.vue?616c","webpack://cadacstore/./src/views/commerce/servicePassProduct.vue","webpack://cadacstore/./src/components/product/productConfiguration.vue?511a","webpack://cadacstore/./src/components/product/productConfiguration.vue","webpack://cadacstore/./src/components/product/productConfiguration.vue?1a3f","webpack://cadacstore/./src/components/product/productConfigurationOption.vue?89a2","webpack://cadacstore/./src/components/product/productConfigurationOption.vue","webpack://cadacstore/./src/components/product/productConfigurationOption.vue?bbdb","webpack://cadacstore/./src/components/product/productConfigurationStep.vue?7368","webpack://cadacstore/./src/components/product/productConfigurationStep.vue","webpack://cadacstore/./src/components/product/productConfigurationStep.vue?73f0","webpack://cadacstore/./src/components/product/productConfigurationSummary.vue?7d8d","webpack://cadacstore/./src/components/product/productConfigurationSummary.vue","webpack://cadacstore/./src/components/product/productConfigurationSummary.vue?2700","webpack://cadacstore/./src/views/layout/productLayout.vue?fdf1","webpack://cadacstore/./src/views/layout/productLayout.vue","webpack://cadacstore/./src/components/product/productPageContentSection.vue?d21c","webpack://cadacstore/./src/components/product/productPageContentSection.vue","webpack://cadacstore/./src/components/product/productPageContentSection.vue?8f96","webpack://cadacstore/./src/components/product/productPageHeader.vue?652d","webpack://cadacstore/./src/components/product/productPageHeader.vue","webpack://cadacstore/./src/components/product/productPageHeader.vue?bca5","webpack://cadacstore/./src/types/enum/productServiceType.ts","webpack://cadacstore/./src/components/product/productNewVersionBanner.vue?99eb","webpack://cadacstore/./src/components/product/productNewVersionBanner.vue","webpack://cadacstore/./src/components/product/productNewVersionBanner.vue?bc07","webpack://cadacstore/./src/views/layout/productLayout.vue?c17c","webpack://cadacstore/./src/components/product/productPageSummary.vue?61e4","webpack://cadacstore/./src/components/product/productPageSummary.vue","webpack://cadacstore/./src/components/product/productPageSummary.vue?ce42","webpack://cadacstore/./src/components/product/productTabs.vue?3ae8","webpack://cadacstore/./src/components/product/productTabs.vue","webpack://cadacstore/./src/components/product/productTabs.vue?5b3c","webpack://cadacstore/./src/store/service/servicePassProductStore.ts","webpack://cadacstore/./src/views/commerce/servicePassProduct.vue?e460","webpack://cadacstore/./src/views/commerce/serviceProduct.vue?f495","webpack://cadacstore/./src/views/commerce/serviceProduct.vue","webpack://cadacstore/./src/views/commerce/serviceProduct.vue?1df8","webpack://cadacstore/./src/views/commerce/shoppingCart.vue?acd7","webpack://cadacstore/./src/views/commerce/shoppingCart.vue","webpack://cadacstore/./src/components/commerce/cart/saveCartModal.vue?5435","webpack://cadacstore/./src/components/commerce/cart/saveCartModal.vue","webpack://cadacstore/./src/components/commerce/cart/saveCartModal.vue?cbe9","webpack://cadacstore/./src/components/commerce/cart/shareCartModal.vue?4bfb","webpack://cadacstore/./src/components/commerce/cart/shareCartModal.vue","webpack://cadacstore/./src/components/commerce/cart/shareCartModal.vue?31dc","webpack://cadacstore/./src/views/commerce/shoppingCart.vue?771f","webpack://cadacstore/./src/views/commerce/softwareProduct.vue?353a","webpack://cadacstore/./src/views/commerce/softwareProduct.vue","webpack://cadacstore/./src/components/partners/partnerInfoModal.vue?50f1","webpack://cadacstore/./src/components/partners/partnerInfoModal.vue","webpack://cadacstore/./src/components/partners/partnerInfoModal.vue?86d1","webpack://cadacstore/./src/types/enum/softwareProductValidation.ts","webpack://cadacstore/./src/types/enum/licenseModel.ts","webpack://cadacstore/./src/store/software/softwareProductStore.ts","webpack://cadacstore/./src/components/product/productConfigurationFlexLicense.vue?de08","webpack://cadacstore/./src/components/product/productConfigurationFlexLicense.vue","webpack://cadacstore/./src/components/product/productConfigurationFlexLicense.vue?d4b6","webpack://cadacstore/./src/views/commerce/softwareProduct.vue?8105","webpack://cadacstore/./src/views/commerce/softwareProductOverview.vue?17b6","webpack://cadacstore/./src/views/commerce/softwareProductOverview.vue","webpack://cadacstore/./src/views/commerce/softwareProductOverview.vue?27b4","webpack://cadacstore/./src/views/commerce/supportAskQuestion.vue?aba8","webpack://cadacstore/./src/views/commerce/supportAskQuestion.vue","webpack://cadacstore/./src/components/support/askAQuestionMessageForm.vue?cf04","webpack://cadacstore/./src/components/support/askAQuestionMessageForm.vue","webpack://cadacstore/./src/components/support/askAQuestionMessageForm.vue?4a10","webpack://cadacstore/./src/components/support/askAQuestionPersonalForm.vue?a4dd","webpack://cadacstore/./src/components/support/askAQuestionPersonalForm.vue","webpack://cadacstore/./src/components/support/askAQuestionPersonalForm.vue?0050","webpack://cadacstore/./src/components/support/askAQuestionSupportTicketForm.vue?28a8","webpack://cadacstore/./src/components/support/askAQuestionSupportTicketForm.vue","webpack://cadacstore/./src/types/enum/ticketImpact.ts","webpack://cadacstore/./src/types/enum/ticketUrgency.ts","webpack://cadacstore/./src/components/support/askAQuestionSupportTicketForm.vue?661c","webpack://cadacstore/./src/types/enum/askAQuestionSubCategoryType.ts","webpack://cadacstore/./src/views/commerce/supportAskQuestion.vue?b631","webpack://cadacstore/./src/views/commerce/supportFaq.vue?044c","webpack://cadacstore/./src/views/commerce/supportFaq.vue","webpack://cadacstore/./src/views/blocks/callToActionSimpleBlock.vue?b2ea","webpack://cadacstore/./src/views/blocks/callToActionSimpleBlock.vue","webpack://cadacstore/./src/views/blocks/callToActionSimpleBlock.vue?02bb","webpack://cadacstore/./src/views/commerce/supportFaq.vue?6d8c","webpack://cadacstore/./src/views/commerce/supportFaqArticle.vue?b249","webpack://cadacstore/./src/views/commerce/supportFaqArticle.vue","webpack://cadacstore/./src/views/commerce/supportFaqArticle.vue?fd80","webpack://cadacstore/./src/views/myCadac/supportOverview.vue?6041","webpack://cadacstore/./src/views/myCadac/supportOverview.vue","webpack://cadacstore/./src/views/myCadac/supportOverview.vue?089d","webpack://cadacstore/./src/views/commerce/supportProduct.vue?3bd7","webpack://cadacstore/./src/views/commerce/supportProduct.vue","webpack://cadacstore/./src/types/enum/SupportProductValidation.ts","webpack://cadacstore/./src/views/commerce/supportProduct.vue?3c3c","webpack://cadacstore/./src/views/myCadac/supportTicketOverview.vue?994c","webpack://cadacstore/./src/views/myCadac/supportTicketOverview.vue","webpack://cadacstore/./src/views/myCadac/supportTicketOverview.vue?0c91","webpack://cadacstore/./src/views/commerce/supportTicketProduct.vue?5ed6","webpack://cadacstore/./src/views/commerce/supportTicketProduct.vue","webpack://cadacstore/./src/views/commerce/supportTicketProduct.vue?538c","webpack://cadacstore/./src/views/commerce/trainingProduct.vue?05db","webpack://cadacstore/./src/views/commerce/trainingProduct.vue","webpack://cadacstore/./src/components/training/trainingAddCourseModal.vue?0f2f","webpack://cadacstore/./src/components/training/trainingAddCourseModal.vue","webpack://cadacstore/./src/components/training/trainingModuleTable.vue?2b7f","webpack://cadacstore/./src/components/training/trainingModuleTable.vue","webpack://cadacstore/./src/types/enum/trainingConfigurationOption.ts","webpack://cadacstore/./src/types/enum/trainingLocationOption.ts","webpack://cadacstore/./src/types/enum/trainingMethod.ts","webpack://cadacstore/./src/store/training/trainingProductStore.ts","webpack://cadacstore/./src/components/training/trainingModuleTable.vue?5d1c","webpack://cadacstore/./src/components/training/trainingAddCourseModal.vue?8be3","webpack://cadacstore/./src/components/training/trainingCourseTable.vue?f8f0","webpack://cadacstore/./src/components/training/trainingCourseTable.vue","webpack://cadacstore/./src/components/training/trainingCourseTable.vue?7efd","webpack://cadacstore/./src/components/training/trainingPriceSummary.vue?b252","webpack://cadacstore/./src/components/training/trainingPriceSummary.vue","webpack://cadacstore/./src/types/enum/trainingCalculationErrorCode.ts","webpack://cadacstore/./src/types/enum/trainingCalculationLineType.ts","webpack://cadacstore/./src/components/training/trainingPriceSummary.vue?fb35","webpack://cadacstore/./src/types/enum/trainingValidation.ts","webpack://cadacstore/./src/views/commerce/trainingProduct.vue?7caf","webpack://cadacstore/./src/views/myCadac/walletOverview.vue?3962","webpack://cadacstore/./src/views/myCadac/walletOverview.vue","webpack://cadacstore/./src/types/enum/walletTransactionOrigin.ts","webpack://cadacstore/./src/types/enum/walletTransactionType.ts","webpack://cadacstore/./src/views/myCadac/walletOverview.vue?ef43","webpack://cadacstore/./src/views/commerce/walletProduct.vue?c537","webpack://cadacstore/./src/views/commerce/walletProduct.vue","webpack://cadacstore/./src/views/layout/productLayoutSimple.vue?bb53","webpack://cadacstore/./src/views/layout/productLayoutSimple.vue","webpack://cadacstore/./src/views/layout/productLayoutSimple.vue?e8c8","webpack://cadacstore/./src/types/enum/walletDepositType.ts","webpack://cadacstore/./src/types/enum/walletProductValidation.ts","webpack://cadacstore/./src/views/commerce/walletProduct.vue?318b","webpack://cadacstore/./src/views/commerce/microServiceProduct.vue?d2ec","webpack://cadacstore/./src/views/commerce/microServiceProduct.vue","webpack://cadacstore/./src/views/commerce/microServiceProduct.vue?488d","webpack://cadacstore/./src/views/commerce/quotationRequest.vue?d832","webpack://cadacstore/./src/views/commerce/quotationRequest.vue","webpack://cadacstore/./src/components/product/quotationSteps.vue?9a8c","webpack://cadacstore/./src/components/product/quotationSteps.vue","webpack://cadacstore/./src/components/product/quotationSteps.vue?fe8c","webpack://cadacstore/./src/views/commerce/quotationRequest.vue?94e4","webpack://cadacstore/./src/views/index.ts","webpack://cadacstore/./src/main.ts","webpack://cadacstore/./src/assets/i18n/ lazy ^\\.\\/.*\\.json$ namespace object","webpack://cadacstore/./src/assets/i18n/ sync ^\\.\\/.*\\.json$","webpack://cadacstore/webpack/bootstrap","webpack://cadacstore/webpack/runtime/chunk loaded","webpack://cadacstore/webpack/runtime/compat get default export","webpack://cadacstore/webpack/runtime/create fake namespace object","webpack://cadacstore/webpack/runtime/define property getters","webpack://cadacstore/webpack/runtime/ensure chunk","webpack://cadacstore/webpack/runtime/get javascript chunk filename","webpack://cadacstore/webpack/runtime/get mini-css chunk filename","webpack://cadacstore/webpack/runtime/global","webpack://cadacstore/webpack/runtime/hasOwnProperty shorthand","webpack://cadacstore/webpack/runtime/load script","webpack://cadacstore/webpack/runtime/make namespace object","webpack://cadacstore/webpack/runtime/node module decorator","webpack://cadacstore/webpack/runtime/publicPath","webpack://cadacstore/webpack/runtime/jsonp chunk loading","webpack://cadacstore/webpack/startup"],"sourcesContent":["export type LocalazyLanguage = {\n language: string;\n region: string;\n script: string;\n isRtl: boolean;\n localizedName: string;\n name: string;\n pluralType: (n: number) => \"zero\" | \"one\" | \"two\" | \"many\" | \"few\" | \"other\";\n};\nexport type LocalazyFile = {\n cdnHash: string;\n file: string;\n path: string;\n library: string;\n module: string;\n buildType: string;\n productFlavors: string[];\n cdnFiles: { [lang:string]: string };\n};\nexport type LocalazyMetadata = {\n projectUrl: string;\n baseLocale: string;\n languages: LocalazyLanguage[];\n files: LocalazyFile[];\n};\n \nconst localazyMetadata: LocalazyMetadata = {\n projectUrl: \"https://localazy.com/p/cadac-store\",\n baseLocale: \"en\",\n languages: [\n {\n language: \"da\",\n region: \"\",\n script: \"\",\n isRtl: false,\n name: \"Danish\",\n localizedName: \"Dansk\",\n pluralType: (n) => { return (n===1) ? \"one\" : \"other\"; }\n },\n {\n language: \"de\",\n region: \"\",\n script: \"\",\n isRtl: false,\n name: \"German\",\n localizedName: \"Deutsch\",\n pluralType: (n) => { return (n===1) ? \"one\" : \"other\"; }\n },\n {\n language: \"en\",\n region: \"\",\n script: \"\",\n isRtl: false,\n name: \"English\",\n localizedName: \"English\",\n pluralType: (n) => { return (n===1) ? \"one\" : \"other\"; }\n },\n {\n language: \"es\",\n region: \"\",\n script: \"\",\n isRtl: false,\n name: \"Spanish\",\n localizedName: \"Español\",\n pluralType: (n) => { return (n===1) ? \"one\" : \"other\"; }\n },\n {\n language: \"fr\",\n region: \"\",\n script: \"\",\n isRtl: false,\n name: \"French\",\n localizedName: \"Français\",\n pluralType: (n) => { return (n===0 || n===1) ? \"one\" : \"other\"; }\n },\n {\n language: \"it\",\n region: \"\",\n script: \"\",\n isRtl: false,\n name: \"Italian\",\n localizedName: \"Italiano\",\n pluralType: (n) => { return (n===1) ? \"one\" : \"other\"; }\n },\n {\n language: \"nb\",\n region: \"\",\n script: \"\",\n isRtl: false,\n name: \"Norwegian Bokmål\",\n localizedName: \"Norsk Bokmål\",\n pluralType: (n) => { return (n===1) ? \"one\" : \"other\"; }\n },\n {\n language: \"nl\",\n region: \"\",\n script: \"\",\n isRtl: false,\n name: \"Dutch\",\n localizedName: \"Nederlands\",\n pluralType: (n) => { return (n===1) ? \"one\" : \"other\"; }\n },\n {\n language: \"pt\",\n region: \"\",\n script: \"\",\n isRtl: false,\n name: \"Portuguese\",\n localizedName: \"Português\",\n pluralType: (n) => { return (n>=0 && n<=1) ? \"one\" : \"other\"; }\n },\n {\n language: \"sv\",\n region: \"\",\n script: \"\",\n isRtl: false,\n name: \"Swedish\",\n localizedName: \"Svenska\",\n pluralType: (n) => { return (n===1) ? \"one\" : \"other\"; }\n }\n ],\n files: [\n {\n cdnHash: \"eb298c781c37a489d8e8e3d68e3abef914738897\",\n file: \"file.json\",\n path: \"\",\n library: \"\",\n module: \"\",\n buildType: \"\",\n productFlavors: [],\n cdnFiles: {\n \"da\": \"https://delivery.localazy.com/_a8338055222696799880e0769b89/_a8328594099755747718/eb298c781c37a489d8e8e3d68e3abef914738897/da/file.json\",\n \"de\": \"https://delivery.localazy.com/_a8338055222696799880e0769b89/_a8328594099755747718/eb298c781c37a489d8e8e3d68e3abef914738897/de/file.json\",\n \"en\": \"https://delivery.localazy.com/_a8338055222696799880e0769b89/_a8328594099755747718/eb298c781c37a489d8e8e3d68e3abef914738897/en/file.json\",\n \"es\": \"https://delivery.localazy.com/_a8338055222696799880e0769b89/_a8328594099755747718/eb298c781c37a489d8e8e3d68e3abef914738897/es/file.json\",\n \"fr\": \"https://delivery.localazy.com/_a8338055222696799880e0769b89/_a8328594099755747718/eb298c781c37a489d8e8e3d68e3abef914738897/fr/file.json\",\n \"it\": \"https://delivery.localazy.com/_a8338055222696799880e0769b89/_a8328594099755747718/eb298c781c37a489d8e8e3d68e3abef914738897/it/file.json\",\n \"nb\": \"https://delivery.localazy.com/_a8338055222696799880e0769b89/_a8328594099755747718/eb298c781c37a489d8e8e3d68e3abef914738897/nb/file.json\",\n \"nl\": \"https://delivery.localazy.com/_a8338055222696799880e0769b89/_a8328594099755747718/eb298c781c37a489d8e8e3d68e3abef914738897/nl/file.json\",\n \"pt\": \"https://delivery.localazy.com/_a8338055222696799880e0769b89/_a8328594099755747718/eb298c781c37a489d8e8e3d68e3abef914738897/pt/file.json\",\n \"sv\": \"https://delivery.localazy.com/_a8338055222696799880e0769b89/_a8328594099755747718/eb298c781c37a489d8e8e3d68e3abef914738897/sv/file.json\"\n }\n }\n ]\n};\n\nexport default localazyMetadata;","import {\r\n\tenGB as gb,\r\n\tenUS as us,\r\n\tnl,\r\n\tnlBE as be,\r\n\tde,\r\n\tdeAT as at,\r\n\tde as ch,\r\n\tfr,\r\n\tpt,\r\n\tes,\r\n\tit,\r\n\tnb,\r\n\tsv,\r\n\tda,\r\n} from 'date-fns/locale';\r\nimport { format, isDate, parseISO, set } from 'date-fns';\r\n\r\nexport class FormatHelper {\r\n\tstatic dateLocales = { gb, us, nl, be, de, fr, pt, es, at, ch, it, nb, sv, da };\r\n\r\n\t/// Returns the second part of the language\r\n\t/// eg. en-GB return 'gb'\r\n\tstatic formatRegion(region: string): string {\r\n\t\tif (!region) return region;\r\n\t\tconst splitLang = region.split('-');\r\n\t\tconst formattedRegionPart = splitLang.length > 1 ? splitLang[1] : region;\r\n\t\treturn formattedRegionPart.toLowerCase();\r\n\t}\r\n\r\n\tstatic formatDateTimeString(date: string, locale: string): string {\r\n\t\tconst parsedDate = Date.parse(date);\r\n\t\tif (!parsedDate) return '';\r\n\t\treturn format(parsedDate, 'Pp', { locale: FormatHelper.dateLocales[FormatHelper.formatRegion(locale)] });\r\n\t}\r\n\r\n\tstatic formatDateString(date: string, locale: string): string {\r\n\t\tconst parsedDate = Date.parse(date);\r\n\t\tif (!parsedDate) return '';\r\n\t\treturn format(parsedDate, 'P', { locale: FormatHelper.dateLocales[FormatHelper.formatRegion(locale)] });\r\n\t}\r\n\r\n\tstatic formatLongDateString(date: string, locale: string): string {\r\n\t\tconst parsedDate = Date.parse(date);\r\n\t\tif (!parsedDate) return '';\r\n\t\treturn format(parsedDate, 'PPP', { locale: FormatHelper.dateLocales[FormatHelper.formatRegion(locale)] });\r\n\t}\r\n\r\n\tstatic formatDateAsMonthYearString(date: string, locale: string): string {\r\n\t\tconst parsedDate = Date.parse(date);\r\n\t\tif (!parsedDate) return '';\r\n\t\treturn format(parsedDate, 'MMM yyy', { locale: FormatHelper.dateLocales[locale] });\r\n\t}\r\n\r\n\tstatic formatTimeString(date: string, locale: string): string {\r\n\t\tconst parsedDate = Date.parse(date);\r\n\t\tif (!parsedDate) return '';\r\n\t\treturn format(parsedDate, 'p', { locale: FormatHelper.dateLocales[FormatHelper.formatRegion(locale)] });\r\n\t}\r\n\r\n\tstatic productNameWithoutBrand(productName: string, brandName: string): string {\r\n\t\treturn brandName && productName.startsWith(brandName + ' ')\r\n\t\t\t? productName.substring(brandName.length + 1)\r\n\t\t\t: productName;\r\n\t}\r\n\r\n\tstatic formatJsonAsCamelCase(_key: string, value: unknown): unknown {\r\n\t\tif (value && typeof value === 'object') {\r\n\t\t\tfor (const k in value) {\r\n\t\t\t\tif (/^[A-Z]/.test(k) && Object.hasOwnProperty.call(value, k)) {\r\n\t\t\t\t\tvalue[k.charAt(0).toLowerCase() + k.substring(1)] = value[k];\r\n\t\t\t\t\tdelete value[k];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn value;\r\n\t}\r\n\r\n\tstatic getUTCDate(dateNumber: number = Date.now()): Date {\r\n\t\tconst date = new Date(dateNumber);\r\n\r\n\t\treturn new Date(\r\n\t\t\tdate.getUTCFullYear(),\r\n\t\t\tdate.getUTCMonth(),\r\n\t\t\tdate.getUTCDate(),\r\n\t\t\tdate.getUTCHours(),\r\n\t\t\tdate.getUTCMinutes(),\r\n\t\t\tdate.getUTCSeconds()\r\n\t\t);\r\n\t}\r\n\r\n\tstatic convertDateObjectToDate(date: { day: number; month: number; year: number }): Date {\r\n\t\treturn new Date(date.year, date.month, date.day);\r\n\t}\r\n\r\n\tstatic getDateWithoutTime(date: Date): Date {\r\n\t\treturn set(date, { hours: 0, minutes: 0, seconds: 0, milliseconds: 0 });\r\n\t}\r\n\r\n\tstatic toDate(date: string | Date): Date {\r\n\t\treturn isDate(date) ? (date as Date) : parseISO(date as string);\r\n\t}\r\n}\r\n","import axios from 'axios';\r\nimport localazyMetadata from '@/types/generated/localazyMetaData';\r\nimport { FormatHelper } from '@/types/helpers/formatHelper';\r\nimport { createI18n } from 'vue-i18n';\r\nimport { values } from 'lodash';\r\n\r\n\r\n/// Returns the first part of the language\r\n/// eg. en-GB return 'en'\r\nexport function getActiveLocale() {\r\n\tconst splitLang = getActiveLanguage().split('-');\r\n\tconst lang = splitLang.length > 1 ? splitLang[0] : getActiveLanguage();\r\n\t//Map exclusion for certain languages.\r\n\tswitch (lang) {\r\n\t\tcase 'no':\r\n\t\t\treturn 'nb';\r\n\t\tdefault:\r\n\t\t\treturn lang;\r\n\t}\r\n}\r\n\r\n/// Returns the full language\r\nexport function getActiveLanguage() {\r\n\treturn document.documentElement.lang;\r\n}\r\n\r\n/**\r\n * Load translations from local files (fallback)\r\n * \r\n * This function loads translation messages for the active locale from local files.\r\n * \r\n * @returns translations\r\n */\r\nexport function loadLocalMessagesForActiveLocale() {\r\n\tconst messages = {};\r\n\ttry {\r\n\t\tmessages[getActiveLocale()] = require(`../../assets/i18n/${getActiveLocale()}.json`);\r\n\t} catch {\r\n\t\tconsole.error(`Local translation file for ${getActiveLocale()} not found.`);\r\n\t}\r\n\treturn messages;\r\n}\r\n\r\n/**\r\n * Load translations from TranslationController\r\n * \r\n * This function loads translation messages for the active locale from the TranslationController.\r\n * \r\n * @returns Promise with translations\r\n */\r\nexport async function loadMessagesFromTranslationController() {\r\n\ttry {\r\n\t\tconst response = await axios.get(`/api/${getActiveLocale()}/translation/stored`);\r\n\t\treturn response.data;\r\n\t} catch (error) {\r\n\t\tconsole.error(\r\n\t\t\t`Unable to load translations from TranslationController, falling back to local files for locale: ${getActiveLocale()}.`,\r\n\t\t\terror\r\n\t\t);\r\n\t\treturn Promise.resolve(loadLocalMessagesForActiveLocale());\r\n\t}\r\n}\r\n\r\n/**\r\n * Load translations from Localazy\r\n * \r\n * This function loads translations from Localazy using the Localazy API and metadata. If the API and CDN are enabled, it will attempt to load the translations from the CDN first, then fall back to the API. If the API and CDN are disabled, it will load the translations from the local files.\r\n * \r\n * @returns translations\r\n */\r\nexport async function loadPrimeVueLocale() {\r\n\tconst messages = await import(`../../assets/i18n/${getActiveLocale()}.json`);\r\n\tconst primeVueMessages = messages['primeVue'] || {};\r\n\tconst commonMessages = messages['common'] || {};\r\n\tconst activeLocale =\r\n\t\tvalues(FormatHelper.dateLocales).find((x) => x.code === getActiveLanguage()) ||\r\n\t\tFormatHelper.dateLocales[getActiveLocale()] ||\r\n\t\tFormatHelper.dateLocales['gb'];\r\n\tif (!activeLocale) return primeVueMessages;\r\n\t// Set some dynamic translations used in PrimeVue\r\n\tprimeVueMessages['dateFormat'] = activeLocale.formatLong\r\n\t\t.date({ width: 'short' })\r\n\t\t?.toLowerCase()\r\n\t\t?.replace('yyyy', 'yy')\r\n\t\t?.replace('y', 'yy');\r\n\tprimeVueMessages['firstDayOfWeek'] = activeLocale.options.weekStartsOn;\r\n\tprimeVueMessages['dayNames'] = [...Array(7).keys()].map((i) =>\r\n\t\tactiveLocale.localize.day(i, { width: 'wide' })\r\n\t);\r\n\tprimeVueMessages['dayNamesMin'] = [...Array(7).keys()].map((i) =>\r\n\t\tactiveLocale.localize.day(i, { width: 'short' })\r\n\t);\r\n\tprimeVueMessages['dayNamesShort'] = [...Array(7).keys()].map((i) =>\r\n\t\tactiveLocale.localize.day(i, { width: 'abbreviated' })\r\n\t);\r\n\tprimeVueMessages['monthNamesShort'] = [...Array(12).keys()].map((i) =>\r\n\t\tactiveLocale.localize.month(i, { width: 'abbreviated' })\r\n\t);\r\n\tprimeVueMessages['monthNames'] = [...Array(12).keys()].map((i) =>\r\n\t\tactiveLocale.localize.month(i, { width: 'wide' })\r\n\t);\r\n\tprimeVueMessages['reject'] = commonMessages['no'] || '';\r\n\tprimeVueMessages['accept'] = commonMessages['yes'] || '';\r\n\tprimeVueMessages['cancel'] = commonMessages['cancel'] || '';\r\n\r\n\treturn primeVueMessages;\r\n}\r\n\r\n/**\r\n * Load translations from Localazy\r\n * \r\n * This function loads translations from Localazy using the Localazy API and metadata. If the API and CDN are enabled, it will attempt to load the translations from the CDN first, then fall back to the API. If the API and CDN are disabled, it will load the translations from the local files.\r\n * \r\n * @returns translations\r\n */\r\nconst i18nConfig = {\r\n\tlocale: getActiveLocale() || 'nl',\r\n\tfallbackLocale: localazyMetadata?.baseLocale || 'en',\r\n\tfallbackWarn: false,\r\n\tmessages: loadLocalMessagesForActiveLocale(),\r\n};\r\nexport default createI18n(i18nConfig);\r\n","import { Directive } from 'vue';\r\n\r\nfunction setLazyImages(el, binding) {\r\n\tconst imageObserver = new IntersectionObserver(\r\n\t\t(entries) => {\r\n\t\t\tentries.forEach((entry) => {\r\n\t\t\t\tif (entry.isIntersecting) {\r\n\t\t\t\t\tconst lazyImage = entry.target as HTMLImageElement;\r\n\t\t\t\t\tif (binding.value) {\r\n\t\t\t\t\t\tlazyImage.src = binding.value;\r\n\t\t\t\t\t\tif (!lazyImage?.alt) lazyImage.alt = getImageAlt(lazyImage.src);\r\n\t\t\t\t\t\timageObserver.unobserve(el);\r\n\t\t\t\t\t} else if (lazyImage.dataset.src) {\r\n\t\t\t\t\t\tlazyImage.src = lazyImage.dataset.src;\r\n\t\t\t\t\t\tif (!lazyImage?.alt) lazyImage.alt = getImageAlt(lazyImage.src);\r\n\t\t\t\t\t\timageObserver.unobserve(el);\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\t{\r\n\t\t\troot: null,\r\n\t\t\trootMargin: '100%',\r\n\t\t}\r\n\t);\r\n\timageObserver.observe(el);\r\n}\r\n\r\nfunction getImageAlt(src: string): string {\r\n\tconst fileNameRegex = /\\/?([^/]+\\.[a-z0-9]+)$/i;\r\n\tconst match = src?.match(fileNameRegex);\r\n\tif (match) {\r\n\t\tconst fileName = match[1];\r\n\t\treturn fileName.split('.')[0];\r\n\t}\r\n\treturn 'Image';\r\n}\r\n\r\nexport const LazyLoadImageDirective: Directive = {\r\n\tmounted(el, binding: any) {\r\n\t\tsetLazyImages(el, binding);\r\n\t},\r\n\tupdated(el, binding) {\r\n\t\tsetLazyImages(el, binding);\r\n\t},\r\n};\r\n","export enum LogLevel {\r\n\tDefault,\r\n\tInfo,\r\n\tWarn,\r\n\tError,\r\n}\r\n\r\nclass LogHelper {\r\n\tprivate static colors = {\r\n\t\t[LogLevel.Default]: '#444',\r\n\t\t[LogLevel.Info]: '#007bff',\r\n\t\t[LogLevel.Warn]: '#fabc3c',\r\n\t\t[LogLevel.Error]: '#dc3545',\r\n\t};\r\n\r\n\tprivate static get logDebug(): boolean {\r\n\t\treturn `${process.env.VUE_APP_MODE}` !== 'production';\r\n\t}\r\n\r\n\tstatic log(...args: unknown[]): void {\r\n\t\tif (!this.logDebug) return;\r\n\t\tconst color = LogHelper.colors[LogLevel.Default];\r\n\t\tconst prefix = `%c[${LogLevel[LogLevel.Default].toUpperCase()}]`;\r\n\t\tconst style = `color: ${color};`;\r\n\r\n\t\tconsole.log(prefix, style, ...args);\r\n\t}\r\n\r\n\tstatic info(...args: unknown[]): void {\r\n\t\tif (!this.logDebug) return;\r\n\t\tconst color = LogHelper.colors[LogLevel.Info];\r\n\t\tconst prefix = `%c[${LogLevel[LogLevel.Info].toUpperCase()}]`;\r\n\t\tconst style = `color: ${color}; font-weight: bold;`;\r\n\r\n\t\tconsole.info(prefix, style, ...args);\r\n\t}\r\n\r\n\tstatic warn(...args: unknown[]): void {\r\n\t\tif (!this.logDebug) return;\r\n\t\tconst color = LogHelper.colors[LogLevel.Warn];\r\n\t\tconst style = `color: ${color}; font-weight: bold;`;\r\n\t\tconst prefix = `%c[${LogLevel[LogLevel.Warn].toUpperCase()}]`;\r\n\r\n\t\tconsole.warn(prefix, style, ...args);\r\n\t}\r\n\r\n\tstatic error(error: Error): void {\r\n\t\tif (!this.logDebug) return;\r\n\t\tconst callerName = this.getCallerName(error);\r\n\t\tconst color = LogHelper.colors[LogLevel.Error];\r\n\t\tconst style = `color: ${color}; font-weight: bold;`;\r\n\t\tlet prefix = `%c[${LogLevel[LogLevel.Error].toUpperCase()}]`;\r\n\t\tif (callerName) prefix += ` ${callerName} ->`;\r\n\t\tconsole.error(prefix, style, error);\r\n\t}\r\n\r\n\tprivate static getCallerName(error: Error): string {\r\n\t\tconst stackTrace = error.stack || '';\r\n\t\tconst match = stackTrace.match(/at Proxy\\.(.*)\\s+\\(/);\r\n\t\treturn match ? match[1] : '';\r\n\t}\r\n}\r\n\r\nexport const Log = LogHelper;\r\n","import { normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, withCtx as _withCtx, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-762b9ab3\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"container\" }\nconst _hoisted_2 = [\"innerHTML\"]\nconst _hoisted_3 = {\n key: 1,\n class: \"lead mb-2\"\n}\nconst _hoisted_4 = [\"href\"]\nconst _hoisted_5 = { class: \"d-flex flex-column align-items-center p-3\" }\nconst _hoisted_6 = { class: \"d-flex flex-column align-items-center\" }\nconst _hoisted_7 = { class: \"font-weight-bold lead text-primary\" }\nconst _hoisted_8 = { class: \"mb-0 lead\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_SelectButton = _resolveComponent(\"SelectButton\")!\n const _component_LinkButton = _resolveComponent(\"LinkButton\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"block\", _ctx.blockBackgroundClass(_ctx.vm.backgroundColor)])\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n (_ctx.vm.title)\n ? (_openBlock(), _createElementBlock(\"h2\", {\n key: 0,\n class: _normalizeClass([\"display-4\", { 'mb-0': _ctx.vm.subtitle }]),\n innerHTML: _ctx.vm.title\n }, null, 10, _hoisted_2))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.subtitle)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_3, _toDisplayString(_ctx.vm.subtitle), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", null, [\n _createVNode(_component_SelectButton, {\n class: \"row m-0\",\n \"data-key\": \"id\",\n options: _ctx.filteredMainCategories\n }, {\n option: _withCtx((slotProps) => [\n _createElementVNode(\"a\", {\n href: _ctx.getUrlForCategory(slotProps.option)\n }, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(_component_Avatar, {\n class: \"mb-2\",\n image: slotProps.option.icon,\n shape: \"square\",\n size: \"large\"\n }, null, 8, [\"image\"]),\n _createElementVNode(\"p\", _hoisted_7, _toDisplayString(slotProps.option.title), 1),\n _createElementVNode(\"p\", _hoisted_8, _toDisplayString(slotProps.option.subtitle), 1)\n ])\n ])\n ], 8, _hoisted_4)\n ]),\n _: 1\n }, 8, [\"options\"]),\n (_ctx.otherMainCategory)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 0,\n class: \"my-2 p-0 p-button-text p-button-secondary p-button-link\",\n label: _ctx.otherMainCategory?.title,\n url: _ctx.getUrlForCategory(_ctx.otherMainCategory)\n }, null, 8, [\"label\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ], 2))\n}","<template>\r\n\t<div class=\"block\" :class=\"blockBackgroundClass(vm.backgroundColor)\">\r\n\t\t<div class=\"container\">\r\n\t\t\t<h2 v-if=\"vm.title\" class=\"display-4\" :class=\"{ 'mb-0': vm.subtitle }\" v-html=\"vm.title\"></h2>\r\n\t\t\t<p v-if=\"vm.subtitle\" class=\"lead mb-2\">{{ vm.subtitle }}</p>\r\n\t\t\t<div>\r\n\t\t\t\t<SelectButton class=\"row m-0\" data-key=\"id\" :options=\"filteredMainCategories\">\r\n\t\t\t\t\t<template #option=\"slotProps\">\r\n\t\t\t\t\t\t<a :href=\"getUrlForCategory(slotProps.option)\">\r\n\t\t\t\t\t\t\t<div class=\"d-flex flex-column align-items-center p-3\">\r\n\t\t\t\t\t\t\t\t<div class=\"d-flex flex-column align-items-center\">\r\n\t\t\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\t\t\tclass=\"mb-2\"\r\n\t\t\t\t\t\t\t\t\t\t:image=\"slotProps.option.icon\"\r\n\t\t\t\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\t\t\t\tsize=\"large\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t<p class=\"font-weight-bold lead text-primary\">\r\n\t\t\t\t\t\t\t\t\t\t{{ slotProps.option.title }}\r\n\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t<p class=\"mb-0 lead\">{{ slotProps.option.subtitle }}</p>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</SelectButton>\r\n\t\t\t\t<LinkButton\r\n\t\t\t\t\tv-if=\"otherMainCategory\"\r\n\t\t\t\t\tclass=\"my-2 p-0 p-button-text p-button-secondary p-button-link\"\r\n\t\t\t\t\t:label=\"otherMainCategory?.title\"\r\n\t\t\t\t\t:url=\"getUrlForCategory(otherMainCategory)\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseBlock from \"@/components/base/baseBlock.vue\";\r\nimport SelectButton from \"primevue/selectbutton\";\r\nimport { AskAQuestionBlockViewModel } from \"@/types/viewModels/blocks/askAQuestionBlockViewModel\";\r\nimport { AskAQuestionCategoryType } from \"@/types/enum/askAQuestionCategoryType\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { TicketFormHeadCategory } from \"@/types/models/support/ticketFormHeadCategory\";\r\n\r\n@Component({ components: { SelectButton } })\r\nexport default class AskAQuestionBlock extends BaseBlock {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<AskAQuestionBlockViewModel>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: AskAQuestionBlockViewModel;\r\n\r\n\tcreated(): void {\r\n\t\tLog.info(\"AskAQuestionBlock\", this.vm);\r\n\t}\r\n\r\n\tget filteredMainCategories(): TicketFormHeadCategory[] {\r\n\t\treturn this.vm.ticketFormCategoryTree.filter((x) => x.categoryType !== AskAQuestionCategoryType.Other);\r\n\t}\r\n\r\n\tget otherMainCategory(): TicketFormHeadCategory {\r\n\t\treturn this.vm.ticketFormCategoryTree.find(\r\n\t\t\t(x) => x.categoryType === AskAQuestionCategoryType.Other\r\n\t\t) as TicketFormHeadCategory;\r\n\t}\r\n\r\n\tgetUrlForCategory(cat: TicketFormHeadCategory): string {\r\n\t\tconst queryParams = new URLSearchParams(\"\");\r\n\t\tif (cat?.id) queryParams.set(\"cat\", cat.id.toString());\r\n\t\tconst url = new URL(this.vm.askAQuestionPageUrl);\r\n\t\turl.search = queryParams.toString();\r\n\t\treturn url.toString();\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\na {\r\n\ttext-decoration: none;\r\n\tcolor: var(--text-color);\r\n}\r\n</style>\r\n","export interface RequestManagerOptions {\r\n\tdebug: boolean;\r\n}\r\n\r\nexport class RequestManager {\r\n\toptions: RequestManagerOptions;\r\n\tpendingRequests: any;\r\n\r\n\tconstructor(options: RequestManagerOptions) {\r\n\t\tthis.options = options || {};\r\n\t\tthis.pendingRequests = {};\r\n\t}\r\n\r\n\t// Add request\r\n\taddRequest(\r\n\t\trequestId: string,\r\n\t\tcancelFn: () => unknown,\r\n\t\treason = `cancelRequest request from addRequest`\r\n\t): void {\r\n\t\tthis.log(`addRequest: ${requestId}`);\r\n\t\tif (requestId === undefined) return;\r\n\t\t// The same request exists - cancel request first\r\n\t\tthis.has(requestId) && this.cancelRequest(requestId, reason);\r\n\t\tthis.pendingRequests[requestId] = cancelFn;\r\n\t}\r\n\r\n\t// Delete request\r\n\tremoveRequest(requestId: string): void {\r\n\t\tthis.log(`removeRequest: ${requestId}`);\r\n\t\tif (requestId === undefined) return;\r\n\t\tdelete this.pendingRequests[requestId];\r\n\t}\r\n\r\n\t// Cancel request\r\n\tcancelRequest(requestId: string, reason?: string): void {\r\n\t\tif (requestId === undefined) return;\r\n\r\n\t\tif (Array.isArray(requestId)) {\r\n\t\t\trequestId.forEach((id) => {\r\n\t\t\t\tthis.cancelRequestSingle(id, reason);\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.cancelRequestSingle(requestId, reason);\r\n\t\t}\r\n\t}\r\n\r\n\t// Cancel request single\r\n\tcancelRequestSingle(requestId: string, reason?: string): void {\r\n\t\tif (requestId === undefined) return;\r\n\r\n\t\tif (this.has(requestId)) {\r\n\t\t\tthis.log(`cancelRequest: ${requestId}`);\r\n\r\n\t\t\tif (typeof this.pendingRequests[requestId] !== 'function') return;\r\n\r\n\t\t\tthis.pendingRequests[requestId](`${reason} \\`requestId: ${requestId}\\``);\r\n\t\t\tthis.removeRequest(requestId);\r\n\t\t}\r\n\t}\r\n\r\n\t// Cancel all requests\r\n\tcancelAllRequests(reason: string): void {\r\n\t\tfor (const requestId in this.pendingRequests) {\r\n\t\t\tthis.cancelRequest(requestId, reason);\r\n\t\t}\r\n\t}\r\n\r\n\t// Check if the requestId exists\r\n\thas(requestId: string): boolean {\r\n\t\treturn this.pendingRequests[requestId];\r\n\t}\r\n\r\n\t// Console log\r\n\tlog(message: string): void {\r\n\t\tthis.options.debug && console.log(message);\r\n\t}\r\n}\r\n","import axios, { AxiosError, AxiosInstance } from 'axios';\r\nimport { FormatHelper } from '@/types/helpers/formatHelper';\r\nimport { RequestManager, RequestManagerOptions } from '@/types/utils/httpRequestManager';\r\n\r\nconst httpClient = axios.create({\r\n\theaders: {\r\n\t\t'Content-Type': 'application/json',\r\n\t},\r\n\tparamsSerializer: {\r\n\t\t// @ts-ignore\r\n\t\tindexes: true,\r\n\t},\r\n\ttransformResponse: (data) => {\r\n\t\tlet response: unknown;\r\n\t\tif (!data) return {};\r\n\t\ttry {\r\n\t\t\tresponse = JSON.parse(data, FormatHelper.formatJsonAsCamelCase);\r\n\t\t} catch {\r\n\t\t\tresponse = data;\r\n\t\t}\r\n\t\treturn response;\r\n\t},\r\n});\r\n\r\nuseCancel(httpClient);\r\n\r\n/// Custom cancel extension for Axios\r\n/// Give requestId in the requestConfig to enable auto cancellation of repeat requests.\r\nfunction useCancel(instance: AxiosInstance, options?: RequestManagerOptions) {\r\n\tconst defaultOptions = {\r\n\t\tdebug: false,\r\n\t};\r\n\toptions && Object.assign(defaultOptions, options);\r\n\r\n\tconst { CancelToken } = axios;\r\n\tconst requestManager = new RequestManager(defaultOptions);\r\n\r\n\tinstance.interceptors.request.use((config) => {\r\n\t\tconst { requestId } = config || '';\r\n\t\tif (requestId) {\r\n\t\t\tconst source = CancelToken.source();\r\n\t\t\tconfig.cancelToken = source.token;\r\n\t\t\trequestManager.addRequest(requestId, source.cancel);\r\n\t\t}\r\n\r\n\t\treturn config;\r\n\t});\r\n\r\n\tinstance.interceptors.response.use((response) => {\r\n\t\tconst { requestId } = (response && response.config) || '';\r\n\t\trequestId && requestManager.removeRequest(requestId);\r\n\r\n\t\treturn response;\r\n\t});\r\n\r\n\tinstance.isCancelled = (error: AxiosError) => {\r\n\t\treturn axios.isCancel(error);\r\n\t};\r\n\r\n\tinstance.cancel = (requestId: string, reason?: string) => {\r\n\t\trequestId && requestManager.cancelRequest(requestId, reason);\r\n\t};\r\n\r\n\tinstance.cancelAll = (reason: string) => {\r\n\t\trequestManager.cancelAllRequests(reason);\r\n\t};\r\n\r\n\tinstance.hasPendingRequest = (requestId: string) => {\r\n\t\treturn requestManager.has(requestId);\r\n\t};\r\n}\r\n\r\ndeclare module 'axios' {\r\n\texport interface AxiosInstance {\r\n\t\tcancel: (requestId: string, reason?: string) => void;\r\n\t\tcancelAll: (reason: string) => void;\r\n\t\thasPendingRequest: (requestId: string) => boolean;\r\n\t\tisCancelled: (err) => boolean;\r\n\t}\r\n\r\n\texport interface AxiosRequestConfig {\r\n\t\t// This requestID is used as a unique identifier to allow cancelling of subsequent requests with the same ID.\r\n\t\trequestId?: string;\r\n\t}\r\n}\r\nexport default httpClient;\r\n","export class UrlHelper {\r\n\tstatic open(url: string, target?: string): void {\r\n\t\tif (target) window.open(url, target);\r\n\t\telse location.href = url;\r\n\t}\r\n\r\n\tstatic goBack(): void {\r\n\t\twindow.history.back();\r\n\t}\r\n}\r\n","import { defineStore } from 'pinia';\r\nimport { IMainLayout } from '@/types/viewModels/common/mainLayoutViewModel';\r\nimport { OrganizationOptionViewModel } from '@/types/models/menu/organizationOptionViewModel';\r\n\r\ninterface LayoutStoreState {\r\n\tshowSearchBar: boolean;\r\n\tshowUserMenu: boolean;\r\n\tchangeRegionModalVisible: boolean;\r\n\tchangeCompanyModalVisible: boolean;\r\n\tchatWidgetAvailable: boolean;\r\n\tnavBarHeight: number;\r\n\tvm: IMainLayout;\r\n}\r\n\r\nexport type LayoutModalType = 'ChangeCompany' | 'ChangeRegion';\r\n\r\nexport const useLayoutStore = defineStore('layout', {\r\n\tstate: () =>\r\n\t\t({\r\n\t\t\tshowSearchBar: false,\r\n\t\t\tshowUserMenu: false,\r\n\t\t\tchangeRegionModalVisible: false,\r\n\t\t\tchangeCompanyModalVisible: false,\r\n\t\t\tchatWidgetAvailable: false,\r\n\t\t\tnavBarHeight: 0,\r\n\t\t\tvm: {},\r\n\t\t}) as LayoutStoreState,\r\n\tgetters: {\r\n\t\tpreferredCompany(state): OrganizationOptionViewModel | null {\r\n\t\t\treturn state.vm?.organizationOptions?.find(\r\n\t\t\t\t(x) => x.isPreferredOrganization\r\n\t\t\t) as OrganizationOptionViewModel;\r\n\t\t},\r\n\t\tisAuthenticated(state): boolean {\r\n\t\t\treturn !!state?.vm.currentUser?.isAuthenticated;\r\n\t\t},\r\n\t\tisLoggedIn(state): boolean {\r\n\t\t\treturn !!state?.vm.currentUser?.email;\r\n\t\t},\r\n\t\tisImpersonated(state): boolean {\r\n\t\t\treturn !!state?.vm.impersonatedUser?.isImpersonated;\r\n\t\t},\r\n\t\tcanImpersonate(state): boolean {\r\n\t\t\treturn !!state?.vm.currentUser?.isImpersonationAllowed || !!state?.vm.impersonatedUser;\r\n\t\t},\r\n\t\thasMultipleCompanies(state): boolean {\r\n\t\t\treturn (state?.vm.organizationOptions?.length || 0) > 1;\r\n\t\t},\r\n\t},\r\n\tactions: {\r\n\t\tshowModal(type: LayoutModalType) {\r\n\t\t\tswitch (type) {\r\n\t\t\t\tcase 'ChangeCompany':\r\n\t\t\t\t\tthis.changeCompanyModalVisible = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'ChangeRegion':\r\n\t\t\t\t\tthis.changeRegionModalVisible = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t},\r\n\t\thideModal(type: LayoutModalType) {\r\n\t\t\tswitch (type) {\r\n\t\t\t\tcase 'ChangeCompany':\r\n\t\t\t\t\tthis.changeCompanyModalVisible = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'ChangeRegion':\r\n\t\t\t\t\tthis.changeRegionModalVisible = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t},\r\n\t\ttoggleUserMenu() {\r\n\t\t\tthis.showUserMenu = !this.showUserMenu;\r\n\t\t},\r\n\t\ttoggleSearchBar() {\r\n\t\t\tthis.showSearchBar = !this.showSearchBar;\r\n\t\t},\r\n\t\tupdateItemsInCart(itemCount: number) {\r\n\t\t\tthis.vm.itemsInCart = itemCount;\r\n\t\t},\r\n\t},\r\n});\r\n","import { defineStore } from 'pinia';\r\nimport { values } from 'lodash';\r\n\r\ninterface LoadingStoreState {\r\n\tloadingCount: number;\r\n\tloadingSpinner: { [key: string]: boolean };\r\n}\r\n\r\nexport const useLoadingStore = defineStore('loading', {\r\n\tstate: () =>\r\n\t\t({\r\n\t\t\tloadingSpinner: {},\r\n\t\t\tloadingCount: 0,\r\n\t\t}) as LoadingStoreState,\r\n\tgetters: {\r\n\t\tisSpinnerVisible(state): (key: string) => boolean {\r\n\t\t\treturn (key: string) => !!state.loadingSpinner[key];\r\n\t\t},\r\n\t\tisBusy(state): boolean {\r\n\t\t\treturn this.isLoading || (state.loadingSpinner && values(state.loadingSpinner).some(Boolean));\r\n\t\t},\r\n\t\tisLoading(state): boolean {\r\n\t\t\treturn state.loadingCount > 0;\r\n\t\t},\r\n\t},\r\n\tactions: {\r\n\t\tincreaseLoadingCount(): void {\r\n\t\t\tthis.loadingCount++;\r\n\t\t},\r\n\t\tdecreaseLoadingCount(): void {\r\n\t\t\tthis.loadingCount--;\r\n\t\t},\r\n\t\tshowSpinner(name: string | number): void {\r\n\t\t\tthis.loadingSpinner[String(name)] = true;\r\n\t\t},\r\n\t\thideSpinner(name: string | number): void {\r\n\t\t\tthis.loadingSpinner[String(name)] = false;\r\n\t\t},\r\n\t},\r\n});\r\n","import { GaDataLayer } from '@/types/models/googleAnalytics/events';\r\nimport {\r\n\tAddPaymentInfo,\r\n\tAddToCart,\r\n\tBeginCheckout,\r\n\tGenerateLead,\r\n\tPurchase,\r\n\tRemoveFromCart,\r\n\tViewCart,\r\n\tViewItem,\r\n} from '@/types/models/googleAnalytics/events/eCommerce/eCommerceModel';\r\nimport {\r\n\tAccountVerified,\r\n\tCustomizeProduct,\r\n\tErrorEvent,\r\n\tLoginEvent,\r\n\tNewsletterSubscribe,\r\n\tSearch,\r\n\tUploadQuotation,\r\n} from '@/types/models/googleAnalytics/events/custom/customModel';\r\n\r\nexport const pushToGaDataLayer = {\r\n\tviewItem: (obj: ViewItem): void => setDataLayer(obj),\r\n\taddToCart: (obj: AddToCart): void => setDataLayer(obj),\r\n\tremoveFromCart: (obj: RemoveFromCart): void => setDataLayer(obj),\r\n\tviewCart: (obj: ViewCart): void => setDataLayer(obj),\r\n\tbeginCheckout: (obj: BeginCheckout): void => setDataLayer(obj),\r\n\taddShippingInfo: (obj: AddToCart): void => setDataLayer(obj),\r\n\taddPaymentInfo: (obj: AddPaymentInfo): void => setDataLayer(obj),\r\n\tpurchase: (obj: Purchase): void => setDataLayer(obj),\r\n\tgenerateLead: (obj: GenerateLead): void => setDataLayer(obj),\r\n\tloginEvent: (obj: LoginEvent): void => setDataLayer(obj),\r\n\tnewsLetterSubscribe: (obj: NewsletterSubscribe): void => setDataLayer(obj),\r\n\taccountVerified: (obj: AccountVerified): void => setDataLayer(obj),\r\n\tuploadQuotation: (obj: UploadQuotation): void => setDataLayer(obj),\r\n\terrorEvent: (obj: ErrorEvent): void => setDataLayer(obj),\r\n\tsearch: (obj: Search): void => setDataLayer(obj),\r\n\tcustomizeProduct: (obj: CustomizeProduct): void => setDataLayer(obj),\r\n};\r\n\r\nconst setDataLayer = (obj: GaDataLayer) => {\r\n\twindow.dataLayer = window.dataLayer || [];\r\n\twindow.dataLayer.push(obj);\r\n};\r\n","export enum GaEvent {\r\n\tPage = 'page',\r\n\tViewItem = 'view_item',\r\n\tAddToCart = 'add_to_cart',\r\n\tRemoveFromCart = 'remove_from_cart',\r\n\tViewCart = 'view_cart',\r\n\tBeginCheckout = 'begin_checkout',\r\n\tAddShippingInfo = 'add_shipping_info',\r\n\tAddPaymentInfo = 'add_payment_info',\r\n\tPurchase = 'purchase',\r\n\tGenerateLead = 'generate_lead',\r\n\tLoginEvent = 'login_event',\r\n\tNewsletterSubscribe = 'newsletter_subscribe',\r\n\tAccountVerified = 'account_verified',\r\n\tUploadQuotation = 'upload_quotation',\r\n\tErrorEvent = 'error_event',\r\n\tSearch = 'search',\r\n\tCustomizeProduct = 'customize_product',\r\n\tUploadDigitalAdvisor = 'Upload digital advisor',\r\n\tUndefined = '',\r\n}\r\n","export enum ProductCategoryType {\r\n\tUnknown,\r\n\tServicePass,\r\n\tExpert,\r\n\tProduct,\r\n\tServiceProduct,\r\n\tSupportProduct,\r\n\tSupportTicketProduct,\r\n\tTrainingProductGroup,\r\n\tProductCollection,\r\n\tWalletProduct,\r\n}\r\n","export enum TrafficSource {\r\n\tCadacInternal = 'cadac_internal',\r\n\tCadacExternal = 'cadac_external',\r\n\tGeneral = 'general',\r\n}\r\n","<script lang=\"ts\">\r\nimport httpClient from \"@/types/helpers/apiHelper\";\r\nimport { AxiosInstance } from \"axios\";\r\nimport { ComponentBase, Vue } from \"vue-facing-decorator\";\r\nimport { FormatHelper } from \"@/types/helpers/formatHelper\";\r\nimport { Ref } from \"vue\";\r\nimport { UrlHelper } from \"@/types/helpers/urlHelper\";\r\nimport { formatDistance, formatDistanceToNow, isDate, parseISO } from \"date-fns\";\r\nimport { useBreakpoints, useClipboard, useMediaQuery } from \"@vueuse/core\";\r\nimport { CadacUserProfileViewModel } from \"@/types/models/common/cadacUserProfileViewModel\";\r\nimport { useLayoutStore } from \"@/store/common/layoutStore\";\r\nimport { useLoadingStore } from \"@/store/common/loadingStore\";\r\nimport { zonedTimeToUtc } from \"date-fns-tz\";\r\nimport { pushToGaDataLayer } from \"@/types/utils/ga4\";\r\nimport { GaEvent } from \"@/types/models/googleAnalytics/enum/gaEvent\";\r\nimport { GenerateLead, ViewItem } from \"@/types/models/googleAnalytics/events/eCommerce/eCommerceModel\";\r\nimport { ProductVariation } from \"@/types/models/software/productVariation\";\r\nimport { CheckoutData } from \"@/types/models/googleAnalytics/properties/checkoutData\";\r\nimport { merge } from \"lodash\";\r\nimport { CustomerData } from \"@/types/models/googleAnalytics/properties/customerData\";\r\nimport { CustomizeProduct } from \"@/types/models/googleAnalytics/events/custom/customModel\";\r\nimport { FormData } from \"@/types/models/googleAnalytics/properties/formData\";\r\nimport { ProductData } from \"@/types/models/googleAnalytics/properties/productData\";\r\nimport { ProductCategoryType } from \"@/types/enum/productCategoryType\";\r\nimport { TrafficSource } from \"@/types/models/googleAnalytics/enum/trafficSource\";\r\nimport toFixed from \"accounting-js/lib/toFixed.js\";\r\n\r\nexport interface ItemsViewItemModel {\r\n\tsku?: string | number;\r\n\tid?: string | number;\r\n\ttitle?: string | null;\r\n\tname?: string;\r\n\tproductCategory?: ProductCategoryType;\r\n\tpersonalPrice?: number;\r\n\tpriceSubTotal?: number;\r\n\tbasePrice?: number;\r\n\tpriceBase?: number;\r\n\tdiscount?: string | number;\r\n\tbrand?: string;\r\n\tamount?: number;\r\n}\r\n\r\n/// Base Component with generic functions that can be re-used by multiple components\r\n@ComponentBase({ name: \"BaseComponent\" })\r\nexport default class BaseComponent extends Vue {\r\n\t//Common Stores used by most components:\r\n\tlayoutStore = useLayoutStore();\r\n\tloadingStore = useLoadingStore();\r\n\r\n\t// These breakpoints are the same as configured in bootstrap.scss! Important to keep these in sync if there are changes.\r\n\tbreakpoints = useBreakpoints({\r\n\t\txs: 0,\r\n\t\tsm: 576,\r\n\t\tmd: 768,\r\n\t\tlg: 992,\r\n\t\txls: 1200,\r\n\t\txl: 1440,\r\n\t\txxl: 2140,\r\n\t});\r\n\r\n\tisPrintMediaQuery = useMediaQuery(\"(print)\");\r\n\tisSmallScreen = this.breakpoints.smaller(\"lg\");\r\n\tisMediumScreen = this.breakpoints.smaller(\"md\");\r\n\tisSmallLargeScreen = this.breakpoints.between(\"xls\", \"xl\");\r\n\tisLargeScreen = this.breakpoints.between(\"lg\", \"xl\");\r\n\tisExtraLargeScreen = this.breakpoints.between(\"xl\", \"xxl\");\r\n\tisMobile = this.breakpoints.smaller(\"sm\");\r\n\tisTablet = this.breakpoints.between(\"sm\", \"lg\");\r\n\tchatRetryCounter = 0;\r\n\r\n\t// Get custom axios instance\r\n\tget axios(): AxiosInstance {\r\n\t\treturn httpClient;\r\n\t}\r\n\r\n\tget isPrintView(): Ref<boolean> {\r\n\t\treturn this.isPrintMediaQuery;\r\n\t}\r\n\r\n\tget chatWidget() {\r\n\t\treturn window.fcWidget;\r\n\t}\r\n\r\n\tget currentRegion(): string {\r\n\t\treturn FormatHelper.formatRegion(this.layoutStore.vm?.currentCulture) || \"\";\r\n\t}\r\n\r\n\tget currentCurrency(): string {\r\n\t\treturn this.layoutStore.vm?.currentCurrency || \"\";\r\n\t}\r\n\r\n\tget currentLanguage(): string {\r\n\t\treturn this.layoutStore.vm?.currentLanguage?.key || \"\";\r\n\t}\r\n\r\n\tget currentLocation(): string {\r\n\t\treturn this.layoutStore.vm?.currentLocation?.key || \"\";\r\n\t}\r\n\r\n\tget userProfile(): CadacUserProfileViewModel | null {\r\n\t\treturn this.layoutStore.vm?.currentUser as CadacUserProfileViewModel;\r\n\t}\r\n\r\n\tget userSource(): TrafficSource {\r\n\t\tconst email = this.layoutStore.vm?.currentUser.email;\r\n\t\tif (email) {\r\n\t\t\tconst [, domain] = email.split(\"@\");\r\n\t\t\tconst isImpersonated = this.layoutStore.vm?.currentUser.isImpersonated;\r\n\t\t\tif (domain.toLowerCase() === \"cadac.com\" || domain?.toLowerCase() === \"cadac.nl\" || isImpersonated)\r\n\t\t\t\treturn TrafficSource.CadacInternal;\r\n\t\t\telse if (this.layoutStore.vm?.currentUser.isExternalSales) return TrafficSource.CadacExternal;\r\n\t\t\telse return TrafficSource.General;\r\n\t\t} else return TrafficSource.General;\r\n\t}\r\n\r\n\tget isSpinnerVisible(): (key: string) => boolean {\r\n\t\treturn (key: string) => this.loadingStore.isSpinnerVisible(key);\r\n\t}\r\n\r\n\tget isBusy(): boolean {\r\n\t\treturn this.loadingStore.isBusy;\r\n\t}\r\n\r\n\tget loginPageUrl(): string {\r\n return `${this.layoutStore.vm.loginPageUrl}/cadacstore?login_origin=${window.location.origin}&language=${this.currentLanguage}&redirect=${window.location}`.replace(/\\s{2,}/g, \" \").trim();\r\n\t}\r\n\r\n\tget registerPageUrl(): string {\r\n return `${this.layoutStore.vm.loginPageUrl}/cadacstore?login_origin=${window.location.origin}&createaccount=1&language=${this.currentLanguage}&redirect=${window.location}`.replace(/\\s{2,}/g, \" \").trim();\r\n\t}\r\n\r\n\ttoDate(date: string | Date): Date {\r\n\t\treturn FormatHelper.toDate(typeof date === \"string\" ? parseISO(date) : date);\r\n\t}\r\n\r\n\ttoDateUtc(date: Date): Date {\r\n\t\treturn zonedTimeToUtc(date, \"UTC\");\r\n\t}\r\n\r\n\tformatDate(date: string | Date | undefined): string {\r\n\t\tconst dateToFormat = isDate(date) ? (date as Date).toISOString() : (date as string);\r\n\t\treturn FormatHelper.formatDateString(dateToFormat, this.currentRegion);\r\n\t}\r\n\r\n\tformatLongDate(date: string | Date | undefined): string {\r\n\t\tconst dateToFormat = isDate(date) ? (date as Date).toISOString() : (date as string);\r\n\t\treturn FormatHelper.formatLongDateString(dateToFormat, this.currentRegion);\r\n\t}\r\n\r\n\tformatShortDate(date: string | Date | undefined): string {\r\n\t\tconst dateToFormat = isDate(date) ? (date as Date).toISOString() : (date as string);\r\n\t\treturn FormatHelper.formatDateAsMonthYearString(dateToFormat, this.currentRegion);\r\n\t}\r\n\r\n\tformatDateTime(date: string | Date | undefined): string {\r\n\t\tconst dateTimeToFormat = isDate(date) ? (date as Date).toISOString() : (date as string);\r\n\t\treturn FormatHelper.formatDateTimeString(dateTimeToFormat, this.currentRegion?.toLowerCase());\r\n\t}\r\n\r\n\tformatTime(date: string | Date | undefined): string {\r\n\t\tconst dateToFormat = isDate(date) ? (date as Date).toISOString() : (date as string);\r\n\t\treturn FormatHelper.formatTimeString(dateToFormat, this.currentRegion);\r\n\t}\r\n\r\n\tformatRemainingTime(date: string | Date | undefined): string {\r\n\t\tconst dateToFormat = isDate(date) ? (date as Date).toISOString() : (date as string);\r\n\t\treturn formatDistanceToNow(Date.parse(dateToFormat), {\r\n\t\t\tlocale: FormatHelper.dateLocales[this.currentRegion],\r\n\t\t});\r\n\t}\r\n\r\n\tformatElapsedTime(date: string | Date | undefined): string {\r\n\t\tconst dateToFormat = isDate(date) ? (date as Date).toISOString() : (date as string);\r\n\t\treturn formatDistance(Date.parse(dateToFormat), new Date(), {\r\n\t\t\tlocale: FormatHelper.dateLocales[this.currentRegion],\r\n\t\t\taddSuffix: true,\r\n\t\t});\r\n\t}\r\n\r\n\tformatProductName(productName: string, productBrand: string): string {\r\n\t\treturn FormatHelper.productNameWithoutBrand(productName, productBrand);\r\n\t}\r\n\r\n\tformatCurrency(amount: number): string {\r\n\t\tconst currency = this.$n(amount || 0, \"currency\", this.currentRegion);\r\n\t\treturn currency.replace(/[,|.]00$/, \",-\");\r\n\t}\r\n\r\n\topenUrl(url: string, target?: string): void {\r\n\t\treturn UrlHelper.open(url, target);\r\n\t}\r\n\r\n\tcopyToClipboard(text: string): Promise<void> {\r\n\t\tconst clipBoard = useClipboard();\r\n\t\treturn clipBoard.copy(text);\r\n\t}\r\n\r\n\tscrollToFirstValidationError(): void {\r\n\t\tconst element = document.querySelector(`[id^=\"validation-msg-\"]`)?.closest(\".product-config-step\");\r\n\t\tif (!element) return;\r\n\t\twindow.scrollTo({ top: element.getBoundingClientRect().top + window.scrollY - 80, behavior: \"smooth\" });\r\n\t}\r\n\r\n\ttoSnakeCase(str: string | null | undefined, convertCamelCase = true): string | null {\r\n\t\tif (!str) return null;\r\n\t\tif (!convertCamelCase) {\r\n\t\t\treturn str\r\n\t\t\t\t.trim()\r\n\t\t\t\t.replace(/\\s+/g, \"_\") // Replace whitespace with underscore\r\n\t\t\t\t.toLowerCase(); // Convert to lowercase\r\n\t\t}\r\n\r\n\t\treturn str\r\n\t\t\t.trim()\r\n\t\t\t.replace(/\\s+/g, \"_\") // Replace whitespace with underscore\r\n\t\t\t.replace(/([a-z])([A-Z])/g, \"$1_$2\") // Convert camelCase to snake_case\r\n\t\t\t.toLowerCase(); // Convert to lowercase\r\n\t}\r\n\r\n\tconstructECommerceDataLayer(\r\n\t\tevent: GaEvent,\r\n\t\tvalue: string | undefined,\r\n\t\titems: ItemsViewItemModel[] | [],\r\n\t\tamount?: string | null,\r\n\t\tbrand?: string,\r\n\t\tname?: string | null,\r\n\t\tcategory?: string | null\r\n\t): ViewItem {\r\n\t\treturn {\r\n\t\t\tevent: event,\r\n\t\t\tvalue: value || null,\r\n\t\t\tcurrency: this.currentCurrency.toLowerCase(),\r\n\t\t\titems: this.constructProductDataLayer(items, brand, name, amount, category),\r\n\t\t\tcustomer: this.constructCustomerData(this.userProfile),\r\n\t\t};\r\n\t}\r\n\r\n\tconstructProductDataLayer(\r\n\t\titems: ItemsViewItemModel[] | [],\r\n\t\tbrand?: string,\r\n\t\tname?: string | null,\r\n\t\tamount?: string | null,\r\n\t\tcategory?: string | null\r\n\t): ProductData[] {\r\n\t\treturn items.map((item: ItemsViewItemModel) => {\r\n\t\t\tconst basePrice = item.basePrice || item.priceBase || 0;\r\n\t\t\tconst personalPrice = item.personalPrice || item.priceSubTotal || 0;\r\n\t\t\tconst id = (item.sku || item.id)?.toString() || null;\r\n\r\n\t\t\treturn {\r\n\t\t\t\titem_id: id,\r\n\t\t\t\titem_name: this.toSnakeCase(name || item.name || id),\r\n\t\t\t\titem_category:\r\n\t\t\t\t\t(item.productCategory && this.toSnakeCase(ProductCategoryType[item.productCategory])) ||\r\n\t\t\t\t\tthis.toSnakeCase(category) ||\r\n\t\t\t\t\tnull,\r\n\t\t\t\tprice: this.layoutStore.isAuthenticated\r\n\t\t\t\t\t? toFixed(personalPrice, 2) || null\r\n\t\t\t\t\t: toFixed(basePrice, 2) || null,\r\n\t\t\t\tdiscount: item.discount\r\n\t\t\t\t\t? toFixed(item.discount, 2)\r\n\t\t\t\t\t: this.layoutStore.isAuthenticated\r\n\t\t\t\t\t\t? toFixed(basePrice - personalPrice, 2) || \"0\"\r\n\t\t\t\t\t\t: \"0\",\r\n\t\t\t\titem_brand: this.toSnakeCase(item.brand || brand),\r\n\t\t\t\tquantity: item.amount && item.amount > 0 ? item.amount?.toString() : amount?.toString() || \"1\",\r\n\t\t\t};\r\n\t\t});\r\n\t}\r\n\r\n\tconstructCustomizeProductDataLayer(name: string, item: ProductVariation): CustomizeProduct {\r\n\t\treturn {\r\n\t\t\tevent: GaEvent.CustomizeProduct,\r\n\t\t\titem_id: (item as { sku: number | string }).sku.toString(),\r\n\t\t\titem_name: this.toSnakeCase(name),\r\n\t\t\tcontract_duration: item.duration?.toString() || null,\r\n\t\t\tcustomer: this.constructCustomerData(this.userProfile),\r\n\t\t};\r\n\t}\r\n\r\n\tconstructCheckoutData(stage: number, name: string, totalSteps: number): CheckoutData {\r\n\t\treturn {\r\n\t\t\tcheckout_stage: stage.toString() || null,\r\n\t\t\tcheckout_stage_name: name || null,\r\n\t\t\tcheckout_stage_total_steps: totalSteps.toString() || null,\r\n\t\t};\r\n\t}\r\n\r\n\tconstructCustomerData(currentUser: CadacUserProfileViewModel | null): CustomerData {\r\n\t\treturn {\r\n\t\t\tlogin_state: currentUser?.email ? \"true\" : \"false\",\r\n\t\t\tuser_id: currentUser?.email ? currentUser.cadacAccountId : null,\r\n\t\t\tuser_email_hashed: currentUser?.emailHash ? currentUser.emailHash : null,\r\n\t\t\tuser_email: currentUser?.email ? currentUser.email : null,\r\n\t\t\ttraffic: this.userSource,\r\n\t\t};\r\n\t}\r\n\r\n\tconstructGenerateLeadDataLayer(currentUser: CadacUserProfileViewModel, form: FormData): GenerateLead {\r\n\t\treturn {\r\n\t\t\tevent: GaEvent.GenerateLead,\r\n\t\t\tcustomer: this.constructCustomerData(currentUser),\r\n\t\t\tform_title: this.toSnakeCase(form.form_title),\r\n\t\t\tform_type: this.toSnakeCase(form.form_type),\r\n\t\t};\r\n\t}\r\n\r\n\ttrackSearch(searchString: string): void {\r\n\t\tconst dataLayer = {\r\n\t\t\tevent: GaEvent.Search,\r\n\t\t\tsearch_term: searchString,\r\n\t\t\tcustomer: this.constructCustomerData(this.userProfile),\r\n\t\t};\r\n\t\tpushToGaDataLayer.search(dataLayer);\r\n\t}\r\n\r\n\t/**\r\n\t * Wrapper object to construct the data layer with correct types\r\n\t */\r\n\tsetDataLayer = {\r\n\t\tviewItem: (\r\n\t\t\tvalue: string | undefined,\r\n\t\t\titems: ItemsViewItemModel[],\r\n\t\t\tamount?: string | null,\r\n\t\t\tbrand?: string,\r\n\t\t\tname?: string,\r\n\t\t\tcategory?: string\r\n\t\t): void =>\r\n\t\t\tpushToGaDataLayer.viewItem(\r\n\t\t\t\tthis.constructECommerceDataLayer(GaEvent.ViewItem, value, items, amount, brand, name, category)\r\n\t\t\t),\r\n\t\taddToCart: (\r\n\t\t\tvalue: string | undefined,\r\n\t\t\titems: ItemsViewItemModel[],\r\n\t\t\tamount?: string | null,\r\n\t\t\tbrand?: string,\r\n\t\t\tname?: string | null,\r\n\t\t\tcategory?: string | null\r\n\t\t): void =>\r\n\t\t\tpushToGaDataLayer.addToCart(\r\n\t\t\t\tthis.constructECommerceDataLayer(GaEvent.AddToCart, value, items, amount, brand, name, category)\r\n\t\t\t),\r\n\t\tremoveFromCart: (\r\n\t\t\tvalue: string | undefined,\r\n\t\t\titems: ItemsViewItemModel[],\r\n\t\t\tamount?: string | null,\r\n\t\t\tbrand?: string\r\n\t\t): void =>\r\n\t\t\tpushToGaDataLayer.removeFromCart(\r\n\t\t\t\tthis.constructECommerceDataLayer(GaEvent.RemoveFromCart, value, items, amount, brand)\r\n\t\t\t),\r\n\t\tviewCart: (eCommerceDataLayer: ViewItem, checkoutDataLayer: CheckoutData): void =>\r\n\t\t\tpushToGaDataLayer.viewCart(merge(eCommerceDataLayer, checkoutDataLayer)),\r\n\t\tbeginCheckout: (eCommerceDataLayer: ViewItem, checkoutDataLayer: CheckoutData, orderDataDataLayer): void =>\r\n\t\t\tpushToGaDataLayer.beginCheckout(merge(eCommerceDataLayer, checkoutDataLayer, orderDataDataLayer)),\r\n\t\tcheckoutStepEvents: (\r\n\t\t\teCommerceDataLayer: ViewItem,\r\n\t\t\tcheckoutDataLayer: CheckoutData,\r\n\t\t\torderDataDataLayer\r\n\t\t): void =>\r\n\t\t\tpushToGaDataLayer.beginCheckout(merge(eCommerceDataLayer, checkoutDataLayer, orderDataDataLayer)),\r\n\t\tpurchase: (eCommerceDataLayer: ViewItem, orderDataDataLayer): void =>\r\n\t\t\tpushToGaDataLayer.purchase(merge(eCommerceDataLayer, orderDataDataLayer)),\r\n\t\tloginEvent: (customer: CadacUserProfileViewModel | null): void => {\r\n\t\t\tif (customer)\r\n\t\t\t\tpushToGaDataLayer.loginEvent({\r\n\t\t\t\t\tevent: GaEvent.LoginEvent,\r\n\t\t\t\t\tcustomer: this.constructCustomerData(customer),\r\n\t\t\t\t});\r\n\t\t},\r\n\t\taccountVerified: (customer: CadacUserProfileViewModel | null): void => {\r\n\t\t\tif (customer)\r\n\t\t\t\tpushToGaDataLayer.accountVerified({\r\n\t\t\t\t\tevent: GaEvent.AccountVerified,\r\n\t\t\t\t\tcustomer: this.constructCustomerData(customer),\r\n\t\t\t\t});\r\n\t\t},\r\n\t\tcustomizeProduct: (name: string, item: ProductVariation): void =>\r\n\t\t\tpushToGaDataLayer.customizeProduct(this.constructCustomizeProductDataLayer(name, item)),\r\n\t\tgenerateLead: (customer: CadacUserProfileViewModel, form: FormData): void => {\r\n\t\t\tpushToGaDataLayer.generateLead(this.constructGenerateLeadDataLayer(customer, form));\r\n\t\t},\r\n\t\tnewsLetterSubscribe: (customer: CadacUserProfileViewModel): void => {\r\n\t\t\tpushToGaDataLayer.newsLetterSubscribe({\r\n\t\t\t\tevent: GaEvent.NewsletterSubscribe,\r\n\t\t\t\tcustomer: this.constructCustomerData(customer),\r\n\t\t\t});\r\n\t\t},\r\n\t\tuploadQuotation: (customer: CadacUserProfileViewModel): void => {\r\n\t\t\tpushToGaDataLayer.uploadQuotation({\r\n\t\t\t\tevent: GaEvent.UploadQuotation,\r\n\t\t\t\tcustomer: this.constructCustomerData(customer),\r\n\t\t\t});\r\n\t\t},\r\n\t\terrorEvent: (error: any): void => {\r\n\t\t\tpushToGaDataLayer.errorEvent({\r\n\t\t\t\tevent: GaEvent.ErrorEvent,\r\n\t\t\t\terror_message: error.errorMessage,\r\n\t\t\t\terror_code: error.errorCode,\r\n\t\t\t\tcustomer: this.constructCustomerData(this.userProfile),\r\n\t\t\t});\r\n\t\t},\r\n\t};\r\n}\r\n</script>\r\n","import script from \"./baseComponent.vue?vue&type=script&lang=ts\"\nexport * from \"./baseComponent.vue?vue&type=script&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","export enum BlockBackgroundColor {\r\n\tWhite,\r\n\tGrey,\r\n\tPink,\r\n\tPurple,\r\n\tGreen,\r\n}\r\n","export enum CtaButtonStyle {\r\n\tDefault,\r\n\tWhiteArrow,\r\n\tWhite,\r\n\tGreenArrow,\r\n\tGreen,\r\n\tPurpleArrow,\r\n\tPurple,\r\n\tLinkArrow,\r\n\tLink,\r\n}\r\n","export enum HorizontalAlignment {\r\n\tLeft,\r\n\tCenter,\r\n\tRight,\r\n}\r\n","<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { BlockBackgroundColor } from \"@/types/enum/blockBackgroundColor\";\r\nimport { ComponentBase } from \"vue-facing-decorator\";\r\nimport { CtaButtonStyle } from \"@/types/enum/ctaButtonStyle\";\r\nimport { HorizontalAlignment } from \"@/types/enum/horizontalAlignment\";\r\n\r\n@ComponentBase({ name: \"BaseBlock\" })\r\nexport default class BaseBlock extends BaseComponent {\r\n\tget blockBackgroundColor(): typeof BlockBackgroundColor {\r\n\t\treturn BlockBackgroundColor;\r\n\t}\r\n\r\n\tget ctaButtonStyle(): typeof CtaButtonStyle {\r\n\t\treturn CtaButtonStyle;\r\n\t}\r\n\r\n\tget horizontalAlignment(): typeof HorizontalAlignment {\r\n\t\treturn HorizontalAlignment;\r\n\t}\r\n\r\n\tget textAlignmentClass(): (alignment: HorizontalAlignment) => string {\r\n\t\treturn (alignment: HorizontalAlignment) => {\r\n\t\t\treturn `text-${HorizontalAlignment[alignment].toLowerCase()}`;\r\n\t\t};\r\n\t}\r\n\r\n\tget blockBackgroundClass(): (bgColor: BlockBackgroundColor) => string {\r\n\t\treturn (bgColor: BlockBackgroundColor) => {\r\n\t\t\tswitch (bgColor) {\r\n\t\t\t\tcase BlockBackgroundColor.Green:\r\n\t\t\t\t\treturn \"bg-success\";\r\n\t\t\t\tcase BlockBackgroundColor.Grey:\r\n\t\t\t\t\treturn \"surface-b\";\r\n\t\t\t\tcase BlockBackgroundColor.Pink:\r\n\t\t\t\t\treturn \"surface-e\";\r\n\t\t\t\tcase BlockBackgroundColor.Purple:\r\n\t\t\t\t\treturn \"bg-primary\";\r\n\t\t\t\tcase BlockBackgroundColor.White:\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn \"\";\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n\r\n\tget ctaButtonClass(): (btnStyle: CtaButtonStyle) => string {\r\n\t\treturn (btnStyle: CtaButtonStyle) => {\r\n\t\t\tswitch (btnStyle) {\r\n\t\t\t\tcase CtaButtonStyle.WhiteArrow:\r\n\t\t\t\t\treturn \"p-button-text p-button-raised p-button-arrow\";\r\n\t\t\t\tcase CtaButtonStyle.White:\r\n\t\t\t\t\treturn \"p-button-text p-button-raised\";\r\n\t\t\t\tcase CtaButtonStyle.GreenArrow:\r\n\t\t\t\t\treturn \"p-button-success p-button-arrow\";\r\n\t\t\t\tcase CtaButtonStyle.Green:\r\n\t\t\t\t\treturn \"p-button-success\";\r\n\t\t\t\tcase CtaButtonStyle.PurpleArrow:\r\n\t\t\t\t\treturn \"p-button-primary p-button-arrow\";\r\n\t\t\t\tcase CtaButtonStyle.Purple:\r\n\t\t\t\t\treturn \"p-button-primary\";\r\n\t\t\t\tcase CtaButtonStyle.LinkArrow:\r\n\t\t\t\t\treturn \"p-button-link p-button-arrow\";\r\n\t\t\t\tcase CtaButtonStyle.Link:\r\n\t\t\t\t\treturn \"p-button-link p-button-primary\";\r\n\t\t\t\tcase CtaButtonStyle.Default:\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn \"\";\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped></style>\r\n","import script from \"./baseBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./baseBlock.vue?vue&type=script&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","export enum AskAQuestionCategoryType {\r\n\tUnknown,\r\n\tOther,\r\n\tSupport,\r\n}\r\n","import { render } from \"./askAQuestionBlock.vue?vue&type=template&id=762b9ab3&scoped=true&ts=true\"\nimport script from \"./askAQuestionBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./askAQuestionBlock.vue?vue&type=script&lang=ts\"\n\nimport \"./askAQuestionBlock.vue?vue&type=style&index=0&id=762b9ab3&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-762b9ab3\"]])\n\nexport default __exports__","import { openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, normalizeClass as _normalizeClass, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-38dcd120\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"container text-center\" }\nconst _hoisted_2 = [\"innerHTML\"]\nconst _hoisted_3 = { class: \"lead mb-3\" }\nconst _hoisted_4 = { class: \"row justify-content-center px-2\" }\nconst _hoisted_5 = { class: \"col-md-4 block-card\" }\nconst _hoisted_6 = { class: \"text-primary font-weight-bold\" }\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = { class: \"col-md-4 block-card\" }\nconst _hoisted_9 = { class: \"text-primary font-weight-bold\" }\nconst _hoisted_10 = { key: 0 }\nconst _hoisted_11 = { class: \"col-md-8 py-2\" }\nconst _hoisted_12 = {\n key: 0,\n class: \"text-primary\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_LinkButton = _resolveComponent(\"LinkButton\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"block\", _ctx.blockBackgroundClass(_ctx.vm.backgroundColor)])\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n (_ctx.vm.title)\n ? (_openBlock(), _createElementBlock(\"h2\", {\n key: 0,\n class: \"display-4\",\n innerHTML: _ctx.vm.title\n }, null, 8, _hoisted_2))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"p\", _hoisted_3, _toDisplayString(_ctx.vm.text), 1),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"p\", _hoisted_6, _toDisplayString(_ctx.vm.leftPreTitle), 1),\n (_ctx.vm.leftTitle)\n ? (_openBlock(), _createElementBlock(\"h3\", _hoisted_7, _toDisplayString(_ctx.vm.leftTitle), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.vm.leftText), 1),\n (_ctx.vm.leftCta)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 1,\n class: _normalizeClass([\"mt-2\", _ctx.ctaButtonClass(_ctx.vm.leftCtaStyle) || 'p-button-link p-button-arrow']),\n label: _ctx.vm.leftCta.text,\n target: _ctx.vm.leftCta.target,\n title: _ctx.vm.leftCta.title,\n url: _ctx.vm.leftCta.url\n }, null, 8, [\"class\", \"label\", \"target\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"p\", _hoisted_9, _toDisplayString(_ctx.vm.rightPreTitle), 1),\n (_ctx.vm.rightTitle)\n ? (_openBlock(), _createElementBlock(\"h3\", _hoisted_10, _toDisplayString(_ctx.vm.rightTitle), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.vm.rightText), 1),\n (_ctx.vm.rightCta)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 1,\n class: _normalizeClass([\"mt-2\", _ctx.ctaButtonClass(_ctx.vm.rightCtaStyle) || 'p-button-link p-button-arrow']),\n label: _ctx.vm.rightCta.text,\n target: _ctx.vm.rightCta.target,\n title: _ctx.vm.rightCta.title,\n url: _ctx.vm.rightCta.url\n }, null, 8, [\"class\", \"label\", \"target\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n (_ctx.vm.bottomTitle)\n ? (_openBlock(), _createElementBlock(\"h3\", _hoisted_12, _toDisplayString(_ctx.vm.bottomTitle), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.bottomCta)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 1,\n class: _normalizeClass([\"p-button-lg\", \r\n\t\t\t\t\t\t\t_ctx.ctaButtonClass(_ctx.vm.bottomCtaStyle) || 'p-button-success p-button-raised p-button-arrow'\r\n\t\t\t\t\t\t]),\n label: _ctx.vm.bottomCta.text,\n target: _ctx.vm.bottomCta.target,\n title: _ctx.vm.bottomCta.title,\n url: _ctx.vm.bottomCta.url\n }, null, 8, [\"class\", \"label\", \"target\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ], 2))\n}","<template>\r\n\t<div class=\"block\" :class=\"blockBackgroundClass(vm.backgroundColor)\">\r\n\t\t<div class=\"container text-center\">\r\n\t\t\t<h2 v-if=\"vm.title\" class=\"display-4\" v-html=\"vm.title\"></h2>\r\n\t\t\t<p class=\"lead mb-3\">{{ vm.text }}</p>\r\n\t\t\t<div class=\"row justify-content-center px-2\">\r\n\t\t\t\t<div class=\"col-md-4 block-card\">\r\n\t\t\t\t\t<p class=\"text-primary font-weight-bold\">\r\n\t\t\t\t\t\t{{ vm.leftPreTitle }}\r\n\t\t\t\t\t</p>\r\n\t\t\t\t\t<h3 v-if=\"vm.leftTitle\">{{ vm.leftTitle }}</h3>\r\n\t\t\t\t\t<p>{{ vm.leftText }}</p>\r\n\t\t\t\t\t<LinkButton\r\n\t\t\t\t\t\tv-if=\"vm.leftCta\"\r\n\t\t\t\t\t\tclass=\"mt-2\"\r\n\t\t\t\t\t\t:class=\"ctaButtonClass(vm.leftCtaStyle) || 'p-button-link p-button-arrow'\"\r\n\t\t\t\t\t\t:label=\"vm.leftCta.text\"\r\n\t\t\t\t\t\t:target=\"vm.leftCta.target\"\r\n\t\t\t\t\t\t:title=\"vm.leftCta.title\"\r\n\t\t\t\t\t\t:url=\"vm.leftCta.url\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"col-md-4 block-card\">\r\n\t\t\t\t\t<p class=\"text-primary font-weight-bold\">\r\n\t\t\t\t\t\t{{ vm.rightPreTitle }}\r\n\t\t\t\t\t</p>\r\n\t\t\t\t\t<h3 v-if=\"vm.rightTitle\">{{ vm.rightTitle }}</h3>\r\n\t\t\t\t\t<p>{{ vm.rightText }}</p>\r\n\t\t\t\t\t<LinkButton\r\n\t\t\t\t\t\tv-if=\"vm.rightCta\"\r\n\t\t\t\t\t\tclass=\"mt-2\"\r\n\t\t\t\t\t\t:class=\"ctaButtonClass(vm.rightCtaStyle) || 'p-button-link p-button-arrow'\"\r\n\t\t\t\t\t\t:label=\"vm.rightCta.text\"\r\n\t\t\t\t\t\t:target=\"vm.rightCta.target\"\r\n\t\t\t\t\t\t:title=\"vm.rightCta.title\"\r\n\t\t\t\t\t\t:url=\"vm.rightCta.url\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"col-md-8 py-2\">\r\n\t\t\t\t\t<h3 v-if=\"vm.bottomTitle\" class=\"text-primary\">{{ vm.bottomTitle }}</h3>\r\n\t\t\t\t\t<LinkButton\r\n\t\t\t\t\t\tv-if=\"vm.bottomCta\"\r\n\t\t\t\t\t\tclass=\"p-button-lg\"\r\n\t\t\t\t\t\t:class=\"\r\n\t\t\t\t\t\t\tctaButtonClass(vm.bottomCtaStyle) || 'p-button-success p-button-raised p-button-arrow'\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t:label=\"vm.bottomCta.text\"\r\n\t\t\t\t\t\t:target=\"vm.bottomCta.target\"\r\n\t\t\t\t\t\t:title=\"vm.bottomCta.title\"\r\n\t\t\t\t\t\t:url=\"vm.bottomCta.url\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseBlock from \"@/components/base/baseBlock.vue\";\r\nimport { CallToActionCenteredDivideBlockViewModel } from \"@/types/viewModels/blocks/callToActionCenteredDivideBlockViewModel\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { PropType } from \"vue\";\r\n\r\n@Component\r\nexport default class CallToActionCenteredDivideBlock extends BaseBlock {\r\n\t@Prop({ type: Object as PropType<CallToActionCenteredDivideBlockViewModel>, required: true, default: {} })\r\n\tvm!: CallToActionCenteredDivideBlockViewModel;\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.block-card {\r\n\tbackground: var(--surface-a);\r\n\tborder: 1px solid var(--surface-d);\r\n\tpadding: 1rem;\r\n\tmargin-bottom: 1rem;\r\n}\r\n</style>\r\n","import { render } from \"./callToActionCenteredDivideBlock.vue?vue&type=template&id=38dcd120&scoped=true&ts=true\"\nimport script from \"./callToActionCenteredDivideBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./callToActionCenteredDivideBlock.vue?vue&type=script&lang=ts\"\n\nimport \"./callToActionCenteredDivideBlock.vue?vue&type=style&index=0&id=38dcd120&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-38dcd120\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, resolveComponent as _resolveComponent, createBlock as _createBlock, createTextVNode as _createTextVNode, createStaticVNode as _createStaticVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7f0c6467\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/_createStaticVNode(\"<div class=\\\"block-bg-circles\\\" data-v-7f0c6467><svg viewBox=\\\"0 0 1154 1154\\\" data-v-7f0c6467><g fill=\\\"#FFF\\\" fill-rule=\\\"evenodd\\\" data-v-7f0c6467><circle cx=\\\"577\\\" cy=\\\"577\\\" opacity=\\\".055\\\" r=\\\"577\\\" data-v-7f0c6467></circle><circle cx=\\\"577.5\\\" cy=\\\"576.5\\\" opacity=\\\".045\\\" r=\\\"405.5\\\" data-v-7f0c6467></circle></g></svg></div>\", 1)\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = [\"innerHTML\"]\nconst _hoisted_4 = [\"textContent\"]\nconst _hoisted_5 = { class: \"row\" }\nconst _hoisted_6 = { class: \"lead pr-2\" }\nconst _hoisted_7 = [\"href\", \"target\", \"title\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_LinkButton = _resolveComponent(\"LinkButton\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"block\", _ctx.blockBackgroundClass(_ctx.vm.backgroundColor)])\n }, [\n _hoisted_1,\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"row\", _ctx.contentAlignmentClass])\n }, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"mb-2\", [_ctx.textAlignmentClass(_ctx.vm.alignment), _ctx.colSizeClass]])\n }, [\n (_ctx.vm.title)\n ? (_openBlock(), _createElementBlock(\"h2\", {\n key: 0,\n class: \"\",\n innerHTML: _ctx.vm.title\n }, null, 8, _hoisted_3))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.subtitle)\n ? (_openBlock(), _createElementBlock(\"h3\", {\n key: 1,\n class: \"display-5 mb-0\",\n textContent: _toDisplayString(_ctx.vm.subtitle)\n }, null, 8, _hoisted_4))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"d-flex flex-wrap mb-2 mt-auto col-auto gap-2\", [\r\n\t\t\t\t\t\t_ctx.contentAlignmentClass,\r\n\t\t\t\t\t\t!_ctx.vm.ctaRight && _ctx.vm.alignment === _ctx.horizontalAlignment.Center ? 'mx-auto' : '',\r\n\t\t\t\t\t]])\n }, [\n (_ctx.vm.ctaLeft)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 0,\n class: _normalizeClass({\r\n\t\t\t\t\t\t\t'p-button-lg': _ctx.vm.size === _ctx.size.large,\r\n\t\t\t\t\t\t\t[_ctx.ctaButtonClass(_ctx.vm.ctaLeftStyle)]: _ctx.ctaButtonClass(_ctx.vm.ctaLeftStyle),\r\n\t\t\t\t\t\t\t'p-button-text p-button-raised p-button-arrow':\r\n\t\t\t\t\t\t\t\t!_ctx.ctaButtonClass(_ctx.vm.ctaLeftStyle) && _ctx.vm.ctaRight,\r\n\t\t\t\t\t\t\t'p-button-success p-button-raised p-button-arrow':\r\n\t\t\t\t\t\t\t\t!_ctx.ctaButtonClass(_ctx.vm.ctaLeftStyle) && !_ctx.vm.ctaRight,\r\n\t\t\t\t\t\t}),\n label: _ctx.vm.ctaLeft.text,\n target: _ctx.vm.ctaLeft.target,\n title: _ctx.vm.ctaLeft.title,\n url: _ctx.vm.ctaLeft.url\n }, null, 8, [\"class\", \"label\", \"target\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.ctaRight)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 1,\n class: _normalizeClass({\r\n\t\t\t\t\t\t\t'p-button-lg': _ctx.vm.size === _ctx.size.large,\r\n\t\t\t\t\t\t\t[_ctx.ctaButtonClass(_ctx.vm.ctaRightStyle)]: _ctx.ctaButtonClass(_ctx.vm.ctaRightStyle),\r\n\t\t\t\t\t\t\t'p-button-success p-button-raised p-button-arrow': !_ctx.ctaButtonClass(_ctx.vm.ctaRightStyle),\r\n\t\t\t\t\t\t}),\n label: _ctx.vm.ctaRight.text,\n target: _ctx.vm.ctaRight.target,\n title: _ctx.vm.ctaRight.title,\n url: _ctx.vm.ctaRight.url\n }, null, 8, [\"class\", \"label\", \"target\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ], 2)\n ], 2),\n _createElementVNode(\"div\", _hoisted_5, [\n (_ctx.vm.bottomText || _ctx.vm.ctaBottom)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: _normalizeClass([\"col-12 d-flex mt-2\", _ctx.contentAlignmentClass])\n }, [\n _createElementVNode(\"p\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.vm.bottomText) + \" \", 1),\n (_ctx.vm.ctaBottom)\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 0,\n class: _normalizeClass({\r\n\t\t\t\t\t\t\t\t'text-primary':\r\n\t\t\t\t\t\t\t\t\t_ctx.vm.backgroundColor === _ctx.blockBackgroundColor.Grey ||\r\n\t\t\t\t\t\t\t\t\t_ctx.vm.backgroundColor === _ctx.blockBackgroundColor.Pink ||\r\n\t\t\t\t\t\t\t\t\t_ctx.vm.backgroundColor === _ctx.blockBackgroundColor.White,\r\n\t\t\t\t\t\t\t\t'text-white':\r\n\t\t\t\t\t\t\t\t\t_ctx.vm.backgroundColor === _ctx.blockBackgroundColor.Purple ||\r\n\t\t\t\t\t\t\t\t\t_ctx.vm.backgroundColor === _ctx.blockBackgroundColor.Green,\r\n\t\t\t\t\t\t\t}),\n href: _ctx.vm.ctaBottom.url,\n target: _ctx.vm.ctaBottom.target,\n title: _ctx.vm.ctaBottom.title\n }, _toDisplayString(_ctx.vm.ctaBottom.text), 11, _hoisted_7))\n : _createCommentVNode(\"\", true)\n ])\n ], 2))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ], 2))\n}","<template>\r\n\t<div class=\"block\" :class=\"blockBackgroundClass(vm.backgroundColor)\">\r\n\t\t<div class=\"block-bg-circles\">\r\n\t\t\t<svg viewBox=\"0 0 1154 1154\">\r\n\t\t\t\t<g fill=\"#FFF\" fill-rule=\"evenodd\">\r\n\t\t\t\t\t<circle cx=\"577\" cy=\"577\" opacity=\".055\" r=\"577\" />\r\n\t\t\t\t\t<circle cx=\"577.5\" cy=\"576.5\" opacity=\".045\" r=\"405.5\" />\r\n\t\t\t\t</g>\r\n\t\t\t</svg>\r\n\t\t</div>\r\n\t\t<div class=\"container\">\r\n\t\t\t<div class=\"row\" :class=\"contentAlignmentClass\">\r\n\t\t\t\t<div class=\"mb-2\" :class=\"[textAlignmentClass(vm.alignment), colSizeClass]\">\r\n\t\t\t\t\t<h2 v-if=\"vm.title\" class=\"\" v-html=\"vm.title\"></h2>\r\n\t\t\t\t\t<h3 v-if=\"vm.subtitle\" class=\"display-5 mb-0\" v-text=\"vm.subtitle\"></h3>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div\r\n\t\t\t\t\tclass=\"d-flex flex-wrap mb-2 mt-auto col-auto gap-2\"\r\n\t\t\t\t\t:class=\"[\r\n\t\t\t\t\t\tcontentAlignmentClass,\r\n\t\t\t\t\t\t!vm.ctaRight && vm.alignment === horizontalAlignment.Center ? 'mx-auto' : '',\r\n\t\t\t\t\t]\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<LinkButton\r\n\t\t\t\t\t\tv-if=\"vm.ctaLeft\"\r\n\t\t\t\t\t\t:class=\"{\r\n\t\t\t\t\t\t\t'p-button-lg': vm.size === size.large,\r\n\t\t\t\t\t\t\t[ctaButtonClass(vm.ctaLeftStyle)]: ctaButtonClass(vm.ctaLeftStyle),\r\n\t\t\t\t\t\t\t'p-button-text p-button-raised p-button-arrow':\r\n\t\t\t\t\t\t\t\t!ctaButtonClass(vm.ctaLeftStyle) && vm.ctaRight,\r\n\t\t\t\t\t\t\t'p-button-success p-button-raised p-button-arrow':\r\n\t\t\t\t\t\t\t\t!ctaButtonClass(vm.ctaLeftStyle) && !vm.ctaRight,\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t:label=\"vm.ctaLeft.text\"\r\n\t\t\t\t\t\t:target=\"vm.ctaLeft.target\"\r\n\t\t\t\t\t\t:title=\"vm.ctaLeft.title\"\r\n\t\t\t\t\t\t:url=\"vm.ctaLeft.url\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<LinkButton\r\n\t\t\t\t\t\tv-if=\"vm.ctaRight\"\r\n\t\t\t\t\t\t:class=\"{\r\n\t\t\t\t\t\t\t'p-button-lg': vm.size === size.large,\r\n\t\t\t\t\t\t\t[ctaButtonClass(vm.ctaRightStyle)]: ctaButtonClass(vm.ctaRightStyle),\r\n\t\t\t\t\t\t\t'p-button-success p-button-raised p-button-arrow': !ctaButtonClass(vm.ctaRightStyle),\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t:label=\"vm.ctaRight.text\"\r\n\t\t\t\t\t\t:target=\"vm.ctaRight.target\"\r\n\t\t\t\t\t\t:title=\"vm.ctaRight.title\"\r\n\t\t\t\t\t\t:url=\"vm.ctaRight.url\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"row\">\r\n\t\t\t\t<div\r\n\t\t\t\t\tv-if=\"vm.bottomText || vm.ctaBottom\"\r\n\t\t\t\t\tclass=\"col-12 d-flex mt-2\"\r\n\t\t\t\t\t:class=\"contentAlignmentClass\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<p class=\"lead pr-2\">\r\n\t\t\t\t\t\t{{ vm.bottomText }}\r\n\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\tv-if=\"vm.ctaBottom\"\r\n\t\t\t\t\t\t\t:class=\"{\r\n\t\t\t\t\t\t\t\t'text-primary':\r\n\t\t\t\t\t\t\t\t\tvm.backgroundColor === blockBackgroundColor.Grey ||\r\n\t\t\t\t\t\t\t\t\tvm.backgroundColor === blockBackgroundColor.Pink ||\r\n\t\t\t\t\t\t\t\t\tvm.backgroundColor === blockBackgroundColor.White,\r\n\t\t\t\t\t\t\t\t'text-white':\r\n\t\t\t\t\t\t\t\t\tvm.backgroundColor === blockBackgroundColor.Purple ||\r\n\t\t\t\t\t\t\t\t\tvm.backgroundColor === blockBackgroundColor.Green,\r\n\t\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t\t:href=\"vm.ctaBottom.url\"\r\n\t\t\t\t\t\t\t:target=\"vm.ctaBottom.target\"\r\n\t\t\t\t\t\t\t:title=\"vm.ctaBottom.title\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{{ vm.ctaBottom.text }}\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t</p>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseBlock from \"@/components/base/baseBlock.vue\";\r\nimport { CallToActionDefaultBlockViewModel } from \"@/types/viewModels/blocks/callToActionDefaultBlockViewModel\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { HorizontalAlignment } from \"@/types/enum/horizontalAlignment\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { Size } from \"@/types/enum/size\";\r\n\r\n@Component\r\nexport default class CallToActionDefaultBlock extends BaseBlock {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<CallToActionDefaultBlockViewModel>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: CallToActionDefaultBlockViewModel;\r\n\r\n\tcreated(): void {\r\n\t\tLog.info(\"CallToActionDefaultBlock\", this.vm);\r\n\t}\r\n\r\n\tget size(): typeof Size {\r\n\t\treturn Size;\r\n\t}\r\n\r\n\tget contentAlignmentClass(): string {\r\n\t\tswitch (this.vm.alignment) {\r\n\t\t\tcase HorizontalAlignment.Left:\r\n\t\t\t\treturn \"justify-content-start\";\r\n\t\t\tcase HorizontalAlignment.Center:\r\n\t\t\t\treturn \"justify-content-center align-items-center\";\r\n\t\t\tcase HorizontalAlignment.Right:\r\n\t\t\t\treturn \"justify-content-end\";\r\n\t\t\tdefault:\r\n\t\t\t\treturn \"\";\r\n\t\t}\r\n\t}\r\n\r\n\tget colSizeClass(): string {\r\n\t\tswitch (this.vm.alignment) {\r\n\t\t\tcase HorizontalAlignment.Left:\r\n\t\t\t\treturn \"col-auto\";\r\n\t\t\tcase HorizontalAlignment.Center:\r\n\t\t\t\treturn \"col-12\";\r\n\t\t\tcase HorizontalAlignment.Right:\r\n\t\t\t\treturn \"col-auto\";\r\n\t\t\tdefault:\r\n\t\t\t\treturn \"\";\r\n\t\t}\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.block-bg-circles {\r\n\ttop: 0;\r\n\tleft: 0;\r\n\tposition: absolute;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\toverflow: hidden;\r\n\r\n\tsvg {\r\n\t\tleft: 50%;\r\n\t\ttop: 50%;\r\n\t\tposition: absolute;\r\n\t\twidth: auto;\r\n\t\theight: 300%;\r\n\t\tmin-height: 900px;\r\n\t\ttransform: translate(-50%, -55%);\r\n\t}\r\n}\r\n</style>\r\n","/* Auto Generated */\r\n\r\nexport enum Size {\r\n\tsmall,\r\n\tlarge,\r\n}\r\n","import { render } from \"./callToActionDefaultBlock.vue?vue&type=template&id=7f0c6467&scoped=true&ts=true\"\nimport script from \"./callToActionDefaultBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./callToActionDefaultBlock.vue?vue&type=script&lang=ts\"\n\nimport \"./callToActionDefaultBlock.vue?vue&type=style&index=0&id=7f0c6467&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7f0c6467\"]])\n\nexport default __exports__","import { resolveDirective as _resolveDirective, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, normalizeStyle as _normalizeStyle, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-581aff5c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = [\"href\", \"target\"]\nconst _hoisted_2 = { class: \"d-flex flex-1 justify-content-center\" }\nconst _hoisted_3 = { class: \"align-self-center mr-1\" }\nconst _hoisted_4 = [\"alt\"]\nconst _hoisted_5 = { class: \"d-flex flex-column\" }\nconst _hoisted_6 = { class: \"mb-0\" }\nconst _hoisted_7 = { class: \"mb-0 font-weight-light\" }\nconst _hoisted_8 = {\n key: 1,\n class: \"cta-offer-block flex-md-row align-items-md-center\"\n}\nconst _hoisted_9 = { class: \"d-flex flex-1\" }\nconst _hoisted_10 = { class: \"align-self-center mr-1\" }\nconst _hoisted_11 = [\"alt\"]\nconst _hoisted_12 = { class: \"d-flex flex-column\" }\nconst _hoisted_13 = { class: \"mb-0\" }\nconst _hoisted_14 = { class: \"mb-0 lead\" }\nconst _hoisted_15 = { class: \"mt-2 mt-lg-0 align-self-end\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_LinkButton = _resolveComponent(\"LinkButton\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_ctx.vm.backgroundUrl)\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 0,\n class: \"cta-offer-block has-image flex-md-row align-items-md-center\",\n href: _ctx.vm.linkItem.url,\n style: _normalizeStyle({\r\n\t\t\t'background-image': `url(${_ctx.vm.backgroundUrl}`,\r\n\t\t}),\n target: _ctx.vm.linkItem.target\n }, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_Avatar, {\n class: \"bg-transparent\",\n shape: \"square\",\n size: _ctx.vm.useLargeIcon ? 'xlarge' : 'large'\n }, {\n default: _withCtx(() => [\n (_ctx.vm.iconUrl)\n ? _withDirectives((_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n alt: _ctx.vm.iconAlt\n }, null, 8, _hoisted_4)), [\n [_directive_lazy, _ctx.vm.iconUrl]\n ])\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"size\"])\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"h4\", _hoisted_6, _toDisplayString(_ctx.vm.title), 1),\n _createElementVNode(\"p\", _hoisted_7, _toDisplayString(_ctx.vm.subTitle), 1)\n ])\n ])\n ], 12, _hoisted_1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createVNode(_component_Avatar, {\n class: \"bg-transparent\",\n shape: \"square\",\n size: _ctx.vm.useLargeIcon ? 'xlarge' : 'large'\n }, {\n default: _withCtx(() => [\n (_ctx.vm.iconUrl)\n ? _withDirectives((_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n alt: _ctx.vm.iconAlt\n }, null, 8, _hoisted_11)), [\n [_directive_lazy, _ctx.vm.iconUrl]\n ])\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"size\"])\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"h4\", _hoisted_13, _toDisplayString(_ctx.vm.title), 1),\n _createElementVNode(\"p\", _hoisted_14, _toDisplayString(_ctx.vm.subTitle), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n (_ctx.vm.linkItem)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 0,\n class: \"p-button-arrow p-button-raised p-button-text\",\n label: _ctx.vm.linkItem.text,\n target: _ctx.vm.linkItem.target,\n title: _ctx.vm.linkItem.title,\n url: _ctx.vm.linkItem.url\n }, null, 8, [\"label\", \"target\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}","<template>\r\n\t<a\r\n\t\tv-if=\"vm.backgroundUrl\"\r\n\t\tclass=\"cta-offer-block has-image flex-md-row align-items-md-center\"\r\n\t\t:href=\"vm.linkItem.url\"\r\n\t\t:style=\"{\r\n\t\t\t'background-image': `url(${vm.backgroundUrl}`,\r\n\t\t}\"\r\n\t\t:target=\"vm.linkItem.target\"\r\n\t>\r\n\t\t<div class=\"d-flex flex-1 justify-content-center\">\r\n\t\t\t<div class=\"align-self-center mr-1\">\r\n\t\t\t\t<Avatar class=\"bg-transparent\" shape=\"square\" :size=\"vm.useLargeIcon ? 'xlarge' : 'large'\">\r\n\t\t\t\t\t<img v-if=\"vm.iconUrl\" v-lazy=\"vm.iconUrl\" :alt=\"vm.iconAlt\" />\r\n\t\t\t\t</Avatar>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t<h4 class=\"mb-0\">\r\n\t\t\t\t\t{{ vm.title }}\r\n\t\t\t\t</h4>\r\n\t\t\t\t<p class=\"mb-0 font-weight-light\">\r\n\t\t\t\t\t{{ vm.subTitle }}\r\n\t\t\t\t</p>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</a>\r\n\t<div v-else class=\"cta-offer-block flex-md-row align-items-md-center\">\r\n\t\t<div class=\"d-flex flex-1\">\r\n\t\t\t<div class=\"align-self-center mr-1\">\r\n\t\t\t\t<Avatar class=\"bg-transparent\" shape=\"square\" :size=\"vm.useLargeIcon ? 'xlarge' : 'large'\">\r\n\t\t\t\t\t<img v-if=\"vm.iconUrl\" v-lazy=\"vm.iconUrl\" :alt=\"vm.iconAlt\" />\r\n\t\t\t\t</Avatar>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t<h4 class=\"mb-0\">\r\n\t\t\t\t\t{{ vm.title }}\r\n\t\t\t\t</h4>\r\n\t\t\t\t<p class=\"mb-0 lead\">\r\n\t\t\t\t\t{{ vm.subTitle }}\r\n\t\t\t\t</p>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"mt-2 mt-lg-0 align-self-end\">\r\n\t\t\t<LinkButton\r\n\t\t\t\tv-if=\"vm.linkItem\"\r\n\t\t\t\tclass=\"p-button-arrow p-button-raised p-button-text\"\r\n\t\t\t\t:label=\"vm.linkItem.text\"\r\n\t\t\t\t:target=\"vm.linkItem.target\"\r\n\t\t\t\t:title=\"vm.linkItem.title\"\r\n\t\t\t\t:url=\"vm.linkItem.url\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { CallToActionOfferBlockViewModel } from \"@/types/viewModels/blocks/callToActionOfferBlockViewModel\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { PropType } from \"vue\";\r\n\r\n@Component\r\nexport default class CallToActionOfferBlock extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<CallToActionOfferBlockViewModel>, required: true, default: {} })\r\n\tvm!: CallToActionOfferBlockViewModel;\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.cta-offer-block {\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\talign-items: flex-start;\r\n\tjustify-content: space-between;\r\n\twidth: 100%;\r\n\tpadding: 2rem;\r\n\tcolor: var(--primary-color-text);\r\n\tbackground-color: var(--primary-color);\r\n\tborder: 1px solid var(--surface-d);\r\n\tborder-radius: var(--border-radius);\r\n\r\n\t&.has-image {\r\n\t\tcursor: pointer;\r\n\t\ttext-decoration: none;\r\n\t\tbackground-color: var(--surface-d);\r\n\t\tcolor: var(--text-color);\r\n\t\tbackground-size: cover;\r\n\t\tbackground-repeat: no-repeat;\r\n\t\tbackground-position: center center;\r\n\t\ttransition: all 0.3s;\r\n\t\t&:hover {\r\n\t\t\tbox-shadow: 0 0.5rem 0.5rem rgb(0 0 0 / 10%);\r\n\t\t}\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./callToActionOfferBlock.vue?vue&type=template&id=581aff5c&scoped=true&ts=true\"\nimport script from \"./callToActionOfferBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./callToActionOfferBlock.vue?vue&type=script&lang=ts\"\n\nimport \"./callToActionOfferBlock.vue?vue&type=style&index=0&id=581aff5c&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-581aff5c\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, normalizeClass as _normalizeClass, createBlock as _createBlock, normalizeStyle as _normalizeStyle, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-69888893\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"block mt-0\" }\nconst _hoisted_2 = { class: \"container-fluid\" }\nconst _hoisted_3 = { class: \"row\" }\nconst _hoisted_4 = [\"textContent\"]\nconst _hoisted_5 = [\"textContent\"]\nconst _hoisted_6 = { class: \"mt-2\" }\nconst _hoisted_7 = [\"textContent\"]\nconst _hoisted_8 = [\"textContent\"]\nconst _hoisted_9 = { class: \"mt-2\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_LinkButton = _resolveComponent(\"LinkButton\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: \"col-6 split-block\",\n style: _normalizeStyle(_ctx.getBackgroundStyle(_ctx.vm.backgroundColor, 0))\n }, [\n (_ctx.vm.leftTitle)\n ? (_openBlock(), _createElementBlock(\"h2\", {\n key: 0,\n class: \"display-5 mb-1\",\n textContent: _toDisplayString(_ctx.vm.leftTitle)\n }, null, 8, _hoisted_4))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"p\", {\n class: \"lead\",\n textContent: _toDisplayString(_ctx.vm.leftText)\n }, null, 8, _hoisted_5),\n _createElementVNode(\"div\", _hoisted_6, [\n (_ctx.vm.leftCta)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 0,\n class: _normalizeClass(\r\n\t\t\t\t\t\t\t\t_ctx.ctaButtonClass(_ctx.vm.leftCtaStyle) || 'p-button-raised p-button-text p-button-arrow'\r\n\t\t\t\t\t\t\t),\n label: _ctx.vm.leftCta.text,\n target: _ctx.vm.leftCta.target,\n title: _ctx.vm.leftCta.title,\n url: _ctx.vm.leftCta.url\n }, null, 8, [\"class\", \"label\", \"target\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ])\n ], 4),\n _createElementVNode(\"div\", {\n class: \"col-6 split-block\",\n style: _normalizeStyle(_ctx.getBackgroundStyle(_ctx.vm.backgroundColor, 1))\n }, [\n (_ctx.vm.rightTitle)\n ? (_openBlock(), _createElementBlock(\"h2\", {\n key: 0,\n class: \"display-5 mb-1\",\n textContent: _toDisplayString(_ctx.vm.rightTitle)\n }, null, 8, _hoisted_7))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"p\", {\n class: \"lead\",\n textContent: _toDisplayString(_ctx.vm.rightText)\n }, null, 8, _hoisted_8),\n _createElementVNode(\"div\", _hoisted_9, [\n (_ctx.vm.rightCta)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 0,\n class: _normalizeClass(\r\n\t\t\t\t\t\t\t\t_ctx.ctaButtonClass(_ctx.vm.rightCtaStyle) || 'p-button-raised p-button-text p-button-arrow'\r\n\t\t\t\t\t\t\t),\n label: _ctx.vm.rightCta.text,\n target: _ctx.vm.rightCta.target,\n title: _ctx.vm.rightCta.title,\n url: _ctx.vm.rightCta.url\n }, null, 8, [\"class\", \"label\", \"target\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ])\n ], 4)\n ])\n ])\n ]))\n}","<template>\r\n\t<div class=\"block mt-0\">\r\n\t\t<div class=\"container-fluid\">\r\n\t\t\t<div class=\"row\">\r\n\t\t\t\t<div class=\"col-6 split-block\" :style=\"getBackgroundStyle(vm.backgroundColor, 0)\">\r\n\t\t\t\t\t<h2 v-if=\"vm.leftTitle\" class=\"display-5 mb-1\" v-text=\"vm.leftTitle\"></h2>\r\n\t\t\t\t\t<p class=\"lead\" v-text=\"vm.leftText\"></p>\r\n\t\t\t\t\t<div class=\"mt-2\">\r\n\t\t\t\t\t\t<LinkButton\r\n\t\t\t\t\t\t\tv-if=\"vm.leftCta\"\r\n\t\t\t\t\t\t\t:class=\"\r\n\t\t\t\t\t\t\t\tctaButtonClass(vm.leftCtaStyle) || 'p-button-raised p-button-text p-button-arrow'\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t:label=\"vm.leftCta.text\"\r\n\t\t\t\t\t\t\t:target=\"vm.leftCta.target\"\r\n\t\t\t\t\t\t\t:title=\"vm.leftCta.title\"\r\n\t\t\t\t\t\t\t:url=\"vm.leftCta.url\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div class=\"col-6 split-block\" :style=\"getBackgroundStyle(vm.backgroundColor, 1)\">\r\n\t\t\t\t\t<h2 v-if=\"vm.rightTitle\" class=\"display-5 mb-1\" v-text=\"vm.rightTitle\"></h2>\r\n\t\t\t\t\t<p class=\"lead\" v-text=\"vm.rightText\"></p>\r\n\t\t\t\t\t<div class=\"mt-2\">\r\n\t\t\t\t\t\t<LinkButton\r\n\t\t\t\t\t\t\tv-if=\"vm.rightCta\"\r\n\t\t\t\t\t\t\t:class=\"\r\n\t\t\t\t\t\t\t\tctaButtonClass(vm.rightCtaStyle) || 'p-button-raised p-button-text p-button-arrow'\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t:label=\"vm.rightCta.text\"\r\n\t\t\t\t\t\t\t:target=\"vm.rightCta.target\"\r\n\t\t\t\t\t\t\t:title=\"vm.rightCta.title\"\r\n\t\t\t\t\t\t\t:url=\"vm.rightCta.url\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { PropType } from \"vue\";\r\nimport { CallToActionSplitBlockViewModel } from \"@/types/viewModels/blocks/callToActionSplitBlockViewModel\";\r\nimport { BlockBackgroundColor } from \"@/types/enum/blockBackgroundColor\";\r\nimport BaseBlock from \"@/components/base/baseBlock.vue\";\r\n\r\n@Component\r\nexport default class CallToActionSplitBlock extends BaseBlock {\r\n\t@Prop({ type: Object as PropType<CallToActionSplitBlockViewModel>, required: true, default: {} })\r\n\tvm!: CallToActionSplitBlockViewModel;\r\n\r\n\tgetBackgroundStyle(backgroundColor: BlockBackgroundColor, index: number) {\r\n\t\tswitch (backgroundColor) {\r\n\t\t\tcase BlockBackgroundColor.Grey:\r\n\t\t\t\treturn { backgroundColor: index === 0 ? \"var(--gray-500)\" : \"var(--gray-600)\" };\r\n\t\t\tcase BlockBackgroundColor.Pink:\r\n\t\t\t\treturn { backgroundColor: index === 0 ? \"var(--purple-200)\" : \"var(--purple-300)\" };\r\n\t\t\tcase BlockBackgroundColor.Purple:\r\n\t\t\t\treturn { backgroundColor: index === 0 ? \"var(--purple-500)\" : \"var(--purple-600)\" };\r\n\t\t\tcase BlockBackgroundColor.Green:\r\n\t\t\t\treturn { backgroundColor: index === 0 ? \"var(--green-500)\" : \"var(--green-600)\" };\r\n\t\t\tcase BlockBackgroundColor.White:\r\n\t\t\tdefault:\r\n\t\t\t\treturn {};\r\n\t\t}\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.split-block {\r\n\tcolor: var(--primary-color-text);\r\n\tpadding: 2rem;\r\n\r\n\t&:first-of-type {\r\n\t\ttext-align: right;\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./callToActionSplitBlock.vue?vue&type=template&id=69888893&scoped=true&ts=true\"\nimport script from \"./callToActionSplitBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./callToActionSplitBlock.vue?vue&type=script&lang=ts\"\n\nimport \"./callToActionSplitBlock.vue?vue&type=style&index=0&id=69888893&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-69888893\"]])\n\nexport default __exports__","import { normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, resolveDirective as _resolveDirective, createElementVNode as _createElementVNode, withDirectives as _withDirectives, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-099b52c2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"container\" }\nconst _hoisted_2 = [\"innerHTML\"]\nconst _hoisted_3 = {\n key: 1,\n class: \"lead mb-2\"\n}\nconst _hoisted_4 = { class: \"row gap-y-3\" }\nconst _hoisted_5 = [\"alt\"]\nconst _hoisted_6 = {\n key: 0,\n class: \"lead\"\n}\nconst _hoisted_7 = { class: \"mb-0 font-weight-bold\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-chevron-right ml-auto mr-2\" }, null, -1))\nconst _hoisted_9 = { class: \"col-12\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_LinkButton = _resolveComponent(\"LinkButton\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"block\", _ctx.blockBackgroundClass(_ctx.vm.backgroundColor)])\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n (_ctx.vm.title)\n ? (_openBlock(), _createElementBlock(\"h2\", {\n key: 0,\n class: _normalizeClass([\"display-4\", { 'mb-0': _ctx.vm.subTitle }]),\n innerHTML: _ctx.vm.title\n }, null, 10, _hoisted_2))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.subTitle)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_3, _toDisplayString(_ctx.vm.subTitle), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_4, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.items, (item, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: `categoryBlockItem_${index}`,\n class: _normalizeClass(_ctx.columnWidth)\n }, [\n _createVNode(_component_LinkButton, {\n class: \"category-item-button\",\n target: item.linkItem.target,\n url: item.linkItem.url\n }, {\n default: _withCtx(() => [\n _withDirectives(_createElementVNode(\"img\", {\n alt: item.imageAlt,\n class: \"mr-2\",\n height: \"80\"\n }, null, 8, _hoisted_5), [\n [_directive_lazy, item.imageUrl]\n ]),\n _createElementVNode(\"div\", null, [\n (item.linkItem.title)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_6, _toDisplayString(item.linkItem.title), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"h4\", _hoisted_7, _toDisplayString(item.linkItem.text), 1)\n ]),\n _hoisted_8\n ]),\n _: 2\n }, 1032, [\"target\", \"url\"])\n ], 2))\n }), 128)),\n _createElementVNode(\"div\", _hoisted_9, [\n (_ctx.vm.ctaLinkItem)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 0,\n class: _normalizeClass(_ctx.ctaButtonClass(_ctx.vm.ctaStyle) || 'p-button-arrow p-button-raised p-button-text'),\n label: _ctx.vm.ctaLinkItem.text,\n target: _ctx.vm.ctaLinkItem.target,\n title: _ctx.vm.ctaLinkItem.title,\n url: _ctx.vm.ctaLinkItem.url\n }, null, 8, [\"class\", \"label\", \"target\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ], 2))\n}","<template>\r\n\t<div class=\"block\" :class=\"blockBackgroundClass(vm.backgroundColor)\">\r\n\t\t<div class=\"container\">\r\n\t\t\t<h2 v-if=\"vm.title\" class=\"display-4\" :class=\"{ 'mb-0': vm.subTitle }\" v-html=\"vm.title\"></h2>\r\n\t\t\t<p v-if=\"vm.subTitle\" class=\"lead mb-2\">{{ vm.subTitle }}</p>\r\n\t\t\t<div class=\"row gap-y-3\">\r\n\t\t\t\t<div v-for=\"(item, index) in vm.items\" :key=\"`categoryBlockItem_${index}`\" :class=\"columnWidth\">\r\n\t\t\t\t\t<LinkButton\r\n\t\t\t\t\t\tclass=\"category-item-button\"\r\n\t\t\t\t\t\t:target=\"item.linkItem.target\"\r\n\t\t\t\t\t\t:url=\"item.linkItem.url\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<img v-lazy=\"item.imageUrl\" :alt=\"item.imageAlt\" class=\"mr-2\" height=\"80\" />\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t<p v-if=\"item.linkItem.title\" class=\"lead\">{{ item.linkItem.title }}</p>\r\n\t\t\t\t\t\t\t<h4 class=\"mb-0 font-weight-bold\">{{ item.linkItem.text }}</h4>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<i class=\"pi pi-chevron-right ml-auto mr-2\"></i>\r\n\t\t\t\t\t</LinkButton>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t<LinkButton\r\n\t\t\t\t\t\tv-if=\"vm.ctaLinkItem\"\r\n\t\t\t\t\t\t:class=\"ctaButtonClass(vm.ctaStyle) || 'p-button-arrow p-button-raised p-button-text'\"\r\n\t\t\t\t\t\t:label=\"vm.ctaLinkItem.text\"\r\n\t\t\t\t\t\t:target=\"vm.ctaLinkItem.target\"\r\n\t\t\t\t\t\t:title=\"vm.ctaLinkItem.title\"\r\n\t\t\t\t\t\t:url=\"vm.ctaLinkItem.url\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseBlock from \"@/components/base/baseBlock.vue\";\r\nimport { BlockBackgroundColor } from \"@/types/enum/blockBackgroundColor\";\r\nimport { CategoriesBlockViewModel } from \"@/types/viewModels/blocks/categoriesBlockViewModel\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\n\r\n@Component\r\nexport default class CategoriesBlock extends BaseBlock {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<CategoriesBlockViewModel>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: CategoriesBlockViewModel;\r\n\r\n\tcreated(): void {\r\n\t\tLog.info(\"CategoriesBlock\", this.vm);\r\n\t}\r\n\r\n\tget columnWidth(): string {\r\n\t\tlet colWidth = \"col-12 col-sm-6 \";\r\n\t\tcolWidth += this.vm.items?.length === 4 ? \"col-lg-3\" : \"col-lg-4\";\r\n\t\treturn colWidth;\r\n\t}\r\n\r\n\t// Don't remove (it's used in the style section)\r\n\tget itemHoverColor(): string {\r\n\t\tswitch (this.vm.backgroundColor) {\r\n\t\t\tcase BlockBackgroundColor.White:\r\n\t\t\tcase BlockBackgroundColor.Pink:\r\n\t\t\t\treturn \"var(--surface-b)\";\r\n\t\t\tcase BlockBackgroundColor.Grey:\r\n\t\t\t\treturn \"var(--surface-c)\";\r\n\t\t\tcase BlockBackgroundColor.Purple:\r\n\t\t\tcase BlockBackgroundColor.Green:\r\n\t\t\tdefault:\r\n\t\t\t\treturn \"rgba(255, 255, 255, 0.2)\";\r\n\t\t}\r\n\t}\r\n\r\n\tget textColor(): string {\r\n\t\tswitch (this.vm.backgroundColor) {\r\n\t\t\tcase BlockBackgroundColor.Purple:\r\n\t\t\tcase BlockBackgroundColor.Green:\r\n\t\t\t\treturn \"var(--primary-color-text)\";\r\n\t\t\tcase BlockBackgroundColor.White:\r\n\t\t\tcase BlockBackgroundColor.Grey:\r\n\t\t\tcase BlockBackgroundColor.Pink:\r\n\t\t\tdefault:\r\n\t\t\t\treturn \"var(--primary-color)\";\r\n\t\t}\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n::v-deep(.category-item-button) {\r\n\t&.p-button:enabled {\r\n\t\twidth: 100%;\r\n\t\tpadding: 20px;\r\n\t\tborder: 1px solid var(--surface-d);\r\n\t\tcolor: v-bind(textColor);\r\n\t\tbackground: linear-gradient(v-bind(itemHoverColor) 0 0) calc(100% - var(--p, 0%)) / var(--p, 0%) no-repeat;\r\n\t\ttransition:\r\n\t\t\t0.5s,\r\n\t\t\tbackground-position 0s;\r\n\t\tbox-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);\r\n\r\n\t\ti.pi {\r\n\t\t\ttransition: transform 1s;\r\n\t\t}\r\n\r\n\t\t&:hover {\r\n\t\t\t--p: 100%;\r\n\t\t\tcolor: v-bind(textColor);\r\n\r\n\t\t\ti.pi {\r\n\t\t\t\ttransform: scale(1.5);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n</style>\r\n","\r\nimport BaseBlock from \"@/components/base/baseBlock.vue\";\r\nimport { BlockBackgroundColor } from \"@/types/enum/blockBackgroundColor\";\r\nimport { CategoriesBlockViewModel } from \"@/types/viewModels/blocks/categoriesBlockViewModel\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\n\r\n@Component class CategoriesBlock extends BaseBlock {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<CategoriesBlockViewModel>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: CategoriesBlockViewModel;\r\n\r\n\tcreated(): void {\r\n\t\tLog.info(\"CategoriesBlock\", this.vm);\r\n\t}\r\n\r\n\tget columnWidth(): string {\r\n\t\tlet colWidth = \"col-12 col-sm-6 \";\r\n\t\tcolWidth += this.vm.items?.length === 4 ? \"col-lg-3\" : \"col-lg-4\";\r\n\t\treturn colWidth;\r\n\t}\r\n\r\n\t// Don't remove (it's used in the style section)\r\n\tget itemHoverColor(): string {\r\n\t\tswitch (this.vm.backgroundColor) {\r\n\t\t\tcase BlockBackgroundColor.White:\r\n\t\t\tcase BlockBackgroundColor.Pink:\r\n\t\t\t\treturn \"var(--surface-b)\";\r\n\t\t\tcase BlockBackgroundColor.Grey:\r\n\t\t\t\treturn \"var(--surface-c)\";\r\n\t\t\tcase BlockBackgroundColor.Purple:\r\n\t\t\tcase BlockBackgroundColor.Green:\r\n\t\t\tdefault:\r\n\t\t\t\treturn \"rgba(255, 255, 255, 0.2)\";\r\n\t\t}\r\n\t}\r\n\r\n\tget textColor(): string {\r\n\t\tswitch (this.vm.backgroundColor) {\r\n\t\t\tcase BlockBackgroundColor.Purple:\r\n\t\t\tcase BlockBackgroundColor.Green:\r\n\t\t\t\treturn \"var(--primary-color-text)\";\r\n\t\t\tcase BlockBackgroundColor.White:\r\n\t\t\tcase BlockBackgroundColor.Grey:\r\n\t\t\tcase BlockBackgroundColor.Pink:\r\n\t\t\tdefault:\r\n\t\t\t\treturn \"var(--primary-color)\";\r\n\t\t}\r\n\t}\r\n}\r\n\nconst __default__ = CategoriesBlock\nimport { useCssVars as _useCssVars } from 'vue'\nconst __injectCSSVars__ = () => {\n_useCssVars(_ctx => ({\n \"1e5d0922\": (_ctx.textColor),\n \"513bcf8e\": (_ctx.itemHoverColor)\n}))}\nconst __setup__ = __default__.setup\n__default__.setup = __setup__\n ? (props, ctx) => { __injectCSSVars__();return __setup__(props, ctx) }\n : __injectCSSVars__\n\nexport default __default__","import { render } from \"./categoriesBlock.vue?vue&type=template&id=099b52c2&scoped=true&ts=true\"\nimport script from \"./categoriesBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./categoriesBlock.vue?vue&type=script&lang=ts\"\n\nimport \"./categoriesBlock.vue?vue&type=style&index=0&id=099b52c2&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-099b52c2\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, renderSlot as _renderSlot, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, createVNode as _createVNode, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = { class: \"container\" }\nconst _hoisted_2 = { class: \"row\" }\nconst _hoisted_3 = { class: \"col\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"display-4 mb-0\"\n}\nconst _hoisted_5 = {\n key: 1,\n class: \"lead\"\n}\nconst _hoisted_6 = { class: \"row\" }\nconst _hoisted_7 = { class: \"col\" }\nconst _hoisted_8 = { class: \"row gap-y-3\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_BaseProductOverviewItemCard = _resolveComponent(\"BaseProductOverviewItemCard\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"block\", _ctx.blockBackgroundClass(_ctx.vm.backgroundColor)])\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_ctx.vm.title)\n ? (_openBlock(), _createElementBlock(\"h2\", _hoisted_4, _toDisplayString(_ctx.vm.title), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.subtitle)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_5, _toDisplayString(_ctx.vm.subtitle), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _renderSlot(_ctx.$slots, \"default\")\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.collections, (collection) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: collection,\n class: \"col-12 col-lg-6\"\n }, [\n _createVNode(_component_BaseProductOverviewItemCard, { vm: collection }, null, 8, [\"vm\"])\n ]))\n }), 128))\n ])\n ])\n ], 2))\n}","<template>\r\n\t<div class=\"block\" :class=\"blockBackgroundClass(vm.backgroundColor)\">\r\n\t\t<div class=\"container\">\r\n\t\t\t<div class=\"row\">\r\n\t\t\t\t<div class=\"col\">\r\n\t\t\t\t\t<h2 v-if=\"vm.title\" class=\"display-4 mb-0\">{{ vm.title }}</h2>\r\n\t\t\t\t\t<p v-if=\"vm.subtitle\" class=\"lead\">{{ vm.subtitle }}</p>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"row\">\r\n\t\t\t\t<div class=\"col\">\r\n\t\t\t\t\t<slot />\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"row gap-y-3\">\r\n\t\t\t\t<div v-for=\"collection in vm.collections\" :key=\"collection\" class=\"col-12 col-lg-6\">\r\n\t\t\t\t\t<BaseProductOverviewItemCard :vm=\"collection\" />\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseBlock from \"@/components/base/baseBlock.vue\";\r\nimport BaseProductOverviewItemCard from \"@/components/product/baseProductOverviewItemCard.vue\";\r\nimport { CollectionGridBlockViewModel } from \"@/types/viewModels/blocks/collectionGridBlockViewModel\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\n\r\n@Component({ components: { BaseProductOverviewItemCard } })\r\nexport default class CollectionsGridBlock extends BaseBlock {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<CollectionGridBlockViewModel>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: CollectionGridBlockViewModel;\r\n\r\n\tcreated(): void {\r\n\t\tLog.info(\"CollectionsGridBlock\", this.vm);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped></style>\r\n","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ExpertOverviewItemCard = _resolveComponent(\"ExpertOverviewItemCard\")!\n const _component_ProductOverviewItemCard = _resolveComponent(\"ProductOverviewItemCard\")!\n const _component_ServiceOverviewItemCard = _resolveComponent(\"ServiceOverviewItemCard\")!\n\n return (_ctx.vm.productType === _ctx.productTypeEnum.Expert)\n ? (_openBlock(), _createBlock(_component_ExpertOverviewItemCard, {\n key: 0,\n \"is-cross-sell\": _ctx.isCrossSell,\n item: _ctx.expertProduct,\n layout: \"grid\"\n }, null, 8, [\"is-cross-sell\", \"item\"]))\n : (_ctx.vm.productType === _ctx.productTypeEnum.Software)\n ? (_openBlock(), _createBlock(_component_ProductOverviewItemCard, {\n key: 1,\n \"is-cross-sell\": _ctx.isCrossSell,\n item: _ctx.softwareProduct,\n layout: \"grid\"\n }, null, 8, [\"is-cross-sell\", \"item\"]))\n : (_ctx.vm.productType === _ctx.productTypeEnum.Collection)\n ? (_openBlock(), _createBlock(_component_ProductOverviewItemCard, {\n key: 2,\n \"is-cross-sell\": _ctx.isCrossSell,\n item: _ctx.collectionProduct,\n layout: \"grid\"\n }, null, 8, [\"is-cross-sell\", \"item\"]))\n : (_openBlock(), _createBlock(_component_ServiceOverviewItemCard, {\n key: 3,\n compact: !_ctx.isCrossSell,\n \"is-cross-sell\": _ctx.isCrossSell,\n item: _ctx.vm,\n layout: \"grid\"\n }, null, 8, [\"compact\", \"is-cross-sell\", \"item\"]))\n}","<template>\r\n\t<!--v-if=\"vm.productType === productTypeEnum.Expert\"-->\r\n\t<ExpertOverviewItemCard v-if=\"vm.productType === productTypeEnum.Expert\" :is-cross-sell=\"isCrossSell\" :item=\"expertProduct\" layout=\"grid\" />\r\n\t<!--v-else-if=\"vm.productType === productTypeEnum.Software\"-->\r\n\t<ProductOverviewItemCard v-else-if=\"vm.productType === productTypeEnum.Software\" :is-cross-sell=\"isCrossSell\" :item=\"softwareProduct\" layout=\"grid\" />\r\n\t<!--v-else-if=\"vm.productType === productTypeEnum.Collection\"-->\r\n\t<ProductOverviewItemCard v-else-if=\"vm.productType === productTypeEnum.Collection\" :is-cross-sell=\"isCrossSell\" :item=\"collectionProduct\" layout=\"grid\" />\r\n\t<!--services, support, training-->\r\n\t<ServiceOverviewItemCard v-else :compact=\"!isCrossSell\" :is-cross-sell=\"isCrossSell\" :item=\"vm\" layout=\"grid\" />\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport ExpertOverviewItemCard from \"@/components/experts/expertOverviewItemCard.vue\";\r\nimport ProductOverviewItemCard from \"@/components/product/productOverviewItemCard.vue\";\r\nimport ServiceOverviewItemCard from \"@/components/service/serviceOverviewItemCard.vue\";\r\nimport { BaseProductItemViewModel } from \"@/types/models/common/baseProductItemViewModel\";\r\nimport { CollectionItemViewModel } from \"@/types/models/software/collectionItemViewModel\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { ExpertItemViewModel } from \"@/types/models/expert/expertItemViewModel\";\r\nimport { ItemProductType } from \"@/types/enum/itemProductType\";\r\nimport { PropType } from \"vue\";\r\nimport { ServiceItemViewModel } from \"../../types/models/service/serviceItemViewModel\";\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tExpertOverviewItemCard,\r\n\t\tProductOverviewItemCard,\r\n ServiceOverviewItemCard,\r\n\t},\r\n})\r\nexport default class BaseProductOverviewItemCard extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<BaseProductItemViewModel>,\r\n\t\trequired: true,\r\n\t})\r\n\tvm!: BaseProductItemViewModel;\r\n\r\n\t@Prop({ type: Boolean, default: false, required: false })\r\n\tisCrossSell!: boolean;\r\n\r\n\tget productTypeEnum(): typeof ItemProductType {\r\n\t\treturn ItemProductType;\r\n\t}\r\n\r\n\tget expertProduct(): ExpertItemViewModel | undefined {\r\n\t\treturn this.vm.productType === ItemProductType.Expert ? (this.vm as ExpertItemViewModel) : undefined;\r\n\t}\r\n\r\n get softwareProduct(): ServiceItemViewModel | undefined {\r\n return this.vm.productType === ItemProductType.Software ? (this.vm as ServiceItemViewModel) : undefined;\r\n\t}\r\n\r\n\tget collectionProduct(): CollectionItemViewModel | undefined {\r\n\t\treturn this.vm.productType === ItemProductType.Collection\r\n\t\t\t? (this.vm as CollectionItemViewModel)\r\n\t\t\t: undefined;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, withCtx as _withCtx, createBlock as _createBlock, renderList as _renderList, Fragment as _Fragment, withModifiers as _withModifiers, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-bd549d0a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = [\"href\"]\nconst _hoisted_2 = { class: \"d-flex justify-content-between px-3 pt-3\" }\nconst _hoisted_3 = { class: \"d-flex\" }\nconst _hoisted_4 = { class: \"d-flex flex-column\" }\nconst _hoisted_5 = { class: \"d-flex align-items-center\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"mb-0 mr-1\"\n}\nconst _hoisted_7 = [\"title\"]\nconst _hoisted_8 = { class: \"m-0 ml-1 text-bold text-primary\" }\nconst _hoisted_9 = { class: \"d-flex align-items-center\" }\nconst _hoisted_10 = [\"innerHTML\"]\nconst _hoisted_11 = [\"innerHTML\"]\nconst _hoisted_12 = { class: \"text-muted m-0 ml-1 text-preline\" }\nconst _hoisted_13 = {\n key: 0,\n class: \"mt-1\"\n}\nconst _hoisted_14 = { class: \"text-lg-right\" }\nconst _hoisted_15 = {\n key: 0,\n class: \"lead text-muted\"\n}\nconst _hoisted_16 = { class: \"mr-1 text-primary\" }\nconst _hoisted_17 = {\n key: 1,\n class: \"mt-1\"\n}\nconst _hoisted_18 = { class: \"mb-0\" }\nconst _hoisted_19 = { class: \"row h-100\" }\nconst _hoisted_20 = { class: \"col-12 mt-2 mt-lg-0 px-3 d-flex justify-content-start flex-row\" }\nconst _hoisted_21 = { class: \"d-flex flex-column h-100\" }\nconst _hoisted_22 = { class: \"d-flex flex-wrap\" }\nconst _hoisted_23 = { class: \"d-flex flex-column flex-1 ml-2\" }\nconst _hoisted_24 = { class: \"d-flex align-items-center justify-content-between flex-wrap-reverse\" }\nconst _hoisted_25 = {\n key: 0,\n class: \"mb-0\"\n}\nconst _hoisted_26 = { class: \"d-flex align-items-center\" }\nconst _hoisted_27 = [\"innerHTML\"]\nconst _hoisted_28 = [\"innerHTML\"]\nconst _hoisted_29 = { class: \"text-muted m-0 ml-1 text-preline\" }\nconst _hoisted_30 = { class: \"d-flex align-items-center\" }\nconst _hoisted_31 = [\"title\"]\nconst _hoisted_32 = {\n key: 0,\n class: \"m-0 ml-1 text-bold text-primary\"\n}\nconst _hoisted_33 = { class: \"m-0 ml-1 text-bold text-primary\" }\nconst _hoisted_34 = { class: \"mr-1 text-primary\" }\nconst _hoisted_35 = {\n key: 1,\n class: \"mt-1\"\n}\nconst _hoisted_36 = { class: \"text-right mb-0\" }\nconst _hoisted_37 = {\n key: 2,\n class: \"mt-1\"\n}\nconst _hoisted_38 = { class: \"\" }\nconst _hoisted_39 = { class: \"profile-description\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_PopoverIcon = _resolveComponent(\"PopoverIcon\")!\n const _component_Chip = _resolveComponent(\"Chip\")!\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_Rating = _resolveComponent(\"Rating\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Inplace = _resolveComponent(\"Inplace\")!\n const _component_Card = _resolveComponent(\"Card\")!\n const _component_Tag = _resolveComponent(\"Tag\")!\n const _component_GMapMarker = _resolveComponent(\"GMapMarker\")!\n const _component_GMapMap = _resolveComponent(\"GMapMap\")!\n const _component_Divider = _resolveComponent(\"Divider\")!\n\n return (_openBlock(), _createElementBlock(\"a\", {\n class: \"expert-card-item\",\n href: _ctx.item.productPageUrl,\n style: {\"text-decoration\":\"none\"}\n }, [\n (!_ctx.isGridLayout)\n ? (_openBlock(), _createBlock(_component_Card, {\n key: 0,\n class: \"expert-list-card w-100\"\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_Avatar, {\n class: \"mr-2 profile-image\",\n image: _ctx.item?.expertProfile?.imageUrl,\n shape: \"circle\"\n }, null, 8, [\"image\"]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n (_ctx.item?.expertProfile?.firstName)\n ? (_openBlock(), _createElementBlock(\"h4\", _hoisted_6, _toDisplayString(_ctx.item?.expertProfile?.firstName), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"i\", {\n class: \"pi pi-map-marker text-primary\",\n title: _ctx.$t('cart.table.iconLocation_title')\n }, null, 8, _hoisted_7),\n _createVNode(_component_PopoverIcon, {\n \"open-delay\": 500,\n placement: \"right\"\n }, {\n content: _withCtx(() => []),\n default: _withCtx(() => [\n _createElementVNode(\"p\", _hoisted_8, _toDisplayString(`${_ctx.item.expertProfile?.region}, ${_ctx.item?.expertProfile?.country}`), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createVNode(_component_PopoverIcon, {\n \"open-delay\": 500,\n placement: \"right\"\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"p\", {\n class: \"text-bold\",\n innerHTML: _ctx.item?.expertLevel.displayName\n }, null, 8, _hoisted_10),\n _createElementVNode(\"div\", {\n innerHTML: _ctx.item?.expertLevel.description\n }, null, 8, _hoisted_11)\n ]),\n default: _withCtx(() => [\n _createVNode(_component_Avatar, {\n alt: _ctx.item?.expertLevel?.displayName,\n class: \"expert-level\",\n image: _ctx.item?.expertLevel?.iconUrl,\n shape: \"square\"\n }, null, 8, [\"alt\", \"image\"])\n ]),\n _: 1\n }),\n _createElementVNode(\"p\", _hoisted_12, _toDisplayString(_ctx.item.expertProfile?.function), 1)\n ]),\n (_ctx.item.numberOfDaysAvailable || _ctx.item.numberOfDaysOnRequest)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n (_ctx.item.numberOfDaysAvailable > 0)\n ? (_openBlock(), _createBlock(_component_Chip, {\n key: 0,\n class: \"p-chip-secondary mr-1 mb-1\",\n label: _ctx.$tc('expert.daysAvailable', _ctx.item.numberOfDaysAvailable)\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.item.numberOfDaysOnRequest > 0)\n ? (_openBlock(), _createBlock(_component_Chip, {\n key: 1,\n class: \"p-chip-primary\",\n label: _ctx.$t('expert.availableOnRequest')\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n (_ctx.item.hourlyRate)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_15, [\n _createVNode(_component_i18n_t, { keypath: \"common.pricePerHour\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"b\", _hoisted_16, _toDisplayString(_ctx.formatCurrency(_ctx.item.hourlyRate)), 1)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.item.expertProfile?.reviewScoreAverage)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createVNode(_component_Rating, {\n modelValue: _ctx.item.expertProfile.reviewScoreAverage,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.item.expertProfile.reviewScoreAverage) = $event)),\n cancel: false,\n class: \"rating-lg\",\n readonly: true\n }, null, 8, [\"modelValue\"]),\n _createElementVNode(\"small\", _hoisted_18, \" (\" + _toDisplayString(_ctx.$tc(\"expert.reviewCount\", _ctx.item.expertProfile?.reviews?.length)) + \") \", 1)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _createVNode(_component_Inplace, {\n onOpen: _cache[1] || (_cache[1] = _withModifiers(() => {}, [\"stop\",\"prevent\"]))\n }, {\n display: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.getVisibleExpertises(\r\n\t\t\t\t\t\t\t\t\t\t_ctx.item.expertProfile?.expertises\r\n\t\t\t\t\t\t\t\t\t), (expertise, index) => {\n return (_openBlock(), _createBlock(_component_Chip, {\n key: index,\n class: \"p-chip-secondary mr-1 mb-1\",\n label: expertise.name\n }, null, 8, [\"label\"]))\n }), 128)),\n (_ctx.item.expertProfile?.expertises?.length > _ctx.maxExpertisesToShow)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-text p-button-rounded p-button-secondary mb-1\",\n label: _ctx.$t('expert.button.showAllExpertises')\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]),\n content: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.item.expertProfile?.expertises, (expertise, index) => {\n return (_openBlock(), _createBlock(_component_Chip, {\n key: index,\n class: \"p-chip-secondary mr-1 mb-1\",\n label: expertise.name\n }, null, 8, [\"label\"]))\n }), 128))\n ]),\n _: 1\n })\n ])\n ])\n ]),\n _: 1\n }))\n : (_openBlock(), _createBlock(_component_Card, {\n key: 1,\n class: _normalizeClass([\"expert-grid-card\", { 'cross-sell': _ctx.isCrossSell }])\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"div\", _hoisted_22, [\n _createVNode(_component_Avatar, {\n class: \"profile-image\",\n image: _ctx.item?.expertProfile?.imageUrl,\n shape: \"circle\"\n }, null, 8, [\"image\"]),\n _createElementVNode(\"div\", _hoisted_23, [\n _createElementVNode(\"div\", _hoisted_24, [\n (_ctx.item?.expertProfile?.firstName)\n ? (_openBlock(), _createElementBlock(\"h3\", _hoisted_25, _toDisplayString(_ctx.item?.expertProfile?.firstName), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.isCrossSell)\n ? (_openBlock(), _createBlock(_component_Tag, {\n key: 1,\n class: \"mb-auto ml-auto\",\n value: _ctx.$t('enum.itemProductType.' + _ctx.item.productType)\n }, null, 8, [\"value\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_26, [\n _createVNode(_component_PopoverIcon, {\n \"open-delay\": 500,\n placement: \"right\"\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"p\", {\n class: \"text-bold\",\n innerHTML: _ctx.item?.expertLevel?.displayName\n }, null, 8, _hoisted_27),\n _createElementVNode(\"div\", {\n innerHTML: _ctx.item?.expertLevel?.description\n }, null, 8, _hoisted_28)\n ]),\n default: _withCtx(() => [\n _createVNode(_component_Avatar, {\n alt: _ctx.item?.expertLevel?.displayName,\n class: \"expert-level\",\n image: _ctx.item?.expertLevel?.iconUrl,\n shape: \"square\"\n }, null, 8, [\"alt\", \"image\"])\n ]),\n _: 1\n }),\n _createElementVNode(\"p\", _hoisted_29, _toDisplayString(_ctx.item?.expertProfile?.function), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_30, [\n _createElementVNode(\"i\", {\n class: \"pi pi-map-marker text-primary\",\n title: _ctx.$t('cart.table.iconLocation_title')\n }, null, 8, _hoisted_31),\n (_ctx.isCrossSell)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_32, _toDisplayString(`${_ctx.item.expertProfile?.region}, ${_ctx.item?.expertProfile?.country}`), 1))\n : (_openBlock(), _createBlock(_component_PopoverIcon, {\n key: 1,\n \"open-delay\": 500,\n placement: \"right\"\n }, {\n content: _withCtx(() => [\n _createVNode(_component_GMapMap, {\n center: {\r\n\t\t\t\t\t\t\t\t\t\t\t\tlat: _ctx.item.expertProfile?.latitude,\r\n\t\t\t\t\t\t\t\t\t\t\t\tlng: _ctx.item.expertProfile?.longitude,\r\n\t\t\t\t\t\t\t\t\t\t\t},\n options: {\r\n\t\t\t\t\t\t\t\t\t\t\t\tzoomControl: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\tmapTypeControl: false,\r\n\t\t\t\t\t\t\t\t\t\t\t\tscaleControl: false,\r\n\t\t\t\t\t\t\t\t\t\t\t\tstreetViewControl: false,\r\n\t\t\t\t\t\t\t\t\t\t\t\trotateControl: false,\r\n\t\t\t\t\t\t\t\t\t\t\t\tfullscreenControl: false,\r\n\t\t\t\t\t\t\t\t\t\t\t},\n style: {\"width\":\"300px\",\"height\":\"300px\"},\n zoom: 7\n }, {\n default: _withCtx(() => [\n _createVNode(_component_GMapMarker, {\n clickable: false,\n draggable: false,\n position: {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tlat: _ctx.item.expertProfile?.latitude,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tlng: _ctx.item.expertProfile?.longitude,\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\n }, null, 8, [\"position\"])\n ]),\n _: 1\n }, 8, [\"center\"])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"p\", _hoisted_33, _toDisplayString(`${_ctx.item.expertProfile?.region}, ${_ctx.item?.expertProfile?.country}`), 1)\n ]),\n _: 1\n }))\n ])\n ])\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass(_ctx.isCrossSell ? 'mt-auto' : 'mt-2')\n }, [\n (_ctx.item.hourlyRate)\n ? (_openBlock(), _createElementBlock(\"p\", {\n key: 0,\n class: _normalizeClass([\"lead text-muted mb-0\", { 'text-right': _ctx.isCrossSell }])\n }, [\n _createVNode(_component_i18n_t, { keypath: \"common.pricePerHour\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"b\", _hoisted_34, _toDisplayString(_ctx.formatCurrency(_ctx.item.hourlyRate)), 1)\n ]),\n _: 1\n })\n ], 2))\n : _createCommentVNode(\"\", true),\n (_ctx.item.expertProfile?.reviewScoreAverage)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_35, [\n _createVNode(_component_Rating, {\n modelValue: _ctx.item.expertProfile.reviewScoreAverage,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.item.expertProfile.reviewScoreAverage) = $event)),\n cancel: false,\n readonly: true\n }, null, 8, [\"modelValue\"]),\n _createElementVNode(\"small\", _hoisted_36, \" (\" + _toDisplayString(_ctx.$tc(\"expert.reviewCount\", _ctx.item.expertProfile?.reviews.length)) + \") \", 1)\n ]))\n : _createCommentVNode(\"\", true),\n ((_ctx.item.numberOfDaysAvailable || _ctx.item.numberOfDaysOnRequest) && !_ctx.isCrossSell)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_37, [\n (_ctx.item.numberOfDaysAvailable > 0)\n ? (_openBlock(), _createBlock(_component_Chip, {\n key: 0,\n class: \"p-chip-secondary mr-1 mb-1\",\n label: _ctx.$tc('expert.daysAvailable', _ctx.item.numberOfDaysAvailable)\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.item.numberOfDaysOnRequest > 0)\n ? (_openBlock(), _createBlock(_component_Chip, {\n key: 1,\n class: \"p-chip-primary\",\n label: _ctx.$t('expert.availableOnRequest')\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ], 2)\n ])\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_38, [\n _createVNode(_component_Divider, { class: \"m-0\" }),\n _createElementVNode(\"p\", _hoisted_39, _toDisplayString(_ctx.item?.expertProfile?.shortDescription), 1),\n _createVNode(_component_Inplace, {\n onOpen: _cache[3] || (_cache[3] = _withModifiers(() => {}, [\"stop\",\"prevent\"]))\n }, {\n display: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.getVisibleExpertises(_ctx.item.expertProfile?.expertises), (expertise, index) => {\n return (_openBlock(), _createBlock(_component_Chip, {\n key: index,\n class: \"p-chip-secondary mr-1 mb-1\",\n label: expertise.name\n }, null, 8, [\"label\"]))\n }), 128)),\n (_ctx.item.expertProfile.expertises?.length > _ctx.maxExpertisesToShow)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-text p-button-rounded p-button-secondary mb-1\",\n label: _ctx.$t('expert.button.showAllExpertises')\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]),\n content: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.item.expertProfile?.expertises, (expertise, index) => {\n return (_openBlock(), _createBlock(_component_Chip, {\n key: index,\n class: \"p-chip-secondary mr-1 mb-1\",\n label: expertise.name\n }, null, 8, [\"label\"]))\n }), 128))\n ]),\n _: 1\n })\n ])\n ]),\n _: 1\n }, 8, [\"class\"]))\n ], 8, _hoisted_1))\n}","<template>\r\n\t<a class=\"expert-card-item\" :href=\"item.productPageUrl\" style=\"text-decoration: none\">\r\n\t\t<Card v-if=\"!isGridLayout\" class=\"expert-list-card w-100\">\r\n\t\t\t<template #header>\r\n\t\t\t\t<div class=\"d-flex justify-content-between px-3 pt-3\">\r\n\t\t\t\t\t<div class=\"d-flex\">\r\n\t\t\t\t\t\t<Avatar class=\"mr-2 profile-image\" :image=\"item?.expertProfile?.imageUrl\" shape=\"circle\" />\r\n\t\t\t\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t\t\t\t<h4 v-if=\"item?.expertProfile?.firstName\" class=\"mb-0 mr-1\">\r\n\t\t\t\t\t\t\t\t\t{{ item?.expertProfile?.firstName }}\r\n\t\t\t\t\t\t\t\t</h4>\r\n\r\n\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\tclass=\"pi pi-map-marker text-primary\"\r\n\t\t\t\t\t\t\t\t\t:title=\"$t('cart.table.iconLocation_title')\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t<PopoverIcon :open-delay=\"500\" placement=\"right\">\r\n\t\t\t\t\t\t\t\t\t<p class=\"m-0 ml-1 text-bold text-primary\">\r\n\t\t\t\t\t\t\t\t\t\t{{ `${item.expertProfile?.region}, ${item?.expertProfile?.country}` }}\r\n\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t\t<GMapMap-->\r\n\t\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t\t\t:center=\"{-->\r\n\t\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t\t\t\tlat: item.expertProfile?.latitude,-->\r\n\t\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t\t\t\tlng: item.expertProfile?.longitude,-->\r\n\t\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t\t\t}\"-->\r\n\t\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t\t\t:options=\"{-->\r\n\t\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t\t\t\tzoomControl: true,-->\r\n\t\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t\t\t\tmapTypeControl: false,-->\r\n\t\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t\t\t\tscaleControl: false,-->\r\n\t\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t\t\t\tstreetViewControl: false,-->\r\n\t\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t\t\t\trotateControl: false,-->\r\n\t\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t\t\t\tfullscreenControl: false,-->\r\n\t\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t\t\t}\"-->\r\n\t\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t\t\tstyle=\"width: 300px; height: 300px\"-->\r\n\t\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t\t\t:zoom=\"7\"-->\r\n\t\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t\t>-->\r\n\t\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t\t\t<GMapMarker-->\r\n\t\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t\t\t\t:clickable=\"false\"-->\r\n\t\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t\t\t\t:draggable=\"false\"-->\r\n\t\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t\t\t\t:position=\"{-->\r\n\t\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t\t\t\t\tlat: item.expertProfile?.latitude,-->\r\n\t\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t\t\t\t\tlng: item.expertProfile?.longitude,-->\r\n\t\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t\t\t\t}\"-->\r\n\t\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t\t\t/>-->\r\n\t\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t\t</GMapMap>-->\r\n\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t</PopoverIcon>\r\n\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t\t\t\t<PopoverIcon :open-delay=\"500\" placement=\"right\">\r\n\t\t\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\t\t\t:alt=\"item?.expertLevel?.displayName\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"expert-level\"\r\n\t\t\t\t\t\t\t\t\t\t:image=\"item?.expertLevel?.iconUrl\"\r\n\t\t\t\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t\t\t<p class=\"text-bold\" v-html=\"item?.expertLevel.displayName\" />\r\n\t\t\t\t\t\t\t\t\t\t<div v-html=\"item?.expertLevel.description\" />\r\n\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t</PopoverIcon>\r\n\t\t\t\t\t\t\t\t<p class=\"text-muted m-0 ml-1 text-preline\">\r\n\t\t\t\t\t\t\t\t\t{{ item.expertProfile?.function }}\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t<div v-if=\"item.numberOfDaysAvailable || item.numberOfDaysOnRequest\" class=\"mt-1\">\r\n\t\t\t\t\t\t\t\t<Chip\r\n\t\t\t\t\t\t\t\t\tv-if=\"item.numberOfDaysAvailable > 0\"\r\n\t\t\t\t\t\t\t\t\tclass=\"p-chip-secondary mr-1 mb-1\"\r\n\t\t\t\t\t\t\t\t\t:label=\"$tc('expert.daysAvailable', item.numberOfDaysAvailable)\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t<Chip\r\n\t\t\t\t\t\t\t\t\tv-if=\"item.numberOfDaysOnRequest > 0\"\r\n\t\t\t\t\t\t\t\t\tclass=\"p-chip-primary\"\r\n\t\t\t\t\t\t\t\t\t:label=\"$t('expert.availableOnRequest')\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"text-lg-right\">\r\n\t\t\t\t\t\t<p v-if=\"item.hourlyRate\" class=\"lead text-muted\">\r\n\t\t\t\t\t\t\t<i18n-t keypath=\"common.pricePerHour\">\r\n\t\t\t\t\t\t\t\t<b class=\"mr-1 text-primary\">{{ formatCurrency(item.hourlyRate) }}</b>\r\n\t\t\t\t\t\t\t</i18n-t>\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t<div v-if=\"item.expertProfile?.reviewScoreAverage\" class=\"mt-1\">\r\n\t\t\t\t\t\t\t<Rating\r\n\t\t\t\t\t\t\t\tv-model=\"item.expertProfile.reviewScoreAverage\"\r\n\t\t\t\t\t\t\t\t:cancel=\"false\"\r\n\t\t\t\t\t\t\t\tclass=\"rating-lg\"\r\n\t\t\t\t\t\t\t\t:readonly=\"true\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<small class=\"mb-0\">\r\n\t\t\t\t\t\t\t\t({{ $tc(\"expert.reviewCount\", item.expertProfile?.reviews?.length) }})\r\n\t\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t\t<template #content>\r\n\t\t\t\t<div class=\"row h-100\">\r\n\t\t\t\t\t<div class=\"col-12 mt-2 mt-lg-0 px-3 d-flex justify-content-start flex-row\">\r\n\t\t\t\t\t\t<Inplace @open.stop.prevent>\r\n\t\t\t\t\t\t\t<template #display>\r\n\t\t\t\t\t\t\t\t<Chip\r\n\t\t\t\t\t\t\t\t\tv-for=\"(expertise, index) in getVisibleExpertises(\r\n\t\t\t\t\t\t\t\t\t\titem.expertProfile?.expertises\r\n\t\t\t\t\t\t\t\t\t)\"\r\n\t\t\t\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\t\t\t\tclass=\"p-chip-secondary mr-1 mb-1\"\r\n\t\t\t\t\t\t\t\t\t:label=\"expertise.name\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\tv-if=\"item.expertProfile?.expertises?.length > maxExpertisesToShow\"\r\n\t\t\t\t\t\t\t\t\tclass=\"p-button-text p-button-rounded p-button-secondary mb-1\"\r\n\t\t\t\t\t\t\t\t\t:label=\"$t('expert.button.showAllExpertises')\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t<Chip\r\n\t\t\t\t\t\t\t\t\tv-for=\"(expertise, index) in item.expertProfile?.expertises\"\r\n\t\t\t\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\t\t\t\tclass=\"p-chip-secondary mr-1 mb-1\"\r\n\t\t\t\t\t\t\t\t\t:label=\"expertise.name\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</Inplace>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t</Card>\r\n\r\n\t\t<Card v-else class=\"expert-grid-card\" :class=\"{ 'cross-sell': isCrossSell }\">\r\n\t\t\t<template #header>\r\n\t\t\t\t<div class=\"d-flex flex-column h-100\">\r\n\t\t\t\t\t<div class=\"d-flex flex-wrap\">\r\n\t\t\t\t\t\t<Avatar class=\"profile-image\" :image=\"item?.expertProfile?.imageUrl\" shape=\"circle\" />\r\n\t\t\t\t\t\t<div class=\"d-flex flex-column flex-1 ml-2\">\r\n\t\t\t\t\t\t\t<div class=\"d-flex align-items-center justify-content-between flex-wrap-reverse\">\r\n\t\t\t\t\t\t\t\t<h3 v-if=\"item?.expertProfile?.firstName\" class=\"mb-0\">\r\n\t\t\t\t\t\t\t\t\t{{ item?.expertProfile?.firstName }}\r\n\t\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t\t<Tag\r\n\t\t\t\t\t\t\t\t\tv-if=\"isCrossSell\"\r\n\t\t\t\t\t\t\t\t\tclass=\"mb-auto ml-auto\"\r\n\t\t\t\t\t\t\t\t\t:value=\"$t('enum.itemProductType.' + item.productType)\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t\t\t\t<PopoverIcon :open-delay=\"500\" placement=\"right\">\r\n\t\t\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\t\t\t:alt=\"item?.expertLevel?.displayName\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"expert-level\"\r\n\t\t\t\t\t\t\t\t\t\t:image=\"item?.expertLevel?.iconUrl\"\r\n\t\t\t\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t\t\t<p class=\"text-bold\" v-html=\"item?.expertLevel?.displayName\" />\r\n\t\t\t\t\t\t\t\t\t\t<div v-html=\"item?.expertLevel?.description\" />\r\n\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t</PopoverIcon>\r\n\t\t\t\t\t\t\t\t<p class=\"text-muted m-0 ml-1 text-preline\">\r\n\t\t\t\t\t\t\t\t\t{{ item?.expertProfile?.function }}\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\tclass=\"pi pi-map-marker text-primary\"\r\n\t\t\t\t\t\t\t\t\t:title=\"$t('cart.table.iconLocation_title')\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t<p v-if=\"isCrossSell\" class=\"m-0 ml-1 text-bold text-primary\">\r\n\t\t\t\t\t\t\t\t\t{{ `${item.expertProfile?.region}, ${item?.expertProfile?.country}` }}\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t<PopoverIcon v-else :open-delay=\"500\" placement=\"right\">\r\n\t\t\t\t\t\t\t\t\t<p class=\"m-0 ml-1 text-bold text-primary\">\r\n\t\t\t\t\t\t\t\t\t\t{{ `${item.expertProfile?.region}, ${item?.expertProfile?.country}` }}\r\n\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t\t\t<GMapMap\r\n\t\t\t\t\t\t\t\t\t\t\t:center=\"{\r\n\t\t\t\t\t\t\t\t\t\t\t\tlat: item.expertProfile?.latitude,\r\n\t\t\t\t\t\t\t\t\t\t\t\tlng: item.expertProfile?.longitude,\r\n\t\t\t\t\t\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t\t\t\t\t\t:options=\"{\r\n\t\t\t\t\t\t\t\t\t\t\t\tzoomControl: true,\r\n\t\t\t\t\t\t\t\t\t\t\t\tmapTypeControl: false,\r\n\t\t\t\t\t\t\t\t\t\t\t\tscaleControl: false,\r\n\t\t\t\t\t\t\t\t\t\t\t\tstreetViewControl: false,\r\n\t\t\t\t\t\t\t\t\t\t\t\trotateControl: false,\r\n\t\t\t\t\t\t\t\t\t\t\t\tfullscreenControl: false,\r\n\t\t\t\t\t\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"width: 300px; height: 300px\"\r\n\t\t\t\t\t\t\t\t\t\t\t:zoom=\"7\"\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t<GMapMarker\r\n\t\t\t\t\t\t\t\t\t\t\t\t:clickable=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t:draggable=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t:position=\"{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tlat: item.expertProfile?.latitude,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tlng: item.expertProfile?.longitude,\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t</GMapMap>\r\n\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t</PopoverIcon>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div :class=\"isCrossSell ? 'mt-auto' : 'mt-2'\">\r\n\t\t\t\t\t\t<p\r\n\t\t\t\t\t\t\tv-if=\"item.hourlyRate\"\r\n\t\t\t\t\t\t\tclass=\"lead text-muted mb-0\"\r\n\t\t\t\t\t\t\t:class=\"{ 'text-right': isCrossSell }\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<i18n-t keypath=\"common.pricePerHour\">\r\n\t\t\t\t\t\t\t\t<b class=\"mr-1 text-primary\">{{ formatCurrency(item.hourlyRate) }}</b>\r\n\t\t\t\t\t\t\t</i18n-t>\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t<div v-if=\"item.expertProfile?.reviewScoreAverage\" class=\"mt-1\">\r\n\t\t\t\t\t\t\t<Rating\r\n\t\t\t\t\t\t\t\tv-model=\"item.expertProfile.reviewScoreAverage\"\r\n\t\t\t\t\t\t\t\t:cancel=\"false\"\r\n\t\t\t\t\t\t\t\t:readonly=\"true\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<small class=\"text-right mb-0\">\r\n\t\t\t\t\t\t\t\t({{ $tc(\"expert.reviewCount\", item.expertProfile?.reviews.length) }})\r\n\t\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\tv-if=\"(item.numberOfDaysAvailable || item.numberOfDaysOnRequest) && !isCrossSell\"\r\n\t\t\t\t\t\t\tclass=\"mt-1\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<Chip\r\n\t\t\t\t\t\t\t\tv-if=\"item.numberOfDaysAvailable > 0\"\r\n\t\t\t\t\t\t\t\tclass=\"p-chip-secondary mr-1 mb-1\"\r\n\t\t\t\t\t\t\t\t:label=\"$tc('expert.daysAvailable', item.numberOfDaysAvailable)\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<Chip\r\n\t\t\t\t\t\t\t\tv-if=\"item.numberOfDaysOnRequest > 0\"\r\n\t\t\t\t\t\t\t\tclass=\"p-chip-primary\"\r\n\t\t\t\t\t\t\t\t:label=\"$t('expert.availableOnRequest')\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t\t<template #content>\r\n\t\t\t\t<div class=\"\">\r\n\t\t\t\t\t<Divider class=\"m-0\" />\r\n\t\t\t\t\t<p class=\"profile-description\">{{ item?.expertProfile?.shortDescription }}</p>\r\n\t\t\t\t\t<Inplace @open.stop.prevent>\r\n\t\t\t\t\t\t<template #display>\r\n\t\t\t\t\t\t\t<Chip\r\n\t\t\t\t\t\t\t\tv-for=\"(expertise, index) in getVisibleExpertises(item.expertProfile?.expertises)\"\r\n\t\t\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\t\t\tclass=\"p-chip-secondary mr-1 mb-1\"\r\n\t\t\t\t\t\t\t\t:label=\"expertise.name\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\tv-if=\"item.expertProfile.expertises?.length > maxExpertisesToShow\"\r\n\t\t\t\t\t\t\t\tclass=\"p-button-text p-button-rounded p-button-secondary mb-1\"\r\n\t\t\t\t\t\t\t\t:label=\"$t('expert.button.showAllExpertises')\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t<Chip\r\n\t\t\t\t\t\t\t\tv-for=\"(expertise, index) in item.expertProfile?.expertises\"\r\n\t\t\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\t\t\tclass=\"p-chip-secondary mr-1 mb-1\"\r\n\t\t\t\t\t\t\t\t:label=\"expertise.name\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</Inplace>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t</Card>\r\n\t</a>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Chip from \"primevue/chip\";\r\nimport Divider from \"primevue/divider\";\r\nimport Rating from \"primevue/rating\";\r\nimport Tag from \"primevue/tag\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { ExpertItemViewModel } from \"@/types/models/expert/expertItemViewModel\";\r\nimport { PropType } from \"vue\";\r\nimport { take } from \"lodash\";\r\n\r\n@Component({ components: { Chip, Divider, Rating, Tag } })\r\nexport default class ExpertOverviewItemCard extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<ExpertItemViewModel>, required: true, default: {} })\r\n\titem!: ExpertItemViewModel;\r\n\r\n\t@Prop({\r\n\t\ttype: String,\r\n\t\trequired: true,\r\n\t\tdefault: \"grid\",\r\n\t})\r\n\tlayout!: string;\r\n\r\n\t@Prop({ type: Boolean, default: false, required: false })\r\n\tisCrossSell!: boolean;\r\n\r\n\tget isGridLayout(): boolean {\r\n\t\treturn this.layout === \"grid\";\r\n\t}\r\n\r\n\tget maxExpertisesToShow(): number {\r\n\t\treturn this.isGridLayout ? 3 : 7;\r\n\t}\r\n\r\n\tgetVisibleExpertises(expertises: string[]): string[] {\r\n\t\treturn take(expertises, this.maxExpertisesToShow);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.expert-card-item {\r\n\tposition: relative;\r\n\theight: 100%;\r\n\tdisplay: flex;\r\n\r\n\t.expert-level {\r\n\t\twidth: 1.75rem;\r\n\t\theight: 1.75rem;\r\n\t}\r\n\r\n\t:deep(.profile-image) {\r\n\t\twidth: 4rem;\r\n\t\theight: 4rem;\r\n\t\tflex-shrink: 0;\r\n\r\n\t\timg {\r\n\t\t\tobject-fit: cover;\r\n\t\t}\r\n\t}\r\n\r\n\t:deep(.p-chip) {\r\n\t\tfont-size: 0.9rem;\r\n\t\tfont-weight: 400;\r\n\t}\r\n\r\n\t:deep(.expert-grid-card) {\r\n\t\t.profile-description {\r\n\t\t\tdisplay: -webkit-box;\r\n\t\t\t-webkit-line-clamp: 5;\r\n\t\t\t-webkit-box-orient: vertical;\r\n\t\t\toverflow: hidden;\r\n\t\t}\r\n\r\n\t\t&.cross-sell {\r\n\t\t\t.p-card-header {\r\n\t\t\t\theight: 100%;\r\n\t\t\t\tmin-height: 1px;\r\n\t\t\t}\r\n\t\t\t.p-card-body {\r\n\t\t\t\tdisplay: none !important;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t&.p-card {\r\n\t\t\tborder: var(--surface-border);\r\n\t\t\ttransition: all 0.4s;\r\n\t\t\tposition: relative;\r\n\t\t\theight: 100%;\r\n\t\t\tflex: 1;\r\n\r\n\t\t\t&:hover {\r\n\t\t\t\tbox-shadow:\r\n\t\t\t\t\t8px 4px 10px -1px rgb(0 0 0 / 12%),\r\n\t\t\t\t\t0px 4px 10px 0px rgb(0 0 0 / 8%),\r\n\t\t\t\t\t0px 1px 4px 4px rgb(0 0 0 / 8%);\r\n\t\t\t\tcursor: pointer;\r\n\t\t\t}\r\n\r\n\t\t\t.p-card-body {\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\tflex-direction: column;\r\n\t\t\t\tjustify-content: space-between;\r\n\t\t\t\theight: 100%;\r\n\t\t\t}\r\n\r\n\t\t\t.p-card-header {\r\n\t\t\t\tpadding: 1rem;\r\n\t\t\t\tmin-height: 200px;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.p-card-content {\r\n\t\t\tpadding: 0;\r\n\t\t}\r\n\t}\r\n\r\n\t:deep(.expert-list-card) {\r\n\t\tmargin: 0.75rem;\r\n\r\n\t\t.profile-description {\r\n\t\t\tdisplay: -webkit-box;\r\n\t\t\t-webkit-line-clamp: 5;\r\n\t\t\t-webkit-box-orient: vertical;\r\n\t\t\toverflow: hidden;\r\n\t\t}\r\n\r\n\t\t&.p-card {\r\n\t\t\tposition: relative;\r\n\t\t\tborder: var(--surface-border);\r\n\t\t\ttransition: all 0.4s;\r\n\r\n\t\t\t&:hover {\r\n\t\t\t\tbox-shadow:\r\n\t\t\t\t\t4px 4px 2px 0 rgb(0 0 0 / 20%),\r\n\t\t\t\t\t0 1px 4px 0 rgb(0 0 0 / 14%),\r\n\t\t\t\t\t0 2px 8px 0 rgb(0 0 0 / 12%);\r\n\t\t\t\tcursor: pointer;\r\n\t\t\t}\r\n\r\n\t\t\t.p-card-body {\r\n\t\t\t\tpadding: 0 1rem;\r\n\t\t\t}\r\n\r\n\t\t\t.p-card-content {\r\n\t\t\t\theight: 100%;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./expertOverviewItemCard.vue?vue&type=template&id=bd549d0a&scoped=true&ts=true\"\nimport script from \"./expertOverviewItemCard.vue?vue&type=script&lang=ts\"\nexport * from \"./expertOverviewItemCard.vue?vue&type=script&lang=ts\"\n\nimport \"./expertOverviewItemCard.vue?vue&type=style&index=0&id=bd549d0a&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-bd549d0a\"]])\n\nexport default __exports__","import { resolveDirective as _resolveDirective, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, createBlock as _createBlock, withCtx as _withCtx, normalizeStyle as _normalizeStyle, normalizeClass as _normalizeClass, createSlots as _createSlots, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-57ae1c35\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = [\"href\"]\nconst _hoisted_2 = { class: \"row h-100\" }\nconst _hoisted_3 = [\"alt\", \"title\"]\nconst _hoisted_4 = { class: \"col-lg-8\" }\nconst _hoisted_5 = { class: \"d-flex mb-2\" }\nconst _hoisted_6 = { class: \"align-self-center mr-1\" }\nconst _hoisted_7 = [\"alt\", \"title\"]\nconst _hoisted_8 = { class: \"d-flex flex-column\" }\nconst _hoisted_9 = { class: \"mb-0 text-muted lead\" }\nconst _hoisted_10 = { class: \"mb-0 pr-5\" }\nconst _hoisted_11 = [\"innerHTML\"]\nconst _hoisted_12 = { class: \"col-lg-4 mt-2 mt-lg-0 d-flex justify-content-end flex-column\" }\nconst _hoisted_13 = {\n key: 1,\n class: \"lead text-muted d-flex flex-wrap text-right justify-content-end\"\n}\nconst _hoisted_14 = { class: \"\" }\nconst _hoisted_15 = {\n key: 0,\n class: \"ml-1 text-faded\"\n}\nconst _hoisted_16 = { class: \"text-primary ml-1\" }\nconst _hoisted_17 = {\n key: 0,\n class: \"\"\n}\nconst _hoisted_18 = {\n key: 2,\n class: \"lead text-muted text-lg-right\"\n}\nconst _hoisted_19 = [\"alt\", \"title\"]\nconst _hoisted_20 = { class: \"d-flex flex-wrap flex-column h-100 justify-content-between\" }\nconst _hoisted_21 = { class: \"d-flex justify-content-between flex-wrap-reverse\" }\nconst _hoisted_22 = { class: \"mr-1\" }\nconst _hoisted_23 = [\"alt\", \"title\"]\nconst _hoisted_24 = { class: \"d-flex flex-column flex-1\" }\nconst _hoisted_25 = { class: \"mb-0 text-muted lead\" }\nconst _hoisted_26 = { class: \"mb-0\" }\nconst _hoisted_27 = {\n key: 1,\n class: \"price-text lead text-muted d-flex flex-wrap text-right justify-content-end mb-0\"\n}\nconst _hoisted_28 = { class: \"\" }\nconst _hoisted_29 = {\n key: 0,\n class: \"ml-1 text-faded\"\n}\nconst _hoisted_30 = { class: \"text-primary ml-1\" }\nconst _hoisted_31 = {\n key: 0,\n class: \"\"\n}\nconst _hoisted_32 = {\n key: 2,\n class: \"lead price-text text-muted text-lg-right pr-2\"\n}\nconst _hoisted_33 = [\"innerHTML\"]\nconst _hoisted_34 = {\n key: 1,\n class: \"promotion\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_AvatarGroup = _resolveComponent(\"AvatarGroup\")!\n const _component_Card = _resolveComponent(\"Card\")!\n const _component_Tag = _resolveComponent(\"Tag\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(\"a\", {\n class: \"product-card-item\",\n href: _ctx.item?.productPageUrl,\n style: {\"text-decoration\":\"none\"}\n }, [\n (!_ctx.isGridLayout)\n ? (_openBlock(), _createBlock(_component_Card, {\n key: 0,\n class: \"product-list-card\",\n style: _normalizeStyle({ backgroundColor: _ctx.item.backgroundColor }),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.openUrl(_ctx.item.productPageUrl)))\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n (_ctx.showHeaderImage && _ctx.item.overviewImageVerticalUrl)\n ? _withDirectives((_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n alt: _ctx.item.iconAlt,\n class: \"overview-image\",\n title: _ctx.item.name\n }, null, 8, _hoisted_3)), [\n [_directive_lazy, _ctx.item.overviewImageVerticalUrl]\n ])\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n (_ctx.item.iconUrl)\n ? _withDirectives((_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n alt: _ctx.item.iconAlt,\n class: \"overview-product-icon\",\n title: _ctx.item.name\n }, null, 8, _hoisted_7)), [\n [_directive_lazy, _ctx.item.iconUrl]\n ])\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"p\", _hoisted_9, _toDisplayString(_ctx.item.brand), 1),\n _createElementVNode(\"h4\", _hoisted_10, _toDisplayString(_ctx.formatProductName(_ctx.item.name, _ctx.item.brand)), 1)\n ])\n ]),\n (_ctx.showIntro)\n ? (_openBlock(), _createElementBlock(\"p\", {\n key: 0,\n class: \"mb-0 intro-text text-preline\",\n innerHTML: _ctx.item.intro\n }, null, 8, _hoisted_11))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n (_ctx.isCollectionItem)\n ? (_openBlock(), _createBlock(_component_AvatarGroup, { key: 0 }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.productsSlice(_ctx.item), (product, index) => {\n return (_openBlock(), _createBlock(_component_Avatar, {\n key: index,\n alt: product.iconAlt,\n image: product.iconUrl,\n shape: \"square\",\n size: \"large\",\n title: product.name\n }, null, 8, [\"alt\", \"image\", \"title\"]))\n }), 128)),\n (_ctx.item.products.length > _ctx.maxProductsToShow && _ctx.item.products.length - _ctx.maxProductsToShow !== 1)\n ? (_openBlock(), _createBlock(_component_Avatar, {\n key: 0,\n class: \"text-bold mx-1\",\n label: `+${_ctx.item.products.length - _ctx.maxProductsToShow}`,\n shape: \"square\",\n size: \"small\"\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.item.price)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_13, [\n _createElementVNode(\"span\", null, [\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t(\"common.from\")), 1),\n (_ctx.item.basePrice !== _ctx.item.price)\n ? (_openBlock(), _createElementBlock(\"s\", _hoisted_15, _toDisplayString(_ctx.formatCurrency(_ctx.item.basePrice)), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"span\", null, [\n _createElementVNode(\"b\", _hoisted_16, _toDisplayString(_ctx.formatCurrency(_ctx.item.price)), 1),\n (!_ctx.isServiceItem)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_17, _toDisplayString(_ctx.$t(\"common.pricePerMonth\")), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : ((_ctx.item.availableOnRequest || !_ctx.item.basePrice) && !_ctx.item.label)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_18, _toDisplayString(_ctx.$t(\"product.availableOnRequest\")), 1))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n _: 1\n }, 8, [\"style\"]))\n : (_openBlock(), _createBlock(_component_Card, {\n key: 1,\n class: _normalizeClass([\"product-grid-card\", { 'hover-intro': _ctx.showIntroOnHover, 'product-collection-item': _ctx.isCollectionItem, 'cross-sell': _ctx.isCrossSell }]),\n style: _normalizeStyle({ backgroundColor: _ctx.isCollectionItem && _ctx.item.backgroundColor }),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.openUrl(_ctx.item.productPageUrl)))\n }, _createSlots({\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"div\", _hoisted_22, [\n (_ctx.item.iconUrl)\n ? _withDirectives((_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n alt: _ctx.item.iconAlt,\n class: \"overview-product-icon\",\n title: _ctx.item.name\n }, null, 8, _hoisted_23)), [\n [_directive_lazy, _ctx.item.iconUrl]\n ])\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_24, [\n _createElementVNode(\"p\", _hoisted_25, _toDisplayString(_ctx.item.brand), 1),\n _createElementVNode(\"h4\", _hoisted_26, _toDisplayString(_ctx.formatProductName(_ctx.item.name, _ctx.item.brand)), 1)\n ]),\n (_ctx.isCrossSell)\n ? (_openBlock(), _createBlock(_component_Tag, {\n key: 0,\n class: \"mb-auto ml-auto\",\n value: _ctx.$t('enum.itemProductType.' + _ctx.item.productType)\n }, null, 8, [\"value\"]))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.isCollectionItem)\n ? (_openBlock(), _createBlock(_component_AvatarGroup, { key: 0 }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.productsSlice(_ctx.item), (product, index) => {\n return (_openBlock(), _createBlock(_component_Avatar, {\n key: index,\n alt: product.iconAlt,\n image: product.iconUrl,\n shape: \"square\",\n size: \"large\",\n title: product.name\n }, null, 8, [\"alt\", \"image\", \"title\"]))\n }), 128)),\n (_ctx.item.products.length > _ctx.maxProductsToShow && _ctx.item.products.length - _ctx.maxProductsToShow !== 1)\n ? (_openBlock(), _createBlock(_component_Avatar, {\n key: 0,\n class: \"text-bold mx-1\",\n label: `+${_ctx.item.products.length - _ctx.maxProductsToShow}`,\n shape: \"square\",\n size: \"small\"\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.item.price)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_27, [\n _createElementVNode(\"span\", null, [\n _createElementVNode(\"span\", _hoisted_28, _toDisplayString(_ctx.$t(\"common.from\")), 1),\n (_ctx.item.basePrice !== _ctx.item.price)\n ? (_openBlock(), _createElementBlock(\"s\", _hoisted_29, _toDisplayString(_ctx.formatCurrency(_ctx.item.basePrice)), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"span\", null, [\n _createElementVNode(\"b\", _hoisted_30, _toDisplayString(_ctx.formatCurrency(_ctx.item.price)), 1),\n (!_ctx.isServiceItem)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_31, _toDisplayString(_ctx.$t(\"common.pricePerMonth\")), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : ((_ctx.item.availableOnRequest || !_ctx.item.basePrice) && !_ctx.item.label)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_32, _toDisplayString(_ctx.$t(\"product.availableOnRequest\")), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n footer: _withCtx(() => [\n (_ctx.showIntro)\n ? (_openBlock(), _createElementBlock(\"p\", {\n key: 0,\n class: \"mb-0 intro-text text-preline pr-2\",\n innerHTML: _ctx.item.intro\n }, null, 8, _hoisted_33))\n : (_ctx.item.label)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_34, _toDisplayString(_ctx.item.label), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _: 2\n }, [\n (!_ctx.isMobile && _ctx.showHeaderImage && _ctx.item.overviewImageUrl)\n ? {\n name: \"header\",\n fn: _withCtx(() => [\n _withDirectives(_createElementVNode(\"img\", {\n alt: _ctx.item.iconAlt,\n title: _ctx.item.name\n }, null, 8, _hoisted_19), [\n [_directive_lazy, _ctx.item.overviewImageUrl]\n ])\n ]),\n key: \"0\"\n }\n : undefined\n ]), 1032, [\"class\", \"style\"]))\n ], 8, _hoisted_1))\n}","<template>\r\n\t<a class=\"product-card-item\" :href=\"item?.productPageUrl\" style=\"text-decoration: none\">\r\n\t\t<Card\r\n\t\t\tv-if=\"!isGridLayout\"\r\n\t\t\tclass=\"product-list-card\"\r\n\t\t\t:style=\"{ backgroundColor: item.backgroundColor }\"\r\n\t\t\t@click=\"openUrl(item.productPageUrl)\"\r\n\t\t>\r\n\t\t\t<template #content>\r\n\t\t\t\t<div class=\"row h-100\">\r\n\t\t\t\t\t<img v-if=\"showHeaderImage && item.overviewImageVerticalUrl\" v-lazy=\"item.overviewImageVerticalUrl\" :alt=\"item.iconAlt\" class=\"overview-image\" :title=\"item.name\" />\r\n\t\t\t\t\t<div class=\"col-lg-8\">\r\n\t\t\t\t\t\t<div class=\"d-flex mb-2\">\r\n\t\t\t\t\t\t\t<div class=\"align-self-center mr-1\"><img v-if=\"item.iconUrl\" v-lazy=\"item.iconUrl\" :alt=\"item.iconAlt\" class=\"overview-product-icon\" :title=\"item.name\" /></div>\r\n\t\t\t\t\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t\t\t\t\t<p class=\"mb-0 text-muted lead\">{{ item.brand }}</p>\r\n\t\t\t\t\t\t\t\t<h4 class=\"mb-0 pr-5\">{{ formatProductName(item.name, item.brand) }}</h4>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<p v-if=\"showIntro\" class=\"mb-0 intro-text text-preline\" v-html=\"item.intro\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"col-lg-4 mt-2 mt-lg-0 d-flex justify-content-end flex-column\">\r\n\t\t\t\t\t\t<AvatarGroup v-if=\"isCollectionItem\">\r\n\t\t\t\t\t\t\t<Avatar v-for=\"(product, index) in productsSlice(item)\" :key=\"index\" :alt=\"product.iconAlt\" :image=\"product.iconUrl\" shape=\"square\" size=\"large\" :title=\"product.name\"></Avatar>\r\n\t\t\t\t\t\t\t<Avatar v-if=\"item.products.length > maxProductsToShow && item.products.length - maxProductsToShow !== 1\" class=\"text-bold mx-1\" :label=\"`+${item.products.length - maxProductsToShow}`\" shape=\"square\" size=\"small\"></Avatar>\r\n\t\t\t\t\t\t</AvatarGroup>\r\n\t\t\t\t\t\t<p v-if=\"item.price\" class=\"lead text-muted d-flex flex-wrap text-right justify-content-end\">\r\n\t\t\t\t\t\t\t<span>\r\n\t\t\t\t\t\t\t\t<span class=\"\">{{ $t(\"common.from\") }}</span>\r\n\t\t\t\t\t\t\t\t<s v-if=\"item.basePrice !== item.price\" class=\"ml-1 text-faded\">{{ formatCurrency(item.basePrice) }}</s>\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t<span>\r\n\t\t\t\t\t\t\t\t<b class=\"text-primary ml-1\">{{ formatCurrency(item.price) }}</b>\r\n\t\t\t\t\t\t\t\t<span class=\"\" v-if=\"!isServiceItem\">{{ $t(\"common.pricePerMonth\") }}</span>\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t<p v-else-if=\"(item.availableOnRequest || !item.basePrice) && !item.label\" class=\"lead text-muted text-lg-right\">{{ $t(\"product.availableOnRequest\") }}</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t</Card>\r\n\t\t<Card\r\n\t\t\tv-else\r\n\t\t\tclass=\"product-grid-card\"\r\n\t\t\t:class=\"{ 'hover-intro': showIntroOnHover, 'product-collection-item': isCollectionItem, 'cross-sell': isCrossSell }\"\r\n\t\t\t:style=\"{ backgroundColor: isCollectionItem && item.backgroundColor }\"\r\n\t\t\t@click=\"openUrl(item.productPageUrl)\">\r\n\t\t\t<template v-if=\"!isMobile && showHeaderImage && item.overviewImageUrl\" #header>\r\n\t\t\t\t<img v-lazy=\"item.overviewImageUrl\" :alt=\"item.iconAlt\" :title=\"item.name\" />\r\n\t\t\t</template>\r\n\t\t\t<template #content>\r\n\t\t\t\t<div class=\"d-flex flex-wrap flex-column h-100 justify-content-between\">\r\n\t\t\t\t\t<div class=\"d-flex justify-content-between flex-wrap-reverse\">\r\n\t\t\t\t\t\t<div class=\"mr-1\"><img v-if=\"item.iconUrl\" v-lazy=\"item.iconUrl\" :alt=\"item.iconAlt\" class=\"overview-product-icon\" :title=\"item.name\" /></div>\r\n\t\t\t\t\t\t<div class=\"d-flex flex-column flex-1\">\r\n\t\t\t\t\t\t\t<p class=\"mb-0 text-muted lead\">{{ item.brand }}</p>\r\n\t\t\t\t\t\t\t<h4 class=\"mb-0\">{{ formatProductName(item.name, item.brand) }}</h4>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<Tag v-if=\"isCrossSell\" class=\"mb-auto ml-auto\" :value=\"$t('enum.itemProductType.' + item.productType)\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<AvatarGroup v-if=\"isCollectionItem\">\r\n\t\t\t\t\t\t<Avatar v-for=\"(product, index) in productsSlice(item)\" :key=\"index\" :alt=\"product.iconAlt\" :image=\"product.iconUrl\" shape=\"square\" size=\"large\" :title=\"product.name\"></Avatar>\r\n\t\t\t\t\t\t<Avatar v-if=\"item.products.length > maxProductsToShow && item.products.length - maxProductsToShow !== 1\" class=\"text-bold mx-1\" :label=\"`+${item.products.length - maxProductsToShow}`\" shape=\"square\" size=\"small\"></Avatar>\r\n\t\t\t\t\t</AvatarGroup>\r\n\t\t\t\t\t<p v-if=\"item.price\" class=\"price-text lead text-muted d-flex flex-wrap text-right justify-content-end mb-0\">\r\n\t\t\t\t\t\t<span>\r\n\t\t\t\t\t\t\t<span class=\"\">{{ $t(\"common.from\") }}</span>\r\n\t\t\t\t\t\t\t<s v-if=\"item.basePrice !== item.price\" class=\"ml-1 text-faded\">{{ formatCurrency(item.basePrice) }}</s>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<span>\r\n\t\t\t\t\t\t\t<b class=\"text-primary ml-1\">{{ formatCurrency(item.price) }}</b>\r\n\t\t\t\t\t\t\t<span class=\"\" v-if=\"!isServiceItem\">{{ $t(\"common.pricePerMonth\") }}</span>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</p>\r\n\t\t\t\t\t<p v-else-if=\"(item.availableOnRequest || !item.basePrice) && !item.label\" class=\"lead price-text text-muted text-lg-right pr-2\">{{ $t(\"product.availableOnRequest\") }}</p>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t\t<template #footer>\r\n\t\t\t\t<p v-if=\"showIntro\" class=\"mb-0 intro-text text-preline pr-2\" v-html=\"item.intro\" />\r\n\t\t\t\t<div v-else-if=\"item.label\" class=\"promotion\">{{ item.label }}</div>\r\n\t\t\t</template>\r\n\t\t</Card>\r\n\t</a>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Tag from \"primevue/tag\";\r\nimport { CollectionItemViewModel } from \"@/types/models/software/collectionItemViewModel\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { ItemProductType } from \"@/types/enum/itemProductType\";\r\nimport { PropType } from \"vue\";\r\nimport { ServiceItemViewModel } from \"../../types/models/service/serviceItemViewModel\";\r\n\r\n@Component({ components: { Tag } })\r\nexport default class ProductOverviewItemCard extends BaseComponent {\r\n @Prop({ type: Object as PropType<ServiceItemViewModel | CollectionItemViewModel>, required: true, default: {} })\r\n item!: ServiceItemViewModel | CollectionItemViewModel;\r\n\r\n\t@Prop({ type: String, required: true, default: \"grid\" }) layout!: string;\r\n\t@Prop({ type: Boolean, required: false, default: false }) showHeaderImage!: boolean;\r\n\t@Prop({ type: Boolean, default: false, required: false }) isCrossSell!: boolean;\r\n\t@Prop({ type: Boolean, required: false, default: false }) showIntro!: boolean;\r\n\r\n\tget isCollectionItem(): boolean {\r\n\t\treturn this.item.productType === ItemProductType.Collection;\r\n\t}\r\n\r\n get isServiceItem(): boolean {\r\n return this.item.productType === ItemProductType.Service;\r\n }\r\n\r\n\tget showIntroOnHover(): boolean {\r\n\t\treturn !!this.item.intro && this.showIntro && !this.isSmallScreen;\r\n\t}\r\n\r\n\tget isGridLayout(): boolean {\r\n\t\treturn this.layout === \"grid\";\r\n\t}\r\n\r\n\tget maxProductsToShow(): number {\r\n\t\tif (this.isCrossSell) return 3;\r\n\r\n\t\tif (this.isMobile) {\r\n\t\t\treturn this.isGridLayout ? 3 : 2;\r\n\t\t}\r\n\r\n\t\tif (this.isTablet) {\r\n\t\t\treturn this.isGridLayout ? 4 : 6;\r\n\t\t}\r\n\r\n\t\tif (this.isSmallLargeScreen) {\r\n\t\t\treturn this.isGridLayout ? 3 : 5;\r\n\t\t}\r\n\r\n\t\tif (this.isLargeScreen) {\r\n\t\t\treturn this.isGridLayout ? 4 : 5;\r\n\t\t}\r\n\r\n\t\tif (this.isExtraLargeScreen) {\r\n\t\t\treturn this.isGridLayout ? 4 : 5;\r\n\t\t}\r\n\r\n\t\treturn 5;\r\n\t}\r\n\r\n productsSlice(item: CollectionItemViewModel): ServiceItemViewModel[] {\r\n\t\t// prevent showing +1\r\n\t\tconst sliceCount =\r\n\t\t\titem.products.length - this.maxProductsToShow === 1\r\n\t\t\t\t? this.maxProductsToShow + 1\r\n\t\t\t\t: this.maxProductsToShow;\r\n\t\tconst productsSlice = item.products.slice(0, sliceCount);\r\n\r\n\t\treturn productsSlice;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.product-card-item {\r\n\tposition: relative;\r\n\tdisplay: block;\r\n\theight: 100%;\r\n}\r\n\r\n.price-text {\r\n\tfont-size: 1.05rem;\r\n}\r\n\r\n.promotion {\r\n\twidth: 100%;\r\n\tpadding: 0.25rem 0;\r\n\tfont-weight: 600;\r\n\tfont-size: 1.2rem;\r\n\tletter-spacing: 0.5px;\r\n\ttext-align: center;\r\n\tcolor: var(--primary-color-text);\r\n\tbackground: rgb(145, 0, 75);\r\n\tbackground: radial-gradient(circle, rgba(145, 0, 75, 1) 50%, rgba(93, 0, 48, 1) 100%);\r\n\tborder-top: 2px solid var(--surface-d);\r\n\ttext-transform: uppercase;\r\n}\r\n\r\n::v-deep(.product-list-card) {\r\n\tmargin: 0.75rem;\r\n\tposition: relative;\r\n\r\n\t.intro-text {\r\n\t\tdisplay: -webkit-box;\r\n\t\t-webkit-line-clamp: 7;\r\n\t\t-webkit-box-orient: vertical;\r\n\t\toverflow: hidden;\r\n\t}\r\n\r\n\t.overview-image {\r\n\t\twidth: 250px;\r\n\t\tmax-height: 300px;\r\n\t\tmargin-right: 1rem;\r\n\t}\r\n\r\n\t.overview-product-icon {\r\n\t\theight: 67px;\r\n\t\twidth: 67px;\r\n\t}\r\n\r\n\t&.p-card {\r\n\t\tposition: relative;\r\n\t\tdisplay: flex;\r\n\t\tflex-wrap: wrap;\r\n\t\tborder: var(--surface-border);\r\n\t\ttransition: all 0.4s;\r\n\r\n\t\t&:hover {\r\n\t\t\tbox-shadow:\r\n\t\t\t\t4px 4px 2px 0 rgb(0 0 0 / 20%),\r\n\t\t\t\t0 1px 4px 0 rgb(0 0 0 / 14%),\r\n\t\t\t\t0 2px 8px 0 rgb(0 0 0 / 12%);\r\n\t\t\tcursor: pointer;\r\n\t\t}\r\n\r\n\t\t.p-card-body {\r\n\t\t\tpadding: 0 1rem;\r\n\t\t\tflex: 1;\r\n\t\t}\r\n\r\n\t\t.p-card-content {\r\n\t\t\theight: 100%;\r\n\t\t}\r\n\t}\r\n\r\n\t.p-avatar-group {\r\n\t\tmargin: 0.5rem 0 auto 0;\r\n\t\tpadding: 0.5rem 0;\r\n\t\tbackground: rgba(255, 255, 255, 0.25);\r\n\t\twidth: 100%;\r\n\t\tflex-wrap: wrap;\r\n\r\n\t\t.p-avatar {\r\n\t\t\tborder: none;\r\n\t\t\tmargin: 0.75rem;\r\n\t\t\twidth: 3.5rem;\r\n\t\t\theight: 3.5rem;\r\n\r\n\t\t\timg {\r\n\t\t\t\ttransition: transform 0.3s ease-in-out;\r\n\r\n\t\t\t\t&:hover {\r\n\t\t\t\t\ttransform: scale(1.2);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n::v-deep(.product-grid-card) {\r\n\t.overview-product-icon {\r\n\t\theight: 67px;\r\n\t\twidth: 67px;\r\n\t\tmargin-right: 0.5rem;\r\n\t}\r\n\r\n\t.intro-text {\r\n\t\tdisplay: none;\r\n\t}\r\n\r\n\t&.cross-sell.p-card {\r\n\t\tp.lead {\r\n\t\t\tfont-size: 1.1rem;\r\n\t\t}\r\n\r\n\t\th4,\r\n\t\t.p-avatar-text {\r\n\t\t\tfont-size: 1.25rem;\r\n\t\t}\r\n\r\n\t\t.overview-product-icon {\r\n\t\t\theight: 54px;\r\n\t\t\twidth: 54px;\r\n\t\t}\r\n\r\n\t\t.p-avatar {\r\n\t\t\theight: 44px;\r\n\t\t\twidth: 44px;\r\n\t\t}\r\n\r\n\t\t.p-card-content {\r\n\t\t\theight: 100%;\r\n\t\t}\r\n\r\n\t\t.p-card-footer {\r\n\t\t\tpadding: 0;\r\n\t\t}\r\n\t}\r\n\r\n\t&.p-card {\r\n\t\tborder: var(--surface-border);\r\n\t\ttransition: all 0.4s;\r\n\t\tposition: relative;\r\n\t\toverflow: hidden;\r\n\t\theight: 100%;\r\n\r\n\t\t.p-card-body {\r\n\t\t\tdisplay: flex;\r\n\t\t\tflex-direction: column;\r\n\t\t\tjustify-content: space-between;\r\n\t\t\theight: 100%;\r\n\t\t\tpadding: 0;\r\n\t\t}\r\n\r\n\t\t&.hover-intro {\r\n\t\t\theight: 400px;\r\n\r\n\t\t\t&.product-collection-item {\r\n\t\t\t\theight: 525px;\r\n\t\t\t}\r\n\r\n\t\t\t.p-card-header,\r\n\t\t\t.p-card-content,\r\n\t\t\t.p-card-footer {\r\n\t\t\t\ttransition: transform 0.7s ease-in-out;\r\n\t\t\t}\r\n\r\n\t\t\t&:hover {\r\n\t\t\t\t.p-card-header,\r\n\t\t\t\t.p-card-content,\r\n\t\t\t\t.p-card-footer {\r\n\t\t\t\t\ttransform: translateY(-225px);\r\n\t\t\t\t\ttransition: transform 0.35s ease-in-out;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t.intro-text {\r\n\t\t\t\t\tdisplay: -webkit-box;\r\n\t\t\t\t\t-webkit-line-clamp: 9;\r\n\t\t\t\t\t-webkit-box-orient: vertical;\r\n\t\t\t\t\toverflow: hidden;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.p-card-header {\r\n\t\t\timg {\r\n\t\t\t\theight: 225px;\r\n\t\t\t\tobject-fit: cover;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.p-card-content {\r\n\t\t\tpadding: 1rem;\r\n\t\t\tmin-height: 150px;\r\n\t\t\theight: 100%;\r\n\t\t}\r\n\r\n\t\t.p-card-footer {\r\n\t\t\tpadding: 0;\r\n\t\t}\r\n\r\n\t\t&:hover {\r\n\t\t\tbox-shadow:\r\n\t\t\t\t8px 4px 10px -1px rgb(0 0 0 / 12%),\r\n\t\t\t\t0px 4px 10px 0px rgb(0 0 0 / 8%),\r\n\t\t\t\t0px 1px 4px 4px rgb(0 0 0 / 8%);\r\n\t\t\tcursor: pointer;\r\n\t\t}\r\n\t}\r\n\r\n\t.p-avatar-group {\r\n\t\tmargin: 0.5rem 0;\r\n\t\tpadding: 0.5rem;\r\n\t\tbackground: rgba(255, 255, 255, 0.25);\r\n\t\twidth: fit-content;\r\n\r\n\t\t.p-avatar {\r\n\t\t\tborder: none;\r\n\t\t\tmargin: 0;\r\n\r\n\t\t\timg {\r\n\t\t\t\ttransition: transform 0.3s ease-in-out;\r\n\r\n\t\t\t\t&:hover {\r\n\t\t\t\t\ttransform: scale(1.2);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n</style>\r\n","export enum ItemProductType {\r\n\tUnknown = 0,\r\n\tOther = 1,\r\n\tSoftware = 2,\r\n\tCollection = 3,\r\n\tTraining = 4,\r\n\tExpert = 5,\r\n\tService = 6,\r\n\tSupport = 7,\r\n}\r\n","import { render } from \"./productOverviewItemCard.vue?vue&type=template&id=57ae1c35&scoped=true&ts=true\"\nimport script from \"./productOverviewItemCard.vue?vue&type=script&lang=ts\"\nexport * from \"./productOverviewItemCard.vue?vue&type=script&lang=ts\"\n\nimport \"./productOverviewItemCard.vue?vue&type=style&index=0&id=57ae1c35&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-57ae1c35\"]])\n\nexport default __exports__","import { resolveDirective as _resolveDirective, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, createVNode as _createVNode, Fragment as _Fragment, normalizeStyle as _normalizeStyle, normalizeClass as _normalizeClass, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-81a707e2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = [\"href\"]\nconst _hoisted_2 = { class: \"h-100 w-100 card-list-info\" }\nconst _hoisted_3 = { class: \"d-flex mb-1\" }\nconst _hoisted_4 = { class: \"align-self-center mr-2 flex-shrink-0\" }\nconst _hoisted_5 = [\"alt\", \"title\"]\nconst _hoisted_6 = { class: \"d-flex flex-column\" }\nconst _hoisted_7 = { class: \"mb-0 text-muted lead\" }\nconst _hoisted_8 = { class: \"mb-0 productname\" }\nconst _hoisted_9 = { class: \"mt-2 mt-lg-0 d-flex\" }\nconst _hoisted_10 = {\n key: 0,\n class: \"lead text-muted d-flex flex-wrap text-right justify-content-end\"\n}\nconst _hoisted_11 = { key: 0 }\nconst _hoisted_12 = { class: \"text-primary\" }\nconst _hoisted_13 = { key: 1 }\nconst _hoisted_14 = { class: \"text-primary ml-1\" }\nconst _hoisted_15 = {\n key: 1,\n class: \"lead text-muted d-flex flex-wrap text-right justify-content-end\"\n}\nconst _hoisted_16 = { class: \"lead price-text text-muted\" }\nconst _hoisted_17 = [\"innerHTML\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Tag = _resolveComponent(\"Tag\")!\n const _component_Divider = _resolveComponent(\"Divider\")!\n const _component_Card = _resolveComponent(\"Card\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(\"a\", {\n class: \"service-card-item\",\n href: _ctx.item.productPageUrl,\n style: {\"text-decoration\":\"none\"}\n }, [\n _createVNode(_component_Card, {\n class: _normalizeClass({ 'service-grid-card': _ctx.isGridLayout, 'service-list-card': !_ctx.isGridLayout, compact: _ctx.compact, 'cross-sell': _ctx.isCrossSell }),\n style: _normalizeStyle({ backgroundColor: _ctx.item.backgroundColor }),\n title: _ctx.formatProductName(_ctx.item.name, _ctx.item.brand),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.openUrl(_ctx.item.productPageUrl)))\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n (_ctx.item.iconUrl)\n ? _withDirectives((_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n alt: _ctx.item.iconAlt,\n class: \"overview-product-icon\",\n title: _ctx.item.name\n }, null, 8, _hoisted_5)), [\n [_directive_lazy, _ctx.item.iconUrl]\n ])\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"p\", _hoisted_7, _toDisplayString(_ctx.$t('enum.itemProductType.' + _ctx.item.productType)), 1),\n _createElementVNode(\"h4\", _hoisted_8, _toDisplayString(_ctx.formatProductName(_ctx.item.name, _ctx.item.brand)), 1),\n _createElementVNode(\"div\", _hoisted_9, [\n (_ctx.item.basePrice)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_10, [\n (_ctx.isServiceType())\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_11, [\n _createElementVNode(\"b\", _hoisted_12, _toDisplayString(_ctx.formatCurrency(_ctx.item.basePrice)), 1)\n ]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_13, [\n _createTextVNode(_toDisplayString(_ctx.$t(\"common.from\")) + \" \", 1),\n _createElementVNode(\"b\", _hoisted_14, _toDisplayString(_ctx.formatCurrency(_ctx.item.basePrice)), 1)\n ]))\n ]))\n : _createCommentVNode(\"\", true),\n (!_ctx.item.basePrice)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_15, [\n _createElementVNode(\"span\", null, [\n _createElementVNode(\"b\", _hoisted_16, _toDisplayString(_ctx.$t(\"product.availableOnRequest\")), 1)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.isCrossSell)\n ? (_openBlock(), _createBlock(_component_Tag, {\n key: 0,\n class: \"mb-auto\",\n value: _ctx.$t('enum.itemProductType.' + _ctx.item.productType)\n }, null, 8, [\"value\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n (!_ctx.isCrossSell)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _createVNode(_component_Divider),\n (_ctx.showIntro)\n ? (_openBlock(), _createElementBlock(\"p\", {\n key: 0,\n class: \"intro-text text-preline\",\n innerHTML: _ctx.item.intro\n }, null, 8, _hoisted_17))\n : _createCommentVNode(\"\", true)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]),\n (!_ctx.isGridLayout)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"h-100 card-list-image\",\n style: _normalizeStyle({ backgroundImage: `url(${ _ctx.item.overviewImageUrl}), url(${(_ctx.isServiceType() ? '/Static/images/default-dienst.png' : '/Static/images/default-training.png')})` })\n }, null, 4))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"class\", \"style\", \"title\"])\n ], 8, _hoisted_1))\n}","<template>\r\n\t<a class=\"service-card-item\" :href=\"item.productPageUrl\" style=\"text-decoration: none\">\r\n\t\t<Card\r\n :class=\"{ 'service-grid-card': isGridLayout, 'service-list-card': !isGridLayout, compact: compact, 'cross-sell': isCrossSell }\"\r\n\t\t\t:style=\"{ backgroundColor: item.backgroundColor }\"\r\n\t\t\t:title=\"formatProductName(item.name, item.brand)\"\r\n\t\t\t@click=\"openUrl(item.productPageUrl)\">\r\n <template #content>\r\n <div class=\"h-100 w-100 card-list-info\">\r\n <div class=\"d-flex mb-1\">\r\n <div class=\"align-self-center mr-2 flex-shrink-0\">\r\n <img v-if=\"item.iconUrl\" v-lazy=\"item.iconUrl\" :alt=\"item.iconAlt\" class=\"overview-product-icon\" :title=\"item.name\" />\r\n </div>\r\n <div class=\"d-flex flex-column\">\r\n <p class=\"mb-0 text-muted lead\">{{ $t('enum.itemProductType.' + item.productType) }}</p>\r\n <h4 class=\"mb-0 productname\">{{ formatProductName(item.name, item.brand) }}</h4>\r\n <div class=\"mt-2 mt-lg-0 d-flex\">\r\n <p v-if=\"item.basePrice\" class=\"lead text-muted d-flex flex-wrap text-right justify-content-end\">\r\n <span v-if=\"isServiceType()\">\r\n <b class=\"text-primary\">{{ formatCurrency(item.basePrice) }}</b>\r\n </span>\r\n <span v-else>\r\n {{ $t(\"common.from\") }}\r\n <b class=\"text-primary ml-1\">{{ formatCurrency(item.basePrice) }}</b>\r\n </span>\r\n </p>\r\n <p v-if=\"!item.basePrice\" class=\"lead text-muted d-flex flex-wrap text-right justify-content-end\">\r\n <span>\r\n <b class=\"lead price-text text-muted\">{{ $t(\"product.availableOnRequest\")}}</b>\r\n </span>\r\n </p>\r\n </div>\r\n <Tag v-if=\"isCrossSell\" class=\"mb-auto\" :value=\"$t('enum.itemProductType.' + item.productType)\" />\r\n </div>\r\n </div>\r\n <template v-if=\"!isCrossSell\">\r\n <Divider />\r\n <p v-if=\"showIntro\" class=\"intro-text text-preline\" v-html=\"item.intro\" />\r\n </template>\r\n </div>\r\n <div v-if=\"!isGridLayout\" class=\"h-100 card-list-image\" :style=\"{ backgroundImage: `url(${ item.overviewImageUrl}), url(${(isServiceType() ? '/Static/images/default-dienst.png' : '/Static/images/default-training.png')})` }\"></div>\r\n </template>\r\n\t\t</Card>\r\n\t</a>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Divider from \"primevue/divider\";\r\nimport Tag from \"primevue/tag\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { ItemProductType } from \"@/types/enum/itemProductType\";\r\nimport { PropType } from \"vue\";\r\nimport { ServiceItemViewModel } from \"@/types/models/service/serviceItemViewModel\";\r\n\r\n@Component({ components: { Divider, Tag } })\r\nexport default class ServiceOverviewItemCard extends BaseComponent {\r\n @Prop({ type: Object as PropType<ServiceItemViewModel>, required: true, default: {} }) item!: ServiceItemViewModel;\r\n\r\n\t@Prop({ type: String, required: true, default: \"grid\" }) layout!: string;\r\n\r\n\t@Prop({ type: Boolean, required: false, default: false }) compact!: boolean;\r\n\r\n @Prop({ type: Boolean, default: false, required: false }) isCrossSell!: boolean;\r\n\r\n @Prop({ type: Boolean, required: false, default: true }) showIntro!: boolean;\r\n // todo?\r\n @Prop({ type: Boolean, required: false, default: true }) showHeaderImage!: boolean;\r\n\r\n\tcreated() {\r\n console.log('ServiceOverviewItemCard.vue');\r\n }\r\n\r\n isServiceType(): boolean {\r\n return this.item?.productType === ItemProductType.Service;\r\n }\r\n\r\n\tget isGridLayout(): boolean {\r\n\t\treturn this.layout === \"grid\";\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n .service-card-item {\r\n display: block;\r\n height: 100%;\r\n }\r\n\r\n .productname {\r\n\t display: -webkit-box;\r\n\t -webkit-line-clamp: 2;\r\n\t -webkit-box-orient: vertical;\r\n\t font-size: 1.4rem;\r\n\t line-height: 1.2;\r\n\t overflow: hidden;\r\n }\r\n\r\n .course-names {\r\n font-size: 1rem;\r\n display: -webkit-box;\r\n -webkit-line-clamp: 6;\r\n -webkit-box-orient: vertical;\r\n overflow: hidden;\r\n }\r\n\r\n .intro-text {\r\n display: -webkit-box;\r\n -webkit-line-clamp: 2;\r\n -webkit-box-orient: vertical;\r\n overflow: hidden;\r\n }\r\n\r\n .overview-product-icon {\r\n height: 67px;\r\n width: 67px;\r\n }\r\n\r\n ::v-deep(.p-card) {\r\n border: var(--surface-border);\r\n transition: all 0.4s;\r\n height: 100%;\r\n\r\n &:hover {\r\n box-shadow: 4px 4px 2px 0px rgb(0 0 0 / 20%), 0 1px 4px 0 rgb(0 0 0 / 14%), 0 2px 8px 0 rgb(0 0 0 / 12%);\r\n cursor: pointer;\r\n }\r\n\r\n .p-card-body {\r\n padding: 0;\r\n flex: 1;\r\n }\r\n\r\n .p-card-content {\r\n padding: 0;\r\n display: flex;\r\n height: 100%;\r\n }\r\n\r\n .card-list-info {\r\n padding: 40px 50px;\r\n background-color: #f9f9f9;\r\n }\r\n\r\n .card-list-image {\r\n background-size: cover;\r\n background-position: center;\r\n background-repeat: no-repeat;\r\n background-color: #FEE4EB;\r\n }\r\n\r\n &.compact {\r\n height: 100%;\r\n\r\n .p-card-content {\r\n padding: 0;\r\n }\r\n }\r\n\r\n &.cross-sell {\r\n height: 100%;\r\n\r\n .p-card-body {\r\n height: 100%;\r\n }\r\n\r\n .p-card-footer {\r\n display: none;\r\n }\r\n\r\n .p-card-content {\r\n padding: 0;\r\n height: 100%;\r\n min-height: 150px;\r\n\r\n .overview-product-icon {\r\n height: 54px;\r\n width: 54px;\r\n margin-right: 0.5rem;\r\n }\r\n\r\n .lead {\r\n font-size: 1.1rem;\r\n }\r\n\r\n h4 {\r\n font-size: 1.25rem;\r\n }\r\n }\r\n }\r\n\r\n &.service-list-card {\r\n display: flex;\r\n flex-wrap: wrap;\r\n margin: 0.75rem;\r\n\r\n .card-list-image, .card-list-info {\r\n flex: 1 1 50%;\r\n box-sizing: border-box;\r\n }\r\n }\r\n\r\n &.service-grid-card {\r\n position: relative;\r\n\r\n .p-card-body {\r\n height: 100%;\r\n }\r\n\r\n .p-card-header {\r\n img {\r\n height: 225px;\r\n object-fit: cover;\r\n }\r\n }\r\n }\r\n }\r\n</style>\r\n","import { render } from \"./serviceOverviewItemCard.vue?vue&type=template&id=81a707e2&scoped=true&ts=true\"\nimport script from \"./serviceOverviewItemCard.vue?vue&type=script&lang=ts\"\nexport * from \"./serviceOverviewItemCard.vue?vue&type=script&lang=ts\"\n\nimport \"./serviceOverviewItemCard.vue?vue&type=style&index=0&id=81a707e2&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-81a707e2\"]])\n\nexport default __exports__","import { render } from \"./baseProductOverviewItemCard.vue?vue&type=template&id=e3a728ca&ts=true\"\nimport script from \"./baseProductOverviewItemCard.vue?vue&type=script&lang=ts\"\nexport * from \"./baseProductOverviewItemCard.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./collectionsGridBlock.vue?vue&type=template&id=75b6680d&ts=true\"\nimport script from \"./collectionsGridBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./collectionsGridBlock.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveDirective as _resolveDirective, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, normalizeClass as _normalizeClass, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-36ef79ec\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"container\" }\nconst _hoisted_2 = { class: \"row\" }\nconst _hoisted_3 = [\"alt\"]\nconst _hoisted_4 = [\"innerHTML\"]\nconst _hoisted_5 = {\n key: 0,\n class: \"display-4\"\n}\nconst _hoisted_6 = { class: \"faq-items\" }\nconst _hoisted_7 = [\"href\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Card = _resolveComponent(\"Card\")!\n const _component_LinkButton = _resolveComponent(\"LinkButton\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"block\", _ctx.blockBackgroundClass(_ctx.vm.backgroundColor)])\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", {\n class: _normalizeClass(_ctx.vm.hideInfoAndImage ? 'd-none' : 'col-md-6')\n }, [\n _createVNode(_component_Card, null, {\n header: _withCtx(() => [\n (_ctx.vm.image)\n ? _withDirectives((_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n alt: _ctx.vm.image?.alt\n }, null, 8, _hoisted_3)), [\n [_directive_lazy, _ctx.vm.image?.url]\n ])\n : _createCommentVNode(\"\", true)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"p\", {\n class: \"\",\n innerHTML: _ctx.vm.intro\n }, null, 8, _hoisted_4)\n ]),\n _: 1\n })\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"pt-2 pt-md-0\", _ctx.vm.hideInfoAndImage ? 'col-12' : 'col-md-6 '])\n }, [\n (_ctx.vm.title)\n ? (_openBlock(), _createElementBlock(\"h2\", _hoisted_5, _toDisplayString(_ctx.vm.title), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"ul\", _hoisted_6, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.faqItems, (item) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: `item_${item.faqId}`,\n class: \"faq-item\"\n }, [\n _createElementVNode(\"a\", {\n class: \"p-button p-button-arrow p-button-outlined\",\n href: item.url\n }, _toDisplayString(item.title), 9, _hoisted_7)\n ]))\n }), 128))\n ]),\n (_ctx.vm.faqLinkItem)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 1,\n class: _normalizeClass(\r\n\t\t\t\t\t\t\t_ctx.ctaButtonClass(_ctx.vm.linkItemStyle)\r\n\t\t\t\t\t\t\t\t? _ctx.ctaButtonClass(_ctx.vm.linkItemStyle)\r\n\t\t\t\t\t\t\t\t: 'p-button-text p-button-raised p-button-arrow'\r\n\t\t\t\t\t\t),\n label: _ctx.vm.faqLinkItem.text,\n target: _ctx.vm.faqLinkItem.target,\n title: _ctx.vm.faqLinkItem.title,\n url: _ctx.vm.faqLinkItem.url\n }, null, 8, [\"class\", \"label\", \"target\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ], 2)\n ])\n ])\n ], 2))\n}","<template>\r\n\t<div class=\"block\" :class=\"blockBackgroundClass(vm.backgroundColor)\">\r\n\t\t<div class=\"container\">\r\n\t\t\t<div class=\"row\">\r\n\t\t\t\t<div :class=\"vm.hideInfoAndImage ? 'd-none' : 'col-md-6'\">\r\n\t\t\t\t\t<Card>\r\n\t\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t\t<img v-if=\"vm.image\" v-lazy=\"vm.image?.url\" :alt=\"vm.image?.alt\" />\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t<p class=\"\" v-html=\"vm.intro\"></p>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</Card>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"pt-2 pt-md-0\" :class=\"vm.hideInfoAndImage ? 'col-12' : 'col-md-6 '\">\r\n\t\t\t\t\t<h2 v-if=\"vm.title\" class=\"display-4\">{{ vm.title }}</h2>\r\n\t\t\t\t\t<ul class=\"faq-items\">\r\n\t\t\t\t\t\t<li v-for=\"item in vm.faqItems\" :key=\"`item_${item.faqId}`\" class=\"faq-item\">\r\n\t\t\t\t\t\t\t<a class=\"p-button p-button-arrow p-button-outlined\" :href=\"item.url\">\r\n\t\t\t\t\t\t\t\t{{ item.title }}\r\n\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t</li>\r\n\t\t\t\t\t</ul>\r\n\t\t\t\t\t<LinkButton\r\n\t\t\t\t\t\tv-if=\"vm.faqLinkItem\"\r\n\t\t\t\t\t\t:class=\"\r\n\t\t\t\t\t\t\tctaButtonClass(vm.linkItemStyle)\r\n\t\t\t\t\t\t\t\t? ctaButtonClass(vm.linkItemStyle)\r\n\t\t\t\t\t\t\t\t: 'p-button-text p-button-raised p-button-arrow'\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t:label=\"vm.faqLinkItem.text\"\r\n\t\t\t\t\t\t:target=\"vm.faqLinkItem.target\"\r\n\t\t\t\t\t\t:title=\"vm.faqLinkItem.title\"\r\n\t\t\t\t\t\t:url=\"vm.faqLinkItem.url\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseBlock from \"@/components/base/baseBlock.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { FeaturedFaqBlockViewModel } from \"@/types/viewModels/blocks/featuredFaqBlockViewModel\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\n\r\n@Component\r\nexport default class FeaturedFaqBlock extends BaseBlock {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<FeaturedFaqBlockViewModel>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: FeaturedFaqBlockViewModel;\r\n\r\n\tcreated(): void {\r\n\t\tLog.info(\"FeaturedFaqBlock\", this.vm);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.faq-item {\r\n\t&:hover {\r\n\t\ta {\r\n\t\t\tbackground-color: var(--surface-e);\r\n\t\t}\r\n\t}\r\n\r\n\ta {\r\n\t\tbackground-color: var(--surface-a);\r\n\t\tborder: 1px solid var(--surface-d);\r\n\t\tfont-size: 1.1rem;\r\n\t\ttext-decoration: none;\r\n\t\tjustify-content: space-between;\r\n\t\ttext-align: left;\r\n\t\twidth: 100%;\r\n\t\tmargin-left: 0;\r\n\t\tmargin-bottom: 0.5rem;\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./featuredFaqBlock.vue?vue&type=template&id=36ef79ec&scoped=true&ts=true\"\nimport script from \"./featuredFaqBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./featuredFaqBlock.vue?vue&type=script&lang=ts\"\n\nimport \"./featuredFaqBlock.vue?vue&type=style&index=0&id=36ef79ec&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-36ef79ec\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createBlock as _createBlock, normalizeClass as _normalizeClass, renderList as _renderList, Fragment as _Fragment, resolveDirective as _resolveDirective, withDirectives as _withDirectives } from \"vue\"\n\nconst _hoisted_1 = {\n key: 0,\n autoplay: \"\",\n class: \"video-header__video\",\n height: \"100%\",\n loop: \"\",\n muted: \"\",\n width: \"100%\"\n}\nconst _hoisted_2 = [\"src\"]\nconst _hoisted_3 = {\n key: 1,\n class: \"hero__background\"\n}\nconst _hoisted_4 = [\"alt\", \"src\"]\nconst _hoisted_5 = { key: 2 }\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"svg\", {\n class: \"hero__background-circles\",\n viewBox: \"0 0 1154 1154\"\n}, [\n /*#__PURE__*/_createElementVNode(\"g\", {\n fill: \"#FFF\",\n \"fill-rule\": \"evenodd\"\n }, [\n /*#__PURE__*/_createElementVNode(\"circle\", {\n cx: \"577\",\n cy: \"577\",\n opacity: \".033\",\n r: \"577\"\n }),\n /*#__PURE__*/_createElementVNode(\"circle\", {\n cx: \"577.5\",\n cy: \"576.5\",\n opacity: \".037\",\n r: \"405.5\"\n })\n ])\n], -1)\nconst _hoisted_7 = [\n _hoisted_6\n]\nconst _hoisted_8 = { class: \"hero__body\" }\nconst _hoisted_9 = { class: \"container\" }\nconst _hoisted_10 = { class: \"w-75 text-white\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"display-3 text-shadow\"\n}\nconst _hoisted_12 = {\n key: 1,\n class: \"display-5\"\n}\nconst _hoisted_13 = { class: \"hero__cta\" }\nconst _hoisted_14 = {\n key: 3,\n class: \"hero__footer\"\n}\nconst _hoisted_15 = { class: \"container\" }\nconst _hoisted_16 = { class: \"hero__logos hidden-xs\" }\nconst _hoisted_17 = [\"alt\"]\nconst _hoisted_18 = { class: \"visible-xs\" }\nconst _hoisted_19 = { class: \"hero__logos\" }\nconst _hoisted_20 = [\"alt\"]\nconst _hoisted_21 = {\n key: 4,\n class: \"hero__footer\"\n}\nconst _hoisted_22 = { class: \"container\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_HeroSearchBar = _resolveComponent(\"HeroSearchBar\")!\n const _component_LinkButton = _resolveComponent(\"LinkButton\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"hero\", { 'has-image': _ctx.vm.backgroundImageUrl, [_ctx.backgroundColor]: _ctx.backgroundColor }])\n }, [\n (_ctx.vm.backgroundVideoUrl)\n ? (_openBlock(), _createElementBlock(\"video\", _hoisted_1, [\n _createElementVNode(\"source\", {\n src: _ctx.vm.backgroundVideoUrl\n }, null, 8, _hoisted_2)\n ]))\n : (_ctx.vm.backgroundImageUrl)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"img\", {\n alt: _ctx.vm.backgroundImageAlt,\n class: \"hero__background__image\",\n src: _ctx.vm.backgroundImageUrl\n }, null, 8, _hoisted_4)\n ]))\n : (_ctx.vm.heroBackgroundColor === _ctx.HeroBackgroundColorEnum.magenta)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, _hoisted_7))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n (_ctx.vm.title)\n ? (_openBlock(), _createElementBlock(\"h1\", _hoisted_11, _toDisplayString(_ctx.vm.title), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.subtitle)\n ? (_openBlock(), _createElementBlock(\"h3\", _hoisted_12, _toDisplayString(_ctx.vm.subtitle), 1))\n : _createCommentVNode(\"\", true)\n ]),\n (!_ctx.vm.hideSearch && _ctx.vm.searchBarVerticalAlignment === _ctx.VerticalAlignmentEnum.top)\n ? (_openBlock(), _createBlock(_component_HeroSearchBar, {\n key: 0,\n vm: _ctx.vm\n }, null, 8, [\"vm\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_13, [\n (_ctx.vm.ctaButton)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 0,\n class: _normalizeClass([\"p-button-success p-button-raised p-button-arrow\", { 'p-button-lg': !_ctx.isSmallScreen }]),\n label: _ctx.vm.ctaButton.text,\n target: _ctx.vm.ctaButton.target,\n title: _ctx.vm.ctaButton.title,\n url: _ctx.vm.ctaButton.url\n }, null, 8, [\"class\", \"label\", \"target\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.ctaLink)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 1,\n class: _normalizeClass([\"p-button-link\", {\r\n\t\t\t\t\t\t\t'p-button-lg': !_ctx.isSmallScreen,\r\n\t\t\t\t\t\t\t'p-button-primary':\r\n\t\t\t\t\t\t\t\t_ctx.vm.heroBackgroundColor === _ctx.HeroBackgroundColorEnum.grey || _ctx.vm.backgroundImageUrl,\r\n\t\t\t\t\t\t}]),\n label: _ctx.vm.ctaLink.text,\n target: _ctx.vm.ctaLink.target,\n title: _ctx.vm.ctaLink.title,\n url: _ctx.vm.ctaLink.url\n }, null, 8, [\"class\", \"label\", \"target\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n (!_ctx.vm.hideCompanyLogos && _ctx.vm.companyLogoUrls?.length)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", _hoisted_16, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.companyLogoUrls, (companyLogo, i) => {\n return (_openBlock(), _createElementBlock(\"div\", { key: i }, [\n _withDirectives(_createElementVNode(\"img\", {\n alt: 'companyLogo' + i\n }, null, 8, _hoisted_17), [\n [_directive_lazy, companyLogo]\n ])\n ]))\n }), 128))\n ]),\n (!_ctx.vm.hideSearch && _ctx.vm.searchBarVerticalAlignment === _ctx.VerticalAlignmentEnum.bottom)\n ? (_openBlock(), _createBlock(_component_HeroSearchBar, {\n key: 0,\n vm: _ctx.vm\n }, null, 8, [\"vm\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_18, [\n _createElementVNode(\"div\", _hoisted_19, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.companyLogoUrls, (companyLogo, i) => {\n return (_openBlock(), _createElementBlock(\"div\", { key: i }, [\n _withDirectives(_createElementVNode(\"img\", {\n alt: 'companyLogo' + i\n }, null, 8, _hoisted_20), [\n [_directive_lazy, companyLogo]\n ])\n ]))\n }), 128))\n ])\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n ((_ctx.vm.hideCompanyLogos || !_ctx.vm.companyLogoUrls?.length) && !_ctx.vm.hideSearch)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_21, [\n _createElementVNode(\"div\", _hoisted_22, [\n (!_ctx.vm.hideSearch && _ctx.vm.searchBarVerticalAlignment === _ctx.VerticalAlignmentEnum.bottom)\n ? (_openBlock(), _createBlock(_component_HeroSearchBar, {\n key: 0,\n vm: _ctx.vm\n }, null, 8, [\"vm\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 2))\n}","<template>\r\n\t<div class=\"hero\" :class=\"{ 'has-image': vm.backgroundImageUrl, [backgroundColor]: backgroundColor }\">\r\n\t\t<video\r\n\t\t\tv-if=\"vm.backgroundVideoUrl\"\r\n\t\t\tautoplay\r\n\t\t\tclass=\"video-header__video\"\r\n\t\t\theight=\"100%\"\r\n\t\t\tloop\r\n\t\t\tmuted\r\n\t\t\twidth=\"100%\"\r\n\t\t>\r\n\t\t\t<source :src=\"vm.backgroundVideoUrl\" />\r\n\t\t</video>\r\n\r\n\t\t<div v-else-if=\"vm.backgroundImageUrl\" class=\"hero__background\">\r\n\t\t\t<img :alt=\"vm.backgroundImageAlt\" class=\"hero__background__image\" :src=\"vm.backgroundImageUrl\" />\r\n\t\t</div>\r\n\r\n\t\t<div v-else-if=\"vm.heroBackgroundColor === HeroBackgroundColorEnum.magenta\">\r\n\t\t\t<svg class=\"hero__background-circles\" viewBox=\"0 0 1154 1154\">\r\n\t\t\t\t<g fill=\"#FFF\" fill-rule=\"evenodd\">\r\n\t\t\t\t\t<circle cx=\"577\" cy=\"577\" opacity=\".033\" r=\"577\" />\r\n\t\t\t\t\t<circle cx=\"577.5\" cy=\"576.5\" opacity=\".037\" r=\"405.5\" />\r\n\t\t\t\t</g>\r\n\t\t\t</svg>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"hero__body\">\r\n\t\t\t<div class=\"container\">\r\n\t\t\t\t<div class=\"w-75 text-white\">\r\n\t\t\t\t\t<h1 v-if=\"vm.title\" class=\"display-3 text-shadow\">{{ vm.title }}</h1>\r\n\t\t\t\t\t<h3 v-if=\"vm.subtitle\" class=\"display-5\">{{ vm.subtitle }}</h3>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<HeroSearchBar\r\n\t\t\t\t\tv-if=\"!vm.hideSearch && vm.searchBarVerticalAlignment === VerticalAlignmentEnum.top\"\r\n\t\t\t\t\t:vm=\"vm\"\r\n\t\t\t\t/>\r\n\r\n\t\t\t\t<div class=\"hero__cta\">\r\n\t\t\t\t\t<LinkButton\r\n\t\t\t\t\t\tv-if=\"vm.ctaButton\"\r\n\t\t\t\t\t\tclass=\"p-button-success p-button-raised p-button-arrow\"\r\n\t\t\t\t\t\t:class=\"{ 'p-button-lg': !isSmallScreen }\"\r\n\t\t\t\t\t\t:label=\"vm.ctaButton.text\"\r\n\t\t\t\t\t\t:target=\"vm.ctaButton.target\"\r\n\t\t\t\t\t\t:title=\"vm.ctaButton.title\"\r\n\t\t\t\t\t\t:url=\"vm.ctaButton.url\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<LinkButton\r\n\t\t\t\t\t\tv-if=\"vm.ctaLink\"\r\n\t\t\t\t\t\tclass=\"p-button-link\"\r\n\t\t\t\t\t\t:class=\"{\r\n\t\t\t\t\t\t\t'p-button-lg': !isSmallScreen,\r\n\t\t\t\t\t\t\t'p-button-primary':\r\n\t\t\t\t\t\t\t\tvm.heroBackgroundColor === HeroBackgroundColorEnum.grey || vm.backgroundImageUrl,\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t:label=\"vm.ctaLink.text\"\r\n\t\t\t\t\t\t:target=\"vm.ctaLink.target\"\r\n\t\t\t\t\t\t:title=\"vm.ctaLink.title\"\r\n\t\t\t\t\t\t:url=\"vm.ctaLink.url\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div v-if=\"!vm.hideCompanyLogos && vm.companyLogoUrls?.length\" class=\"hero__footer\">\r\n\t\t\t<div class=\"container\">\r\n\t\t\t\t<div class=\"hero__logos hidden-xs\">\r\n\t\t\t\t\t<div v-for=\"(companyLogo, i) in vm.companyLogoUrls\" :key=\"i\">\r\n\t\t\t\t\t\t<img v-lazy=\"companyLogo\" :alt=\"'companyLogo' + i\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<HeroSearchBar\r\n\t\t\t\t\tv-if=\"!vm.hideSearch && vm.searchBarVerticalAlignment === VerticalAlignmentEnum.bottom\"\r\n\t\t\t\t\t:vm=\"vm\"\r\n\t\t\t\t/>\r\n\r\n\t\t\t\t<div class=\"visible-xs\">\r\n\t\t\t\t\t<div class=\"hero__logos\">\r\n\t\t\t\t\t\t<div v-for=\"(companyLogo, i) in vm.companyLogoUrls\" :key=\"i\">\r\n\t\t\t\t\t\t\t<img v-lazy=\"companyLogo\" :alt=\"'companyLogo' + i\" />\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div v-if=\"(vm.hideCompanyLogos || !vm.companyLogoUrls?.length) && !vm.hideSearch\" class=\"hero__footer\">\r\n\t\t\t<div class=\"container\">\r\n\t\t\t\t<HeroSearchBar\r\n\t\t\t\t\tv-if=\"!vm.hideSearch && vm.searchBarVerticalAlignment === VerticalAlignmentEnum.bottom\"\r\n\t\t\t\t\t:vm=\"vm\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport HeroSearchBar from \"@/components/common/heroSearchBar.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { HeroBackgroundColor } from \"@/types/enum/heroBackgroundColor\";\r\nimport { HeroDefaultBlockViewModel } from \"@/types/viewModels/blocks/heroDefaultBlockViewModel\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { VerticalAlignment } from \"@/types/enum/verticalAlignment\";\r\n\r\n@Component({ components: { HeroSearchBar } })\r\nexport default class HeroDefaultBlock extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<HeroDefaultBlockViewModel>, required: true, default: {} })\r\n\tvm!: HeroDefaultBlockViewModel;\r\n\r\n\tcreated(): void {\r\n\t\tLog.info(\"HeroDefaultBlockVm\", this.vm);\r\n\t}\r\n\r\n\tget HeroBackgroundColorEnum(): typeof HeroBackgroundColor {\r\n\t\treturn HeroBackgroundColor;\r\n\t}\r\n\r\n\tget VerticalAlignmentEnum(): typeof VerticalAlignment {\r\n\t\treturn VerticalAlignment;\r\n\t}\r\n\r\n\tget backgroundColor(): string {\r\n\t\tswitch (this.vm.heroBackgroundColor) {\r\n\t\t\tcase HeroBackgroundColor.grey:\r\n\t\t\t\treturn \"background-grey\";\r\n\t\t\tcase HeroBackgroundColor.magenta:\r\n\t\t\t\treturn \"background-purple\";\r\n\t\t\tdefault:\r\n\t\t\t\treturn \"\";\r\n\t\t}\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, withCtx as _withCtx, createVNode as _createVNode, resolveDirective as _resolveDirective, withDirectives as _withDirectives, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-9bea785c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"hero-search-bar\" }\nconst _hoisted_2 = { class: \"pt-2 pl-2\" }\nconst _hoisted_3 = { class: \"mb-0\" }\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = [\"title\"]\nconst _hoisted_6 = {\n key: 0,\n alt: \"Icon\",\n height: \"28\",\n width: \"28\"\n}\nconst _hoisted_7 = { class: \"ml-2\" }\nconst _hoisted_8 = {\n key: 0,\n class: \"px-2 pb-2\"\n}\nconst _hoisted_9 = {\n key: 1,\n class: \"my-auto\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Dropdown = _resolveComponent(\"Dropdown\")!\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_Badge = _resolveComponent(\"Badge\")!\n const _component_Chip = _resolveComponent(\"Chip\")!\n const _component_LinkButton = _resolveComponent(\"LinkButton\")!\n const _component_AutoComplete = _resolveComponent(\"AutoComplete\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_ctx.vm.searchCategoryOptions?.length)\n ? (_openBlock(), _createBlock(_component_Dropdown, {\n key: 0,\n modelValue: _ctx.searchCategory,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.searchCategory) = $event)),\n \"append-to\": \"self\",\n class: \"search-category-dropdown mr-1\",\n \"option-label\": \"label\",\n \"option-value\": \"category\",\n options: _ctx.vm.searchCategoryOptions,\n \"scroll-height\": \"300px\"\n }, null, 8, [\"modelValue\", \"options\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_AutoComplete, {\n \"append-to\": \"self\",\n class: \"search-input\",\n \"model-value\": _ctx.searchString,\n \"option-label\": \"name\",\n \"panel-class\": \"search-panel\",\n placeholder: _ctx.vm.searchPlaceholder || _ctx.$t('menu.search_placeholder'),\n \"scroll-height\": \"600px\",\n suggestions: _ctx.searchResults,\n onBlur: _cache[1] || (_cache[1] = ($event: any) => (_ctx.trackSearch(_ctx.searchString))),\n onComplete: _ctx.onSearch,\n onItemSelect: _ctx.onSearchResultSelected,\n \"onUpdate:modelValue\": _ctx.updateSearchstring\n }, {\n header: _withCtx((slotProps) => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"p\", _hoisted_3, [\n _createVNode(_component_i18n_t, { keypath: \"menu.searchResultHeader\" }, {\n query: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(slotProps.value.name ?? slotProps.value), 1)\n ]),\n count: _withCtx(() => [\n (!_ctx.hasNoResults)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, _toDisplayString(_ctx.searchResult?.totalResults), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _: 2\n }, 1024)\n ])\n ])\n ]),\n option: _withCtx((slotProps) => [\n (!_ctx.hasNoResults)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"d-flex justify-content-start flex-row px-2 py-1\",\n title: slotProps.option.intro || slotProps.option.name\n }, [\n (slotProps.option.hasIconUrl)\n ? _withDirectives((_openBlock(), _createElementBlock(\"img\", _hoisted_6, null, 512)), [\n [_directive_lazy, slotProps.option.iconUrl]\n ])\n : (_openBlock(), _createBlock(_component_Badge, {\n key: 1,\n value: slotProps.option.type.charAt(0)\n }, null, 8, [\"value\"])),\n _createElementVNode(\"div\", _hoisted_7, _toDisplayString(slotProps.option.name), 1),\n _createElementVNode(\"div\", null, [\n _createVNode(_component_Chip, { class: \"p-chip-secondary ml-2\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(slotProps.option.type), 1)\n ]),\n _: 2\n }, 1024)\n ])\n ], 8, _hoisted_5))\n : _createCommentVNode(\"\", true)\n ]),\n footer: _withCtx(() => [\n (_ctx.hasNoResults)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, _toDisplayString(_ctx.$t(\"menu.noSearchResults\")), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.showDisplayAllResultsButton)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 1,\n class: \"p-button-text p-button-secondary ml-2 mb-1\",\n label: _ctx.$t('menu.button.showAllSearchResults'),\n url: _ctx.searchPageUrl\n }, null, 8, [\"label\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"model-value\", \"placeholder\", \"suggestions\", \"onComplete\", \"onItemSelect\", \"onUpdate:modelValue\"]),\n (!_ctx.vm.hideAdvancedSearchButton && !_ctx.isSmallScreen)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createVNode(_component_Button, {\n class: \"search-button ml-2 p-button-raised\",\n label: _ctx.$t('common.advancedSearch'),\n title: _ctx.$t('common.advancedSearch'),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (this.openUrl(_ctx.searchPageUrl)))\n }, null, 8, [\"label\", \"title\"])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}","<template>\r\n\t<div class=\"hero-search-bar\">\r\n\t\t<Dropdown\r\n\t\t\tv-if=\"vm.searchCategoryOptions?.length\"\r\n\t\t\tv-model=\"searchCategory\"\r\n\t\t\tappend-to=\"self\"\r\n\t\t\tclass=\"search-category-dropdown mr-1\"\r\n\t\t\toption-label=\"label\"\r\n\t\t\toption-value=\"category\"\r\n\t\t\t:options=\"vm.searchCategoryOptions\"\r\n\t\t\tscroll-height=\"300px\"\r\n\t\t>\r\n\t\t</Dropdown>\r\n\t\t<AutoComplete\r\n\t\t\tappend-to=\"self\"\r\n\t\t\tclass=\"search-input\"\r\n\t\t\t:model-value=\"searchString\"\r\n\t\t\toption-label=\"name\"\r\n\t\t\tpanel-class=\"search-panel\"\r\n\t\t\t:placeholder=\"vm.searchPlaceholder || $t('menu.search_placeholder')\"\r\n\t\t\tscroll-height=\"600px\"\r\n\t\t\t:suggestions=\"searchResults\"\r\n\t\t\t@blur=\"trackSearch(searchString)\"\r\n\t\t\t@complete=\"onSearch\"\r\n\t\t\t@item-select=\"onSearchResultSelected\"\r\n\t\t\t@update:modelValue=\"updateSearchstring\"\r\n\t\t>\r\n\t\t\t<template #header=\"slotProps\">\r\n\t\t\t\t<div class=\"pt-2 pl-2\">\r\n\t\t\t\t\t<p class=\"mb-0\">\r\n\t\t\t\t\t\t<i18n-t keypath=\"menu.searchResultHeader\">\r\n\t\t\t\t\t\t\t<template #query>\r\n\t\t\t\t\t\t\t\t<b>{{ slotProps.value.name ?? slotProps.value }}</b>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t<template #count>\r\n\t\t\t\t\t\t\t\t<span v-if=\"!hasNoResults\">\r\n\t\t\t\t\t\t\t\t\t{{ searchResult?.totalResults }}\r\n\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</i18n-t>\r\n\t\t\t\t\t</p>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t\t<template #option=\"slotProps\">\r\n\t\t\t\t<div\r\n\t\t\t\t\tv-if=\"!hasNoResults\"\r\n\t\t\t\t\tclass=\"d-flex justify-content-start flex-row px-2 py-1\"\r\n\t\t\t\t\t:title=\"slotProps.option.intro || slotProps.option.name\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<img\r\n\t\t\t\t\t\tv-if=\"slotProps.option.hasIconUrl\"\r\n\t\t\t\t\t\tv-lazy=\"slotProps.option.iconUrl\"\r\n\t\t\t\t\t\talt=\"Icon\"\r\n\t\t\t\t\t\theight=\"28\"\r\n\t\t\t\t\t\twidth=\"28\"\r\n\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t<Badge v-else :value=\"slotProps.option.type.charAt(0)\"></Badge>\r\n\r\n\t\t\t\t\t<div class=\"ml-2\">\r\n\t\t\t\t\t\t{{ slotProps.option.name }}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<Chip class=\"p-chip-secondary ml-2\">{{ slotProps.option.type }}</Chip>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t\t<template #footer>\r\n\t\t\t\t<div v-if=\"hasNoResults\" class=\"px-2 pb-2\">\r\n\t\t\t\t\t{{ $t(\"menu.noSearchResults\") }}\r\n\t\t\t\t</div>\r\n\t\t\t\t<LinkButton\r\n\t\t\t\t\tv-if=\"showDisplayAllResultsButton\"\r\n\t\t\t\t\tclass=\"p-button-text p-button-secondary ml-2 mb-1\"\r\n\t\t\t\t\t:label=\"$t('menu.button.showAllSearchResults')\"\r\n\t\t\t\t\t:url=\"searchPageUrl\"\r\n\t\t\t\t/>\r\n\t\t\t\t<!--\t\t\t\t<div class=\"pl-2 pb-2\">-->\r\n\t\t\t\t<!--\t\t\t\t\t<p class=\"text-muted\">{{ $t(\"menu.searchResultFooter\") }}</p>-->\r\n\t\t\t\t<!--\t\t\t\t\t<div>-->\r\n\t\t\t\t<!--\t\t\t\t\t\t<Button-->\r\n\t\t\t\t<!--\t\t\t\t\t\t\tv-for=\"option in relatedSearches\"-->\r\n\t\t\t\t<!--\t\t\t\t\t\t\t:key=\"option\"-->\r\n\t\t\t\t<!--\t\t\t\t\t\t\t:label=\"option\"-->\r\n\t\t\t\t<!--\t\t\t\t\t\t\tclass=\"p-button-sm p-button-outlined p-button-rounded mr-2\"-->\r\n\t\t\t\t<!--\t\t\t\t\t\t\t@click.stop=\"onRelatedSearchTermSelected($event, option)\"-->\r\n\t\t\t\t<!--\t\t\t\t\t\t/>-->\r\n\t\t\t\t<!--\t\t\t\t\t</div>-->\r\n\t\t\t\t<!--\t\t\t\t</div>-->\r\n\t\t\t</template>\r\n\t\t</AutoComplete>\r\n\t\t<div v-if=\"!vm.hideAdvancedSearchButton && !isSmallScreen\" class=\"my-auto\">\r\n\t\t\t<Button\r\n\t\t\t\tclass=\"search-button ml-2 p-button-raised\"\r\n\t\t\t\t:label=\"$t('common.advancedSearch')\"\r\n\t\t\t\t:title=\"$t('common.advancedSearch')\"\t\t\t\t\r\n\t\t\t\t@click=\"this.openUrl(searchPageUrl)\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport AutoComplete, { AutoCompleteCompleteEvent, AutoCompleteItemSelectEvent } from \"primevue/autocomplete\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Chip from \"primevue/chip\";\r\nimport Dropdown from \"primevue/dropdown\";\r\nimport OverlayPanel from \"primevue/overlaypanel\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { PropType } from \"vue\";\r\nimport { SearchCategory } from \"@/types/enum/searchCategory\";\r\nimport { SearchOptionViewModel } from \"@/types/models/search/searchOption\";\r\nimport { SearchResultItemViewModel } from \"@/types/models/search/searchResultItem\";\r\nimport { SearchResultViewModel } from \"@/types/models/search/searchResult\";\r\nimport { isEmpty } from \"lodash\";\r\n\r\nexport interface IHeroSearchBar {\r\n\tsearchCategoryOptions: SearchOptionViewModel[];\r\n\tsearchPlaceholder: string;\r\n\tdefaultSearchCategory: SearchCategory;\r\n\thideAdvancedSearchButton: boolean;\r\n}\r\n\r\n@Component({ components: { OverlayPanel, Dropdown, AutoComplete, Chip } })\r\nexport default class HeroSearchBar extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IHeroSearchBar>, required: true, default: {} }) vm!: IHeroSearchBar;\r\n\r\n\trelatedSearches: string[] = [];\r\n\tsearchResult!: SearchResultViewModel;\r\n\tsearchCategory!: SearchCategory;\r\n\tsearchString = \"\";\r\n\r\n\tcreated(): void {\r\n\t\tthis.relatedSearches = [\"Revit 2021\", \"Revit Training\", \"Revit Expert\"];\r\n\t\tthis.searchCategory = this.vm.defaultSearchCategory || SearchCategory.all;\r\n\t}\r\n\r\n\tget searchResults(): SearchResultItemViewModel[] {\r\n\t\treturn this.searchResult?.items || [];\r\n\t}\r\n\r\n\tget showDisplayAllResultsButton(): boolean {\r\n\t\treturn (\r\n\t\t\t!this.hasNoResults && this.searchResults.length < this.searchResult.totalResults && !!this.searchString\r\n\t\t);\r\n\t}\r\n\r\n\tget hasNoResults(): boolean {\r\n\t\treturn this.searchResult.totalResults < 1;\r\n\t}\r\n\r\n\tget searchPageUrl(): string {\r\n\t\tconst queryParams = new URLSearchParams(\"\");\r\n\t\tif (this.searchString) queryParams.append(\"query\", this.searchString);\r\n\t\tqueryParams.append(\"category\", this.searchCategory.toString());\r\n\t\tqueryParams.append(\"allowRedirect\", \"true\");\r\n\t\tconst url = new URL(`${window.location.origin}/${this.layoutStore.vm.searchPageUrl}`);\r\n\t\turl.search = queryParams.toString();\r\n\t\treturn url.toString();\r\n\t}\r\n\r\n\tonSearch(event: AutoCompleteCompleteEvent): void {\r\n\t\tconst queryParams = new URLSearchParams(\"\");\r\n\t\tqueryParams.append(\"query\", event.query);\r\n\t\tqueryParams.append(\"category\", this.searchCategory.toString());\r\n\t\tqueryParams.append(\"allowRedirect\", \"true\");\r\n\t\tconst url = new URL(`${window.location.origin}/api/${this.layoutStore.vm.localizationPrefix}/search/`);\r\n\t\turl.search = queryParams.toString();\r\n\t\tthis.axios.get<SearchResultViewModel>(url.toString(), { requestId: \"heroSearch\" }).then((x) => {\r\n\t\t\tthis.searchResult = x.data;\r\n\t\t\t// If there are no results, add an empty item to the itemlist as a hack to show the autocomplete result dropdown anyway.\r\n\t\t\tif (this.hasNoResults) {\r\n\t\t\t\tthis.searchResult.items.push({} as any);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\t// getRelatedSearches(): void {\r\n\t// \tthis.axios.get(`/find_v2/_didyoumean?query=${encodeURIComponent(this.searchString)}&size=5`).then((res) => {\r\n\t// \t\tconsole.log(res);\r\n\t// \t});\r\n\t// }\r\n\r\n\tonSearchResultSelected(event: AutoCompleteItemSelectEvent): void {\r\n\t\tthis.trackSearch(this.searchString);\r\n\t\tconst item = event.value as SearchResultItemViewModel;\r\n\t\tif (!isEmpty(item)) this.openUrl(item.pageUrl);\r\n\t}\r\n\r\n\tonRelatedSearchTermSelected(event: InputEvent, option: string): void {\r\n\t\tthis.searchString = option;\r\n\t\tthis.onSearch({ originalEvent: event, query: option });\r\n\t}\r\n\r\n\tupdateSearchstring(str: any): void {\r\n\t\tif (typeof str === \"string\") this.searchString = str;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n\t.hero-search-bar {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: row;\r\n\t\tflex: 1;\r\n\t\theight: 3.5rem;\r\n\r\n\t\t.search-category-dropdown {\r\n\t\t\tdisplay: flex;\r\n\t\t\tflex: 1;\r\n\t\t\talign-items: center;\r\n\t\t\tmax-width: clamp(150px, 20%, 225px);\r\n\r\n\t\t\t::v-deep(.p-inputtext) {\r\n\t\t\t\tpadding: 0.5rem 1rem;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.search-input {\r\n\t\t\tdisplay: flex;\r\n\t\t\tflex: 3;\r\n\r\n\t\t\t::v-deep(.p-inputtext) {\r\n\t\t\t\tpadding: 0.5rem 1rem;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t::v-deep(.p-autocomplete-item) {\r\n\t\twhite-space: initial !important;\r\n\t}\r\n\r\n .search-button {\r\n background: #91004b;\r\n display: block;\r\n height: 3.4rem;\r\n border-radius: 0.1875rem;\r\n }\r\n</style>\r\n","/* Auto Generated */\r\n\r\nexport enum SearchCategory {\r\n\tall,\r\n\tsoftware,\r\n\ttraining,\r\n\texperts,\r\n\tservices,\r\n\tcontent,\r\n\tfaq,\r\n}\r\n","import { render } from \"./heroSearchBar.vue?vue&type=template&id=9bea785c&scoped=true&ts=true\"\nimport script from \"./heroSearchBar.vue?vue&type=script&lang=ts\"\nexport * from \"./heroSearchBar.vue?vue&type=script&lang=ts\"\n\nimport \"./heroSearchBar.vue?vue&type=style&index=0&id=9bea785c&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-9bea785c\"]])\n\nexport default __exports__","/* Auto Generated */\r\n\r\nexport enum HeroBackgroundColor {\r\n\tgrey,\r\n\tmagenta,\r\n\tblue,\r\n}\r\n","/* Auto Generated */\r\n\r\nexport enum VerticalAlignment {\r\n\ttop,\r\n\tbottom,\r\n}\r\n","import { render } from \"./heroDefaultBlock.vue?vue&type=template&id=821180a6&ts=true\"\nimport script from \"./heroDefaultBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./heroDefaultBlock.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, resolveComponent as _resolveComponent, createBlock as _createBlock, resolveDirective as _resolveDirective, withDirectives as _withDirectives, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-38c8aad8\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n autoplay: \"\",\n class: \"video-header__video\",\n height: \"100%\",\n loop: \"\",\n muted: \"\",\n width: \"100%\"\n}\nconst _hoisted_2 = [\"src\"]\nconst _hoisted_3 = {\n key: 1,\n class: \"hero__background\"\n}\nconst _hoisted_4 = [\"alt\", \"src\"]\nconst _hoisted_5 = { key: 2 }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"svg\", {\n class: \"hero__background-circles\",\n viewBox: \"0 0 1154 1154\"\n}, [\n /*#__PURE__*/_createElementVNode(\"g\", {\n fill: \"#FFF\",\n \"fill-rule\": \"evenodd\"\n }, [\n /*#__PURE__*/_createElementVNode(\"circle\", {\n cx: \"577\",\n cy: \"577\",\n opacity: \".033\",\n r: \"577\"\n }),\n /*#__PURE__*/_createElementVNode(\"circle\", {\n cx: \"577.5\",\n cy: \"576.5\",\n opacity: \".037\",\n r: \"405.5\"\n })\n ])\n], -1))\nconst _hoisted_7 = [\n _hoisted_6\n]\nconst _hoisted_8 = { class: \"hero__body\" }\nconst _hoisted_9 = { class: \"container\" }\nconst _hoisted_10 = { class: \"row row-gap-2\" }\nconst _hoisted_11 = { class: \"col-md-8\" }\nconst _hoisted_12 = {\n key: 1,\n class: \"d-flex hero__footer mt-3 gap-2\"\n}\nconst _hoisted_13 = {\n key: 0,\n class: \"col-md-4 mt-2 m-md-0\"\n}\nconst _hoisted_14 = { class: \"d-flex p-2\" }\nconst _hoisted_15 = [\"alt\"]\nconst _hoisted_16 = { class: \"d-flex flex-column\" }\nconst _hoisted_17 = {\n key: 0,\n class: \"lead font-weight-bold mb-0\"\n}\nconst _hoisted_18 = { class: \"text-muted\" }\nconst _hoisted_19 = { class: \"d-flex flex-column align-items-start\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_HeroSearchBar = _resolveComponent(\"HeroSearchBar\")!\n const _component_LinkButton = _resolveComponent(\"LinkButton\")!\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Card = _resolveComponent(\"Card\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"hero\", _ctx.backgroundColor])\n }, [\n (_ctx.vm.backgroundVideoUrl)\n ? (_openBlock(), _createElementBlock(\"video\", _hoisted_1, [\n _createElementVNode(\"source\", {\n src: _ctx.vm.backgroundVideoUrl\n }, null, 8, _hoisted_2)\n ]))\n : (_ctx.vm.backgroundImage?.url)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"img\", {\n alt: _ctx.vm.backgroundImage?.alt,\n class: \"hero__background__image\",\n src: _ctx.vm.backgroundImage?.url\n }, null, 8, _hoisted_4)\n ]))\n : (_ctx.vm.heroBackgroundColor === _ctx.HeroBackgroundColorEnum.magenta)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, _hoisted_7))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"h1\", {\n class: _normalizeClass([\"display-3 text-shadow\", {\r\n\t\t\t\t\t\t\t\t'text-white':\r\n\t\t\t\t\t\t\t\t\t_ctx.hasBackground || _ctx.vm.heroBackgroundColor === _ctx.HeroBackgroundColorEnum.magenta,\r\n\t\t\t\t\t\t\t}])\n }, _toDisplayString(_ctx.vm.title), 3),\n _createElementVNode(\"h3\", {\n class: _normalizeClass([\"display-5\", {\r\n\t\t\t\t\t\t\t\t'text-white':\r\n\t\t\t\t\t\t\t\t\t_ctx.hasBackground || _ctx.vm.heroBackgroundColor === _ctx.HeroBackgroundColorEnum.magenta,\r\n\t\t\t\t\t\t\t}])\n }, _toDisplayString(_ctx.vm.subtitle), 3),\n (!_ctx.vm.hideSearch)\n ? (_openBlock(), _createBlock(_component_HeroSearchBar, {\n key: 0,\n vm: _ctx.searchBarVm\n }, null, 8, [\"vm\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.firstCtaLink)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n (_ctx.vm.firstCtaLink)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 0,\n class: _normalizeClass([\"p-button-link p-button-primary\", {\r\n\t\t\t\t\t\t\t\t\t'text-white': _ctx.vm.heroBackgroundColor === _ctx.HeroBackgroundColorEnum.magenta,\r\n\t\t\t\t\t\t\t\t}]),\n label: _ctx.vm.firstCtaLink.text,\n target: _ctx.vm.firstCtaLink.target,\n title: _ctx.vm.firstCtaLink.title,\n url: _ctx.vm.firstCtaLink.url\n }, null, 8, [\"class\", \"label\", \"target\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.secondCtaLink)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 1,\n class: _normalizeClass([\"p-button-link p-button-primary\", {\r\n\t\t\t\t\t\t\t\t\t'text-white': _ctx.vm.heroBackgroundColor === _ctx.HeroBackgroundColorEnum.magenta,\r\n\t\t\t\t\t\t\t\t}]),\n label: _ctx.vm.secondCtaLink.text,\n target: _ctx.vm.secondCtaLink.target,\n title: _ctx.vm.secondCtaLink.title,\n url: _ctx.vm.secondCtaLink.url\n }, null, 8, [\"class\", \"label\", \"target\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.vm.serviceIntro && _ctx.vm.serviceTitle)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _createVNode(_component_Card, null, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_14, [\n (_ctx.vm.serviceImage)\n ? (_openBlock(), _createBlock(_component_Avatar, {\n key: 0,\n class: \"mr-2 service-img flex-shrink-0\",\n shape: \"circle\"\n }, {\n default: _withCtx(() => [\n _withDirectives(_createElementVNode(\"img\", {\n alt: _ctx.vm.serviceImage?.alt,\n height: \"80px\",\n width: \"80px\"\n }, null, 8, _hoisted_15), [\n [_directive_lazy, _ctx.vm.serviceImage?.url]\n ])\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_16, [\n (_ctx.vm.serviceTitle)\n ? (_openBlock(), _createElementBlock(\"h3\", _hoisted_17, _toDisplayString(_ctx.vm.serviceTitle), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"p\", _hoisted_18, _toDisplayString(_ctx.vm.serviceIntro), 1)\n ])\n ])\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_19, [\n (_ctx.vm.askAQuestionPageUrl)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 0,\n class: \"ml-0 mb-1 p-button-link flex-1\",\n icon: \"pi pi-envelope\",\n label: _ctx.$t('support.button.askAQuestion'),\n url: _ctx.vm.askAQuestionPageUrl\n }, null, 8, [\"label\", \"url\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.layoutStore.chatWidgetAvailable)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"ml-0 mb-1 p-button-link flex-1\",\n icon: \"pi pi-comment\",\n label: _ctx.$t('support.button.chatWithUs'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.initChat()))\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ], 2))\n}","<template>\r\n\t<div class=\"hero\" :class=\"backgroundColor\">\r\n\t\t<video\r\n\t\t\tv-if=\"vm.backgroundVideoUrl\"\r\n\t\t\tautoplay\r\n\t\t\tclass=\"video-header__video\"\r\n\t\t\theight=\"100%\"\r\n\t\t\tloop\r\n\t\t\tmuted\r\n\t\t\twidth=\"100%\"\r\n\t\t>\r\n\t\t\t<source :src=\"vm.backgroundVideoUrl\" />\r\n\t\t</video>\r\n\r\n\t\t<div v-else-if=\"vm.backgroundImage?.url\" class=\"hero__background\">\r\n\t\t\t<img :alt=\"vm.backgroundImage?.alt\" class=\"hero__background__image\" :src=\"vm.backgroundImage?.url\" />\r\n\t\t</div>\r\n\r\n\t\t<div v-else-if=\"vm.heroBackgroundColor === HeroBackgroundColorEnum.magenta\">\r\n\t\t\t<svg class=\"hero__background-circles\" viewBox=\"0 0 1154 1154\">\r\n\t\t\t\t<g fill=\"#FFF\" fill-rule=\"evenodd\">\r\n\t\t\t\t\t<circle cx=\"577\" cy=\"577\" opacity=\".033\" r=\"577\" />\r\n\t\t\t\t\t<circle cx=\"577.5\" cy=\"576.5\" opacity=\".037\" r=\"405.5\" />\r\n\t\t\t\t</g>\r\n\t\t\t</svg>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"hero__body\">\r\n\t\t\t<div class=\"container\">\r\n\t\t\t\t<div class=\"row row-gap-2\">\r\n\t\t\t\t\t<div class=\"col-md-8\">\r\n\t\t\t\t\t\t<h1\r\n\t\t\t\t\t\t\tclass=\"display-3 text-shadow\"\r\n\t\t\t\t\t\t\t:class=\"{\r\n\t\t\t\t\t\t\t\t'text-white':\r\n\t\t\t\t\t\t\t\t\thasBackground || vm.heroBackgroundColor === HeroBackgroundColorEnum.magenta,\r\n\t\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{{ vm.title }}\r\n\t\t\t\t\t\t</h1>\r\n\t\t\t\t\t\t<h3\r\n\t\t\t\t\t\t\tclass=\"display-5\"\r\n\t\t\t\t\t\t\t:class=\"{\r\n\t\t\t\t\t\t\t\t'text-white':\r\n\t\t\t\t\t\t\t\t\thasBackground || vm.heroBackgroundColor === HeroBackgroundColorEnum.magenta,\r\n\t\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{{ vm.subtitle }}\r\n\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t<HeroSearchBar v-if=\"!vm.hideSearch\" :vm=\"searchBarVm\" />\r\n\r\n\t\t\t\t\t\t<div v-if=\"vm.firstCtaLink\" class=\"d-flex hero__footer mt-3 gap-2\">\r\n\t\t\t\t\t\t\t<LinkButton\r\n\t\t\t\t\t\t\t\tv-if=\"vm.firstCtaLink\"\r\n\t\t\t\t\t\t\t\tclass=\"p-button-link p-button-primary\"\r\n\t\t\t\t\t\t\t\t:class=\"{\r\n\t\t\t\t\t\t\t\t\t'text-white': vm.heroBackgroundColor === HeroBackgroundColorEnum.magenta,\r\n\t\t\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t\t\t:label=\"vm.firstCtaLink.text\"\r\n\t\t\t\t\t\t\t\t:target=\"vm.firstCtaLink.target\"\r\n\t\t\t\t\t\t\t\t:title=\"vm.firstCtaLink.title\"\r\n\t\t\t\t\t\t\t\t:url=\"vm.firstCtaLink.url\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<LinkButton\r\n\t\t\t\t\t\t\t\tv-if=\"vm.secondCtaLink\"\r\n\t\t\t\t\t\t\t\tclass=\"p-button-link p-button-primary\"\r\n\t\t\t\t\t\t\t\t:class=\"{\r\n\t\t\t\t\t\t\t\t\t'text-white': vm.heroBackgroundColor === HeroBackgroundColorEnum.magenta,\r\n\t\t\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t\t\t:label=\"vm.secondCtaLink.text\"\r\n\t\t\t\t\t\t\t\t:target=\"vm.secondCtaLink.target\"\r\n\t\t\t\t\t\t\t\t:title=\"vm.secondCtaLink.title\"\r\n\t\t\t\t\t\t\t\t:url=\"vm.secondCtaLink.url\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div v-if=\"vm.serviceIntro && vm.serviceTitle\" class=\"col-md-4 mt-2 m-md-0\">\r\n\t\t\t\t\t\t<Card>\r\n\t\t\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t\t\t<div class=\"d-flex p-2\">\r\n\t\t\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\t\t\tv-if=\"vm.serviceImage\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"mr-2 service-img flex-shrink-0\"\r\n\t\t\t\t\t\t\t\t\t\tshape=\"circle\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<img\r\n\t\t\t\t\t\t\t\t\t\t\tv-lazy=\"vm.serviceImage?.url\"\r\n\t\t\t\t\t\t\t\t\t\t\t:alt=\"vm.serviceImage?.alt\"\r\n\t\t\t\t\t\t\t\t\t\t\theight=\"80px\"\r\n\t\t\t\t\t\t\t\t\t\t\twidth=\"80px\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t</Avatar>\r\n\t\t\t\t\t\t\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t\t\t\t\t\t\t<h3 v-if=\"vm.serviceTitle\" class=\"lead font-weight-bold mb-0\">\r\n\t\t\t\t\t\t\t\t\t\t\t{{ vm.serviceTitle }}\r\n\t\t\t\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t\t\t\t<p class=\"text-muted\">{{ vm.serviceIntro }}</p>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t<div class=\"d-flex flex-column align-items-start\">\r\n\t\t\t\t\t\t\t\t\t<LinkButton\r\n\t\t\t\t\t\t\t\t\t\tv-if=\"vm.askAQuestionPageUrl\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"ml-0 mb-1 p-button-link flex-1\"\r\n\t\t\t\t\t\t\t\t\t\ticon=\"pi pi-envelope\"\r\n\t\t\t\t\t\t\t\t\t\t:label=\"$t('support.button.askAQuestion')\"\r\n\t\t\t\t\t\t\t\t\t\t:url=\"vm.askAQuestionPageUrl\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\t\tv-if=\"layoutStore.chatWidgetAvailable\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"ml-0 mb-1 p-button-link flex-1\"\r\n\t\t\t\t\t\t\t\t\t\ticon=\"pi pi-comment\"\r\n\t\t\t\t\t\t\t\t\t\t:label=\"$t('support.button.chatWithUs')\"\r\n\t\t\t\t\t\t\t\t\t\t@click=\"initChat()\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</Card>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport HeroSearchBar, { IHeroSearchBar } from \"@/components/common/heroSearchBar.vue\";\r\nimport LinkButton from \"@/components/common/linkButton.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { HeroBackgroundColor } from \"@/types/enum/heroBackgroundColor\";\r\nimport { HeroFaqBlockViewModel } from \"@/types/viewModels/blocks/heroFaqBlockViewModel\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { SearchCategory } from \"@/types/enum/searchCategory\";\r\n\r\n@Component({ components: { HeroSearchBar, LinkButton } })\r\nexport default class HeroFaqBlock extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<HeroFaqBlockViewModel>, required: true, default: {} })\r\n\tvm!: HeroFaqBlockViewModel;\r\n\r\n\tcreated(): void {\r\n\t\tLog.info(\"HeroFaqBlock\", this.vm);\r\n\t}\r\n\r\n\tget hasBackground(): boolean {\r\n\t\treturn !!this.vm.backgroundImage?.url || !!this.vm.backgroundVideoUrl;\r\n\t}\r\n\r\n\tget HeroBackgroundColorEnum(): typeof HeroBackgroundColor {\r\n\t\treturn HeroBackgroundColor;\r\n\t}\r\n\r\n\tget searchBarVm(): IHeroSearchBar {\r\n\t\treturn {\r\n\t\t\thideAdvancedSearchButton: true,\r\n\t\t\tdefaultSearchCategory: SearchCategory.faq,\r\n\t\t\tsearchPlaceholder: this.vm.searchPlaceholder,\r\n\t\t\tsearchCategoryOptions: [],\r\n\t\t};\r\n\t}\r\n\r\n\tget backgroundColor(): string {\r\n\t\tswitch (this.vm.heroBackgroundColor) {\r\n\t\t\tcase HeroBackgroundColor.grey:\r\n\t\t\t\treturn \"surface-c\";\r\n\t\t\tcase HeroBackgroundColor.magenta:\r\n\t\t\t\treturn \"background-purple\";\r\n\t\t\tdefault:\r\n\t\t\t\treturn \"\";\r\n\t\t}\r\n\t}\r\n\r\n\tinitChat(): void {\r\n\t\tthis.chatWidget?.open({ name: \"Support\", replyText: \"I have a question\" });\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.hero__footer {\r\n\tpadding-top: 1.5rem;\r\n\tborder-top: 1px solid rgba(255, 255, 255, 0.3);\r\n}\r\n\r\n.service-img {\r\n\twidth: 80px;\r\n\theight: 80px;\r\n\r\n\timg {\r\n\t\tobject-fit: cover;\r\n\t}\r\n}\r\n\r\n::v-deep(.p-card) {\r\n\tpadding: 1rem 0.5rem;\r\n\r\n\t.p-card-content {\r\n\t\tpadding: 0 0.5rem;\r\n\t}\r\n\r\n\t.p-card-body {\r\n\t\tpadding: 1rem 0.5rem 0.5rem 0.5rem;\r\n\t}\r\n}\r\n</style>\r\n","import { renderSlot as _renderSlot, resolveComponent as _resolveComponent, mergeProps as _mergeProps, withCtx as _withCtx, createVNode as _createVNode, withModifiers as _withModifiers, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-55e99f6a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = [\"href\", \"target\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n\n return (_openBlock(), _createElementBlock(\"a\", {\n href: _ctx.url,\n role: \"button\",\n target: _ctx.target,\n onClick: _cache[0] || (_cache[0] = _withModifiers(() => {}, [\"stop\"]))\n }, [\n _createVNode(_component_Button, _mergeProps(_ctx.$attrs, {\n class: _ctx.$attrs.class\n }), {\n default: _withCtx(() => [\n _renderSlot(_ctx.$slots, \"default\", {}, undefined, true)\n ]),\n _: 3\n }, 16, [\"class\"])\n ], 8, _hoisted_1))\n}","<template>\r\n\t<a :href=\"url\" role=\"button\" :target=\"target\" @click.stop>\r\n\t\t<Button v-bind=\"$attrs\" :class=\"$attrs.class\">\r\n\t\t\t<slot />\r\n\t\t</Button>\r\n\t</a>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\n\r\n\r\n @Component({})\r\n\texport default class LinkButton extends BaseComponent {\r\n\t\t@Prop({ type: String, required: true, default: \"\" }) url!: string;\r\n\t\t@Prop({ type: String, required: false, default: \"_self\" }) target!: string;\r\n\t}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\na {\r\n\ttext-decoration: none;\r\n\tcolor: inherit;\r\n}\r\n::v-deep(.p-button) {\r\n\ttext-align: left;\r\n}\r\n</style>\r\n","import { render } from \"./linkButton.vue?vue&type=template&id=55e99f6a&scoped=true&ts=true\"\nimport script from \"./linkButton.vue?vue&type=script&lang=ts\"\nexport * from \"./linkButton.vue?vue&type=script&lang=ts\"\n\nimport \"./linkButton.vue?vue&type=style&index=0&id=55e99f6a&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-55e99f6a\"]])\n\nexport default __exports__","import { render } from \"./heroFaqBlock.vue?vue&type=template&id=38c8aad8&scoped=true&ts=true\"\nimport script from \"./heroFaqBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./heroFaqBlock.vue?vue&type=script&lang=ts\"\n\nimport \"./heroFaqBlock.vue?vue&type=style&index=0&id=38c8aad8&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-38c8aad8\"]])\n\nexport default __exports__","import { normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveDirective as _resolveDirective, withDirectives as _withDirectives, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4fad6d60\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"container\" }\nconst _hoisted_2 = [\"innerHTML\"]\nconst _hoisted_3 = { class: \"row\" }\nconst _hoisted_4 = { class: \"col\" }\nconst _hoisted_5 = [\"href\", \"target\"]\nconst _hoisted_6 = [\"alt\", \"title\"]\nconst _hoisted_7 = { class: \"item-text\" }\nconst _hoisted_8 = { class: \"mb-0 text-primary\" }\nconst _hoisted_9 = { class: \"lead text-black\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Carousel = _resolveComponent(\"Carousel\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (!_ctx.isMobile)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: _normalizeClass([\"block\", _ctx.blockBackgroundClass(_ctx.vm.backgroundColor)])\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n (_ctx.vm.title)\n ? (_openBlock(), _createElementBlock(\"h2\", {\n key: 0,\n class: _normalizeClass([\"display-4\", _ctx.textAlignmentClass(_ctx.vm.titleAlignment)]),\n innerHTML: _ctx.vm.title\n }, null, 10, _hoisted_2))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(_component_Carousel, {\n \"autoplay-interval\": 7500,\n \"num-scroll\": _ctx.amountOfProductsToScroll,\n \"num-visible\": _ctx.amountOfVisibleItems,\n \"show-navigators\": false,\n value: _ctx.vm.items\n }, {\n item: _withCtx((slotProps) => [\n _createElementVNode(\"a\", {\n class: \"highlight-item\",\n href: slotProps.data.linkItem.url,\n style: {\"text-decoration\":\"none\"},\n target: slotProps.data.linkItem.target\n }, [\n (slotProps.data.imageUrl)\n ? _withDirectives((_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n alt: slotProps.data.imageAlt || slotProps.data.title,\n title: slotProps.data.title\n }, null, 8, _hoisted_6)), [\n [_directive_lazy, slotProps.data.imageUrl]\n ])\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"h3\", _hoisted_8, _toDisplayString(slotProps.data.title), 1),\n _createElementVNode(\"p\", _hoisted_9, _toDisplayString(slotProps.data.text), 1)\n ])\n ], 8, _hoisted_5)\n ]),\n _: 1\n }, 8, [\"num-scroll\", \"num-visible\", \"value\"])\n ])\n ])\n ])\n ], 2))\n : _createCommentVNode(\"\", true)\n}","<template>\r\n\t<div v-if=\"!isMobile\" class=\"block\" :class=\"blockBackgroundClass(vm.backgroundColor)\">\r\n\t\t<div class=\"container\">\r\n\t\t\t<h2\r\n\t\t\t\tv-if=\"vm.title\"\r\n\t\t\t\tclass=\"display-4\"\r\n\t\t\t\t:class=\"textAlignmentClass(vm.titleAlignment)\"\r\n\t\t\t\tv-html=\"vm.title\"\r\n\t\t\t/>\r\n\t\t\t<div class=\"row\">\r\n\t\t\t\t<div class=\"col\">\r\n\t\t\t\t\t<Carousel\r\n\t\t\t\t\t\t:autoplay-interval=\"7500\"\r\n\t\t\t\t\t\t:num-scroll=\"amountOfProductsToScroll\"\r\n\t\t\t\t\t\t:num-visible=\"amountOfVisibleItems\"\r\n\t\t\t\t\t\t:show-navigators=\"false\"\r\n\t\t\t\t\t\t:value=\"vm.items\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<template #item=\"slotProps\">\r\n\t\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\t\tclass=\"highlight-item\"\r\n\t\t\t\t\t\t\t\t:href=\"slotProps.data.linkItem.url\"\r\n\t\t\t\t\t\t\t\tstyle=\"text-decoration: none\"\r\n\t\t\t\t\t\t\t\t:target=\"slotProps.data.linkItem.target\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<img\r\n\t\t\t\t\t\t\t\t\tv-if=\"slotProps.data.imageUrl\"\r\n\t\t\t\t\t\t\t\t\tv-lazy=\"slotProps.data.imageUrl\"\r\n\t\t\t\t\t\t\t\t\t:alt=\"slotProps.data.imageAlt || slotProps.data.title\"\r\n\t\t\t\t\t\t\t\t\t:title=\"slotProps.data.title\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t<div class=\"item-text\">\r\n\t\t\t\t\t\t\t\t\t<h3 class=\"mb-0 text-primary\">\r\n\t\t\t\t\t\t\t\t\t\t{{ slotProps.data.title }}\r\n\t\t\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t\t\t<p class=\"lead text-black\">\r\n\t\t\t\t\t\t\t\t\t\t{{ slotProps.data.text }}\r\n\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</Carousel>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseBlock from \"@/components/base/baseBlock.vue\";\r\nimport Carousel from \"primevue/carousel\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { HighlightsBlockViewModel } from \"@/types/viewModels/blocks/highlightsBlockViewModel\";\r\nimport { PropType } from \"vue\";\r\n\r\n@Component({ components: { Carousel } })\r\nexport default class HighlightsBlock extends BaseBlock {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<HighlightsBlockViewModel>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: HighlightsBlockViewModel;\r\n\r\n\tget amountOfVisibleItems(): number {\r\n\t\treturn this.vm.numberOfItemsToShow || 1;\r\n\t}\r\n\r\n\tget amountOfProductsToScroll(): number {\r\n\t\treturn this.vm.numberOfItemsToScroll || 1;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.highlight-item {\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\talign-items: center;\r\n\tposition: relative;\r\n\tbackground: var(--surface-b);\r\n\toverflow: hidden;\r\n\tborder-radius: var(--border-radius);\r\n\r\n\t&:hover {\r\n\t\timg {\r\n\t\t\ttransform: scale(1.03);\r\n\t\t}\r\n\t}\r\n\r\n\timg {\r\n\t\theight: 500px;\r\n\t\twidth: 100%;\r\n\t\tobject-fit: cover;\r\n\t\ttransition: all 1.25s;\r\n\t}\r\n\r\n\t.item-text {\r\n\t\tposition: absolute;\r\n\t\tbottom: 1rem;\r\n\t\tright: 1rem;\r\n\t\tpadding: 1.5rem;\r\n\t\tborder-radius: var(--border-radius);\r\n\t\tbackground-color: rgba(230, 230, 230, 0.7);\r\n\t\tbox-shadow: 0 0.125rem 0.25rem rgb(0 0 0 / 8%);\r\n\t\tbackdrop-filter: blur(0.6rem);\r\n\t\twidth: clamp(475px, 50%, 750px);\r\n\t\tcolor: var(--text-color);\r\n\t\tp {\r\n\t\t\tdisplay: -webkit-box;\r\n\t\t\t-webkit-line-clamp: 3;\r\n\t\t\t-webkit-box-orient: vertical;\r\n\t\t\toverflow: hidden;\r\n\t\t}\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./highlightsBlock.vue?vue&type=template&id=4fad6d60&scoped=true&ts=true\"\nimport script from \"./highlightsBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./highlightsBlock.vue?vue&type=script&lang=ts\"\n\nimport \"./highlightsBlock.vue?vue&type=style&index=0&id=4fad6d60&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4fad6d60\"]])\n\nexport default __exports__","import { normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, resolveDirective as _resolveDirective, createElementVNode as _createElementVNode, withDirectives as _withDirectives, resolveComponent as _resolveComponent, createBlock as _createBlock, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2f63a954\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"container\" }\nconst _hoisted_2 = [\"innerHTML\"]\nconst _hoisted_3 = {\n key: 1,\n class: \"lead mb-2\"\n}\nconst _hoisted_4 = { class: \"row\" }\nconst _hoisted_5 = [\"alt\"]\nconst _hoisted_6 = {\n key: 0,\n class: \"mb-1\"\n}\nconst _hoisted_7 = [\"innerHTML\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_LinkButton = _resolveComponent(\"LinkButton\")!\n const _component_Card = _resolveComponent(\"Card\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"block\", _ctx.blockBackgroundClass(_ctx.vm.backgroundColor)])\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n (_ctx.vm.title)\n ? (_openBlock(), _createElementBlock(\"h2\", {\n key: 0,\n class: _normalizeClass([\"display-4\", { 'mb-0': _ctx.vm.subTitle }]),\n innerHTML: _ctx.vm.title\n }, null, 10, _hoisted_2))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.subTitle)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_3, _toDisplayString(_ctx.vm.subTitle), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_4, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.items, (item, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: `linkToItem_${index}`,\n class: _normalizeClass([\"col-md-6\", { 'col-lg-3': _ctx.vm.itemsPerRow === 4, 'col-lg-4': _ctx.vm.itemsPerRow === 3 }])\n }, [\n _createVNode(_component_Card, null, {\n header: _withCtx(() => [\n _withDirectives(_createElementVNode(\"img\", {\n alt: item.imageAlt,\n height: \"250\"\n }, null, 8, _hoisted_5), [\n [_directive_lazy, item.imageUrl]\n ])\n ]),\n content: _withCtx(() => [\n (item.title)\n ? (_openBlock(), _createElementBlock(\"h3\", _hoisted_6, _toDisplayString(item.title), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"p\", {\n innerHTML: item.text\n }, null, 8, _hoisted_7),\n (item.linkItem)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 1,\n class: \"p-button-link p-button-arrow mt-2\",\n label: item.linkItem.text,\n target: item.linkItem.target,\n title: item.linkItem.title,\n url: item.linkItem.url\n }, null, 8, [\"label\", \"target\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 2\n }, 1024)\n ], 2))\n }), 128))\n ])\n ])\n ], 2))\n}","<template>\r\n\t<div class=\"block\" :class=\"blockBackgroundClass(vm.backgroundColor)\">\r\n\t\t<div class=\"container\">\r\n\t\t\t<h2 v-if=\"vm.title\" class=\"display-4\" :class=\"{ 'mb-0': vm.subTitle }\" v-html=\"vm.title\"></h2>\r\n\t\t\t<p v-if=\"vm.subTitle\" class=\"lead mb-2\">{{ vm.subTitle }}</p>\r\n\t\t\t<div class=\"row\">\r\n\t\t\t\t<div\r\n\t\t\t\t\tv-for=\"(item, index) in vm.items\"\r\n\t\t\t\t\t:key=\"`linkToItem_${index}`\"\r\n\t\t\t\t\tclass=\"col-md-6\"\r\n\t\t\t\t\t:class=\"{ 'col-lg-3': vm.itemsPerRow === 4, 'col-lg-4': vm.itemsPerRow === 3 }\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<Card>\r\n\t\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t\t<img v-lazy=\"item.imageUrl\" :alt=\"item.imageAlt\" height=\"250\" />\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t<h3 v-if=\"item.title\" class=\"mb-1\">{{ item.title }}</h3>\r\n\t\t\t\t\t\t\t<p v-html=\"item.text\"></p>\r\n\t\t\t\t\t\t\t<LinkButton\r\n\t\t\t\t\t\t\t\tv-if=\"item.linkItem\"\r\n\t\t\t\t\t\t\t\tclass=\"p-button-link p-button-arrow mt-2\"\r\n\t\t\t\t\t\t\t\t:label=\"item.linkItem.text\"\r\n\t\t\t\t\t\t\t\t:target=\"item.linkItem.target\"\r\n\t\t\t\t\t\t\t\t:title=\"item.linkItem.title\"\r\n\t\t\t\t\t\t\t\t:url=\"item.linkItem.url\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</Card>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseBlock from \"@/components/base/baseBlock.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { LinkToBlockViewModel } from \"@/types/viewModels/blocks/linkToBlockViewModel\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\n\r\n@Component\r\nexport default class LinkToBlock extends BaseBlock {\r\n\t@Prop({ type: Object as PropType<LinkToBlockViewModel>, required: true, default: {} })\r\n\tvm!: LinkToBlockViewModel;\r\n\r\n\tcreated(): void {\r\n\t\tLog.info(\"LinkToBlock\", this.vm);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n:deep(.p-card) {\r\n\tpadding: 0;\r\n\tbox-shadow: none;\r\n\tbackground: initial;\r\n\r\n\t.p-card-body {\r\n\t\tpadding: 0;\r\n\t}\r\n\r\n\t.p-card-content {\r\n\t\tpadding: 1rem 0;\r\n\t}\r\n\r\n\t.p-card-header {\r\n\t\timg {\r\n\t\t\tobject-fit: cover;\r\n\t\t}\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./linkToBlock.vue?vue&type=template&id=2f63a954&scoped=true&ts=true\"\nimport script from \"./linkToBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./linkToBlock.vue?vue&type=script&lang=ts\"\n\nimport \"./linkToBlock.vue?vue&type=style&index=0&id=2f63a954&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2f63a954\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, resolveDirective as _resolveDirective, createElementVNode as _createElementVNode, withDirectives as _withDirectives, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = { class: \"container\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"display-4\"\n}\nconst _hoisted_3 = {\n key: 1,\n class: \"lead\"\n}\nconst _hoisted_4 = { class: \"row justify-content-center align-items-center\" }\nconst _hoisted_5 = [\"alt\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"block\", _ctx.blockBackgroundClass(_ctx.vm.backgroundColor)])\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n (_ctx.vm.title)\n ? (_openBlock(), _createElementBlock(\"h2\", _hoisted_2, _toDisplayString(_ctx.vm.title), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.intro)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_3, _toDisplayString(_ctx.vm.intro), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_4, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.logos, (logo) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: logo,\n class: \"col-6 col-sm-auto\"\n }, [\n _withDirectives(_createElementVNode(\"img\", {\n alt: logo.alt,\n width: \"185\"\n }, null, 8, _hoisted_5), [\n [_directive_lazy, logo.url]\n ])\n ]))\n }), 128))\n ])\n ])\n ], 2))\n}","<template>\r\n\t<div class=\"block\" :class=\"blockBackgroundClass(vm.backgroundColor)\">\r\n\t\t<div class=\"container\">\r\n\t\t\t<h2 v-if=\"vm.title\" class=\"display-4\">{{ vm.title }}</h2>\r\n\t\t\t<p v-if=\"vm.intro\" class=\"lead\">{{ vm.intro }}</p>\r\n\t\t\t<div class=\"row justify-content-center align-items-center\">\r\n\t\t\t\t<div v-for=\"logo in vm.logos\" :key=\"logo\" class=\"col-6 col-sm-auto\">\r\n\t\t\t\t\t<img v-lazy=\"logo.url\" :alt=\"logo.alt\" width=\"185\" />\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { LogosBlockViewModel } from \"@/types/viewModels/blocks/logosBlockViewModel\";\r\nimport { PropType } from \"vue\";\r\nimport BaseBlock from \"@/components/base/baseBlock.vue\";\r\n\r\n@Component\r\nexport default class LogosBlock extends BaseBlock {\r\n\t@Prop({ type: Object as PropType<LogosBlockViewModel>, required: true, default: {} })\r\n\tvm!: LogosBlockViewModel;\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped></style>\r\n","import { render } from \"./logosBlock.vue?vue&type=template&id=d63ac180&ts=true\"\nimport script from \"./logosBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./logosBlock.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, renderList as _renderList, Fragment as _Fragment, createVNode as _createVNode, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = { class: \"container\" }\nconst _hoisted_2 = { class: \"row\" }\nconst _hoisted_3 = { class: \"col mb-2\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"display-4 mb-0\"\n}\nconst _hoisted_5 = {\n key: 1,\n class: \"lead\"\n}\nconst _hoisted_6 = { class: \"row gap-y-3 align-items-stretch\" }\nconst _hoisted_7 = { class: \"row mt-4\" }\nconst _hoisted_8 = { class: \"col\" }\nconst _hoisted_9 = { class: \"d-flex justify-content-center\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_CallToActionOfferBlock = _resolveComponent(\"CallToActionOfferBlock\")!\n const _component_BaseProductOverviewItemCard = _resolveComponent(\"BaseProductOverviewItemCard\")!\n const _component_LinkButton = _resolveComponent(\"LinkButton\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"block\", _ctx.blockBackgroundClass(_ctx.vm.backgroundColor)])\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_ctx.vm.title)\n ? (_openBlock(), _createElementBlock(\"h2\", _hoisted_4, _toDisplayString(_ctx.vm.title), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.subtitle)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_5, _toDisplayString(_ctx.vm.subtitle), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n (_ctx.vm.ctaOffer)\n ? (_openBlock(), _createBlock(_component_CallToActionOfferBlock, {\n key: 0,\n vm: _ctx.vm.ctaOffer\n }, null, 8, [\"vm\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_6, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.products, (product) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: product,\n class: \"col col-12 col-lg-6\"\n }, [\n _createVNode(_component_BaseProductOverviewItemCard, { vm: product }, null, 8, [\"vm\"])\n ]))\n }), 128))\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n (_ctx.vm.overviewButtonCTA)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 0,\n class: \"search-button p-button-raised\",\n label: _ctx.vm.overviewButtonText,\n url: _ctx.ctaUrl\n }, null, 8, [\"label\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ])\n ], 2))\n}","<template>\r\n\t<div class=\"block\" :class=\"blockBackgroundClass(vm.backgroundColor)\">\r\n\t\t<div class=\"container\">\r\n\t\t\t<div class=\"row\">\r\n\t\t\t\t<div class=\"col mb-2\">\r\n\t\t\t\t\t<h2 v-if=\"vm.title\" class=\"display-4 mb-0\">{{ vm.title }}</h2>\r\n\t\t\t\t\t<p v-if=\"vm.subtitle\" class=\"lead\">{{ vm.subtitle }}</p>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<CallToActionOfferBlock v-if=\"vm.ctaOffer\" :vm=\"vm.ctaOffer\" />\r\n\t\t\t<div class=\"row gap-y-3 align-items-stretch\">\r\n\t\t\t\t<div v-for=\"product in vm.products\" :key=\"product\" class=\"col col-12 col-lg-6\">\r\n\t\t\t\t\t<BaseProductOverviewItemCard :vm=\"product\" />\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"row mt-4\">\r\n\t\t\t\t<div class=\"col\">\r\n\t\t\t\t\t<div class=\"d-flex justify-content-center\">\r\n\t\t\t\t\t\t<LinkButton v-if=\"vm.overviewButtonCTA\" class=\"search-button p-button-raised\" :label=\"vm.overviewButtonText\" :url=\"ctaUrl\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseBlock from \"@/components/base/baseBlock.vue\";\r\nimport BaseProductOverviewItemCard from \"@/components/product/baseProductOverviewItemCard.vue\";\r\nimport CallToActionOfferBlock from \"@/views/blocks/callToActionOfferBlock.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { ProductGridBlockViewModel } from \"@/types/viewModels/blocks/productGridBlockViewModel\";\r\nimport { PropType } from \"vue\";\r\n\r\n@Component({ components: { BaseProductOverviewItemCard, CallToActionOfferBlock } })\r\nexport default class ProductGridBlock extends BaseBlock {\r\n\t@Prop({ type: Object as PropType<ProductGridBlockViewModel>, required: true, default: {} }) vm!: ProductGridBlockViewModel;\r\n\r\n\tcreated(): void {\r\n\t\tLog.info(\"ProductGridBlock\", this.vm);\r\n\t}\r\n\r\n\tget ctaUrl(): string {\r\n\t\treturn this.vm.overviewButtonCTAQuerystring\r\n\t\t\t? `${this.vm.overviewButtonCTA}${this.vm.overviewButtonCTAQuerystring}`\r\n\t\t\t: this.vm.overviewButtonCTA;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped></style>\r\n","import { render } from \"./productGridBlock.vue?vue&type=template&id=a584bf56&ts=true\"\nimport script from \"./productGridBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./productGridBlock.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"container\" }\nconst _hoisted_2 = { class: \"row\" }\nconst _hoisted_3 = { class: \"col\" }\nconst _hoisted_4 = { class: \"row p-2 product-grid-columned-block\" }\nconst _hoisted_5 = { class: \"col-lg-6\" }\nconst _hoisted_6 = { class: \"html-content mb-2\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"display-4 mb-0\"\n}\nconst _hoisted_8 = [\"innerHTML\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_BaseProductOverviewItemCard = _resolveComponent(\"BaseProductOverviewItemCard\")!\n const _component_LinkButton = _resolveComponent(\"LinkButton\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"block\", _ctx.blockBackgroundClass(_ctx.vm.backgroundColor)])\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.products, (product) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: product,\n class: \"col col-12 col-md-6 col-lg-12 col-xl-6 p-1\"\n }, [\n _createVNode(_component_BaseProductOverviewItemCard, { vm: product }, null, 8, [\"vm\"])\n ]))\n }), 128))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n (_ctx.vm.title)\n ? (_openBlock(), _createElementBlock(\"h2\", _hoisted_7, _toDisplayString(_ctx.vm.title), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"p\", {\n innerHTML: _ctx.vm.text\n }, null, 8, _hoisted_8)\n ]),\n (_ctx.vm.cta)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 0,\n class: _normalizeClass({\r\n\t\t\t\t\t\t\t[_ctx.ctaButtonClass(_ctx.vm.ctaStyle)]: _ctx.ctaButtonClass(_ctx.vm.ctaStyle),\r\n\t\t\t\t\t\t\t'p-button-success p-button-raised p-button-arrow': !_ctx.ctaButtonClass(_ctx.vm.ctaStyle),\r\n\t\t\t\t\t\t}),\n label: _ctx.vm.cta.text,\n target: _ctx.vm.cta.target,\n title: _ctx.vm.cta.title,\n url: _ctx.vm.cta.url\n }, null, 8, [\"class\", \"label\", \"target\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ], 2))\n}","<template>\r\n\t<div class=\"block\" :class=\"blockBackgroundClass(vm.backgroundColor)\">\r\n\t\t<div class=\"container\">\r\n\t\t\t<div class=\"row\">\r\n\t\t\t\t<div class=\"col\">\r\n\t\t\t\t\t<div class=\"row p-2 product-grid-columned-block\">\r\n\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\tv-for=\"product in vm.products\"\r\n\t\t\t\t\t\t\t:key=\"product\"\r\n\t\t\t\t\t\t\tclass=\"col col-12 col-md-6 col-lg-12 col-xl-6 p-1\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<BaseProductOverviewItemCard :vm=\"product\" />\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"col-lg-6\">\r\n\t\t\t\t\t<div class=\"html-content mb-2\">\r\n\t\t\t\t\t\t<h2 v-if=\"vm.title\" class=\"display-4 mb-0\">{{ vm.title }}</h2>\r\n\t\t\t\t\t\t<p v-html=\"vm.text\"></p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<LinkButton\r\n\t\t\t\t\t\tv-if=\"vm.cta\"\r\n\t\t\t\t\t\t:class=\"{\r\n\t\t\t\t\t\t\t[ctaButtonClass(vm.ctaStyle)]: ctaButtonClass(vm.ctaStyle),\r\n\t\t\t\t\t\t\t'p-button-success p-button-raised p-button-arrow': !ctaButtonClass(vm.ctaStyle),\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t:label=\"vm.cta.text\"\r\n\t\t\t\t\t\t:target=\"vm.cta.target\"\r\n\t\t\t\t\t\t:title=\"vm.cta.title\"\r\n\t\t\t\t\t\t:url=\"vm.cta.url\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseBlock from \"@/components/base/baseBlock.vue\";\r\nimport BaseProductOverviewItemCard from \"@/components/product/baseProductOverviewItemCard.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { ProductGridColumnedBlockViewModel } from \"@/types/viewModels/blocks/productGridColumnedBlockViewModel\";\r\nimport { PropType } from \"vue\";\r\n\r\n@Component({ components: { BaseProductOverviewItemCard } })\r\nexport default class ProductGridColumnedBlock extends BaseBlock {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<ProductGridColumnedBlockViewModel>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: ProductGridColumnedBlockViewModel;\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n.product-grid-columned-block .product-grid-card .p-card-body {\r\n\tpadding: 1rem;\r\n}\r\n\r\n.product-grid-columned-block .product-grid-card p-card-content {\r\n\theight: 100%;\r\n}\r\n\r\n.product-grid-columned-block h4 {\r\n\tfont-size: 1.2rem;\r\n}\r\n\r\n.product-grid-columned-block .product-grid-card .p-avatar-group {\r\n\tmargin: 1rem 0;\r\n}\r\n</style>\r\n","import { render } from \"./productGridColumnedBlock.vue?vue&type=template&id=dbc3b764&ts=true\"\nimport script from \"./productGridColumnedBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./productGridColumnedBlock.vue?vue&type=script&lang=ts\"\n\nimport \"./productGridColumnedBlock.vue?vue&type=style&index=0&id=dbc3b764&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, resolveDirective as _resolveDirective, createElementVNode as _createElementVNode, withDirectives as _withDirectives, resolveComponent as _resolveComponent, createBlock as _createBlock, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-67234a43\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"container\" }\nconst _hoisted_2 = { class: \"row\" }\nconst _hoisted_3 = [\"alt\"]\nconst _hoisted_4 = { class: \"d-flex flex-column flex-1 p-2\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"mb-1\"\n}\nconst _hoisted_6 = [\"innerHTML\"]\nconst _hoisted_7 = { class: \"mt-auto\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_LinkButton = _resolveComponent(\"LinkButton\")!\n const _component_Card = _resolveComponent(\"Card\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"block\", _ctx.blockBackgroundClass(_ctx.vm.backgroundColor)])\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n (_ctx.vm.title)\n ? (_openBlock(), _createElementBlock(\"h2\", {\n key: 0,\n class: _normalizeClass([\"display-4 mb-1\", _ctx.textAlignmentClass(_ctx.vm.titleAlignment)])\n }, _toDisplayString(_ctx.vm.title), 3))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.subtitle)\n ? (_openBlock(), _createElementBlock(\"p\", {\n key: 1,\n class: _normalizeClass([\"lead mb-3\", _ctx.textAlignmentClass(_ctx.vm.titleAlignment)])\n }, _toDisplayString(_ctx.vm.subtitle), 3))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.items, (item, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: `recentContentItem_${index}`,\n class: \"col-12\"\n }, [\n _createVNode(_component_Card, null, {\n content: _withCtx(() => [\n _withDirectives(_createElementVNode(\"img\", {\n alt: item.image?.alt,\n class: \"\"\n }, null, 8, _hoisted_3), [\n [_directive_lazy, item.image?.url]\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n (item.title)\n ? (_openBlock(), _createElementBlock(\"h3\", _hoisted_5, _toDisplayString(item.title), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"p\", {\n class: \"intro-text text-muted\",\n innerHTML: item.intro\n }, null, 8, _hoisted_6),\n _createElementVNode(\"div\", _hoisted_7, [\n (item.pageUrl)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 0,\n class: \"p-button-link p-button-arrow mt-2\",\n label: _ctx.vm.buttonText,\n title: _ctx.vm.buttonText,\n url: item.pageUrl\n }, null, 8, [\"label\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n _: 2\n }, 1024)\n ]))\n }), 128))\n ]),\n (_ctx.vm.cta)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 2,\n class: _normalizeClass(_ctx.ctaButtonClass(_ctx.vm.ctaStyle) || 'p-button-arrow p-button-raised p-button-text'),\n label: _ctx.vm.cta.text,\n target: _ctx.vm.cta.target,\n title: _ctx.vm.cta.title,\n url: _ctx.vm.cta.url\n }, null, 8, [\"class\", \"label\", \"target\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ])\n ], 2))\n}","<template>\r\n\t<div class=\"block\" :class=\"blockBackgroundClass(vm.backgroundColor)\">\r\n\t\t<div class=\"container\">\r\n\t\t\t<h2 v-if=\"vm.title\" class=\"display-4 mb-1\" :class=\"textAlignmentClass(vm.titleAlignment)\">\r\n\t\t\t\t{{ vm.title }}\r\n\t\t\t</h2>\r\n\t\t\t<p v-if=\"vm.subtitle\" class=\"lead mb-3\" :class=\"textAlignmentClass(vm.titleAlignment)\">\r\n\t\t\t\t{{ vm.subtitle }}\r\n\t\t\t</p>\r\n\t\t\t<div class=\"row\">\r\n\t\t\t\t<div v-for=\"(item, index) in vm.items\" :key=\"`recentContentItem_${index}`\" class=\"col-12\">\r\n\t\t\t\t\t<Card>\r\n\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t<img v-lazy=\"item.image?.url\" :alt=\"item.image?.alt\" class=\"\" />\r\n\t\t\t\t\t\t\t<div class=\"d-flex flex-column flex-1 p-2\">\r\n\t\t\t\t\t\t\t\t<h3 v-if=\"item.title\" class=\"mb-1\">{{ item.title }}</h3>\r\n\t\t\t\t\t\t\t\t<p class=\"intro-text text-muted\" v-html=\"item.intro\" />\r\n\t\t\t\t\t\t\t\t<div class=\"mt-auto\">\r\n\t\t\t\t\t\t\t\t\t<LinkButton\r\n\t\t\t\t\t\t\t\t\t\tv-if=\"item.pageUrl\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"p-button-link p-button-arrow mt-2\"\r\n\t\t\t\t\t\t\t\t\t\t:label=\"vm.buttonText\"\r\n\t\t\t\t\t\t\t\t\t\t:title=\"vm.buttonText\"\r\n\t\t\t\t\t\t\t\t\t\t:url=\"item.pageUrl\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</Card>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<LinkButton\r\n\t\t\t\tv-if=\"vm.cta\"\r\n\t\t\t\t:class=\"ctaButtonClass(vm.ctaStyle) || 'p-button-arrow p-button-raised p-button-text'\"\r\n\t\t\t\t:label=\"vm.cta.text\"\r\n\t\t\t\t:target=\"vm.cta.target\"\r\n\t\t\t\t:title=\"vm.cta.title\"\r\n\t\t\t\t:url=\"vm.cta.url\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseBlock from \"@/components/base/baseBlock.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { PropType } from \"vue\";\r\nimport { RecentContentBlockViewModel } from \"@/types/viewModels/blocks/recentContentBlockViewModel\";\r\n\r\n@Component\r\nexport default class RecentContentBlock extends BaseBlock {\r\n\t@Prop({ type: Object as PropType<RecentContentBlockViewModel>, required: true })\r\n\tvm!: RecentContentBlockViewModel;\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.intro-text {\r\n\tdisplay: -webkit-box;\r\n\t-webkit-line-clamp: 5;\r\n\t-webkit-box-orient: vertical;\r\n\toverflow: hidden;\r\n}\r\n\r\n:deep(.p-card) {\r\n\tpadding: 0;\r\n\tmargin-bottom: 2rem;\r\n\r\n\t.p-card-body {\r\n\t\tpadding: 0;\r\n\t}\r\n\r\n\t.p-card-content {\r\n\t\tpadding: 0;\r\n\t\tdisplay: flex;\r\n\t\tflex-wrap: wrap;\r\n\r\n\t\timg {\r\n\t\t\tobject-fit: cover;\r\n\t\t\theight: auto;\r\n\t\t\tmax-width: 100%;\r\n\t\t\tgap: 1rem;\r\n\t\t\t@media (min-width: 992px) {\r\n\t\t\t\twidth: clamp(150px, 25%, 400px);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./recentContentBlock.vue?vue&type=template&id=67234a43&scoped=true&ts=true\"\nimport script from \"./recentContentBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./recentContentBlock.vue?vue&type=script&lang=ts\"\n\nimport \"./recentContentBlock.vue?vue&type=style&index=0&id=67234a43&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-67234a43\"]])\n\nexport default __exports__","import { openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, resolveDirective as _resolveDirective, withDirectives as _withDirectives, normalizeClass as _normalizeClass, Fragment as _Fragment, resolveComponent as _resolveComponent, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-04156dcb\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = [\"id\"]\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = { class: \"row gap-2\" }\nconst _hoisted_4 = [\"src\"]\nconst _hoisted_5 = {\n key: 1,\n class: \"video-overlay\"\n}\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"svg\", null, [\n /*#__PURE__*/_createElementVNode(\"use\", { \"xlink:href\": \"#icon-play\" })\n], -1))\nconst _hoisted_7 = [\n _hoisted_6\n]\nconst _hoisted_8 = {\n alt: \"Youtube thumbnail\",\n class: \"video-image\"\n}\nconst _hoisted_9 = [\"alt\"]\nconst _hoisted_10 = [\"innerHTML\"]\nconst _hoisted_11 = [\"innerHTML\"]\nconst _hoisted_12 = [\"innerHTML\"]\nconst _hoisted_13 = [\"innerHTML\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_LinkButton = _resolveComponent(\"LinkButton\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n id: _ctx.vm.subTitle?.replaceAll(' ', '_').toLowerCase(),\n class: _normalizeClass([\"block\", _ctx.blockBackgroundClass(_ctx.vm.backgroundColor)])\n }, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_ctx.hasVideo)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: _normalizeClass([\"col-12\", _ctx.vm.imageSize === _ctx.size.large ? 'col-lg-6' : 'col-lg-4'])\n }, [\n (_ctx.showVideo)\n ? (_openBlock(), _createElementBlock(\"iframe\", {\n key: 0,\n allowfullscreen: \"\",\n height: \"100%\",\n src: `https://www.youtube.com/embed/${_ctx.vm.youTubeId}?autoplay=1`,\n style: {\"min-height\":\"400px\"},\n type: \"video/mp4\",\n width: \"100%\"\n }, null, 8, _hoisted_4))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"button\", {\n class: \"play-button\",\n onClick: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.onPlayVideoClick && _ctx.onPlayVideoClick(...args)))\n }, _hoisted_7),\n _withDirectives(_createElementVNode(\"img\", _hoisted_8, null, 512), [\n [_directive_lazy, `https://img.youtube.com/vi/${_ctx.vm.youTubeId}/maxresdefault.jpg`]\n ])\n ]))\n ], 2))\n : (_ctx.hasImage)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: _normalizeClass([\"col-12 media-img\", _ctx.vm.imageSize === _ctx.size.large ? 'col-lg-6' : 'col-lg-4'])\n }, [\n _withDirectives(_createElementVNode(\"img\", {\n alt: _ctx.vm.imageAlt\n }, null, 8, _hoisted_9), [\n [_directive_lazy, _ctx.vm.imageUrl]\n ])\n ], 2))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"col-lg mb-1\", { 'order-lg-first': _ctx.vm.imagePosition !== _ctx.imagePosition.left }])\n }, [\n (_ctx.vm.subTitle)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _createElementVNode(\"p\", {\n class: \"lead mb-0\",\n innerHTML: _ctx.vm.subTitle\n }, null, 8, _hoisted_10),\n _createElementVNode(\"h2\", {\n class: \"\",\n innerHTML: _ctx.vm.title\n }, null, 8, _hoisted_11)\n ], 64))\n : (_openBlock(), _createElementBlock(\"h2\", {\n key: 1,\n class: \"\",\n innerHTML: _ctx.vm.title\n }, null, 8, _hoisted_12)),\n _createElementVNode(\"div\", {\n class: \"rte\",\n innerHTML: _ctx.vm.text\n }, null, 8, _hoisted_13),\n (_ctx.vm.ctaLinkItem)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 2,\n class: _normalizeClass([\"mt-2\", _ctx.ctaButtonClass(_ctx.vm.ctaLinkStyle) || 'p-button-raised p-button-text p-button-arrow']),\n label: _ctx.vm.ctaLinkItem.text,\n target: _ctx.vm.ctaLinkItem.target,\n title: _ctx.vm.ctaLinkItem.title,\n url: _ctx.vm.ctaLinkItem.url\n }, null, 8, [\"class\", \"label\", \"target\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ], 2)\n ])\n ])\n ], 10, _hoisted_1))\n}","<template>\r\n\t<div\r\n\t\t:id=\"vm.subTitle?.replaceAll(' ', '_').toLowerCase()\"\r\n\t\tclass=\"block\"\r\n\t\t:class=\"blockBackgroundClass(vm.backgroundColor)\"\r\n\t>\r\n\t\t<div class=\"container\">\r\n\t\t\t<div class=\"row gap-2\">\r\n\t\t\t\t<div v-if=\"hasVideo\" class=\"col-12\" :class=\"vm.imageSize === size.large ? 'col-lg-6' : 'col-lg-4'\">\r\n\t\t\t\t\t<iframe\r\n\t\t\t\t\t\tv-if=\"showVideo\"\r\n\t\t\t\t\t\tallowfullscreen\r\n\t\t\t\t\t\theight=\"100%\"\r\n\t\t\t\t\t\t:src=\"`https://www.youtube.com/embed/${vm.youTubeId}?autoplay=1`\"\r\n\t\t\t\t\t\tstyle=\"min-height: 400px\"\r\n\t\t\t\t\t\ttype=\"video/mp4\"\r\n\t\t\t\t\t\twidth=\"100%\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<div v-else class=\"video-overlay\">\r\n\t\t\t\t\t\t<button class=\"play-button\" @click=\"onPlayVideoClick\">\r\n\t\t\t\t\t\t\t<svg>\r\n\t\t\t\t\t\t\t\t<use xlink:href=\"#icon-play\"></use>\r\n\t\t\t\t\t\t\t</svg>\r\n\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t<img\r\n\t\t\t\t\t\t\tv-lazy=\"`https://img.youtube.com/vi/${vm.youTubeId}/maxresdefault.jpg`\"\r\n\t\t\t\t\t\t\talt=\"Youtube thumbnail\"\r\n\t\t\t\t\t\t\tclass=\"video-image\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div\r\n\t\t\t\t\tv-else-if=\"hasImage\"\r\n\t\t\t\t\tclass=\"col-12 media-img\"\r\n\t\t\t\t\t:class=\"vm.imageSize === size.large ? 'col-lg-6' : 'col-lg-4'\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<img v-lazy=\"vm.imageUrl\" :alt=\"vm.imageAlt\" />\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"col-lg mb-1\" :class=\"{ 'order-lg-first': vm.imagePosition !== imagePosition.left }\">\r\n\t\t\t\t\t<template v-if=\"vm.subTitle\">\r\n\t\t\t\t\t\t<p class=\"lead mb-0\" v-html=\"vm.subTitle\" />\r\n\t\t\t\t\t\t<h2 class=\"\" v-html=\"vm.title\" />\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template v-else>\r\n\t\t\t\t\t\t<h2 class=\"\" v-html=\"vm.title\" />\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<div class=\"rte\" v-html=\"vm.text\" />\r\n\t\t\t\t\t<LinkButton\r\n\t\t\t\t\t\tv-if=\"vm.ctaLinkItem\"\r\n\t\t\t\t\t\tclass=\"mt-2\"\r\n\t\t\t\t\t\t:class=\"ctaButtonClass(vm.ctaLinkStyle) || 'p-button-raised p-button-text p-button-arrow'\"\r\n\t\t\t\t\t\t:label=\"vm.ctaLinkItem.text\"\r\n\t\t\t\t\t\t:target=\"vm.ctaLinkItem.target\"\r\n\t\t\t\t\t\t:title=\"vm.ctaLinkItem.title\"\r\n\t\t\t\t\t\t:url=\"vm.ctaLinkItem.url\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { ImagePosition } from \"@/types/enum/imagePosition\";\r\nimport { PropType } from \"vue\";\r\nimport { Size } from \"@/types/enum/size\";\r\nimport { TextAndMediaBlockViewModel } from \"@/types/viewModels/blocks/textAndMediaBlockViewModel\";\r\nimport BaseBlock from \"@/components/base/baseBlock.vue\";\r\n\r\n@Component\r\nexport default class TextAndMediaBlock extends BaseBlock {\r\n\t@Prop({ type: Object as PropType<TextAndMediaBlockViewModel>, required: true, default: {} })\r\n\tvm!: TextAndMediaBlockViewModel;\r\n\r\n\tshowVideo = false;\r\n\r\n\tget imagePosition(): typeof ImagePosition {\r\n\t\treturn ImagePosition;\r\n\t}\r\n\r\n\tget size(): typeof Size {\r\n\t\treturn Size;\r\n\t}\r\n\r\n\tget hasVideo(): boolean {\r\n\t\treturn !!this.vm.youTubeId;\r\n\t}\r\n\r\n\tget hasImage(): boolean {\r\n\t\treturn !!this.vm.imageUrl;\r\n\t}\r\n\r\n\tonPlayVideoClick(): void {\r\n\t\tthis.showVideo = true;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.media-img img {\r\n\tobject-fit: cover;\r\n\tobject-position: 50% 50%;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n}\r\n.video-overlay {\r\n\tposition: relative;\r\n\toverflow: hidden;\r\n\tcursor: pointer;\r\n\theight: 100%;\r\n\r\n\t&::before {\r\n\t\tcontent: \"\";\r\n\t\ttop: 0;\r\n\t\tleft: 0;\r\n\t\tposition: absolute;\r\n\t\tz-index: 2;\r\n\t\twidth: 100%;\r\n\t\theight: 100%;\r\n\t\topacity: 0;\r\n\t\ttransition: opacity 0.3s ease-out 0s;\r\n\t\tbackground: black;\r\n\t}\r\n\r\n\t&:focus-within {\r\n\t\t.play-button {\r\n\t\t\toutline: none;\r\n\t\t\tbox-shadow: 0 0 0 2px var(--primary-color);\r\n\t\t}\r\n\t}\r\n\r\n\timg {\r\n\t\tobject-fit: cover;\r\n\t\twidth: 100%;\r\n\t\theight: 100%;\r\n\t\ttransition: transform 0.3s ease-out 0s;\r\n\t\ttransform-origin: center;\r\n\t}\r\n\r\n\t.play-button {\r\n\t\ttop: 0;\r\n\t\tright: 0;\r\n\t\tbottom: 0;\r\n\t\tleft: 0;\r\n\t\tposition: absolute;\r\n\t\tz-index: 2;\r\n\t\tmargin: auto;\r\n\t\ttransition: transform 0.3s ease-out 0.1s;\r\n\t\ttransform-origin: center;\r\n\t}\r\n\r\n\t&:hover,\r\n\t&:active,\r\n\t&:focus-within {\r\n\t\t.play-button {\r\n\t\t\ttransform: scale(1.1);\r\n\t\t}\r\n\r\n\t\t&::before {\r\n\t\t\topacity: 0.25;\r\n\t\t}\r\n\r\n\t\t.img {\r\n\t\t\ttransform: scale(1.05);\r\n\t\t}\r\n\t}\r\n}\r\n</style>\r\n","/* Auto Generated */\r\n\r\nexport enum ImagePosition {\r\n\tleft,\r\n\tright,\r\n}\r\n","import { render } from \"./textAndMediaBlock.vue?vue&type=template&id=04156dcb&scoped=true&ts=true\"\nimport script from \"./textAndMediaBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./textAndMediaBlock.vue?vue&type=script&lang=ts\"\n\nimport \"./textAndMediaBlock.vue?vue&type=style&index=0&id=04156dcb&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-04156dcb\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, normalizeClass as _normalizeClass, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"container\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"row\"\n}\nconst _hoisted_3 = { class: \"col-md-6\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"display-4 mb-1\"\n}\nconst _hoisted_5 = {\n key: 1,\n class: \"lead mb-1\"\n}\nconst _hoisted_6 = { class: \"col-md-6\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"lead mb-2\"\n}\nconst _hoisted_8 = [\"innerHTML\"]\nconst _hoisted_9 = { key: 1 }\nconst _hoisted_10 = {\n key: 0,\n class: \"display-4 mb-1\"\n}\nconst _hoisted_11 = {\n key: 1,\n class: \"lead mb-2\"\n}\nconst _hoisted_12 = [\"innerHTML\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_LinkButton = _resolveComponent(\"LinkButton\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"block\", _ctx.blockBackgroundClass(_ctx.vm.backgroundColor) || 'surface-a'])\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n (_ctx.isColumnLayout)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_ctx.vm.title)\n ? (_openBlock(), _createElementBlock(\"h2\", _hoisted_4, _toDisplayString(_ctx.vm.title), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.intro && _ctx.vm.introPosition === _ctx.introPosition.belowTitle)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_5, _toDisplayString(_ctx.vm.intro), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n (_ctx.vm.intro && _ctx.vm.introPosition !== _ctx.introPosition.belowTitle)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_7, _toDisplayString(_ctx.vm.intro), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.text)\n ? (_openBlock(), _createElementBlock(\"p\", {\n key: 1,\n class: \"rte\",\n innerHTML: _ctx.vm.text\n }, null, 8, _hoisted_8))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.ctaButton)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 2,\n class: _normalizeClass([\"mt-3\", _ctx.ctaButtonClass(_ctx.vm.ctaStyle) || 'p-button-raised p-button-text p-button-arrow']),\n label: _ctx.vm.ctaButton.text,\n target: _ctx.vm.ctaButton.target,\n title: _ctx.vm.ctaButton.title,\n url: _ctx.vm.ctaButton.url\n }, null, 8, [\"class\", \"label\", \"target\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n (_ctx.vm.title)\n ? (_openBlock(), _createElementBlock(\"h2\", _hoisted_10, _toDisplayString(_ctx.vm.title), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.intro)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_11, _toDisplayString(_ctx.vm.intro), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.text)\n ? (_openBlock(), _createElementBlock(\"p\", {\n key: 2,\n class: \"rte\",\n innerHTML: _ctx.vm.text\n }, null, 8, _hoisted_12))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.ctaButton)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 3,\n class: _normalizeClass([\"mt-3\", _ctx.ctaButtonClass(_ctx.vm.ctaStyle) || 'p-button-raised p-button-text p-button-arrow']),\n label: _ctx.vm.ctaButton.text,\n target: _ctx.vm.ctaButton.target,\n title: _ctx.vm.ctaButton.title,\n url: _ctx.vm.ctaButton.url\n }, null, 8, [\"class\", \"label\", \"target\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ]))\n ])\n ], 2))\n}","<template>\r\n\t<div class=\"block\" :class=\"blockBackgroundClass(vm.backgroundColor) || 'surface-a'\">\r\n\t\t<div class=\"container\">\r\n\t\t\t<div v-if=\"isColumnLayout\" class=\"row\">\r\n\t\t\t\t<div class=\"col-md-6\">\r\n\t\t\t\t\t<h2 v-if=\"vm.title\" class=\"display-4 mb-1\">{{ vm.title }}</h2>\r\n\t\t\t\t\t<p v-if=\"vm.intro && vm.introPosition === introPosition.belowTitle\" class=\"lead mb-1\">\r\n\t\t\t\t\t\t{{ vm.intro }}\r\n\t\t\t\t\t</p>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"col-md-6\">\r\n\t\t\t\t\t<p v-if=\"vm.intro && vm.introPosition !== introPosition.belowTitle\" class=\"lead mb-2\">\r\n\t\t\t\t\t\t{{ vm.intro }}\r\n\t\t\t\t\t</p>\r\n\t\t\t\t\t<p v-if=\"vm.text\" class=\"rte\" v-html=\"vm.text\" />\r\n\t\t\t\t\t<LinkButton\r\n\t\t\t\t\t\tv-if=\"vm.ctaButton\"\r\n\t\t\t\t\t\tclass=\"mt-3\"\r\n\t\t\t\t\t\t:class=\"ctaButtonClass(vm.ctaStyle) || 'p-button-raised p-button-text p-button-arrow'\"\r\n\t\t\t\t\t\t:label=\"vm.ctaButton.text\"\r\n\t\t\t\t\t\t:target=\"vm.ctaButton.target\"\r\n\t\t\t\t\t\t:title=\"vm.ctaButton.title\"\r\n\t\t\t\t\t\t:url=\"vm.ctaButton.url\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div v-else>\r\n\t\t\t\t<h2 v-if=\"vm.title\" class=\"display-4 mb-1\">{{ vm.title }}</h2>\r\n\t\t\t\t<p v-if=\"vm.intro\" class=\"lead mb-2\">{{ vm.intro }}</p>\r\n\t\t\t\t<p v-if=\"vm.text\" class=\"rte\" v-html=\"vm.text\" />\r\n\t\t\t\t<LinkButton\r\n\t\t\t\t\tv-if=\"vm.ctaButton\"\r\n\t\t\t\t\tclass=\"mt-3\"\r\n\t\t\t\t\t:class=\"ctaButtonClass(vm.ctaStyle) || 'p-button-raised p-button-text p-button-arrow'\"\r\n\t\t\t\t\t:label=\"vm.ctaButton.text\"\r\n\t\t\t\t\t:target=\"vm.ctaButton.target\"\r\n\t\t\t\t\t:title=\"vm.ctaButton.title\"\r\n\t\t\t\t\t:url=\"vm.ctaButton.url\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseBlock from \"@/components/base/baseBlock.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { PropType } from \"vue\";\r\nimport { TextBlockViewModel } from \"@/types/viewModels/blocks/textBlockViewModel\";\r\nimport { TextBlockIntroPosition } from \"@/types/enum/textBlockIntroPosition\";\r\nimport { TextBlockTemplate } from \"@/types/enum/textBlockTemplate\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\n\r\n@Component\r\nexport default class TextBlock extends BaseBlock {\r\n\t@Prop({ type: Object as PropType<TextBlockViewModel>, required: true, default: {} })\r\n\tvm!: TextBlockViewModel;\r\n\r\n\tcreated(): void {\r\n\t\tLog.info(\"TextBlock\", this.vm);\r\n\t}\r\n\r\n\tget introPosition(): typeof TextBlockIntroPosition {\r\n\t\treturn TextBlockIntroPosition;\r\n\t}\r\n\r\n\tget isColumnLayout(): boolean {\r\n\t\treturn this.vm.template === TextBlockTemplate.columned;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped></style>\r\n","export enum TextBlockIntroPosition {\r\n\tdefault = 0,\r\n\tbelowTitle = 1,\r\n\taboveText = 2,\r\n}\r\n","export enum TextBlockTemplate {\r\n\tdefault,\r\n\tcolumned,\r\n}\r\n","import { render } from \"./textBlock.vue?vue&type=template&id=12d711c6&ts=true\"\nimport script from \"./textBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./textBlock.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import AskAQuestionBlock from '@/views/blocks/askAQuestionBlock.vue';\r\nimport CallToActionCenteredDivideBlock from '@/views/blocks/callToActionCenteredDivideBlock.vue';\r\nimport CallToActionDefaultBlock from '@/views/blocks/callToActionDefaultBlock.vue';\r\nimport CallToActionOfferBlock from '@/views/blocks/callToActionOfferBlock.vue';\r\nimport CallToActionSplitBlock from '@/views/blocks/callToActionSplitBlock.vue';\r\nimport CategoriesBlock from '@/views/blocks/categoriesBlock.vue';\r\nimport CollectionsGridBlock from '@/views/blocks/collectionsGridBlock.vue';\r\nimport FeaturedFaqBlock from '@/views/blocks/featuredFaqBlock.vue';\r\nimport HeroDefaultBlock from '@/views/blocks/heroDefaultBlock.vue';\r\nimport HeroFaqBlock from '@/views/blocks/heroFaqBlock.vue';\r\nimport HighlightsBlock from '@/views/blocks/highlightsBlock.vue';\r\nimport LinkToBlock from '@/views/blocks/linkToBlock.vue';\r\nimport LogosBlock from '@/views/blocks/logosBlock.vue';\r\nimport ProductGridBlock from '@/views/blocks/productGridBlock.vue';\r\nimport ProductGridColumnedBlock from '@/views/blocks/productGridColumnedBlock.vue';\r\nimport RecentContentBlock from '@/views/blocks/recentContentBlock.vue';\r\nimport TextAndMediaBlock from '@/views/blocks/textAndMediaBlock.vue';\r\nimport TextBlock from '@/views/blocks/textBlock.vue';\r\n\r\nexport const blocks = [\r\n\t{ element: 'ask-question-block', component: AskAQuestionBlock },\r\n\t{ element: 'call-to-action-centered-divide-block', component: CallToActionCenteredDivideBlock },\r\n\t{ element: 'call-to-action-default-block', component: CallToActionDefaultBlock },\r\n\t{ element: 'call-to-action-offer-block', component: CallToActionOfferBlock },\r\n\t{ element: 'call-to-action-split-block', component: CallToActionSplitBlock },\r\n\t{ element: 'categories-block', component: CategoriesBlock },\r\n\t{ element: 'collection-grid-block', component: CollectionsGridBlock },\r\n\t{ element: 'featured-faq-block', component: FeaturedFaqBlock },\r\n\t{ element: 'hero-default-block', component: HeroDefaultBlock },\r\n\t{ element: 'hero-faq-block', component: HeroFaqBlock },\r\n\t{ element: 'highlights-block', component: HighlightsBlock },\r\n\t{ element: 'link-to-block', component: LinkToBlock },\r\n\t{ element: 'logos', component: LogosBlock },\r\n\t{ element: 'logos-block', component: LogosBlock },\r\n\t{ element: 'product-grid-block', component: ProductGridBlock },\r\n\t{ element: 'product-grid-columned-block', component: ProductGridColumnedBlock },\r\n\t{ element: 'recent-content-block', component: RecentContentBlock },\r\n\t{ element: 'text-and-media-block', component: TextAndMediaBlock },\r\n\t{ element: 'text-block', component: TextBlock },\r\n];\r\n","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1880fe2c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-arrow-left\" }, null, -1))\nconst _hoisted_2 = { class: \"ml-1 text-bold\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n\n return (_openBlock(), _createBlock(_component_Button, {\n class: \"p-button-text p-button-primary\",\n type: \"button\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.goBack()))\n }, {\n default: _withCtx(() => [\n _hoisted_1,\n _createElementVNode(\"span\", _hoisted_2, _toDisplayString(_ctx.label), 1)\n ]),\n _: 1\n }))\n}","<template>\r\n\t<Button class=\"p-button-text p-button-primary\" type=\"button\" @click=\"goBack()\">\r\n\t\t<i class=\"pi pi-arrow-left\"></i>\r\n\t\t<span class=\"ml-1 text-bold\">{{ label }}</span>\r\n\t</Button>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { Component, Prop, Vue } from \"vue-facing-decorator\";\r\nimport { UrlHelper } from \"@/types/helpers/urlHelper\";\r\n\r\n@Component\r\nexport default class BackButton extends Vue {\r\n\t@Prop({ type: String, required: true, default: {} }) label!: string;\r\n\r\n\tgoBack(): void {\r\n\t\tUrlHelper.goBack();\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.p-button.p-button-text {\r\n\tpadding: 0;\r\n\tmargin-bottom: 0.5rem;\r\n\toutline: none;\r\n\tbox-shadow: none;\r\n\r\n\tspan {\r\n\t\tfont-size: 1.1rem;\r\n\t}\r\n\r\n\t&:enabled:focus,\r\n\t&:enabled:hover {\r\n\t\tbackground: transparent;\r\n\r\n\t\tspan {\r\n\t\t\tcolor: black;\r\n\t\t}\r\n\r\n\t\ti {\r\n\t\t\tbackground: #f5f5f5;\r\n\t\t\ttransition: all 0.3s;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n.pi {\r\n\t&.pi-arrow-left {\r\n\t\tborder: 1px solid #dddddd;\r\n\t\tborder-radius: 50%;\r\n\t\tpadding: 0.5rem;\r\n\t\tfont-weight: 600;\r\n\t\tfont-size: 0.75rem;\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./backButton.vue?vue&type=template&id=1880fe2c&scoped=true&ts=true\"\nimport script from \"./backButton.vue?vue&type=script&lang=ts\"\nexport * from \"./backButton.vue?vue&type=script&lang=ts\"\n\nimport \"./backButton.vue?vue&type=style&index=0&id=1880fe2c&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1880fe2c\"]])\n\nexport default __exports__","import { renderSlot as _renderSlot, normalizeProps as _normalizeProps, guardReactiveProps as _guardReactiveProps, resolveComponent as _resolveComponent, withModifiers as _withModifiers, mergeProps as _mergeProps, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Popper = _resolveComponent(\"Popper\")!\n\n return (_openBlock(), _createBlock(_component_Popper, _mergeProps({\n arrow: \"\",\n \"close-delay\": \"0\",\n hover: \"\",\n \"open-delay\": \"0\",\n placement: \"top\"\n }, _ctx.$attrs, {\n onClick: _cache[0] || (_cache[0] = _withModifiers(() => {}, [\"stop\"]))\n }), {\n content: _withCtx((props) => [\n _renderSlot(_ctx.$slots, \"content\", _normalizeProps(_guardReactiveProps(props)), undefined, true)\n ]),\n default: _withCtx(() => [\n _renderSlot(_ctx.$slots, \"default\", {}, undefined, true)\n ]),\n _: 3\n }, 16))\n}","<template>\r\n\t<Popper arrow close-delay=\"0\" hover open-delay=\"0\" placement=\"top\" v-bind=\"$attrs\" @click.stop>\r\n\t\t<slot />\r\n\t\t<template #content=\"props\">\r\n\t\t\t<slot name=\"content\" v-bind=\"props\" />\r\n\t\t</template>\r\n\t</Popper>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { Component, Vue } from \"vue-facing-decorator\";\r\n\r\n@Component\r\nexport default class PopoverIcon extends Vue {}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n::v-deep(.popper) {\r\n\tfont-weight: 400;\r\n\tfont-size: 0.88rem;\r\n\tmax-width: clamp(225px, 20vw, 400px);\r\n}\r\n</style>\r\n","import { render } from \"./popoverIcon.vue?vue&type=template&id=606a51ec&scoped=true&ts=true\"\nimport script from \"./popoverIcon.vue?vue&type=script&lang=ts\"\nexport * from \"./popoverIcon.vue?vue&type=script&lang=ts\"\n\nimport \"./popoverIcon.vue?vue&type=style&index=0&id=606a51ec&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-606a51ec\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6fa42f4c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"\"\n}\nconst _hoisted_2 = { class: \"text-bold price-label\" }\nconst _hoisted_3 = { class: \"text-bold\" }\nconst _hoisted_4 = { class: \"text-bold price-label\" }\nconst _hoisted_5 = { class: \"text-bold flex-shrink-0\" }\nconst _hoisted_6 = { class: \"price-label\" }\nconst _hoisted_7 = { class: \"prefix-plus flex-shrink-0\" }\nconst _hoisted_8 = {\n key: 1,\n class: \"text-success\"\n}\nconst _hoisted_9 = {\n key: 0,\n class: \"price-label\"\n}\nconst _hoisted_10 = {\n key: 1,\n class: \"price-label\"\n}\nconst _hoisted_11 = { class: \"prefix-min flex-shrink-0\" }\nconst _hoisted_12 = { key: 2 }\nconst _hoisted_13 = { class: \"price-label\" }\nconst _hoisted_14 = { class: \"prefix-min flex-shrink-0\" }\nconst _hoisted_15 = {\n key: 0,\n class: \"price-label\"\n}\nconst _hoisted_16 = { key: 1 }\nconst _hoisted_17 = { key: 4 }\nconst _hoisted_18 = {\n key: 0,\n class: \"text-bold\"\n}\nconst _hoisted_19 = { class: \"price-label\" }\nconst _hoisted_20 = { key: 1 }\nconst _hoisted_21 = { class: \"price-label\" }\nconst _hoisted_22 = { class: \"prefix-plus flex-shrink-0\" }\nconst _hoisted_23 = { key: 2 }\nconst _hoisted_24 = { class: \"text-success\" }\nconst _hoisted_25 = {\n key: 0,\n class: \"price-label\"\n}\nconst _hoisted_26 = {\n key: 1,\n class: \"price-label\"\n}\nconst _hoisted_27 = { class: \"prefix-min flex-shrink-0\" }\nconst _hoisted_28 = { class: \"price-label\" }\nconst _hoisted_29 = { class: \"prefix-min flex-shrink-0\" }\nconst _hoisted_30 = {\n key: 3,\n class: \"text-success text-bold\"\n}\nconst _hoisted_31 = {\n key: 0,\n class: \"price-label\"\n}\nconst _hoisted_32 = {\n key: 1,\n class: \"price-label\"\n}\nconst _hoisted_33 = { class: \"prefix-min flex-shrink-0\" }\nconst _hoisted_34 = {\n key: 4,\n class: \"text-success text-bold\"\n}\nconst _hoisted_35 = {\n key: 0,\n class: \"price-label\"\n}\nconst _hoisted_36 = {\n key: 1,\n class: \"price-label\"\n}\nconst _hoisted_37 = { class: \"prefix-min flex-shrink-0\" }\nconst _hoisted_38 = {\n key: 0,\n class: \"price-label\"\n}\nconst _hoisted_39 = {\n key: 1,\n class: \"price-label\"\n}\nconst _hoisted_40 = { key: 6 }\nconst _hoisted_41 = { class: \"text-muted\" }\nconst _hoisted_42 = { class: \"price-label\" }\nconst _hoisted_43 = { class: \"prefix-plus flex-shrink-0\" }\nconst _hoisted_44 = { key: 7 }\nconst _hoisted_45 = { class: \"text-muted\" }\nconst _hoisted_46 = { class: \"price-label\" }\nconst _hoisted_47 = { class: \"prefix-plus flex-shrink-0\" }\nconst _hoisted_48 = {\n key: 8,\n class: \"pt-3\"\n}\nconst _hoisted_49 = { class: \"text-primary\" }\nconst _hoisted_50 = { class: \"price-label\" }\nconst _hoisted_51 = { class: \"text-bold flex-shrink-0\" }\nconst _hoisted_52 = { class: \"loyaltyCashback\" }\nconst _hoisted_53 = { class: \"text-bold price-label\" }\nconst _hoisted_54 = { class: \"text-bold prefix-min flex-shrink-0\" }\nconst _hoisted_55 = {\n key: 9,\n class: \"text-primary\"\n}\nconst _hoisted_56 = { class: \"price-label\" }\nconst _hoisted_57 = {\n key: 10,\n class: \"text-muted\"\n}\nconst _hoisted_58 = { key: 0 }\nconst _hoisted_59 = { key: 1 }\nconst _hoisted_60 = { key: 2 }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (_ctx.vm.basePrice)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_1, [\n _createElementVNode(\"span\", _hoisted_2, _toDisplayString(_ctx.$t(\"common.priceSummary.basePrice\")), 1),\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(_ctx.formatCurrency(_ctx.vm.basePrice)), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.standardLines?.entries(), ([key, value], index) => {\n return (_openBlock(), _createElementBlock(\"p\", {\n key: index,\n class: \"\"\n }, [\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(key), 1),\n _createElementVNode(\"span\", _hoisted_5, _toDisplayString(_ctx.formatCurrency(value)), 1)\n ]))\n }), 128)),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.additionalLines?.entries(), ([key, value], index) => {\n return (_openBlock(), _createElementBlock(\"p\", {\n key: index,\n class: \"text-muted\"\n }, [\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(key), 1),\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(_ctx.formatCurrency(value)), 1)\n ]))\n }), 128)),\n (_ctx.vm.discount)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_8, [\n (_ctx.layoutStore.isAuthenticated)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_9, _toDisplayString(_ctx.$t(\"common.priceSummary.personalDiscount\")), 1))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_10, _toDisplayString(_ctx.$t(\"common.priceSummary.storeDiscount\")), 1)),\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.formatCurrency(_ctx.vm.discount)), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (!_ctx.vm.totalDiscount)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.discountLines?.entries(), ([key, value], index) => {\n return (_openBlock(), _createElementBlock(\"p\", {\n key: index,\n class: \"text-success\"\n }, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(key), 1),\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.formatCurrency(value)), 1)\n ]))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true),\n (\r\n\t _ctx.vm.subtotal &&\r\n\t ((_ctx.vm.basePrice>\r\n\t\t0 && _ctx.vm.basePrice !== _ctx.vm.subtotal) ||\r\n\t\t_ctx.vm.additionalLines?.size ||\r\n\t\t_ctx.vm.discountLines?.size)\r\n\t\t)\n ? (_openBlock(), _createElementBlock(\"p\", {\n key: 3,\n class: _normalizeClass([\"text-bold\", { 'line-discount': _ctx.vm.discount || _ctx.vm.additionalLines?.size }])\n }, [\n (_ctx.layoutStore.isAuthenticated && _ctx.vm.discount)\n ? (_openBlock(), _createElementBlock(\"b\", _hoisted_15, _toDisplayString(_ctx.$t(\"common.priceSummary.yourPrice\")), 1))\n : (_openBlock(), _createElementBlock(\"b\", _hoisted_16, _toDisplayString(_ctx.$t(\"common.priceSummary.subtotal\")), 1)),\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.formatCurrency(_ctx.vm.subtotal)), 1)\n ], 2))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.totalDiscount || _ctx.vm.totalInstallPrice)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n (_ctx.vm.totalBasePrice)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_18, [\n _createElementVNode(\"span\", _hoisted_19, _toDisplayString(_ctx.$t(\"common.priceSummary.totalBasePrice\")), 1),\n _createElementVNode(\"span\", null, [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.formatCurrency(_ctx.vm.totalBasePrice)), 1)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.totalInstallPrice)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_20, [\n _createElementVNode(\"span\", _hoisted_21, _toDisplayString(_ctx.$t(\"common.priceSummary.installHelp\")), 1),\n _createElementVNode(\"span\", _hoisted_22, _toDisplayString(_ctx.formatCurrency(_ctx.vm.totalInstallPrice)), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.totalCouponDiscount && _ctx.vm.totalDiscount - _ctx.vm.totalCouponDiscount)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_23, [\n _createElementVNode(\"p\", _hoisted_24, [\n (_ctx.layoutStore.isAuthenticated)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_25, _toDisplayString(_ctx.$t(\"common.priceSummary.personalDiscount\")), 1))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_26, _toDisplayString(_ctx.$t(\"common.priceSummary.storeDiscount\")), 1)),\n _createElementVNode(\"span\", _hoisted_27, _toDisplayString(_ctx.formatCurrency(_ctx.vm.totalDiscount - _ctx.vm.totalCouponDiscount)), 1)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.discountLines?.entries(), ([key, value], index) => {\n return (_openBlock(), _createElementBlock(\"p\", {\n key: index,\n class: \"text-success\"\n }, [\n _createElementVNode(\"span\", _hoisted_28, _toDisplayString(key), 1),\n _createElementVNode(\"span\", _hoisted_29, _toDisplayString(_ctx.formatCurrency(value)), 1)\n ]))\n }), 128)),\n (_ctx.vm.totalCouponDiscount)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_30, [\n (_ctx.layoutStore.isAuthenticated)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_31, _toDisplayString(_ctx.$t(\"common.priceSummary.totalPersonalDiscount\")), 1))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_32, _toDisplayString(_ctx.$t(\"common.priceSummary.totalStandardDiscount\")), 1)),\n _createElementVNode(\"span\", _hoisted_33, [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.formatCurrency(_ctx.vm.totalDiscount)), 1)\n ])\n ]))\n : (_ctx.vm.totalDiscount)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_34, [\n (_ctx.layoutStore.isAuthenticated)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_35, _toDisplayString(_ctx.$t(\"common.priceSummary.personalDiscount\")), 1))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_36, _toDisplayString(_ctx.$t(\"common.priceSummary.storeDiscount\")), 1)),\n _createElementVNode(\"span\", _hoisted_37, _toDisplayString(_ctx.formatCurrency(_ctx.vm.totalDiscount)), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.totalPersonalPrice)\n ? (_openBlock(), _createElementBlock(\"p\", {\n key: 5,\n class: _normalizeClass([\"text-bold\", { 'line-discount': _ctx.vm.totalDiscount, 'mt-2': !_ctx.vm.totalDiscount }])\n }, [\n _createElementVNode(\"b\", null, [\n (_ctx.layoutStore.isAuthenticated && _ctx.vm.totalDiscount)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_38, _toDisplayString(_ctx.$t(\"common.priceSummary.yourPrice\")), 1))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_39, _toDisplayString(_ctx.$t(\"common.priceSummary.subtotal\")), 1))\n ]),\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.formatCurrency(_ctx.vm.totalPersonalPrice)), 1)\n ], 2))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.vatPercentage && _ctx.vm.vatAmount)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_40, [\n _createElementVNode(\"p\", _hoisted_41, [\n _createElementVNode(\"span\", _hoisted_42, _toDisplayString(_ctx.$t(\"common.priceSummary.vatPercentage\", [_ctx.vm.vatPercentage])) + \" \" + _toDisplayString(_ctx.$t(\"common.vat\")), 1),\n _createElementVNode(\"span\", _hoisted_43, _toDisplayString(_ctx.formatCurrency(_ctx.vm.vatAmount)), 1)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.creditCardSurchargePercentage && _ctx.vm.creditCardSurchargeAmount)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_44, [\n _createElementVNode(\"p\", _hoisted_45, [\n _createElementVNode(\"span\", _hoisted_46, _toDisplayString(_ctx.$t(\"common.priceSummary.creditCardSurcharge\", [_ctx.vm.creditCardSurchargePercentage])), 1),\n _createElementVNode(\"span\", _hoisted_47, _toDisplayString(_ctx.formatCurrency(_ctx.vm.creditCardSurchargeAmount)), 1)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.applyAutodeskWallet)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_48, [\n _createElementVNode(\"p\", _hoisted_49, [\n _createElementVNode(\"span\", _hoisted_50, _toDisplayString(_ctx.$t(\"common.priceSummary.total\")), 1),\n _createElementVNode(\"span\", _hoisted_51, [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.formatCurrency(_ctx.vm.totalPrice)), 1)\n ])\n ]),\n _createElementVNode(\"p\", _hoisted_52, [\n _createElementVNode(\"span\", _hoisted_53, _toDisplayString(_ctx.$t(\"common.priceSummary.cashback\")), 1),\n _createElementVNode(\"span\", _hoisted_54, _toDisplayString(_ctx.formatCurrency(_ctx.vm.maxAutodeskWalletToSpend)), 1)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.totalPrice !== undefined)\n ? (_openBlock(), _createElementBlock(\"h4\", _hoisted_55, [\n _createElementVNode(\"span\", _hoisted_56, _toDisplayString(_ctx.$t(\"common.priceSummary.totalPrice\")) + \" \" + _toDisplayString(_ctx.vm.vatPercentage > 0 ? _ctx.$t(\"common.inclVat\") : \"\"), 1),\n _createElementVNode(\"span\", null, [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.vm.applyAutodeskWallet ? _ctx.formatCurrency(_ctx.vm.totalPrice - _ctx.vm.maxAutodeskWalletToSpend) : _ctx.formatCurrency(_ctx.vm.totalPrice)), 1)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.totalPrice > 0)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_57, [\n (_ctx.vm.vatSituation === _ctx.vatSituation.VatZeroPercent)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_58, _toDisplayString(_ctx.$t(\"common.priceSummary.vatPercentageZero\")), 1))\n : (_ctx.vm.vatSituation === _ctx.vatSituation.ReverseVat)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_59, _toDisplayString(_ctx.$t(\"common.priceSummary.vatReverseCharged\")), 1))\n : (_ctx.vm.vatSituation === _ctx.vatSituation.NoVat)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_60, _toDisplayString(_ctx.$t(\"common.priceSummary.noVat\")), 1))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<p v-if=\"vm.basePrice\" class=\"\">\r\n\t\t<span class=\"text-bold price-label\">\r\n\t\t\t{{ $t(\"common.priceSummary.basePrice\") }}\r\n\t\t</span>\r\n\t\t<span class=\"text-bold\">\r\n\t\t\t{{ formatCurrency(vm.basePrice) }}\r\n\t\t</span>\r\n\t</p>\r\n\r\n\t<p v-for=\"([key, value], index) in vm.standardLines?.entries()\" :key=\"index\" class=\"\">\r\n\t\t<span class=\"text-bold price-label\">\r\n\t\t\t{{ key }}\r\n\t\t</span>\r\n\t\t<span class=\"text-bold flex-shrink-0\">\r\n\t\t\t{{ formatCurrency(value) }}\r\n\t\t</span>\r\n\t</p>\r\n\r\n\t<p v-for=\"([key, value], index) in vm.additionalLines?.entries()\" :key=\"index\" class=\"text-muted\">\r\n\t\t<span class=\"price-label\">\r\n\t\t\t{{ key }}\r\n\t\t</span>\r\n\t\t<span class=\"prefix-plus flex-shrink-0\">\r\n\t\t\t{{ formatCurrency(value) }}\r\n\t\t</span>\r\n\t</p>\r\n\r\n\t<p v-if=\"vm.discount\" class=\"text-success\">\r\n\t\t<span v-if=\"layoutStore.isAuthenticated\" class=\"price-label\">\r\n\t\t\t{{ $t(\"common.priceSummary.personalDiscount\") }}\r\n\t\t</span>\r\n\t\t<span v-else class=\"price-label\">\r\n\t\t\t{{ $t(\"common.priceSummary.storeDiscount\") }}\r\n\t\t</span>\r\n\t\t<span class=\"prefix-min flex-shrink-0\">\r\n\t\t\t{{ formatCurrency(vm.discount) }}\r\n\t\t</span>\r\n\t</p>\r\n\r\n\t<div v-if=\"!vm.totalDiscount\">\r\n\t\t<p v-for=\"([key, value], index) in vm.discountLines?.entries()\" :key=\"index\" class=\"text-success\">\r\n\t\t\t<span class=\"price-label\">\r\n\t\t\t\t{{ key }}\r\n\t\t\t</span>\r\n\t\t\t<span class=\"prefix-min flex-shrink-0\">\r\n\t\t\t\t{{ formatCurrency(value) }}\r\n\t\t\t</span>\r\n\t\t</p>\r\n\t</div>\r\n\r\n\t<p v-if=\"\r\n\t vm.subtotal &&\r\n\t ((vm.basePrice>\r\n\t\t0 && vm.basePrice !== vm.subtotal) ||\r\n\t\tvm.additionalLines?.size ||\r\n\t\tvm.discountLines?.size)\r\n\t\t\"\r\n\t\tclass=\"text-bold\"\r\n\t\t:class=\"{ 'line-discount': vm.discount || vm.additionalLines?.size }\"\r\n\t\t>\r\n\t\t<b v-if=\"layoutStore.isAuthenticated && vm.discount\" class=\"price-label\">\r\n\t\t\t{{ $t(\"common.priceSummary.yourPrice\") }}\r\n\t\t</b>\r\n\t\t<b v-else>{{ $t(\"common.priceSummary.subtotal\") }}</b>\r\n\t\t<b>{{ formatCurrency(vm.subtotal) }}</b>\r\n\t</p>\r\n\r\n\t<div v-if=\"vm.totalDiscount || vm.totalInstallPrice\">\r\n\t\t<p v-if=\"vm.totalBasePrice\" class=\"text-bold\">\r\n\t\t\t<span class=\"price-label\">\r\n\t\t\t\t{{ $t(\"common.priceSummary.totalBasePrice\") }}\r\n\t\t\t</span>\r\n\t\t\t<span>\r\n\t\t\t\t<b>{{ formatCurrency(vm.totalBasePrice) }}</b>\r\n\t\t\t</span>\r\n\t\t</p>\r\n\r\n\t\t<p v-if=\"vm.totalInstallPrice\">\r\n\t\t\t<span class=\"price-label\">\r\n\t\t\t\t{{ $t(\"common.priceSummary.installHelp\") }}\r\n\t\t\t</span>\r\n\t\t\t<span class=\"prefix-plus flex-shrink-0\">\r\n\t\t\t\t{{ formatCurrency(vm.totalInstallPrice) }}\r\n\t\t\t</span>\r\n\t\t</p>\r\n\r\n\t\t<div v-if=\"vm.totalCouponDiscount && vm.totalDiscount - vm.totalCouponDiscount\">\r\n\t\t\t<p class=\"text-success\">\r\n\t\t\t\t<span v-if=\"layoutStore.isAuthenticated\" class=\"price-label\">\r\n\t\t\t\t\t{{ $t(\"common.priceSummary.personalDiscount\") }}\r\n\t\t\t\t</span>\r\n\t\t\t\t<span v-else class=\"price-label\">\r\n\t\t\t\t\t{{ $t(\"common.priceSummary.storeDiscount\") }}\r\n\t\t\t\t</span>\r\n\t\t\t\t<span class=\"prefix-min flex-shrink-0\">\r\n\t\t\t\t\t{{ formatCurrency(vm.totalDiscount - vm.totalCouponDiscount) }}\r\n\t\t\t\t</span>\r\n\t\t\t</p>\r\n\t\t</div>\r\n\r\n\t\t<p v-for=\"([key, value], index) in vm.discountLines?.entries()\" :key=\"index\" class=\"text-success\">\r\n\t\t\t<span class=\"price-label\">\r\n\t\t\t\t{{ key }}\r\n\t\t\t</span>\r\n\t\t\t<span class=\"prefix-min flex-shrink-0\">\r\n\t\t\t\t{{ formatCurrency(value) }}\r\n\t\t\t</span>\r\n\t\t</p>\r\n\r\n\t\t<p v-if=\"vm.totalCouponDiscount\" class=\"text-success text-bold\">\r\n\t\t\t<span v-if=\"layoutStore.isAuthenticated\" class=\"price-label\">\r\n\t\t\t\t{{ $t(\"common.priceSummary.totalPersonalDiscount\") }}\r\n\t\t\t</span>\r\n\t\t\t<span v-else class=\"price-label\">\r\n\t\t\t\t{{ $t(\"common.priceSummary.totalStandardDiscount\") }}\r\n\t\t\t</span>\r\n\t\t\t<span class=\"prefix-min flex-shrink-0\">\r\n\t\t\t\t<b>{{ formatCurrency(vm.totalDiscount) }}</b>\r\n\t\t\t</span>\r\n\t\t</p>\r\n\r\n\t\t<p v-else-if=\"vm.totalDiscount\" class=\"text-success text-bold\">\r\n\t\t\t<span v-if=\"layoutStore.isAuthenticated\" class=\"price-label\">\r\n\t\t\t\t{{ $t(\"common.priceSummary.personalDiscount\") }}\r\n\t\t\t</span>\r\n\t\t\t<span v-else class=\"price-label\">\r\n\t\t\t\t{{ $t(\"common.priceSummary.storeDiscount\") }}\r\n\t\t\t</span>\r\n\t\t\t<span class=\"prefix-min flex-shrink-0\">\r\n\t\t\t\t{{ formatCurrency(vm.totalDiscount) }}\r\n\t\t\t</span>\r\n\t\t</p>\r\n\t</div>\r\n\r\n\t<p v-if=\"vm.totalPersonalPrice\"\r\n\t class=\"text-bold\"\r\n\t :class=\"{ 'line-discount': vm.totalDiscount, 'mt-2': !vm.totalDiscount }\">\r\n\t\t<b>\r\n\t\t\t<span v-if=\"layoutStore.isAuthenticated && vm.totalDiscount\" class=\"price-label\">\r\n\t\t\t\t{{ $t(\"common.priceSummary.yourPrice\") }}\r\n\t\t\t</span>\r\n\t\t\t<span v-else class=\"price-label\">{{ $t(\"common.priceSummary.subtotal\") }}</span>\r\n\t\t</b>\r\n\t\t<b>{{ formatCurrency(vm.totalPersonalPrice) }}</b>\r\n\t</p>\r\n\t<div v-if=\"vm.vatPercentage && vm.vatAmount\">\r\n\t\t<p class=\"text-muted\">\r\n\t\t\t<span class=\"price-label\">\r\n\t\t\t\t{{ $t(\"common.priceSummary.vatPercentage\", [vm.vatPercentage]) }}\r\n\t\t\t\t{{ $t(\"common.vat\") }}\r\n\t\t\t</span>\r\n\t\t\t<span class=\"prefix-plus flex-shrink-0\">\r\n\t\t\t\t{{ formatCurrency(vm.vatAmount) }}\r\n\t\t\t</span>\r\n\t\t</p>\r\n\t</div>\r\n\r\n\t<div v-if=\"vm.creditCardSurchargePercentage && vm.creditCardSurchargeAmount\">\r\n\t\t<p class=\"text-muted\">\r\n\t\t\t<span class=\"price-label\">\r\n\t\t\t\t{{ $t(\"common.priceSummary.creditCardSurcharge\", [vm.creditCardSurchargePercentage]) }}\r\n\t\t\t</span>\r\n\t\t\t<span class=\"prefix-plus flex-shrink-0\">\r\n\t\t\t\t{{ formatCurrency(vm.creditCardSurchargeAmount) }}\r\n\t\t\t</span>\r\n\t\t</p>\r\n\t</div>\r\n\r\n\t<div v-if=\"vm.applyAutodeskWallet\" class=\"pt-3\">\r\n\t\t<p class=\"text-primary\">\r\n\t\t\t<span class=\"price-label\">\r\n\t\t\t\t{{ $t(\"common.priceSummary.total\") }}\r\n\t\t\t</span>\r\n\t\t\t<span class=\"text-bold flex-shrink-0\">\r\n\t\t\t\t<b>{{ formatCurrency(vm.totalPrice) }}</b>\r\n\t\t\t</span>\r\n\t\t</p>\r\n\t\t<p class=\"loyaltyCashback\">\r\n\t\t\t<span class=\"text-bold price-label\">\r\n\t\t\t\t{{$t(\"common.priceSummary.cashback\")}}\t\t\t\t\r\n\t\t\t</span>\r\n\t\t\t<span class=\"text-bold prefix-min flex-shrink-0\">\t\t\t\t\r\n\t\t\t\t{{ formatCurrency(vm.maxAutodeskWalletToSpend) }}\r\n\t\t\t</span>\r\n\t\t</p>\r\n\t</div>\r\n\r\n\t<h4 v-if=\"vm.totalPrice !== undefined\" class=\"text-primary\">\r\n\t\t<span class=\"price-label\">\r\n\t\t\t{{ $t(\"common.priceSummary.totalPrice\") }}\r\n\t\t\t{{ vm.vatPercentage > 0 ? $t(\"common.inclVat\") : \"\" }}\r\n\t\t</span>\r\n\t\t<span>\r\n\t\t\t<b>{{ vm.applyAutodeskWallet ? formatCurrency(vm.totalPrice - vm.maxAutodeskWalletToSpend) : formatCurrency(vm.totalPrice) }}</b>\r\n\t\t</span>\r\n\t</h4>\r\n\r\n\t<p v-if=\"vm.totalPrice > 0\" class=\"text-muted\">\r\n\t\t<span v-if=\"vm.vatSituation === vatSituation.VatZeroPercent\">\r\n\t\t\t{{ $t(\"common.priceSummary.vatPercentageZero\") }}\r\n\t\t</span>\r\n\t\t<span v-else-if=\"vm.vatSituation === vatSituation.ReverseVat\">\r\n\t\t\t{{ $t(\"common.priceSummary.vatReverseCharged\") }}\r\n\t\t</span>\r\n\t\t<span v-else-if=\"vm.vatSituation === vatSituation.NoVat\">\r\n\t\t\t{{ $t(\"common.priceSummary.noVat\") }}\r\n\t\t</span>\r\n\t</p>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { PropType } from \"vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { IPriceSummary } from \"@/types/models/common/priceSummary.interface\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { VatSituation } from \"@/types/enum/vatSituation\";\r\n\r\n@Component\r\nexport default class PriceSummary extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IPriceSummary>, required: true, default: {} })\r\n\tvm!: IPriceSummary;\r\n\r\n\tget vatSituation(): typeof VatSituation {\r\n\t\treturn VatSituation;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.price-label {\r\n\ttext-align: left;\r\n\tmargin-right: 1rem;\r\n}\r\n\r\ndiv {\r\n\ttext-align: right;\r\n\r\n\tp {\r\n\t\tfont-size: 1.05rem;\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: space-between;\r\n\t\tmargin-bottom: 0.25rem;\r\n\t}\r\n\r\n\th4 {\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: space-between;\r\n\t\tmargin-bottom: 1rem;\r\n\t\tmargin-top: 0.75rem;\r\n\t}\r\n}\r\n\r\n.line-discount {\r\n\tborder-top: 1px solid;\r\n}\r\n\r\n.loyaltyCashback {\r\n background-color: #FEF4F7;\r\n padding: 0.1rem;\r\n}\r\n\r\n</style>\r\n","export enum VatSituation {\r\n\tStandardVat,\r\n\tVatZeroPercent,\r\n\tReverseVat,\r\n\tNoVat,\r\n}\r\n","import { render } from \"./priceSummary.vue?vue&type=template&id=6fa42f4c&scoped=true&ts=true\"\nimport script from \"./priceSummary.vue?vue&type=script&lang=ts\"\nexport * from \"./priceSummary.vue?vue&type=script&lang=ts\"\n\nimport \"./priceSummary.vue?vue&type=style&index=0&id=6fa42f4c&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6fa42f4c\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, renderList as _renderList, Fragment as _Fragment, createVNode as _createVNode, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-089139ca\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"d-flex flex-column\" }\nconst _hoisted_2 = { class: \"mb-1\" }\nconst _hoisted_3 = { class: \"d-flex\" }\nconst _hoisted_4 = { class: \"align-self-center mr-2\" }\nconst _hoisted_5 = { class: \"d-flex flex-column\" }\nconst _hoisted_6 = { class: \"mb-0 text-muted lead\" }\nconst _hoisted_7 = { class: \"mb-0 pr-5\" }\nconst _hoisted_8 = {\n key: 0,\n class: \"mb-0 text-muted\"\n}\nconst _hoisted_9 = {\n key: 0,\n class: \"cross-sell\"\n}\nconst _hoisted_10 = { class: \"cross-sell-wrapper\" }\nconst _hoisted_11 = { class: \"\" }\nconst _hoisted_12 = { class: \"row gap-y-3\" }\nconst _hoisted_13 = { class: \"d-flex align-items-center justify-content-end\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_BaseProductOverviewItemCard = _resolveComponent(\"BaseProductOverviewItemCard\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Dialog = _resolveComponent(\"Dialog\")!\n\n return (_openBlock(), _createBlock(_component_Dialog, {\n visible: _ctx.isVisible,\n \"onUpdate:visible\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.isVisible) = $event)),\n breakpoints: {\r\n\t\t\t'2000px': '40vw',\r\n\t\t\t'1600px': '50vw',\r\n\t\t\t'1200px': '60vw',\r\n\t\t\t'992px': '70vw',\r\n\t\t\t'768px': '80vw',\r\n\t\t\t'576px': '90vw',\r\n\t\t},\n class: \"p-dialog-secondary\",\n draggable: false,\n modal: true,\n style: { width: '35vw' },\n onHide: _cache[3] || (_cache[3] = ($event: any) => (_ctx.hideModal()))\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"h3\", _hoisted_2, _toDisplayString(_ctx.$t(\"cart.dialog.titleProductAdded\")), 1),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n (_ctx.vm.product.iconUrl)\n ? (_openBlock(), _createBlock(_component_Avatar, {\n key: 0,\n alt: _ctx.vm.product.iconAlt,\n class: \"overview-product-icon\",\n image: _ctx.vm.product.iconUrl,\n size: \"lg\",\n title: _ctx.vm.product.name\n }, null, 8, [\"alt\", \"image\", \"title\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"p\", _hoisted_6, _toDisplayString(_ctx.vm.product.brand), 1),\n _createElementVNode(\"h4\", _hoisted_7, _toDisplayString(_ctx.formatProductName(_ctx.vm.product.name, _ctx.vm.product.brand)), 1),\n (_ctx.expertProduct?.expertProfile)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_8, _toDisplayString(_ctx.expertProduct.expertProfile.function), 1))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ]),\n footer: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_13, [\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-plain\",\n label: _ctx.$t('cart.dialog.button.continueShopping'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.hideModal()))\n }, null, 8, [\"label\"]),\n _createVNode(_component_Button, {\n class: \"p-button-primary p-button-arrow p-button-sm\",\n label: _ctx.$t('cart.dialog.button.goToCart'),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.goToCart()))\n }, null, 8, [\"label\"])\n ])\n ]),\n default: _withCtx(() => [\n (_ctx.vm.crossSellProducts?.length)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"h3\", _hoisted_11, _toDisplayString(_ctx.$t(\"product.titleCrossSell\")), 1),\n _createElementVNode(\"div\", _hoisted_12, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.crossSellProducts, (product) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: product,\n class: \"col-12 col-lg-6\"\n }, [\n _createVNode(_component_BaseProductOverviewItemCard, {\n \"is-cross-sell\": \"\",\n vm: product\n }, null, 8, [\"vm\"])\n ]))\n }), 128))\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"visible\"]))\n}","<template>\r\n\t<Dialog\r\n\t\tv-model:visible=\"isVisible\"\r\n\t\t:breakpoints=\"{\r\n\t\t\t'2000px': '40vw',\r\n\t\t\t'1600px': '50vw',\r\n\t\t\t'1200px': '60vw',\r\n\t\t\t'992px': '70vw',\r\n\t\t\t'768px': '80vw',\r\n\t\t\t'576px': '90vw',\r\n\t\t}\"\r\n\t\tclass=\"p-dialog-secondary\"\r\n\t\t:draggable=\"false\"\r\n\t\t:modal=\"true\"\r\n\t\t:style=\"{ width: '35vw' }\"\r\n\t\t@hide=\"hideModal()\"\r\n\t>\r\n\t\t<template #header>\r\n\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t<h3 class=\"mb-1\">{{ $t(\"cart.dialog.titleProductAdded\") }}</h3>\r\n\t\t\t\t<div class=\"d-flex\">\r\n\t\t\t\t\t<div class=\"align-self-center mr-2\">\r\n\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\tv-if=\"vm.product.iconUrl\"\r\n\t\t\t\t\t\t\t:alt=\"vm.product.iconAlt\"\r\n\t\t\t\t\t\t\tclass=\"overview-product-icon\"\r\n\t\t\t\t\t\t\t:image=\"vm.product.iconUrl\"\r\n\t\t\t\t\t\t\tsize=\"lg\"\r\n\t\t\t\t\t\t\t:title=\"vm.product.name\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t\t\t<p class=\"mb-0 text-muted lead\">\r\n\t\t\t\t\t\t\t{{ vm.product.brand }}\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t<h4 class=\"mb-0 pr-5\">\r\n\t\t\t\t\t\t\t{{ formatProductName(vm.product.name, vm.product.brand) }}\r\n\t\t\t\t\t\t</h4>\r\n\t\t\t\t\t\t<p v-if=\"expertProduct?.expertProfile\" class=\"mb-0 text-muted\">\r\n\t\t\t\t\t\t\t{{ expertProduct.expertProfile.function }}\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t\t<div v-if=\"vm.crossSellProducts?.length\" class=\"cross-sell\">\r\n\t\t\t<div class=\"cross-sell-wrapper\">\r\n\t\t\t\t<h3 class=\"\">{{ $t(\"product.titleCrossSell\") }}</h3>\r\n\t\t\t\t<div class=\"row gap-y-3\">\r\n\t\t\t\t\t<div v-for=\"product in vm.crossSellProducts\" :key=\"product\" class=\"col-12 col-lg-6\">\r\n\t\t\t\t\t\t<BaseProductOverviewItemCard is-cross-sell :vm=\"product\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<template #footer>\r\n\t\t\t<div class=\"d-flex align-items-center justify-content-end\">\r\n\t\t\t\t<Button\r\n\t\t\t\t\tclass=\"p-button-text p-button-plain\"\r\n\t\t\t\t\t:label=\"$t('cart.dialog.button.continueShopping')\"\r\n\t\t\t\t\t@click=\"hideModal()\"\r\n\t\t\t\t/>\r\n\t\t\t\t<Button\r\n\t\t\t\t\tclass=\"p-button-primary p-button-arrow p-button-sm\"\r\n\t\t\t\t\t:label=\"$t('cart.dialog.button.goToCart')\"\r\n\t\t\t\t\t@click=\"goToCart()\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t</Dialog>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport BaseProductOverviewItemCard from \"@/components/product/baseProductOverviewItemCard.vue\";\r\nimport { BaseProductItemViewModel } from \"@/types/models/common/baseProductItemViewModel\";\r\nimport { Component, Emit, Prop } from \"vue-facing-decorator\";\r\nimport { ExpertItemViewModel } from \"@/types/models/expert/expertItemViewModel\";\r\nimport { IProductAddedModal } from \"@/types/viewModels/commerce/productAddedModalViewModel\";\r\nimport { ItemProductType } from \"@/types/enum/itemProductType\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { useCartStore } from \"@/store/commerce/cartStore\";\r\n\r\n@Component({ components: { BaseProductOverviewItemCard } })\r\nexport default class ProductAddedModal extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IProductAddedModal>, required: true, default: {} })\r\n\tvm!: IProductAddedModal;\r\n\r\n\tisVisible = true;\r\n\r\n\tcreated(): void {\r\n\t\tLog.info(\"ProductAddedModal\", this.vm);\r\n\t}\r\n\r\n\t@Emit(\"close\")\r\n\thideModal(): boolean {\r\n\t\tuseCartStore().hideModal(\"ProductAdded\");\r\n\t\treturn false;\r\n\t}\r\n\r\n\t@Emit()\r\n\tgoToCart(): void {\r\n\t\tthis.openUrl(this.layoutStore.vm.cartPageUrl);\r\n\t}\r\n\r\n\tget productType(): ItemProductType {\r\n\t\treturn (this.vm.product as BaseProductItemViewModel)?.productType;\r\n\t}\r\n\r\n\tget expertProduct(): ExpertItemViewModel | undefined {\r\n\t\treturn this.productType === ItemProductType.Expert ? (this.vm.product as ExpertItemViewModel) : undefined;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.cross-sell {\r\n\t.cross-sell-wrapper {\r\n\t\tpadding: 1rem;\r\n\t\tbackground: var(--surface-c);\r\n\t\toverflow: hidden;\r\n\t}\r\n}\r\n</style>\r\n","import httpClient from '@/types/helpers/apiHelper';\r\nimport { AxiosResponse } from 'axios';\r\nimport { CartClient } from '@/types/models/cart/cartClient';\r\nimport { CartContractClient } from '@/types/generated/Api/cartContractClient';\r\nimport { CartLineClient } from '@/types/generated/Api/cartLineClient';\r\nimport { CouponCode } from '@/types/generated/Api/couponCode';\r\nimport { ProductUpdateInCart } from '@/types/generated/Api/productUpdateInCart';\r\nimport { concat, uniqBy } from 'lodash';\r\nimport { defineStore } from 'pinia';\r\nimport { useLayoutStore } from '@/store/common/layoutStore';\r\n\r\ninterface CartStoreState {\r\n\tcartClient: CartClient;\r\n\tshowSaveCartModal: boolean;\r\n\tshowShareCartModal: boolean;\r\n\tshowProductAddedModal: boolean;\r\n\twalletExchangeAmount: number;\r\n\tmaxWalletAmount: number;\r\n}\r\n\r\nexport type CartModalType = 'ShareCart' | 'SaveCart' | 'ProductAdded';\r\n\r\nexport const useCartStore = defineStore('cart', {\r\n\tstate: () =>\r\n\t\t({\r\n\t\t\tcartClient: {},\r\n\t\t\tshowSaveCartModal: false,\r\n\t\t\tshowShareCartModal: false,\r\n\t\t\tshowProductAddedModal: false,\r\n\t\t\twalletExchangeAmount: 0,\r\n\t\t\tmaxWalletAmount: 0,\r\n\t\t}) as CartStoreState,\r\n\tgetters: {\r\n\t\tisCartEmpty(state): boolean {\r\n\t\t\treturn state?.cartClient?.itemCount === 0;\r\n\t\t},\r\n\t\thasActiveCoupon(): boolean {\r\n\t\t\treturn (\r\n\t\t\t\t(this.cartClient?.appliedCouponCodes as CouponCode[])?.filter((x) => !x.isCadacWallet && !x.isAutodeskLoyalty)?.length > 0\r\n\t\t\t);\r\n\t\t},\r\n\t\thasActiveWalletCoupon(): boolean {\r\n\t\t\treturn (\r\n\t\t\t\t(this.cartClient?.appliedCouponCodes as CouponCode[])?.filter((x) => x.isCadacWallet)?.length > 0\r\n\t\t\t);\r\n\t\t},\r\n\t\thasActiveLoyaltyCoupon(): boolean {\r\n\t\t\treturn (\r\n\t\t\t\t(this.cartClient?.appliedCouponCodes as CouponCode[])?.filter((x) => x.isAutodeskLoyalty)?.length > 0\r\n\t\t\t);\r\n\t\t},\r\n\t\tcontractCartClients(): CartContractClient[] {\r\n\t\t\treturn concat(\r\n\t\t\t\tthis.cartClient.contractAdditions,\r\n\t\t\t\tthis.cartClient.contractCoterming,\r\n\t\t\t\tthis.cartClient.contractChanges,\r\n\t\t\t\tthis.cartClient.contractSwitches,\r\n\t\t\t\tthis.cartClient.contractProlongations,\r\n\t\t\t\tthis.cartClient.contractCotermProlongations\r\n\t\t\t).filter(Boolean);\r\n\t\t},\r\n\r\n\t\tcartLineClients(): CartLineClient[] {\r\n\t\t\treturn concat(\r\n\t\t\t\tthis.cartClient?.products,\r\n\t\t\t\tthis.cartClient?.servicePassProducts,\r\n\t\t\t\tthis.cartClient?.support,\r\n\t\t\t\tthis.cartClient?.walletDeposits\r\n\t\t\t).filter(Boolean);\r\n\t\t},\r\n\t\ttrainingCartClients(): CartLineClient[] {\r\n\t\t\treturn this.cartClient.trainingProducts;\r\n\t\t},\r\n\t\texpertCartClients(): CartLineClient[] {\r\n\t\t\treturn this.cartClient.expertProducts;\r\n\t\t},\r\n\t\tallCartLineClients(): CartLineClient[] {\r\n\t\t\tconst contractLines = this.contractCartClients.map((contract) => contract.assets).flat();\r\n\r\n\t\t\treturn concat(\r\n\t\t\t\tthis.cartLineClients,\r\n\t\t\t\tthis.trainingCartClients,\r\n\t\t\t\tthis.expertCartClients,\r\n\t\t\t\tcontractLines\r\n\t\t\t).filter(Boolean);\r\n\t\t},\r\n\t\tcartLineClientsByType(): CartLineClient[] {\r\n\t\t\treturn uniqBy(this.cartLineClients, 'cartLineType');\r\n\t\t},\r\n\t},\r\n\tactions: {\r\n\t\tasync addCouponCode(couponCode: string): Promise<{ cartClient: CartClient }> {\r\n\t\t\tconst response: AxiosResponse<CartClient> = await httpClient.post<CartClient>(\r\n\t\t\t\t'/api/cart/addcoupon',\r\n\t\t\t\t{\r\n\t\t\t\t\tvalue: couponCode,\r\n\t\t\t\t},\r\n\t\t\t\t{ requestId: 'addCoupon' }\r\n\t\t\t);\r\n\r\n\t\t\tthis.cartClient = response.data;\r\n\t\t\treturn { cartClient: response.data };\r\n\t\t},\r\n\t\tasync removeCouponCode(couponCode: string): Promise<{ cartClient: CartClient }> {\r\n\t\t\tconst response: AxiosResponse<CartClient> = await httpClient.post<CartClient>(\r\n\t\t\t\t'/api/cart/removecoupon',\r\n\t\t\t\t{\r\n\t\t\t\t\tvalue: couponCode,\r\n\t\t\t\t},\r\n\t\t\t\t{ requestId: 'removeCoupon' }\r\n\t\t\t);\r\n\r\n\t\t\tthis.cartClient = response.data;\r\n\t\t\tthis.updateWalletAmount();\r\n\t\t\treturn { cartClient: response.data };\r\n\t\t},\r\n\t\tasync exchangeWalletAmount(walletAmount: number): Promise<{ cartClient: CartClient }> {\r\n\t\t\tconst response: AxiosResponse<CartClient> = await httpClient.post<CartClient>(\r\n\t\t\t\t'/api/cart/usewallet',\r\n\t\t\t\tJSON.stringify(walletAmount),\r\n\t\t\t\t{ requestId: 'exchangeWallet' }\r\n\t\t\t);\r\n\r\n\t\t\tthis.cartClient = response.data;\r\n\t\t\treturn { cartClient: response.data };\r\n\t\t},\r\n\t\tasync deleteCart(): Promise<{ cartClient: CartClient }> {\r\n\t\t\tconst response: AxiosResponse<CartClient> = await httpClient.post<CartClient>(\r\n\t\t\t\t'/api/cart/deletecart',\r\n\t\t\t\tundefined,\r\n\t\t\t\t{\r\n\t\t\t\t\trequestId: 'removeProductInCart',\r\n\t\t\t\t}\r\n\t\t\t);\r\n\r\n\t\t\tthis.cartClient = response.data;\r\n\t\t\tuseLayoutStore().updateItemsInCart(this.cartClient.itemCount);\r\n\t\t\treturn { cartClient: response.data };\r\n\t\t},\r\n\t\tasync updateProductInCart(model: ProductUpdateInCart): Promise<{ cartClient: CartClient }> {\r\n\t\t\tconst response: AxiosResponse<CartClient> = await httpClient.post<CartClient>(\r\n\t\t\t\t'/api/cart/update',\r\n\t\t\t\tmodel,\r\n\t\t\t\t{\r\n\t\t\t\t\trequestId: 'updateProductCart',\r\n\t\t\t\t}\r\n\t\t\t);\r\n\r\n\t\t\tthis.cartClient = response.data;\r\n\t\t\tuseLayoutStore().updateItemsInCart(this.cartClient.itemCount);\r\n\t\t\tthis.updateWalletAmount();\r\n\t\t\treturn { cartClient: response.data };\r\n\t\t},\r\n\t\tupdateWalletAmount() {\r\n\t\t\tlet maxWalletAmount =\r\n\t\t\t\tthis.cartClient.maxWalletAmount > this.cartClient.subtotalWithoutVat\r\n\t\t\t\t\t? this.cartClient.subtotalWithoutVat\r\n\t\t\t\t\t: this.cartClient.maxWalletAmount;\r\n\t\t\tmaxWalletAmount = Math.round((maxWalletAmount + Number.EPSILON) * 100) / 100;\r\n\t\t\tconst walletExchangeAmount = this.hasActiveWalletCoupon\r\n\t\t\t\t? this.cartClient.appliedCouponCodes[0].discount\r\n\t\t\t\t: maxWalletAmount;\r\n\t\t\tthis.$patch({ maxWalletAmount, walletExchangeAmount });\r\n\t\t},\r\n\t\tshowModal(type: CartModalType) {\r\n\t\t\tswitch (type) {\r\n\t\t\t\tcase 'ShareCart':\r\n\t\t\t\t\tthis.showShareCartModal = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'SaveCart':\r\n\t\t\t\t\tthis.showSaveCartModal = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'ProductAdded':\r\n\t\t\t\t\tthis.showProductAddedModal = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t},\r\n\t\thideModal(type: CartModalType) {\r\n\t\t\tswitch (type) {\r\n\t\t\t\tcase 'ShareCart':\r\n\t\t\t\t\tthis.showShareCartModal = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'SaveCart':\r\n\t\t\t\t\tthis.showSaveCartModal = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'ProductAdded':\r\n\t\t\t\t\tthis.showProductAddedModal = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t},\r\n\t},\r\n});\r\n","import { render } from \"./productAddedModal.vue?vue&type=template&id=089139ca&scoped=true&ts=true\"\nimport script from \"./productAddedModal.vue?vue&type=script&lang=ts\"\nexport * from \"./productAddedModal.vue?vue&type=script&lang=ts\"\n\nimport \"./productAddedModal.vue?vue&type=style&index=0&id=089139ca&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-089139ca\"]])\n\nexport default __exports__","export enum ExpertBookingStatus {\r\n\tRequested = 0,\r\n\tPlanned = 1,\r\n\tDeclineRequested = 2,\r\n\tDeclined = 3,\r\n\tRejected = 4,\r\n\tStopped = 5,\r\n\t//Done, // Status and it's usage is retired. Don't use value!\r\n\tInProgress = 7,\r\n\tCancelled = 8,\r\n\tCompleted = 9,\r\n\tCancellationRequested = 10,\r\n\tAwaitingPayment = 11,\r\n\tDenied = 12,\r\n}\r\n","/* Auto Generated */\r\n\r\nexport enum ExpertPageState {\r\n\tcreated,\r\n\tappliedForApproval,\r\n\twaitingForContract,\r\n\tapproved,\r\n\trevoked,\r\n}\r\n","<template>\r\n\t<div class=\"status-badge d-inline-block d-lg-block\" :class=\"getBadgeClass()\">\r\n\t\t<span>{{ getTranslatedStatus() }}</span>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { Component, Prop, Vue } from \"vue-facing-decorator\";\r\nimport { ExpertBookingStatus } from \"@/types/enum/expertBookingStatus\";\r\nimport { ExpertPageState } from \"@/types/enum/expertPageState\";\r\nimport { PropType } from \"vue\";\r\n\r\nexport enum StatusBadgeType {\r\n\tTicketStatus,\r\n\tExpertBookingStatus,\r\n\tExpertPageState,\r\n}\r\n\r\n@Component\r\nexport default class StatusBadge extends Vue {\r\n\t@Prop({ type: Number, required: true }) status!: number;\r\n\t@Prop({ type: String, required: true, default: \"\" }) translationPrefix!: string;\r\n\t@Prop({ type: Number as PropType<StatusBadgeType>, required: false, default: StatusBadgeType.TicketStatus })\r\n\ttype!: StatusBadgeType;\r\n\r\n\tgetTranslatedStatus(): string {\r\n\t\treturn this.$t(`${this.translationPrefix}.${this.status}`);\r\n\t}\r\n\r\n\tgetBadgeClass(): { [name: string]: boolean } {\r\n\t\tswitch (this.type) {\r\n\t\t\tcase StatusBadgeType.TicketStatus:\r\n\t\t\t\tswitch (this.status) {\r\n\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\treturn { \"status-warning\": true, outlined: true };\r\n\t\t\t\t\tcase 1:\r\n\t\t\t\t\t\treturn { \"status-success\": true, outlined: true };\r\n\t\t\t\t\tcase 2:\r\n\t\t\t\t\t\treturn { \"status-info\": true, outlined: true };\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\treturn { \"status-secondary\": true, outlined: true };\r\n\t\t\t\t}\r\n\t\t\tcase StatusBadgeType.ExpertPageState:\r\n\t\t\t\tconst expertPageStatus = this.status as ExpertPageState; /* eslint-disable-line */\r\n\t\t\t\tswitch (expertPageStatus) {\r\n\t\t\t\t\tcase ExpertPageState.appliedForApproval:\r\n\t\t\t\t\t\treturn { \"status-warning\": true, outlined: true };\r\n\t\t\t\t\tcase ExpertPageState.waitingForContract:\r\n\t\t\t\t\t\treturn { \"status-info\": true, outlined: true };\r\n\t\t\t\t\tcase ExpertPageState.approved:\r\n\t\t\t\t\t\treturn { \"status-success\": true, outlined: true };\r\n\t\t\t\t\tcase ExpertPageState.revoked:\r\n\t\t\t\t\t\treturn { \"status-danger\": true, outlined: true };\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\treturn { \"status-secondary\": true };\r\n\t\t\t\t}\r\n\t\t\tcase StatusBadgeType.ExpertBookingStatus:\r\n\t\t\t\tconst bookingStatus = this.status as ExpertBookingStatus; /* eslint-disable-line */\r\n\t\t\t\tswitch (bookingStatus) {\r\n\t\t\t\t\tcase ExpertBookingStatus.Declined:\r\n\t\t\t\t\t\treturn { \"status-danger\": true };\r\n\t\t\t\t\tcase ExpertBookingStatus.Rejected:\r\n\t\t\t\t\t\treturn { \"status-danger\": true };\r\n\t\t\t\t\tcase ExpertBookingStatus.Stopped:\r\n\t\t\t\t\t\treturn { \"status-danger\": true };\r\n\t\t\t\t\tcase ExpertBookingStatus.InProgress:\r\n\t\t\t\t\t\treturn { \"status-info\": true };\r\n\t\t\t\t\tcase ExpertBookingStatus.Cancelled:\r\n\t\t\t\t\t\treturn { \"status-secondary\": true };\r\n\t\t\t\t\tcase ExpertBookingStatus.Completed:\r\n\t\t\t\t\t\treturn { \"status-success\": true };\r\n\t\t\t\t\tcase ExpertBookingStatus.DeclineRequested:\r\n\t\t\t\t\t\treturn { \"status-danger\": true, outlined: true };\r\n\t\t\t\t\tcase ExpertBookingStatus.CancellationRequested:\r\n\t\t\t\t\t\treturn { \"status-secondary\": true, outlined: true };\r\n\t\t\t\t\tcase ExpertBookingStatus.AwaitingPayment:\r\n\t\t\t\t\t\treturn { \"status-warning\": true, outlined: true };\r\n\t\t\t\t\tcase ExpertBookingStatus.Planned:\r\n\t\t\t\t\t\treturn { \"status-success\": true, outlined: true };\r\n\t\t\t\t\tcase ExpertBookingStatus.Requested:\r\n\t\t\t\t\t\treturn { \"status-info\": true, outlined: true };\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\treturn { \"status-secondary\": true };\r\n\t\t\t\t}\r\n\t\t}\r\n\t\treturn {};\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.status-badge {\r\n\tpadding: 0.4rem 0.6rem;\r\n\tfont-size: 0.8rem;\r\n\tfont-weight: 600;\r\n\ttext-align: center;\r\n\ttext-transform: uppercase;\r\n\tletter-spacing: 1px;\r\n\tborder: 1px solid #dfdfdf;\r\n\tborder-radius: 4px;\r\n\r\n\t&.status-secondary {\r\n\t\tcolor: var(--primary-color-text);\r\n\t\tborder-color: var(--secondary-color);\r\n\t\tbackground-color: var(--secondary-color);\r\n\r\n\t\t&.outlined {\r\n\t\t\tcolor: var(--secondary-color);\r\n\t\t\tborder-color: var(--secondary-color);\r\n\t\t\tbackground-color: var(--surface-a);\r\n\t\t}\r\n\t}\r\n\r\n\t&.status-success {\r\n\t\tcolor: var(--primary-color-text);\r\n\t\tborder-color: var(--success-color);\r\n\t\tbackground-color: var(--success-color);\r\n\r\n\t\t&.outlined {\r\n\t\t\tcolor: var(--success-color);\r\n\t\t\tborder-color: var(--success-color);\r\n\t\t\tbackground-color: var(--surface-a);\r\n\t\t}\r\n\t}\r\n\r\n\t&.status-info {\r\n\t\tcolor: var(--primary-color-text);\r\n\t\tborder-color: var(--info-color);\r\n\t\tbackground-color: var(--info-color);\r\n\r\n\t\t&.outlined {\r\n\t\t\tcolor: var(--info-color);\r\n\t\t\tborder-color: var(--info-color);\r\n\t\t\tbackground-color: var(--surface-a);\r\n\t\t}\r\n\t}\r\n\r\n\t&.status-danger {\r\n\t\tcolor: var(--primary-color-text);\r\n\t\tborder-color: var(--danger-color);\r\n\t\tbackground-color: var(--danger-color);\r\n\r\n\t\t&.outlined {\r\n\t\t\tcolor: var(--danger-color);\r\n\t\t\tborder-color: var(--danger-color);\r\n\t\t\tbackground-color: var(--surface-a);\r\n\t\t}\r\n\t}\r\n\r\n\t&.status-warning {\r\n\t\tcolor: var(--primary-color-text);\r\n\t\tborder-color: var(--warning-color);\r\n\t\tbackground-color: var(--warning-color);\r\n\r\n\t\t&.outlined {\r\n\t\t\tcolor: var(--warning-color);\r\n\t\t\tborder-color: var(--warning-color);\r\n\t\t\tbackground-color: var(--surface-a);\r\n\t\t}\r\n\t}\r\n}\r\n</style>\r\n","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"status-badge d-inline-block d-lg-block\", _ctx.getBadgeClass()])\n }, [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.getTranslatedStatus()), 1)\n ], 2))\n}","import { render } from \"./statusBadge.vue?vue&type=template&id=d5328d82&scoped=true&ts=true\"\nimport script from \"./statusBadge.vue?vue&type=script&lang=ts\"\nexport * from \"./statusBadge.vue?vue&type=script&lang=ts\"\n\nimport \"./statusBadge.vue?vue&type=style&index=0&id=d5328d82&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-d5328d82\"]])\n\nexport default __exports__","import { IComponent } from '@/types/models/common/component.interface';\r\n\r\n// Vendor Imports\r\nimport Popper from 'vue3-popper';\r\nimport { FontAwesomeIcon, FontAwesomeLayers, FontAwesomeLayersText } from '@fortawesome/vue-fontawesome';\r\nimport CountryFlag from 'vue-country-flag-next';\r\nimport { Form, Field, ErrorMessage } from 'vee-validate';\r\nimport { VueRecaptcha } from 'vue3-recaptcha-v2';\r\n\r\n// Component Imports\r\nimport BackButton from '@/components/common/backButton.vue';\r\nimport LinkButton from '@/components/common/linkButton.vue';\r\nimport PopoverIcon from '@/components/common/popoverIcon.vue';\r\nimport PriceSummary from '@/components/common/priceSummary.vue';\r\nimport ProductAddedModal from '@/components/commerce/productAddedModal.vue';\r\nimport StatusBadge from '@/components/common/statusBadge.vue';\r\n\r\n// Prime Imports\r\nimport Avatar from 'primevue/avatar';\r\nimport AvatarGroup from 'primevue/avatargroup';\r\nimport Badge from 'primevue/badge';\r\nimport Button from 'primevue/button';\r\nimport Card from 'primevue/card';\r\nimport Column from 'primevue/column';\r\nimport DataTable from 'primevue/datatable';\r\nimport Dialog from 'primevue/dialog';\r\nimport Dropdown from 'primevue/dropdown';\r\nimport InputNumber from 'primevue/inputnumber';\r\nimport InputSwitch from 'primevue/inputswitch';\r\nimport InputText from 'primevue/inputtext';\r\nimport Message from 'primevue/message';\r\nimport Panel from 'primevue/panel';\r\nimport RadioButton from 'primevue/radiobutton';\r\nimport TabPanel from 'primevue/tabpanel';\r\nimport TabView from 'primevue/tabview';\r\nimport Textarea from 'primevue/textarea';\r\nimport Inplace from 'primevue/inplace';\r\nimport BlockUI from 'primevue/blockui';\r\nimport MultiSelect from 'primevue/multiselect';\r\n\r\nexport const vendorComponents: IComponent[] = [\r\n\t{ element: 'Popper', component: Popper },\r\n\t{ element: 'font-awesome-icon', component: FontAwesomeIcon },\r\n\t{ element: 'font-awesome-layers', component: FontAwesomeLayers },\r\n\t{ element: 'font-awesome-layers-text', component: FontAwesomeLayersText },\r\n\t{ element: 'country-flag', component: CountryFlag },\r\n\t{ element: 'Form', component: Form },\r\n\t{ element: 'Field', component: Field },\r\n\t{ element: 'ErrorMessage', component: ErrorMessage },\r\n\t{ element: 'vue-recaptcha', component: VueRecaptcha },\r\n];\r\n\r\nexport const components: IComponent[] = [\r\n\t...vendorComponents,\r\n\t{ element: 'BackButton', component: BackButton },\r\n\t{ element: 'LinkButton', component: LinkButton },\r\n\t{ element: 'PopoverIcon', component: PopoverIcon },\r\n\t{ element: 'PriceSummary', component: PriceSummary },\r\n\t{ element: 'ProductAddedModal', component: ProductAddedModal },\r\n\t{ element: 'StatusBadge', component: StatusBadge },\r\n];\r\n\r\nexport const primeComponents: IComponent[] = [\r\n\t{ element: 'Avatar', component: Avatar },\r\n\t{ element: 'AvatarGroup', component: AvatarGroup },\r\n\t{ element: 'Badge', component: Badge },\r\n\t{ element: 'BlockUI', component: BlockUI },\r\n\t{ element: 'Button', component: Button },\r\n\t{ element: 'Card', component: Card },\r\n\t{ element: 'Column', component: Column },\r\n\t{ element: 'DataTable', component: DataTable },\r\n\t{ element: 'Dialog', component: Dialog },\r\n\t{ element: 'Dropdown', component: Dropdown },\r\n\t{ element: 'InputNumber', component: InputNumber },\r\n\t{ element: 'InputSwitch', component: InputSwitch },\r\n\t{ element: 'InputText', component: InputText },\r\n\t{ element: 'Inplace', component: Inplace },\r\n\t{ element: 'Message', component: Message },\r\n\t{ element: 'MultiSelect', component: MultiSelect },\r\n\t{ element: 'Panel', component: Panel },\r\n\t{ element: 'RadioButton', component: RadioButton },\r\n\t{ element: 'TabPanel', component: TabPanel },\r\n\t{ element: 'TabView', component: TabView },\r\n\t{ element: 'Textarea', component: Textarea },\r\n];\r\n","export enum Gender {\r\n\tUnknown,\r\n\tMale,\r\n\tFemale,\r\n}\r\n","import axios from '@/types/helpers/apiHelper';\r\nimport { Gender } from '@/types/enum/gender';\r\nimport { IPhoneObject } from '@/types/models/common/phoneObject.interface';\r\nimport { electronicFormatIBAN, isValidIBAN } from 'ibantools';\r\n\r\nexport class ValidationHelper {\r\n\t/**\r\n\t * Validate if the given value is a valid VAT number\r\n\t * Note: This is an async request!\r\n\t * @param value\r\n\t * @param countryCode\r\n\t * @param useVat\r\n\t */\r\n\tstatic async validateVat(value: string, countryCode: string, useVat: boolean): Promise<boolean> {\r\n\t\tif ((!value && !this.checkIfVatIsRequired(countryCode)) || !useVat) return Promise.resolve(true);\r\n\t\telse if (!value) return Promise.resolve(false);\r\n\t\tconst result = await axios.get(`/api/finance/validatevat/${value}`, { requestId: 'validateVat' });\r\n\t\treturn Promise.resolve(!!JSON.parse(result.data));\r\n\t}\r\n\r\n\t/**\r\n\t * Check if country is in EU, but not NL; then VAT number is required.\r\n\t * @param countryCode\r\n\t */\r\n\tstatic checkIfVatIsRequired(countryCode: string): boolean {\r\n\t\tif (!countryCode) return true;\r\n\t\tconst requiredCountries = [\r\n\t\t\t'AT',\r\n\t\t\t'BE',\r\n\t\t\t'BG',\r\n\t\t\t'CY',\r\n\t\t\t'CH',\r\n\t\t\t'NO',\r\n\t\t\t'CZ',\r\n\t\t\t'DE',\r\n\t\t\t'DK',\r\n\t\t\t'EE',\r\n\t\t\t'ES',\r\n\t\t\t'FI',\r\n\t\t\t'FR',\r\n\t\t\t'GR',\r\n\t\t\t'HR',\r\n\t\t\t'HU',\r\n\t\t\t'IE',\r\n\t\t\t'IT',\r\n\t\t\t'LT',\r\n\t\t\t'LU',\r\n\t\t\t'LV',\r\n\t\t\t'MT',\r\n\t\t\t'PL',\r\n\t\t\t'PT',\r\n\t\t\t'RO',\r\n\t\t\t'SE',\r\n\t\t\t'SI',\r\n\t\t\t'SK',\r\n\t\t\t'SM',\r\n\t\t\t'XI',\r\n\t\t];\r\n\r\n\t\treturn (\r\n\t\t\tcountryCode !== 'NL' &&\r\n\t\t\tcountryCode !== 'GB' &&\r\n\t\t\tcountryCode !== 'CH' &&\r\n\t\t\tcountryCode !== 'NO' &&\r\n\t\t\trequiredCountries.includes(countryCode)\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Validate if the given value is a valid IBAN number\r\n\t * Note: This is an async request!\r\n\t * @param value\r\n\t * @param useIban\r\n\t */\r\n\tstatic validateIban(value: string, useIban: boolean): boolean {\r\n\t\tif (!value || !useIban) return true;\r\n\t\treturn isValidIBAN(electronicFormatIBAN(value) || value);\r\n\t}\r\n\r\n\t/**\r\n\t * Checks if the given value matches the following:\r\n\t * - At least one lowercase\r\n\t * - At least one uppercase\r\n\t *\t- At least one numeric\r\n\t *\t- Minimum 8 characters\r\n\t * @param value\r\n\t */\r\n\tstatic validatePassword(value: string): any {\r\n\t\treturn /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.{8,})/.test(value);\r\n\t}\r\n\r\n\t/**\r\n\t * Validate if the given value is a valid postal code for the given countryCode\r\n\t * @param countryCode\r\n\t * @param value\r\n\t */\r\n\tstatic validatePostalCode(value: string, countryCode: string): boolean {\r\n\t\tswitch (countryCode) {\r\n\t\t\tcase 'NL':\r\n\t\t\t\treturn /^[1-9][0-9]{3}\\s?[a-zA-Z]{2}$/.test(value);\r\n\t\t\tcase 'BE':\r\n\t\t\t\treturn /^\\d{4}$/.test(value);\r\n\t\t\tcase 'AT':\r\n\t\t\t\treturn /^\\d{4}$/.test(value);\r\n\t\t\tcase 'CH':\r\n\t\t\t\treturn /^\\d{4}$/.test(value);\r\n\t\t\tcase 'DE':\r\n\t\t\t\treturn /^\\d{5}$/.test(value);\r\n\t\t\tcase 'PT':\r\n\t\t\t\treturn /^\\d{4}[- ]{0,1}\\d{3}$/.test(value);\r\n\t\t\tcase 'ES':\r\n\t\t\t\treturn /^\\d{5}$/.test(value);\r\n\t\t\tcase 'UK':\r\n\t\t\tcase 'GB':\r\n\t\t\t\treturn /^((([A-PR-UWYZ][0-9])|([A-PR-UWYZ][0-9][0-9])|([A-PR-UWYZ][A-HK-Y][0-9])|([A-PR-UWYZ][A-HK-Y][0-9][0-9])|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))\\s?([0-9][ABD-HJLNP-UW-Z]{2})|(GIR)\\s?(0AA))$/i.test(\r\n\t\t\t\t\tvalue\r\n\t\t\t\t);\r\n\t\t}\r\n\t\treturn true;\r\n\t}\r\n\r\n\t/**\r\n\t * Check if the CoC number is valid.\r\n\t * @param value\r\n\t */\r\n\tstatic validateCocNumber(value: string): boolean {\r\n\t\tif (!value) return true;\r\n\t\treturn /^\\d{8}$/.test(value);\r\n\t}\r\n\r\n\t/**\r\n\t * Check if email is valid\r\n\t * Regex taken from Vuelidate package.\r\n\t * @param value\r\n\t */\r\n\tstatic validateEmail(value: string): boolean {\r\n\t\treturn /^(?:[A-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[A-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9]{2,}(?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)])$/i.test(\r\n\t\t\tvalue\r\n\t\t);\r\n\t}\r\n\r\n\t/**\r\n\t * Checks if the PhoneObject that should be in the component is valid (Using Vue-tel-input).\r\n\t * @param value\r\n\t * @param phoneObject\r\n\t */\r\n\tstatic validatePhoneObject(value: string, phoneObject: IPhoneObject): boolean {\r\n\t\treturn phoneObject?.valid !== undefined ? phoneObject.valid : !!value;\r\n\t}\r\n\r\n\t/**\r\n\t * Checks if the phoneObjectValid boolean that should be in the component is valid (Using Vue-tel-input).\r\n\t * Alternative version of validatePhoneObject that checks for a boolean instead of an object.\r\n\t * @param value\r\n\t * @param siblings\r\n\t * @param vm\r\n\t */\r\n\tstatic validatePhoneObjectValid(value: string, siblings: any, vm: any): boolean {\r\n\t\tif (!vm && siblings) vm = siblings;\r\n\t\treturn vm.phoneObjectValid !== undefined ? vm.phoneObjectValid : !!value;\r\n\t}\r\n\r\n\t/**\r\n\t * Validates a gender value.\r\n\t *\r\n\t * @param {Gender} value - The gender value to validate.\r\n\t * @returns {boolean} `true` if the value is a valid gender, `false` otherwise.\r\n\t */\r\n\tstatic validateGender(value: Gender): boolean {\r\n\t\treturn value === Gender.Male || value === Gender.Female;\r\n\t}\r\n}\r\n","import { ValidationHelper } from '@/types/helpers/validationHelper';\r\nimport { configure, defineRule } from 'vee-validate';\r\nimport { email, max, max_value, min, min_value, required } from '@vee-validate/rules';\r\nimport { getActiveLocale } from '@/types/utils/i18n';\r\nimport { localize, setLocale } from '@vee-validate/i18n';\r\nimport { memoize } from 'lodash';\r\n\r\ndefineRule('required', required);\r\ndefineRule('email', email);\r\ndefineRule('minLength', min);\r\ndefineRule('maxLength', max);\r\ndefineRule('minValue', min_value);\r\ndefineRule('maxValue', max_value);\r\ndefineRule('gender', ValidationHelper.validateGender);\r\n\r\ndefineRule('validPassword', (value) => {\r\n\tif (!value || !value.length) {\r\n\t\treturn true;\r\n\t}\r\n\treturn ValidationHelper.validatePassword(value);\r\n});\r\n\r\ndefineRule('samePassword', (value, [target]) => {\r\n\treturn value === target;\r\n});\r\n\r\ndefineRule('validPostalCode', (value, [countryCode]) => {\r\n\tif (!value || !value.length) {\r\n\t\treturn true;\r\n\t}\r\n\treturn ValidationHelper.validatePostalCode(value, countryCode);\r\n});\r\n\r\ndefineRule(\r\n\t'validVatNumber',\r\n\tmemoize((value, [countryCode, useVat]) => {\r\n\t\tif (!value || !useVat) return true;\r\n\t\treturn ValidationHelper.validateVat(value, countryCode, useVat);\r\n\t})\r\n);\r\ndefineRule('validIbanNumber', (value, useIban) => {\r\n\tif (!value || !useIban) return true;\r\n\treturn ValidationHelper.validateIban(value, useIban);\r\n});\r\n\r\ndefineRule('validPhone', (value, phoneObj) => {\r\n\tif (!value || !value.length) {\r\n\t\treturn true;\r\n\t}\r\n\treturn phoneObj?.valid;\r\n});\r\n\r\nexport const configureValidationMessages = (messages: any): void => {\r\n\tconst mappedMessages = {\r\n\t\t[getActiveLocale()]: {\r\n\t\t\tmessages: messages['validations'],\r\n\t\t},\r\n\t};\r\n\tconfigure({\r\n\t\tgenerateMessage: localize(mappedMessages),\r\n\t});\r\n\r\n\tsetLocale(getActiveLocale());\r\n};\r\n","import { createGtm } from '@gtm-support/vue-gtm';\r\nimport { DataLayerPush, PurchaseEcommerceObject } from 'enhanced-ecommerce-types';\r\n\r\nexport const googleTagManager = createGtm({\r\n\tid: 'GTM-KZF52G', // Your GTM single container ID, array of container ids ['GTM-xxxxxx', 'GTM-yyyyyy'] or array of objects [{id: 'GTM-xxxxxx', queryParams: { gtm_auth: 'abc123', gtm_preview: 'env-4', gtm_cookies_win: 'x'}}, {id: 'GTM-yyyyyy', queryParams: {gtm_auth: 'abc234', gtm_preview: 'env-5', gtm_cookies_win: 'x'}}], // Your GTM single container ID or array of container ids ['GTM-xxxxxx', 'GTM-yyyyyy']\r\n\t// queryParams: {\r\n\t// \t// Add URL query string when loading gtm.js with GTM ID (required when using custom environments)\r\n\t// \tgtm_auth: 'AB7cDEf3GHIjkl-MnOP8qr',\r\n\t// \tgtm_preview: 'env-4',\r\n\t// \tgtm_cookies_win: 'x',\r\n\t// },\r\n\tdefer: true, // Script can be set to `defer` to speed up page load at the cost of less accurate results (in case visitor leaves before script is loaded, which is unlikely but possible). Defaults to false, so the script is loaded `async` by default\r\n\tcompatibility: true, // Will add `async` and `defer` to the script tag to not block requests for old browsers that do not support `async`\r\n\tnonce: '2726c7f26c', // Will add `nonce` to the script tag\r\n\tenabled: true, // defaults to true. Plugin can be disabled by setting this to false for Ex: enabled: !!GDPR_Cookie (optional)\r\n\tdebug: true, // Whether or not display console logs debugs (optional)\r\n\tloadScript: false, // Whether or not to load the GTM Script (Helpful if you are including GTM manually, but need the dataLayer functionality in your components) (optional)\r\n\ttrackOnNextTick: false, // Whether or not call trackView in Vue.nextTick\r\n});\r\n\r\nexport const pushToDataLayer = (obj: DataLayerPush | PurchaseDataLayerPush) => {\r\n\twindow.dataLayer = window.dataLayer || [];\r\n\twindow.dataLayer.push(obj);\r\n};\r\n\r\n// Custom types missing from 'enhanced-ecommerce-types' package //\r\n//////////////////////////////////////////////////////////////////\r\n\r\nexport type PurchaseDataLayerPush = {\r\n\tecommerce: PurchaseEcommerceObject;\r\n};\r\n","import {\r\n\tfaArrowRightArrowLeft,\r\n\tfaArrowRightLong,\r\n\tfaArrowRightFromBracket,\r\n\tfaBars,\r\n\tfaBinarySlash,\r\n\tfaBox,\r\n\tfaBurger,\r\n\tfaCartShopping,\r\n\tfaCheckCircle,\r\n\tfaCircleUser as farCircleUser,\r\n\tfaCircleXmark,\r\n\tfaCoins,\r\n\tfaComputerMouse,\r\n\tfaEarth,\r\n\tfaEarthEurope,\r\n\tfaFile,\r\n\tfaFileContract,\r\n\tfaFolders,\r\n\tfaGraduationCap,\r\n\tfaHardDrive,\r\n\tfaHatWizard,\r\n\tfaLifeRing,\r\n\tfaLightbulbOn,\r\n\tfaLocationDot,\r\n\tfaMagnifyingGlass,\r\n\tfaMapLocationDot,\r\n\tfaQuestion,\r\n\tfaRotateRight,\r\n\tfaSuitcase,\r\n\tfaUser as farUser,\r\n\tfaUserCog,\r\n\tfaUserSecret,\r\n\tfaUserShield,\r\n\tfaUserSlash,\r\n\tfaCircleExclamation,\r\n\tfaTriangleExclamation,\r\n\tfaCheck,\r\n} from '@fortawesome/pro-regular-svg-icons';\r\nimport {\r\n\tfaCircleUser as fasCircleUser,\r\n\tfaUser,\r\n\tfaListCheck,\r\n\tfaPartyHorn,\r\n\tfaChevronsDown,\r\n\tfaChevronsUp,\r\n\tfaPhone,\r\n\tfaPaperPlane,\r\n} from '@fortawesome/pro-solid-svg-icons';\r\nimport { faFacebookF, faYoutube, faLinkedinIn, faSpotify } from '@fortawesome/free-brands-svg-icons';\r\nimport { library } from '@fortawesome/fontawesome-svg-core';\r\n\r\nconst FONT_AWESOME_ICONS = [\r\n\tfaArrowRightArrowLeft,\r\n\tfaArrowRightLong,\r\n\tfaArrowRightFromBracket,\r\n\tfaBars,\r\n\tfaBinarySlash,\r\n\tfaBox,\r\n\tfaBurger,\r\n\tfaCartShopping,\r\n\tfaCheckCircle,\r\n\tfaCircleXmark,\r\n\tfaCoins,\r\n\tfaComputerMouse,\r\n\tfaEarth,\r\n\tfaEarthEurope,\r\n\tfaFacebookF,\r\n\tfaFile,\r\n\tfaFileContract,\r\n\tfaFolders,\r\n\tfaGraduationCap,\r\n\tfaHardDrive,\r\n\tfaHatWizard,\r\n\tfaLifeRing,\r\n\tfaLightbulbOn,\r\n\tfaLinkedinIn,\r\n\tfaListCheck,\r\n\tfaLocationDot,\r\n\tfaMagnifyingGlass,\r\n\tfaMapLocationDot,\r\n\tfaQuestion,\r\n\tfaRotateRight,\r\n\tfaSpotify,\r\n\tfaSuitcase,\r\n\tfaUser,\r\n\tfaUserCog,\r\n\tfaUserSecret,\r\n\tfaUserShield,\r\n\tfaUserSlash,\r\n\tfaYoutube,\r\n\tfarCircleUser,\r\n\tfarUser,\r\n\tfasCircleUser,\r\n\tfaPartyHorn,\r\n\tfaCircleExclamation,\r\n\tfaTriangleExclamation,\r\n\tfaChevronsDown,\r\n\tfaChevronsUp,\r\n\tfaCheck,\r\n\tfaPhone,\r\n\tfaPaperPlane,\r\n];\r\n\r\nexport const loadIcons = (): void => {\r\n\tlibrary.add(...FONT_AWESOME_ICONS);\r\n};\r\n","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, createBlock as _createBlock, createElementVNode as _createElementVNode, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = { key: 0 }\nconst _hoisted_2 = { class: \"form-row\" }\nconst _hoisted_3 = { class: \"form-group col-md-6 col-xxl-4\" }\nconst _hoisted_4 = { class: \"d-flex align-items-center\" }\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"popover-icon pi pi-question\" }, null, -1)\nconst _hoisted_6 = [\"innerHTML\"]\nconst _hoisted_7 = {\n key: 0,\n class: \"text-muted mb-2\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_PersonalForm = _resolveComponent(\"PersonalForm\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_TabPanel = _resolveComponent(\"TabPanel\")!\n const _component_InputText = _resolveComponent(\"InputText\")!\n const _component_PopoverIcon = _resolveComponent(\"PopoverIcon\")!\n const _component_NewPasswordForm = _resolveComponent(\"NewPasswordForm\")!\n const _component_CompanyForm = _resolveComponent(\"CompanyForm\")!\n const _component_RelatedContactTable = _resolveComponent(\"RelatedContactTable\")!\n const _component_AddressForm = _resolveComponent(\"AddressForm\")!\n const _component_TabView = _resolveComponent(\"TabView\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (_ctx.vm.pageTitle)\n ? (_openBlock(), _createElementBlock(\"h1\", _hoisted_1, _toDisplayString(_ctx.vm.pageTitle), 1))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_TabView, {\n activeIndex: _ctx.activeIndex,\n \"onUpdate:activeIndex\": _cache[5] || (_cache[5] = ($event: any) => ((_ctx.activeIndex) = $event)),\n onTabChange: _ctx.onTabChange\n }, {\n default: _withCtx(() => [\n (_ctx.shouldShowTab(_ctx.enumTabs.PERSONAL))\n ? (_openBlock(), _createBlock(_component_TabPanel, {\n key: _ctx.enumTabs.PERSONAL,\n header: _ctx.$t('myCadac.accountSettings.tabView.headerPersonal')\n }, {\n default: _withCtx(() => [\n _createVNode(_component_PersonalForm, {\n modelValue: _ctx.personalFormModel,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.personalFormModel) = $event)),\n ref: \"personalForm\"\n }, null, 8, [\"modelValue\"]),\n _createVNode(_component_Button, {\n class: \"p-button-success p-button-raised p-button-lg\",\n disabled: !_ctx.canSubmit,\n label: _ctx.$t('common.save'),\n loading: _ctx.isLoading,\n onClick: _ctx.onSubmitClick\n }, null, 8, [\"disabled\", \"label\", \"loading\", \"onClick\"])\n ]),\n _: 1\n }, 8, [\"header\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.shouldShowTab(_ctx.enumTabs.PASSWORD))\n ? (_openBlock(), _createBlock(_component_TabPanel, {\n key: _ctx.enumTabs.PASSWORD,\n header: _ctx.$t('myCadac.accountSettings.tabView.headerLogin')\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t(\"myCadac.accountSettings.lblEmail\")), 1),\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(_component_InputText, {\n modelValue: _ctx.vm.login.email,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.vm.login.email) = $event)),\n class: \"mr-1 p-disabled\",\n readonly: \"true\",\n type: \"email\"\n }, null, 8, [\"modelValue\"]),\n _createVNode(_component_PopoverIcon, { class: \"d-inline-flex\" }, {\n content: _withCtx(() => [\n _createElementVNode(\"div\", {\n innerHTML: _ctx.$t('myCadac.accountSettings.changeEmailHelpText')\n }, null, 8, _hoisted_6)\n ]),\n default: _withCtx(() => [\n _hoisted_5\n ]),\n _: 1\n })\n ])\n ])\n ]),\n _createVNode(_component_NewPasswordForm, {\n modelValue: _ctx.passwordFormModel,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.passwordFormModel) = $event)),\n ref: \"passwordForm\"\n }, null, 8, [\"modelValue\"]),\n _createVNode(_component_Button, {\n class: \"p-button-success p-button-raised p-button-lg\",\n disabled: !_ctx.canSubmit,\n label: _ctx.$t('common.save'),\n loading: _ctx.isLoading,\n onClick: _ctx.onSubmitClick\n }, null, 8, [\"disabled\", \"label\", \"loading\", \"onClick\"])\n ]),\n _: 1\n }, 8, [\"header\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.shouldShowTab(_ctx.enumTabs.COMPANY))\n ? (_openBlock(), _createBlock(_component_TabPanel, {\n key: _ctx.enumTabs.COMPANY,\n header: _ctx.$t('myCadac.accountSettings.tabView.headerOrganisation')\n }, {\n default: _withCtx(() => [\n _createVNode(_component_CompanyForm, {\n modelValue: _ctx.companyFormModel,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.companyFormModel) = $event)),\n ref: \"companyForm\",\n countries: _ctx.vm.countries,\n \"use-vat\": \"\"\n }, null, 8, [\"modelValue\", \"countries\"]),\n _createVNode(_component_Button, {\n class: \"p-button-success p-button-raised p-button-lg\",\n disabled: !_ctx.canSubmit,\n label: _ctx.$t('common.save'),\n loading: _ctx.isLoading,\n onClick: _ctx.onSubmitClick\n }, null, 8, [\"disabled\", \"label\", \"loading\", \"onClick\"]),\n _createVNode(_component_RelatedContactTable, {\n items: _ctx.vm.relatedContacts\n }, null, 8, [\"items\"])\n ]),\n _: 1\n }, 8, [\"header\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.shouldShowTab(_ctx.enumTabs.INVOICEADDRESS))\n ? (_openBlock(), _createBlock(_component_TabPanel, {\n key: _ctx.enumTabs.INVOICEADDRESS,\n header: _ctx.$t('myCadac.accountSettings.tabView.headerInvoice')\n }, {\n default: _withCtx(() => [\n (_ctx.vm.invoiceDebtorAccountNumber)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_7, _toDisplayString(_ctx.$t(\"myCadac.accountSettings.lblinvoiceDebtor\", {\r\n\t\t\t\t\t\tname: _ctx.vm.invoiceDebtorName,\r\n\t\t\t\t\t\taccountNumber: _ctx.vm.invoiceDebtorAccountNumber,\r\n\t\t\t\t\t})), 1))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_AddressForm, {\n modelValue: _ctx.invoiceAddressFormModel,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_ctx.invoiceAddressFormModel) = $event)),\n ref: \"invoiceAddressForm\",\n countries: _ctx.vm.countries\n }, null, 8, [\"modelValue\", \"countries\"]),\n _createVNode(_component_Button, {\n class: \"p-button-success p-button-raised p-button-lg\",\n disabled: !_ctx.canSubmit,\n label: _ctx.$t('common.save'),\n loading: _ctx.isLoading,\n onClick: _ctx.onSubmitClick\n }, null, 8, [\"disabled\", \"label\", \"loading\", \"onClick\"])\n ]),\n _: 1\n }, 8, [\"header\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"activeIndex\", \"onTabChange\"])\n ], 64))\n}","<template>\r\n\t<h1 v-if=\"vm.pageTitle\">{{ vm.pageTitle }}</h1>\r\n\r\n\t<TabView v-model:activeIndex=\"activeIndex\" @tab-change=\"onTabChange\">\r\n\t\t<TabPanel :key=\"enumTabs.PERSONAL\" v-if=\"shouldShowTab(enumTabs.PERSONAL)\" :header=\"$t('myCadac.accountSettings.tabView.headerPersonal')\">\r\n\t\t\t<PersonalForm v-model=\"personalFormModel\" ref=\"personalForm\" />\r\n\t\t\t<Button class=\"p-button-success p-button-raised p-button-lg\"\r\n\t\t\t\t\t:disabled=\"!canSubmit\"\r\n\t\t\t\t\t:label=\"$t('common.save')\"\r\n\t\t\t\t\t:loading=\"isLoading\"\r\n\t\t\t\t\t@click=\"onSubmitClick\" />\r\n\t\t</TabPanel>\r\n\t\t<TabPanel :key=\"enumTabs.PASSWORD\" v-if=\"shouldShowTab(enumTabs.PASSWORD)\" :header=\"$t('myCadac.accountSettings.tabView.headerLogin')\">\r\n\t\t\t<div class=\"form-row\">\r\n\t\t\t\t<div class=\"form-group col-md-6 col-xxl-4\">\r\n\t\t\t\t\t<label>{{ $t(\"myCadac.accountSettings.lblEmail\") }}</label>\r\n\t\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t\t<InputText v-model=\"vm.login.email\" class=\"mr-1 p-disabled\" readonly=\"true\" type=\"email\" />\r\n\t\t\t\t\t\t<PopoverIcon class=\"d-inline-flex\">\r\n\t\t\t\t\t\t\t<i class=\"popover-icon pi pi-question\" />\r\n\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t<div v-html=\"$t('myCadac.accountSettings.changeEmailHelpText')\" />\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</PopoverIcon>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<NewPasswordForm v-model=\"passwordFormModel\" ref=\"passwordForm\" />\r\n\t\t\t<Button class=\"p-button-success p-button-raised p-button-lg\"\r\n\t\t\t\t\t:disabled=\"!canSubmit\"\r\n\t\t\t\t\t:label=\"$t('common.save')\"\r\n\t\t\t\t\t:loading=\"isLoading\"\r\n\t\t\t\t\t@click=\"onSubmitClick\" />\r\n\t\t</TabPanel>\r\n\t\t<TabPanel :key=\"enumTabs.COMPANY\" v-if=\"shouldShowTab(enumTabs.COMPANY)\" :header=\"$t('myCadac.accountSettings.tabView.headerOrganisation')\">\r\n\t\t\t<CompanyForm v-model=\"companyFormModel\" ref=\"companyForm\" :countries=\"vm.countries\" use-vat />\r\n\t\t\t<Button class=\"p-button-success p-button-raised p-button-lg\"\r\n\t\t\t\t\t:disabled=\"!canSubmit\"\r\n\t\t\t\t\t:label=\"$t('common.save')\"\r\n\t\t\t\t\t:loading=\"isLoading\"\r\n\t\t\t\t\t@click=\"onSubmitClick\" />\r\n\t\t\t<RelatedContactTable :items=\"vm.relatedContacts\" />\r\n\t\t</TabPanel>\r\n\t\t<TabPanel :key=\"enumTabs.INVOICEADDRESS\" v-if=\"shouldShowTab(enumTabs.INVOICEADDRESS)\" :header=\"$t('myCadac.accountSettings.tabView.headerInvoice')\">\r\n\t\t\t<p v-if=\"vm.invoiceDebtorAccountNumber\" class=\"text-muted mb-2\">\r\n\t\t\t\t{{\r\n\t\t\t\t\t$t(\"myCadac.accountSettings.lblinvoiceDebtor\", {\r\n\t\t\t\t\t\tname: vm.invoiceDebtorName,\r\n\t\t\t\t\t\taccountNumber: vm.invoiceDebtorAccountNumber,\r\n\t\t\t\t\t})\r\n\t\t\t\t}}\r\n\t\t\t</p>\r\n\t\t\t<AddressForm v-model=\"invoiceAddressFormModel\" ref=\"invoiceAddressForm\" :countries=\"vm.countries\" />\r\n\t\t\t<Button class=\"p-button-success p-button-raised p-button-lg\"\r\n\t\t\t\t\t:disabled=\"!canSubmit\"\r\n\t\t\t\t\t:label=\"$t('common.save')\"\r\n\t\t\t\t\t:loading=\"isLoading\"\r\n\t\t\t\t\t@click=\"onSubmitClick\" />\r\n\t\t</TabPanel>\r\n\t</TabView>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport AddressForm from \"@/components/common/forms/addressForm.vue\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport CompanyForm from \"@/components/common/forms/companyForm.vue\";\r\nimport NewPasswordForm from \"@/components/common/forms/newPasswordForm.vue\";\r\nimport PersonalForm from \"@/components/common/forms/personalForm.vue\";\r\nimport RelatedContactTable from \"@/components/accountSettings/relatedContactTable.vue\";\r\nimport { AddressForm as AddressFormModel } from \"@/types/models/form/addressForm\";\r\nimport { CompanyForm as CompanyFormModel } from \"@/types/models/form/companyForm\";\r\nimport { Component, Prop, Ref } from \"vue-facing-decorator\";\r\nimport { FormComponent } from \"@/types/models/form/formComponent\";\r\nimport { IAccountSettings } from \"@/types/viewModels/myCadac/accountSettingsViewModel\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PersonalForm as PersonalFormModel } from \"@/types/models/form/personalForm\";\r\nimport { ProfilePassword } from \"@/types/models/form/profilePassword\";\r\nimport { PropType } from \"vue\";\r\n\r\n@Component({\r\n\tcomponents: { RelatedContactTable, PersonalForm, AddressForm, CompanyForm, NewPasswordForm },\r\n})\r\nexport default class AccountSettings extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IAccountSettings>, required: true, default: {} }) vm!: IAccountSettings;\r\n\r\n\t@Ref readonly companyForm!: FormComponent<CompanyFormModel>;\r\n\t@Ref readonly invoiceAddressForm!: FormComponent<AddressFormModel>;\r\n\t@Ref readonly personalForm!: FormComponent<PersonalFormModel>;\r\n\t@Ref readonly passwordForm!: FormComponent<ProfilePassword>;\r\n\r\n\tenumTabs = {\r\n PERSONAL: 0,\r\n PASSWORD: 1,\r\n COMPANY: 2,\r\n INVOICEADDRESS: 3,\r\n };\r\n\r\n\tactiveTab = this.enumTabs.PASSWORD;\r\n\tvisibleTabs: number[] = [];\r\n\tisLoading = false;\r\n\treloadRefs = true;\r\n\r\n\tpasswordFormModel!: ProfilePassword;\r\n\tcompanyFormModel!: CompanyFormModel;\r\n\tinvoiceAddressFormModel!: AddressFormModel;\r\n\tpersonalFormModel!: PersonalFormModel;\r\n\r\n\t// Trigger reload of variable used in getters so the Refs get loaded properly.\r\n\tbeforeCreate() {\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.reloadRefs = !this.reloadRefs; // change var, so getters containing it get loaded and refs work... :'(\r\n\t\t}, 10);\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tLog.info(\"AccountSettings\", this.vm);\r\n\t\tconst { company, personal, invoiceAddress } = this.vm;\r\n\t\tthis.personalFormModel = personal;\r\n\t\tthis.companyFormModel = company;\r\n\t\tthis.invoiceAddressFormModel = invoiceAddress;\r\n\r\n\t\tif (this.showPersonalTab) {\r\n\t\t\tthis.visibleTabs.push(this.enumTabs.PERSONAL);\r\n\t\t\tthis.activeTab = this.enumTabs.PERSONAL;\r\n\t\t}\r\n\t\tthis.visibleTabs.push(this.enumTabs.PASSWORD);\r\n\t\tif (this.showCompanyTab) this.visibleTabs.push(this.enumTabs.COMPANY);\r\n\t\tif (this.showInvoiceAddressTab) this.visibleTabs.push(this.enumTabs.INVOICEADDRESS);\r\n\t}\r\n\r\n\tget activeIndex() {\r\n return this.visibleTabs.indexOf(this.activeTab);\r\n }\r\n\r\n\tshouldShowTab(tabKey: number) {\r\n\t\treturn this.visibleTabs.includes(tabKey);\r\n\t}\r\n\r\n\tonTabChange(event) {\r\n const selectedTabIndex = event.index;\r\n\r\n\t this.selectActiveTab(this.visibleTabs[selectedTabIndex]);\r\n }\r\n\r\n\tselectActiveTab(tabKey: number) {\r\n this.activeTab = tabKey;\r\n }\r\n\r\n\tget isAccountVerified(): boolean {\r\n\t\treturn this.layoutStore.isImpersonated\r\n\t\t\t? this.layoutStore.vm.impersonatedUser.isEmailVerified\r\n\t\t\t: this.layoutStore.vm.currentUser.isEmailVerified;\r\n\t}\r\n\r\n\tget canSubmit(): boolean {\r\n\t\treturn this.isActiveTabDirty && this.isActiveTabValid && !this.isLoading;\r\n\t}\r\n\r\n\tget isActiveTabValid(): boolean {\r\n\t\tthis.reloadRefs; // Lees de waarde om dependency tracking te triggeren\r\n\t\tif (!this.isAccountVerified) return !!this.passwordForm?.isValid;\r\n\t\tswitch (this.activeTab) {\r\n\t\t\tcase 0:\r\n\t\t\t\treturn this.personalForm?.isValid;\r\n\t\t\tcase 1:\r\n\t\t\t\treturn this.passwordForm?.isValid;\r\n\t\t\tcase 2:\r\n\t\t\t\treturn this.companyForm?.isValid;\r\n\t\t\tcase 3:\r\n\t\t\t\treturn this.invoiceAddressForm?.isValid;\r\n\t\t}\r\n\t\treturn true;\r\n\t}\r\n\r\n\tget isActiveTabDirty(): boolean {\r\n\t\tthis.reloadRefs; // Lees de waarde om dependency tracking te triggeren\r\n\t\tif (!this.isAccountVerified) return this.passwordForm?.isDirty;\r\n\t\tswitch (this.activeTab) {\r\n\t\t\tcase 0:\r\n\t\t\t\treturn this.personalForm?.isDirty;\r\n\t\t\tcase 1:\r\n\t\t\t\treturn this.passwordForm?.isDirty;\r\n\t\t\tcase 2:\r\n\t\t\t\treturn this.companyForm?.isDirty;\r\n\t\t\tcase 3:\r\n\t\t\t\treturn this.invoiceAddressForm?.isDirty;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\tget showPersonalTab(): boolean {\r\n\t\treturn this.isAccountVerified && !!this.vm.personal;\r\n\t}\r\n\r\n\tget showInvoiceAddressTab(): boolean {\r\n\t\treturn this.isAccountVerified && !!this.vm.invoiceAddress;\r\n\t}\r\n\r\n\tget showCompanyTab(): boolean {\r\n\t\treturn this.isAccountVerified && !!this.vm.company;\r\n\t}\r\n\r\n\tonSubmitClick(): void {\r\n\t\tif (!this.isActiveTabValid || !this.isActiveTabDirty) return;\r\n\t\tif (!this.isAccountVerified) {\r\n\t\t\tthis.savePassword();\r\n\t\t} else {\r\n\t\t\tswitch (this.activeTab) {\r\n\t\t\t\tcase 0:\r\n\t\t\t\t\tthis.savePersonalInfo();\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 1:\r\n\t\t\t\t\tthis.savePassword();\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 2:\r\n\t\t\t\t\tthis.saveCompanyInfo();\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 3:\r\n\t\t\t\t\tthis.saveInvoiceAddress();\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate savePersonalInfo(): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tthis.axios\r\n\t\t\t.post(`/api/userprofile/updatePersonal`, this.personalFormModel)\r\n\t\t\t.then(() => this.showSuccessToast())\r\n\t\t\t.catch(() => this.showErrorToast())\r\n\t\t\t.finally(() => this.loadingStore.decreaseLoadingCount());\r\n\t}\r\n\r\n\tprivate savePassword(): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tthis.axios\r\n\t\t\t.post(`/api/userprofile/updatePassword`, this.passwordFormModel)\r\n\t\t\t.then(() => this.showSuccessToast())\r\n\t\t\t.catch(() => this.showErrorToast())\r\n\t\t\t.finally(() => this.loadingStore.decreaseLoadingCount());\r\n\t}\r\n\r\n\tprivate saveCompanyInfo(): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tthis.axios\r\n\t\t\t.post(`/api/userprofile/updateCompany`, this.companyFormModel)\r\n\t\t\t.then(() => this.showSuccessToast())\r\n\t\t\t.catch(() => this.showErrorToast())\r\n\t\t\t.finally(() => this.loadingStore.decreaseLoadingCount());\r\n\t}\r\n\r\n\tprivate saveInvoiceAddress(): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tthis.axios\r\n\t\t\t.post(`/api/userprofile/updateInvoiceAddress`, this.invoiceAddressFormModel)\r\n\t\t\t.then(() => this.showSuccessToast())\r\n\t\t\t.catch(() => this.showErrorToast())\r\n\t\t\t.finally(() => this.loadingStore.decreaseLoadingCount());\r\n\t}\r\n\r\n\tprivate showSuccessToast(): void {\r\n\t\tthis.$toast.add({\r\n\t\t\tseverity: \"success\",\r\n\t\t\tsummary: this.$t(\"common.messages.titleSuccess\"),\r\n\t\t\tdetail: this.$t(\"common.messages.saveChangesSuccess\"),\r\n\t\t\tlife: 3000,\r\n\t\t});\r\n\t}\r\n\r\n\tprivate showErrorToast(): void {\r\n\t\tthis.$toast.add({\r\n\t\t\tseverity: \"error\",\r\n\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\tdetail: this.$t(\"common.messages.saveChangesError\"),\r\n\t\t\tlife: 3000,\r\n\t\t});\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { resolveComponent as _resolveComponent, normalizeClass as _normalizeClass, createVNode as _createVNode, withCtx as _withCtx, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"form-row\" }\nconst _hoisted_2 = { class: \"form-group col-md-12 col-lg-10 col-xxl-8\" }\nconst _hoisted_3 = { class: \"form-row\" }\nconst _hoisted_4 = { class: \"form-group col-md-6 col-lg-5 col-xxl-4\" }\nconst _hoisted_5 = { class: \"form-group col-md-6 col-lg-5 col-xxl-4\" }\nconst _hoisted_6 = { class: \"form-row\" }\nconst _hoisted_7 = { class: \"form-group col-md-12 col-lg-10 col-xxl-8\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_InputText = _resolveComponent(\"InputText\")!\n const _component_InputWithValidation = _resolveComponent(\"InputWithValidation\")!\n const _component_Dropdown = _resolveComponent(\"Dropdown\")!\n\n return (_openBlock(), _createElementBlock(\"form\", {\n onChange: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.formStateChanged && _ctx.formStateChanged(...args)))\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_InputWithValidation, {\n \"is-required\": _ctx.validations['street'].required,\n label: _ctx.$t('common.forms.lblAddress'),\n name: \"street\"\n }, {\n default: _withCtx(({ field }) => [\n _createVNode(_component_InputText, {\n modelValue: field.value.value,\n \"onUpdate:modelValue\": ($event: any) => ((field.value.value) = $event),\n class: _normalizeClass({ 'p-invalid': field.errors?.length }),\n name: field.name,\n onBlur: ($event: any) => (field.setTouched(true))\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"class\", \"name\", \"onBlur\"])\n ]),\n _: 1\n }, 8, [\"is-required\", \"label\"])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(_component_InputWithValidation, {\n \"is-required\": _ctx.validations['postalCode'].required,\n label: _ctx.$t('common.forms.lblPostalCode'),\n name: \"postalCode\"\n }, {\n default: _withCtx(({ field }) => [\n _createVNode(_component_InputText, {\n modelValue: field.value.value,\n \"onUpdate:modelValue\": ($event: any) => ((field.value.value) = $event),\n class: _normalizeClass({ 'p-invalid': field.errors?.length }),\n name: field.name,\n onBlur: ($event: any) => (field.setTouched(true))\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"class\", \"name\", \"onBlur\"])\n ]),\n _: 1\n }, 8, [\"is-required\", \"label\"])\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createVNode(_component_InputWithValidation, {\n \"is-required\": _ctx.validations['city'].required,\n label: _ctx.$t('common.forms.lblCity'),\n name: \"city\"\n }, {\n default: _withCtx(({ field }) => [\n _createVNode(_component_InputText, {\n modelValue: field.value.value,\n \"onUpdate:modelValue\": ($event: any) => ((field.value.value) = $event),\n class: _normalizeClass({ 'p-invalid': field.errors?.length }),\n name: field.name,\n onBlur: ($event: any) => (field.setTouched(true))\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"class\", \"name\", \"onBlur\"])\n ]),\n _: 1\n }, 8, [\"is-required\", \"label\"])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createVNode(_component_InputWithValidation, {\n \"is-required\": _ctx.validations['countryCode'].required,\n label: _ctx.$t('common.forms.lblCountry'),\n name: \"countryCode\"\n }, {\n default: _withCtx(({ field }) => [\n _createVNode(_component_Dropdown, {\n modelValue: field.value.value,\n \"onUpdate:modelValue\": ($event: any) => ((field.value.value) = $event),\n class: _normalizeClass({ 'p-invalid': field.errors?.length }),\n disabled: _ctx.countries?.length === 1,\n \"option-label\": \"value\",\n \"option-value\": \"key\",\n options: _ctx.countries,\n onChange: ($event: any) => {\r\n\t\t\t\t\t\t\t_ctx.formStateChanged;\r\n\t\t\t\t\t\t\tfield.setTouched(true);\r\n\t\t\t\t\t\t}\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"class\", \"disabled\", \"options\", \"onChange\"])\n ]),\n _: 1\n }, 8, [\"is-required\", \"label\"])\n ])\n ])\n ], 32))\n}","<template>\r\n\t<form @change=\"formStateChanged\">\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-md-12 col-lg-10 col-xxl-8\">\r\n\t\t\t\t<InputWithValidation\r\n\t\t\t\t\tv-slot=\"{ field }\"\r\n\t\t\t\t\t:is-required=\"validations['street'].required\"\r\n\t\t\t\t\t:label=\"$t('common.forms.lblAddress')\"\r\n\t\t\t\t\tname=\"street\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<InputText\r\n\t\t\t\t\t\tv-model=\"field.value.value\"\r\n\t\t\t\t\t\t:class=\"{ 'p-invalid': field.errors?.length }\"\r\n\t\t\t\t\t\t:name=\"field.name\"\r\n\t\t\t\t\t\t@blur=\"field.setTouched(true)\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</InputWithValidation>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-md-6 col-lg-5 col-xxl-4\">\r\n\t\t\t\t<InputWithValidation\r\n\t\t\t\t\tv-slot=\"{ field }\"\r\n\t\t\t\t\t:is-required=\"validations['postalCode'].required\"\r\n\t\t\t\t\t:label=\"$t('common.forms.lblPostalCode')\"\r\n\t\t\t\t\tname=\"postalCode\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<InputText\r\n\t\t\t\t\t\tv-model=\"field.value.value\"\r\n\t\t\t\t\t\t:class=\"{ 'p-invalid': field.errors?.length }\"\r\n\t\t\t\t\t\t:name=\"field.name\"\r\n\t\t\t\t\t\t@blur=\"field.setTouched(true)\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</InputWithValidation>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"form-group col-md-6 col-lg-5 col-xxl-4\">\r\n\t\t\t\t<InputWithValidation\r\n\t\t\t\t\tv-slot=\"{ field }\"\r\n\t\t\t\t\t:is-required=\"validations['city'].required\"\r\n\t\t\t\t\t:label=\"$t('common.forms.lblCity')\"\r\n\t\t\t\t\tname=\"city\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<InputText\r\n\t\t\t\t\t\tv-model=\"field.value.value\"\r\n\t\t\t\t\t\t:class=\"{ 'p-invalid': field.errors?.length }\"\r\n\t\t\t\t\t\t:name=\"field.name\"\r\n\t\t\t\t\t\t@blur=\"field.setTouched(true)\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</InputWithValidation>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-md-12 col-lg-10 col-xxl-8\">\r\n\t\t\t\t<InputWithValidation\r\n\t\t\t\t\tv-slot=\"{ field }\"\r\n\t\t\t\t\t:is-required=\"validations['countryCode'].required\"\r\n\t\t\t\t\t:label=\"$t('common.forms.lblCountry')\"\r\n\t\t\t\t\tname=\"countryCode\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<Dropdown\r\n\t\t\t\t\t\tv-model=\"field.value.value\"\r\n\t\t\t\t\t\t:class=\"{ 'p-invalid': field.errors?.length }\"\r\n\t\t\t\t\t\t:disabled=\"countries?.length === 1\"\r\n\t\t\t\t\t\toption-label=\"value\"\r\n\t\t\t\t\t\toption-value=\"key\"\r\n\t\t\t\t\t\t:options=\"countries\"\r\n\t\t\t\t\t\t@change=\"\r\n\t\t\t\t\t\t\tformStateChanged;\r\n\t\t\t\t\t\t\tfield.setTouched(true);\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</InputWithValidation>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</form>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport InputWithValidation from \"@/components/common/inputWithValidation.vue\";\r\nimport { AddressForm as AddressFormModel } from \"@/types/models/form/addressForm\";\r\nimport { Component, Emit, Model, Prop } from \"vue-facing-decorator\";\r\nimport { FormComponent } from \"@/types/models/form/formComponent\";\r\nimport { FormContext, FormMeta, useForm } from \"vee-validate\";\r\nimport { PropType, unref } from \"vue\";\r\nimport { cloneDeep } from \"lodash\";\r\n\r\n@Component({\r\n\tcomponents: { InputWithValidation },\r\n\temits: [\"update:modelValue\"],\r\n})\r\nexport default class AddressForm extends BaseComponent implements FormComponent<AddressFormModel> {\r\n\t@Model({\r\n\t\ttype: Object as PropType<AddressFormModel>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tmodel!: AddressFormModel;\r\n\r\n\t@Prop({\r\n\t\ttype: Object as PropType<{ [key: string]: string }>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tcountries!: { [key: string]: string }[];\r\n\r\n\t@Emit() formStateChanged(): FormMeta<AddressFormModel> {\r\n\t\tconst { meta, values } = this.form;\r\n\t\tthis.model = cloneDeep(values);\r\n\t\treturn unref(meta);\r\n\t}\r\n\r\n\tform!: FormContext<AddressFormModel>;\r\n\r\n\tcreated(): void {\r\n\t\tif (!this.model.countryCode && this.countries.length === 1) {\r\n\t\t\tthis.model.countryCode = this.countries[0].key;\r\n\t\t}\r\n\t\tthis.form = useForm({ initialValues: this.model, validationSchema: this.validations });\r\n\t}\r\n\r\n\tget validations(): {\r\n\t\tstreet: { required: boolean };\r\n\t\tpostalCode: {\r\n\t\t\trequired: boolean;\r\n\t\t\tvalidPostalCode: string;\r\n\t\t};\r\n\t\tcity: { required: boolean };\r\n\t\tcountryCode: { required: boolean };\r\n\t} {\r\n\t\treturn {\r\n\t\t\tstreet: { required: true },\r\n\t\t\tpostalCode: {\r\n\t\t\t\trequired: true,\r\n\t\t\t\tvalidPostalCode: \"@countryCode\",\r\n\t\t\t},\r\n\t\t\tcity: { required: true },\r\n\t\t\tcountryCode: { required: this.countries?.length > 1 },\r\n\t\t};\r\n\t}\r\n\r\n\tget isValid(): boolean {\r\n\t\treturn unref(this.form.meta)?.valid;\r\n\t}\r\n\r\n\tget isDirty(): boolean {\r\n\t\treturn unref(this.form.meta)?.dirty;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createBlock as _createBlock, renderSlot as _renderSlot, vShow as _vShow, withDirectives as _withDirectives, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-8cce3670\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"d-flex flex-wrap flex-column justify-content-between\" }\nconst _hoisted_2 = [\"for\", \"title\"]\nconst _hoisted_3 = [\"title\"]\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"popover-icon pi pi-question\" }, null, -1))\nconst _hoisted_5 = [\"innerHTML\"]\nconst _hoisted_6 = { class: \"d-flex justify-content-end flex-column\" }\nconst _hoisted_7 = [\"id\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_PopoverIcon = _resolveComponent(\"PopoverIcon\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"d-flex\", [_ctx.labelWrapperClass]])\n }, [\n _createElementVNode(\"label\", {\n class: _normalizeClass([_ctx.labelClass]),\n for: _ctx.name,\n title: _ctx.label\n }, [\n _createTextVNode(_toDisplayString(_ctx.label) + \" \", 1),\n (_ctx.isRequired)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass({ required: _ctx.isRequired }),\n title: _ctx.$t('validations.required')\n }, \"*\", 10, _hoisted_3))\n : _createCommentVNode(\"\", true)\n ], 10, _hoisted_2),\n (_ctx.info)\n ? (_openBlock(), _createBlock(_component_PopoverIcon, {\n key: 0,\n class: \"d-inline-flex flex-0 ml-0\"\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"div\", { innerHTML: _ctx.info }, null, 8, _hoisted_5)\n ]),\n default: _withCtx(() => [\n _hoisted_4\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"div\", _hoisted_6, [\n _renderSlot(_ctx.$slots, \"default\", { field: _ctx.field }, undefined, true)\n ]),\n _withDirectives(_createElementVNode(\"small\", {\n id: `${_ctx.name}-help`,\n class: \"p-error\"\n }, _toDisplayString(_ctx.field?.errorMessage?.value), 9, _hoisted_7), [\n [_vShow, _ctx.shouldShowError]\n ])\n ]))\n}","<template>\r\n\t<div class=\"d-flex flex-wrap flex-column justify-content-between\">\r\n\t\t<div class=\"d-flex\" :class=\"[labelWrapperClass]\">\r\n\t\t\t<label :class=\"[labelClass]\" :for=\"name\" :title=\"label\">\r\n\t\t\t\t{{ label }}\r\n\t\t\t\t<span v-if=\"isRequired\"\r\n\t\t\t\t\t :class=\"{ required: isRequired }\"\r\n\t\t\t\t\t :title=\"$t('validations.required')\">*</span>\r\n\t\t\t</label>\r\n\t\t\t\r\n\t\t\t<PopoverIcon v-if=\"info\" class=\"d-inline-flex flex-0 ml-0\">\r\n\t\t\t\t<i class=\"popover-icon pi pi-question\" />\r\n\t\t\t\t<template #content>\r\n\t\t\t\t\t<div v-html=\"info\" />\r\n\t\t\t\t</template>\r\n\t\t\t</PopoverIcon>\r\n\t\t</div>\r\n\t\t<div class=\"d-flex justify-content-end flex-column\">\r\n\t\t\t<slot :field=\"field\" />\r\n\t\t</div>\r\n\r\n\t\t<small v-show=\"shouldShowError\" :id=\"`${name}-help`\" class=\"p-error\">\r\n\t\t\t{{ field?.errorMessage?.value }}\r\n\t\t</small>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Prop, Watch } from \"vue-facing-decorator\";\r\nimport { FieldContext, useField } from \"vee-validate\";\r\n\r\n@Component\r\nexport default class InputWithValidation extends BaseComponent {\r\n\t@Prop({ type: Boolean, required: false, default: false })\r\n\tisRequired!: boolean;\r\n\r\n\t@Prop({ type: String, required: false })\r\n\tlabel!: string;\r\n\r\n\t@Prop({ type: String, required: true })\r\n\tname!: string;\r\n\r\n\t@Prop({ type: String, required: false })\r\n\tinfo!: string;\r\n\r\n\t@Prop({ type: String, required: false })\r\n\tlabelWrapperClass!: string;\r\n\r\n\t@Prop({ type: String, required: false })\r\n\tlabelClass!: string;\r\n\t\r\n\r\n\tfield!: FieldContext;\r\n\tshouldShowError = false;\r\n\r\n\tcreated(): void {\r\n\t\tthis.field = useField(() => this.name);\r\n\t}\r\n\r\n\t@Watch(\"field.meta.touched\")\r\n\t@Watch(\"field.errors\", { deep: true })\r\n\tonErrorChange(): void {\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.shouldShowError = this.field.meta.touched && this.field.errors?.value?.length > 0;\r\n\t\t});\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\nlabel:first-of-type {\r\n\tdisplay: -webkit-box;\r\n\t-webkit-line-clamp: 1;\r\n\t-webkit-box-orient: vertical;\r\n\toverflow: hidden;\r\n}\r\n\r\nspan.required {\r\n\tmargin-left: 0.25rem;\r\n\tcolor: var(--primary-color);\r\n\tfont-weight: 600;\r\n}\r\n</style>\r\n","import { render } from \"./inputWithValidation.vue?vue&type=template&id=8cce3670&scoped=true&ts=true\"\nimport script from \"./inputWithValidation.vue?vue&type=script&lang=ts\"\nexport * from \"./inputWithValidation.vue?vue&type=script&lang=ts\"\n\nimport \"./inputWithValidation.vue?vue&type=style&index=0&id=8cce3670&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-8cce3670\"]])\n\nexport default __exports__","import { render } from \"./addressForm.vue?vue&type=template&id=6f362190&ts=true\"\nimport script from \"./addressForm.vue?vue&type=script&lang=ts\"\nexport * from \"./addressForm.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, withCtx as _withCtx, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-492d4696\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"loader d-flex flex-column justify-content-center align-items-center text-center mx-auto form-group col-md-12 col-lg-10 col-xxl-8\"\n}\nconst _hoisted_2 = { class: \"form-row\" }\nconst _hoisted_3 = { class: \"form-group col-md-12 col-lg-10 col-xxl-8\" }\nconst _hoisted_4 = { class: \"d-flex\" }\nconst _hoisted_5 = { class: \"mb-0 mr-1 text-bold\" }\nconst _hoisted_6 = { class: \"mb-0\" }\nconst _hoisted_7 = { class: \"form-row\" }\nconst _hoisted_8 = { class: \"form-group col-md-12 col-lg-10 col-xxl-8\" }\nconst _hoisted_9 = { class: \"form-row\" }\nconst _hoisted_10 = { class: \"form-group col-md-6 col-lg-5 col-xxl-4\" }\nconst _hoisted_11 = { class: \"form-group col-md-6 col-lg-5 col-xxl-4\" }\nconst _hoisted_12 = { class: \"form-row\" }\nconst _hoisted_13 = { class: \"form-group col-md-12 col-lg-10 col-xxl-8\" }\nconst _hoisted_14 = { class: \"form-row\" }\nconst _hoisted_15 = {\n key: 0,\n class: \"form-group col-md-12 col-lg-10 col-xxl-8\"\n}\nconst _hoisted_16 = { class: \"p-input-icon-right w-100\" }\nconst _hoisted_17 = {\n key: 0,\n class: \"pi pi-spin pi-spinner\"\n}\nconst _hoisted_18 = { class: \"form-row\" }\nconst _hoisted_19 = { class: \"form-group col-md-6 col-lg-5 col-xxl-4\" }\nconst _hoisted_20 = { class: \"form-group col-md-6 col-lg-5 col-xxl-4\" }\nconst _hoisted_21 = { class: \"p-input-icon-right w-100\" }\nconst _hoisted_22 = {\n key: 0,\n class: \"pi pi-spin pi-spinner\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ProgressSpinner = _resolveComponent(\"ProgressSpinner\")!\n const _component_AutoComplete = _resolveComponent(\"AutoComplete\")!\n const _component_InputWithValidation = _resolveComponent(\"InputWithValidation\")!\n const _component_InputText = _resolveComponent(\"InputText\")!\n const _component_Dropdown = _resolveComponent(\"Dropdown\")!\n\n return (_openBlock(), _createElementBlock(\"form\", {\n class: \"position-relative\",\n onChange: _cache[3] || (_cache[3] = \n//@ts-ignore\n(...args) => (_ctx.formStateChanged && _ctx.formStateChanged(...args)))\n }, [\n (_ctx.isSpinnerVisible('autofill'))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_ProgressSpinner, {\n \"animation-duration\": \"1.75s\",\n \"stroke-width\": \"4\"\n })\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_ctx.autoComplete)\n ? (_openBlock(), _createBlock(_component_InputWithValidation, {\n key: 0,\n \"is-required\": _ctx.validations['companyName'].required,\n label: _ctx.$t('common.forms.lblCompanyName'),\n name: \"companyName\"\n }, {\n default: _withCtx(({ field }) => [\n _createVNode(_component_AutoComplete, {\n modelValue: field.value.value,\n \"onUpdate:modelValue\": ($event: any) => ((field.value.value) = $event),\n class: _normalizeClass([\"w-100\", { 'p-invalid': field.errors?.length }]),\n \"min-length\": 2,\n \"option-label\": \"name\",\n suggestions: _ctx.companySuggestions,\n onBlur: ($event: any) => (field.setTouched(true)),\n onChange: _cache[0] || (_cache[0] = ($event: any) => (_ctx.autoFillOptOut())),\n onComplete: _cache[1] || (_cache[1] = ($event: any) => (_ctx.searchCompanies($event.query))),\n onItemSelect: _cache[2] || (_cache[2] = ($event: any) => (_ctx.onSuggestionSelection($event.value.dunsNumber)))\n }, {\n option: _withCtx(({ option }) => [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"p\", _hoisted_5, _toDisplayString(option?.name), 1),\n _createElementVNode(\"p\", _hoisted_6, \"in \" + _toDisplayString(option?.mainAddress.city), 1)\n ])\n ]),\n _: 2\n }, 1032, [\"modelValue\", \"onUpdate:modelValue\", \"class\", \"suggestions\", \"onBlur\"])\n ]),\n _: 1\n }, 8, [\"is-required\", \"label\"]))\n : (_openBlock(), _createBlock(_component_InputWithValidation, {\n key: 1,\n \"is-required\": _ctx.validations['companyName'].required,\n label: _ctx.$t('common.forms.lblCompanyName'),\n name: \"companyName\"\n }, {\n default: _withCtx(({ field }) => [\n _createVNode(_component_InputText, {\n modelValue: field.value.value,\n \"onUpdate:modelValue\": ($event: any) => ((field.value.value) = $event),\n class: _normalizeClass({ 'p-invalid': field.errors?.length }),\n name: field.name,\n onBlur: ($event: any) => (field.setTouched(true))\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"class\", \"name\", \"onBlur\"])\n ]),\n _: 1\n }, 8, [\"is-required\", \"label\"]))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createVNode(_component_InputWithValidation, {\n \"is-required\": _ctx.validations['street'].required,\n label: _ctx.$t('common.forms.lblAddress'),\n name: \"street\"\n }, {\n default: _withCtx(({ field }) => [\n _createVNode(_component_InputText, {\n modelValue: field.value.value,\n \"onUpdate:modelValue\": ($event: any) => ((field.value.value) = $event),\n class: _normalizeClass({ 'p-invalid': field.errors?.length }),\n disabled: !_ctx.canEditCompany,\n name: field.name,\n onBlur: ($event: any) => (field.setTouched(true))\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"class\", \"disabled\", \"name\", \"onBlur\"])\n ]),\n _: 1\n }, 8, [\"is-required\", \"label\"])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createVNode(_component_InputWithValidation, {\n \"is-required\": _ctx.validations['postalCode'].required,\n label: _ctx.$t('common.forms.lblPostalCode'),\n name: \"postalCode\"\n }, {\n default: _withCtx(({ field }) => [\n _createVNode(_component_InputText, {\n modelValue: field.value.value,\n \"onUpdate:modelValue\": ($event: any) => ((field.value.value) = $event),\n class: _normalizeClass({ 'p-invalid': field.errors?.length }),\n disabled: !_ctx.canEditCompany,\n name: field.name,\n onBlur: ($event: any) => (field.setTouched(true))\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"class\", \"disabled\", \"name\", \"onBlur\"])\n ]),\n _: 1\n }, 8, [\"is-required\", \"label\"])\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createVNode(_component_InputWithValidation, {\n \"is-required\": _ctx.validations['city'].required,\n label: _ctx.$t('common.forms.lblCity'),\n name: \"city\"\n }, {\n default: _withCtx(({ field }) => [\n _createVNode(_component_InputText, {\n modelValue: field.value.value,\n \"onUpdate:modelValue\": ($event: any) => ((field.value.value) = $event),\n class: _normalizeClass({ 'p-invalid': field.errors?.length }),\n disabled: !_ctx.canEditCompany,\n name: field.name,\n onBlur: ($event: any) => (field.setTouched(true))\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"class\", \"disabled\", \"name\", \"onBlur\"])\n ]),\n _: 1\n }, 8, [\"is-required\", \"label\"])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", _hoisted_13, [\n _createVNode(_component_InputWithValidation, {\n \"is-required\": _ctx.validations['countryCode'].required,\n label: _ctx.$t('common.forms.lblCountry'),\n name: \"countryCode\"\n }, {\n default: _withCtx(({ field }) => [\n _createVNode(_component_Dropdown, {\n class: _normalizeClass({ 'p-invalid': field.errors?.length }),\n disabled: (_ctx.countries?.length === 1 && _ctx.canEditCompany) || !_ctx.canEditCompany,\n \"model-value\": field.value.value,\n \"option-label\": \"value\",\n \"option-value\": \"key\",\n options: _ctx.countries,\n onChange: ($event: any) => (field.setTouched(true)),\n \"onUpdate:modelValue\": \r\n\t\t\t\t\t\t\t(e) => {\r\n\t\t\t\t\t\t\t\tfield.value.value = e;\r\n\t\t\t\t\t\t\t\tfield.setTouched(true);\r\n\t\t\t\t\t\t\t\t_ctx.formStateChanged();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\n }, null, 8, [\"class\", \"disabled\", \"model-value\", \"options\", \"onChange\", \"onUpdate:modelValue\"])\n ]),\n _: 1\n }, 8, [\"is-required\", \"label\"])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n (_ctx.useIban)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n _createVNode(_component_InputWithValidation, {\n info: _ctx.$t('iban.infoIcon'),\n \"is-required\": _ctx.validations['iban'].required,\n label: _ctx.$t('common.forms.lblIban'),\n name: \"iban\"\n }, {\n default: _withCtx(({ field }) => [\n _createElementVNode(\"div\", _hoisted_16, [\n _createVNode(_component_InputText, {\n modelValue: field.value.value,\n \"onUpdate:modelValue\": ($event: any) => ((field.value.value) = $event),\n modelModifiers: { lazy: true, trim: true },\n class: _normalizeClass({ 'p-invalid': field.errors?.length }),\n disabled: !_ctx.canEditCompany,\n name: field.name,\n onBlur: ($event: any) => {\r\n\t\t\t\t\t\t\t\t_ctx.formatIban(field.value.value);\r\n\t\t\t\t\t\t\t\tfield.setTouched(true);\r\n\t\t\t\t\t\t\t}\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"class\", \"disabled\", \"name\", \"onBlur\"]),\n (field.meta.pending)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_17))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n }, 8, [\"info\", \"is-required\", \"label\"])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_18, [\n _createElementVNode(\"div\", _hoisted_19, [\n _createVNode(_component_InputWithValidation, {\n \"is-required\": _ctx.validations['cocNumber'].required,\n label: _ctx.$t('common.forms.lblCocNumber'),\n name: \"cocNumber\"\n }, {\n default: _withCtx(({ field }) => [\n _createVNode(_component_InputText, {\n modelValue: field.value.value,\n \"onUpdate:modelValue\": ($event: any) => ((field.value.value) = $event),\n class: _normalizeClass({ 'p-invalid': field.errors?.length }),\n disabled: !_ctx.canEditCompany,\n name: field.name,\n onBlur: ($event: any) => (field.setTouched(true))\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"class\", \"disabled\", \"name\", \"onBlur\"])\n ]),\n _: 1\n }, 8, [\"is-required\", \"label\"])\n ]),\n _createElementVNode(\"div\", _hoisted_20, [\n _createVNode(_component_InputWithValidation, {\n info: _ctx.$t('vat.infoIcon'),\n \"is-required\": _ctx.validations['vatNumber'].required,\n label: _ctx.$t('common.forms.lblVatNumber'),\n name: \"vatNumber\"\n }, {\n default: _withCtx(({ field }) => [\n _createElementVNode(\"div\", _hoisted_21, [\n _createVNode(_component_InputText, {\n modelValue: field.value.value,\n \"onUpdate:modelValue\": ($event: any) => ((field.value.value) = $event),\n modelModifiers: { trim: true, lazy: true },\n class: _normalizeClass({ 'p-invalid': field.errors?.length }),\n disabled: !_ctx.canEditCompany,\n name: field.name,\n onBlur: ($event: any) => (field.setTouched(true))\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"class\", \"disabled\", \"name\", \"onBlur\"]),\n (field.meta.pending)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_22))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n }, 8, [\"info\", \"is-required\", \"label\"])\n ])\n ])\n ], 32))\n}","<template>\r\n\t<form class=\"position-relative\" @change=\"formStateChanged\">\r\n\t\t<div\r\n\t\t\tv-if=\"isSpinnerVisible('autofill')\"\r\n\t\t\tclass=\"loader d-flex flex-column justify-content-center align-items-center text-center mx-auto form-group col-md-12 col-lg-10 col-xxl-8\"\r\n\t\t>\r\n\t\t\t<ProgressSpinner animation-duration=\"1.75s\" stroke-width=\"4\" />\r\n\t\t</div>\r\n\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-md-12 col-lg-10 col-xxl-8\">\r\n\t\t\t\t<template v-if=\"autoComplete\">\r\n\t\t\t\t\t<InputWithValidation\r\n\t\t\t\t\t\tv-slot=\"{ field }\"\r\n\t\t\t\t\t\t:is-required=\"validations['companyName'].required\"\r\n\t\t\t\t\t\t:label=\"$t('common.forms.lblCompanyName')\"\r\n\t\t\t\t\t\tname=\"companyName\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<AutoComplete\r\n\t\t\t\t\t\t\tv-model=\"field.value.value\"\r\n\t\t\t\t\t\t\tclass=\"w-100\"\r\n\t\t\t\t\t\t\t:class=\"{ 'p-invalid': field.errors?.length }\"\r\n\t\t\t\t\t\t\t:min-length=\"2\"\r\n\t\t\t\t\t\t\toption-label=\"name\"\r\n\t\t\t\t\t\t\t:suggestions=\"companySuggestions\"\r\n\t\t\t\t\t\t\t@blur=\"field.setTouched(true)\"\r\n\t\t\t\t\t\t\t@change=\"autoFillOptOut()\"\r\n\t\t\t\t\t\t\t@complete=\"searchCompanies($event.query)\"\r\n\t\t\t\t\t\t\t@item-select=\"onSuggestionSelection($event.value.dunsNumber)\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<template #option=\"{ option }\">\r\n\t\t\t\t\t\t\t\t<div class=\"d-flex\">\r\n\t\t\t\t\t\t\t\t\t<p class=\"mb-0 mr-1 text-bold\">\r\n\t\t\t\t\t\t\t\t\t\t{{ option?.name }}\r\n\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t<p class=\"mb-0\">in {{ option?.mainAddress.city }}</p>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</AutoComplete>\r\n\t\t\t\t\t</InputWithValidation>\r\n\t\t\t\t</template>\r\n\t\t\t\t<InputWithValidation\r\n\t\t\t\t\tv-else\r\n\t\t\t\t\tv-slot=\"{ field }\"\r\n\t\t\t\t\t:is-required=\"validations['companyName'].required\"\r\n\t\t\t\t\t:label=\"$t('common.forms.lblCompanyName')\"\r\n\t\t\t\t\tname=\"companyName\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<InputText\r\n\t\t\t\t\t\tv-model=\"field.value.value\"\r\n\t\t\t\t\t\t:class=\"{ 'p-invalid': field.errors?.length }\"\r\n\t\t\t\t\t\t:name=\"field.name\"\r\n\t\t\t\t\t\t@blur=\"field.setTouched(true)\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</InputWithValidation>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-md-12 col-lg-10 col-xxl-8\">\r\n\t\t\t\t<InputWithValidation\r\n\t\t\t\t\tv-slot=\"{ field }\"\r\n\t\t\t\t\t:is-required=\"validations['street'].required\"\r\n\t\t\t\t\t:label=\"$t('common.forms.lblAddress')\"\r\n\t\t\t\t\tname=\"street\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<InputText\r\n\t\t\t\t\t\tv-model=\"field.value.value\"\r\n\t\t\t\t\t\t:class=\"{ 'p-invalid': field.errors?.length }\"\r\n\t\t\t\t\t\t:disabled=\"!canEditCompany\"\r\n\t\t\t\t\t\t:name=\"field.name\"\r\n\t\t\t\t\t\t@blur=\"field.setTouched(true)\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</InputWithValidation>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-md-6 col-lg-5 col-xxl-4\">\r\n\t\t\t\t<InputWithValidation\r\n\t\t\t\t\tv-slot=\"{ field }\"\r\n\t\t\t\t\t:is-required=\"validations['postalCode'].required\"\r\n\t\t\t\t\t:label=\"$t('common.forms.lblPostalCode')\"\r\n\t\t\t\t\tname=\"postalCode\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<InputText\r\n\t\t\t\t\t\tv-model=\"field.value.value\"\r\n\t\t\t\t\t\t:class=\"{ 'p-invalid': field.errors?.length }\"\r\n\t\t\t\t\t\t:disabled=\"!canEditCompany\"\r\n\t\t\t\t\t\t:name=\"field.name\"\r\n\t\t\t\t\t\t@blur=\"field.setTouched(true)\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</InputWithValidation>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"form-group col-md-6 col-lg-5 col-xxl-4\">\r\n\t\t\t\t<InputWithValidation\r\n\t\t\t\t\tv-slot=\"{ field }\"\r\n\t\t\t\t\t:is-required=\"validations['city'].required\"\r\n\t\t\t\t\t:label=\"$t('common.forms.lblCity')\"\r\n\t\t\t\t\tname=\"city\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<InputText\r\n\t\t\t\t\t\tv-model=\"field.value.value\"\r\n\t\t\t\t\t\t:class=\"{ 'p-invalid': field.errors?.length }\"\r\n\t\t\t\t\t\t:disabled=\"!canEditCompany\"\r\n\t\t\t\t\t\t:name=\"field.name\"\r\n\t\t\t\t\t\t@blur=\"field.setTouched(true)\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</InputWithValidation>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-md-12 col-lg-10 col-xxl-8\">\r\n\t\t\t\t<InputWithValidation\r\n\t\t\t\t\tv-slot=\"{ field }\"\r\n\t\t\t\t\t:is-required=\"validations['countryCode'].required\"\r\n\t\t\t\t\t:label=\"$t('common.forms.lblCountry')\"\r\n\t\t\t\t\tname=\"countryCode\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<Dropdown\r\n\t\t\t\t\t\t:class=\"{ 'p-invalid': field.errors?.length }\"\r\n\t\t\t\t\t\t:disabled=\"(countries?.length === 1 && canEditCompany) || !canEditCompany\"\r\n\t\t\t\t\t\t:model-value=\"field.value.value\"\r\n\t\t\t\t\t\toption-label=\"value\"\r\n\t\t\t\t\t\toption-value=\"key\"\r\n\t\t\t\t\t\t:options=\"countries\"\r\n\t\t\t\t\t\t@change=\"field.setTouched(true)\"\r\n\t\t\t\t\t\t@update:modelValue=\"\r\n\t\t\t\t\t\t\t(e) => {\r\n\t\t\t\t\t\t\t\tfield.value.value = e;\r\n\t\t\t\t\t\t\t\tfield.setTouched(true);\r\n\t\t\t\t\t\t\t\tformStateChanged();\r\n\t\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</InputWithValidation>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div v-if=\"useIban\" class=\"form-group col-md-12 col-lg-10 col-xxl-8\">\r\n\t\t\t\t<InputWithValidation\r\n\t\t\t\t\tv-slot=\"{ field }\"\r\n\t\t\t\t\t:info=\"$t('iban.infoIcon')\"\r\n\t\t\t\t\t:is-required=\"validations['iban'].required\"\r\n\t\t\t\t\t:label=\"$t('common.forms.lblIban')\"\r\n\t\t\t\t\tname=\"iban\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<div class=\"p-input-icon-right w-100\">\r\n\t\t\t\t\t\t<InputText\r\n\t\t\t\t\t\t\tv-model.lazy.trim=\"field.value.value\"\r\n\t\t\t\t\t\t\t:class=\"{ 'p-invalid': field.errors?.length }\"\r\n\t\t\t\t\t\t\t:disabled=\"!canEditCompany\"\r\n\t\t\t\t\t\t\t:name=\"field.name\"\r\n\t\t\t\t\t\t\t@blur=\"\r\n\t\t\t\t\t\t\t\tformatIban(field.value.value);\r\n\t\t\t\t\t\t\t\tfield.setTouched(true);\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<i v-if=\"field.meta.pending\" class=\"pi pi-spin pi-spinner\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</InputWithValidation>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-md-6 col-lg-5 col-xxl-4\">\r\n\t\t\t\t<InputWithValidation\r\n\t\t\t\t\tv-slot=\"{ field }\"\r\n\t\t\t\t\t:is-required=\"validations['cocNumber'].required\"\r\n\t\t\t\t\t:label=\"$t('common.forms.lblCocNumber')\"\r\n\t\t\t\t\tname=\"cocNumber\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<InputText\r\n\t\t\t\t\t\tv-model=\"field.value.value\"\r\n\t\t\t\t\t\t:class=\"{ 'p-invalid': field.errors?.length }\"\r\n\t\t\t\t\t\t:disabled=\"!canEditCompany\"\r\n\t\t\t\t\t\t:name=\"field.name\"\r\n\t\t\t\t\t\t@blur=\"field.setTouched(true)\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</InputWithValidation>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"form-group col-md-6 col-lg-5 col-xxl-4\">\r\n\t\t\t\t<InputWithValidation\r\n\t\t\t\t\tv-slot=\"{ field }\"\r\n\t\t\t\t\t:info=\"$t('vat.infoIcon')\"\r\n\t\t\t\t\t:is-required=\"validations['vatNumber'].required\"\r\n\t\t\t\t\t:label=\"$t('common.forms.lblVatNumber')\"\r\n\t\t\t\t\tname=\"vatNumber\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<div class=\"p-input-icon-right w-100\">\r\n\t\t\t\t\t\t<InputText\r\n\t\t\t\t\t\t\tv-model.trim.lazy=\"field.value.value\"\r\n\t\t\t\t\t\t\t:class=\"{ 'p-invalid': field.errors?.length }\"\r\n\t\t\t\t\t\t\t:disabled=\"!canEditCompany\"\r\n\t\t\t\t\t\t\t:name=\"field.name\"\r\n\t\t\t\t\t\t\t@blur=\"field.setTouched(true)\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<i v-if=\"field.meta.pending\" class=\"pi pi-spin pi-spinner\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</InputWithValidation>\r\n\r\n\t\t\t\t<!--<small v-else-if=\"v$.companyForm.vatNumber.validVatNumber?.$invalid\" class=\"p-error\">\r\n\t\t\t\t\t{{ v$.companyForm.vatNumber.validVatNumber?.$message }}\r\n\t\t\t\t\t<i18n-t keypath=\"vat.invalidInfo\">\r\n\t\t\t\t\t\t<template #link>\r\n\t\t\t\t\t\t\t<a :href=\"$t('vat.invalidLink')\" target=\"_blank\">{{ $t(\"vat.invalidLinkPlaceholder\") }}</a>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</i18n-t>\r\n\t\t\t\t</small>-->\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</form>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport InputWithValidation from \"@/components/common/inputWithValidation.vue\";\r\nimport { CompanyForm as CompanyFormModel } from \"@/types/models/form/companyForm\";\r\nimport { Component, Emit, Model, Prop, Watch } from \"vue-facing-decorator\";\r\nimport { FormComponent } from \"@/types/models/form/formComponent\";\r\nimport { FormContext, FormMeta, useForm } from \"vee-validate\";\r\nimport { PropType, computed, reactive, unref } from \"vue\";\r\nimport { ValidationHelper } from \"@/types/helpers/validationHelper\";\r\nimport { cloneDeep } from \"lodash\";\r\nimport { friendlyFormatIBAN } from \"ibantools\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport AutoComplete from \"primevue/autocomplete\";\r\nimport ProgressSpinner from \"primevue/progressspinner\";\r\n\r\n@Component({\r\n\tcomponents: { InputWithValidation, AutoComplete, ProgressSpinner },\r\n\temits: [\"update:modelValue\"],\r\n})\r\nexport default class CompanyForm extends BaseComponent implements FormComponent<CompanyFormModel> {\r\n\t@Model({\r\n\t\ttype: Object as PropType<CompanyFormModel>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tmodel!: CompanyFormModel;\r\n\r\n\t@Prop({ type: Boolean, required: false, default: false }) useVat!: boolean;\r\n\t@Prop({ type: Boolean, required: false, default: false }) useIban!: boolean;\r\n\t@Prop({\r\n\t\ttype: Object as PropType<{ [key: string]: string }>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tcountries!: { [key: string]: string }[];\r\n\t@Prop({ type: Boolean, default: false }) autoComplete!: boolean;\r\n\t@Prop({ type: Boolean, default: false }) hasPreviouslyOrdered!: boolean;\r\n\r\n\t@Emit()\r\n\tformStateChanged(): FormMeta<CompanyFormModel> {\r\n\t\tconst { meta, values } = this.form;\r\n\t\tthis.model = cloneDeep(values);\r\n\t\treturn unref(meta);\r\n\t}\r\n\r\n\tform!: FormContext<CompanyFormModel>;\r\n\tcompanySuggestions: any = [];\r\n\tisKnownInCrm = false;\r\n\r\n\tcreated(): void {\r\n\t\tif (!this.model.countryCode && this.countries.length === 1) {\r\n\t\t\tthis.model.countryCode = this.countries[0].key;\r\n\t\t}\r\n\r\n\t\tif (this.model.dunsNumber) this.isKnownInCrm = true;\r\n\t\tthis.form = useForm({ initialValues: this.model, validationSchema: this.validations });\r\n\t}\r\n\r\n\tvatRequired = true;\r\n\r\n\tget validations(): Record<string, unknown> {\r\n\t\treturn reactive({\r\n\t\t\tcompanyName: { required: true },\r\n\t\t\tcocNumber: {},\r\n\t\t\tvatNumber: {\r\n\t\t\t\trequired: computed(() => this.vatRequired),\r\n\t\t\t\tvalidVatNumber: [this.model.countryCode, this.useVat],\r\n\t\t\t},\r\n\t\t\tiban: {\r\n\t\t\t\trequired: this.isIbanRequired,\r\n\t\t\t\tvalidIbanNumber: this.useIban,\r\n\t\t\t},\r\n\t\t\tstreet: { required: true },\r\n\t\t\tpostalCode: {\r\n\t\t\t\trequired: true,\r\n\t\t\t\tvalidPostalCode: \"@countryCode\",\r\n\t\t\t},\r\n\t\t\tcity: { required: true },\r\n\t\t\tcountryCode: { required: this.countries?.length > 1 },\r\n\t\t\tdunsNumber: {},\r\n\t\t});\r\n\t}\r\n\r\n\tget isValid(): boolean {\r\n\t\treturn unref(this.form.meta)?.valid;\r\n\t}\r\n\r\n\tget isDirty(): boolean {\r\n\t\treturn unref(this.form.meta)?.dirty;\r\n\t}\r\n\r\n\tget isPending(): boolean {\r\n\t\treturn unref(this.form.meta)?.pending;\r\n\t}\r\n\r\n\t@Watch(\"form.values.countryCode\")\r\n\tisVatRequired() {\r\n\t\tthis.vatRequired = this.useVat && ValidationHelper.checkIfVatIsRequired(this.model.countryCode || \"\");\r\n\t}\r\n\r\n\tget isIbanRequired(): boolean {\r\n\t\treturn this.useIban;\r\n\t}\r\n\r\n\tget canEditCompany(): boolean {\r\n\t\treturn !this.isKnownInCrm || (this.hasPreviouslyOrdered && this.isKnownInCrm);\r\n\t}\r\n\r\n\tformatIban(value: string): void {\r\n\t\tthis.form.setFieldValue(\"iban\", friendlyFormatIBAN(value) || this.model.iban);\r\n\t}\r\n\r\n\tsearchCompanies(query: string): void {\r\n\t\tconst countries = [\"nl\", \"be\", \"de\", \"ch\", \"at\", \"fr\", \"pt\", \"es\", \"it\", \"gb\", \"nb\"];\r\n\t\tconst countryISOAlpha2Code = countries.includes(this.currentLocation) ? this.currentLocation : null;\r\n\r\n\t\tthis.axios\r\n\t\t\t.get(`/api/altares/organizations/by-name`, {\r\n\t\t\t\tparams: { searchTerm: query.trim(), countryISOAlpha2Code: countryISOAlpha2Code },\r\n\t\t\t})\r\n\t\t\t.then((res) => {\r\n\t\t\t\tthis.companySuggestions = res.data;\r\n\t\t\t})\r\n\t\t\t.catch((err) => Log.error(err))\r\n\t\t\t.finally();\r\n\t}\r\n\r\n\tautoFillOptOut(): void {\r\n\t\tthis.form.setFieldValue(\"dunsNumber\", \"\");\r\n\t\tthis.isKnownInCrm = false;\r\n\t}\r\n\r\n\tonSuggestionSelection(dunsNumber: string): void {\r\n\t\tthis.loadingStore.showSpinner(\"autofill\");\r\n\r\n\t\tthis.axios\r\n\t\t\t.get(`/api/altares/organization/by-duns`, {\r\n\t\t\t\tparams: { dunsNumber: dunsNumber },\r\n\t\t\t})\r\n\t\t\t.then((res) => {\r\n\t\t\t\tconst { name, coCNumber, vatNumber, iban, mainAddress, isKnownInCrm, dunsNumber } = res.data;\r\n\r\n\t\t\t\tthis.form.setValues({\r\n\t\t\t\t\tcompanyName: name,\r\n\t\t\t\t\tcocNumber: coCNumber,\r\n\t\t\t\t\tvatNumber: vatNumber,\r\n\t\t\t\t\tiban: iban,\r\n\t\t\t\t\tstreet: mainAddress.addressLine1,\r\n\t\t\t\t\tpostalCode: mainAddress.postalCode,\r\n\t\t\t\t\tcity: mainAddress.city,\r\n\t\t\t\t\tcountryCode: mainAddress.country.code,\r\n\t\t\t\t\tdunsNumber: dunsNumber,\r\n\t\t\t\t});\r\n\t\t\t\tthis.isKnownInCrm = isKnownInCrm;\r\n\r\n\t\t\t\tthis.form.setTouched({\r\n\t\t\t\t\tcompanyName: true,\r\n\t\t\t\t\tcocNumber: true,\r\n\t\t\t\t\tvatNumber: true,\r\n\t\t\t\t\tiban: true,\r\n\t\t\t\t\tstreet: true,\r\n\t\t\t\t\tpostalCode: true,\r\n\t\t\t\t\tcity: true,\r\n\t\t\t\t\tcountryCode: true,\r\n\t\t\t\t});\r\n\r\n\t\t\t\tthis.formStateChanged();\r\n\t\t\t})\r\n\t\t\t.catch((err) => Log.error(err))\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.loadingStore.hideSpinner(\"autofill\");\r\n\t\t\t});\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.loader {\r\n\tposition: absolute;\r\n\theight: 100%;\r\n\tz-index: 10;\r\n}\r\n</style>\r\n","import { render } from \"./companyForm.vue?vue&type=template&id=492d4696&scoped=true&ts=true\"\nimport script from \"./companyForm.vue?vue&type=script&lang=ts\"\nexport * from \"./companyForm.vue?vue&type=script&lang=ts\"\n\nimport \"./companyForm.vue?vue&type=style&index=0&id=492d4696&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-492d4696\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, normalizeClass as _normalizeClass, createVNode as _createVNode, withCtx as _withCtx, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"form-row\" }\nconst _hoisted_2 = { class: \"form-group col-md-6 col-xxl-5\" }\nconst _hoisted_3 = { class: \"form-group col-md-6 col-xxl-5\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Password = _resolveComponent(\"Password\")!\n const _component_InputWithValidation = _resolveComponent(\"InputWithValidation\")!\n\n return (_openBlock(), _createElementBlock(\"form\", {\n onChange: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.formStateChanged && _ctx.formStateChanged(...args)))\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_InputWithValidation, {\n \"is-required\": _ctx.validations['password'].required,\n label: _ctx.$t('myCadac.accountSettings.lblPassword'),\n name: \"password\"\n }, {\n default: _withCtx(({ field }) => [\n _createVNode(_component_Password, {\n modelValue: field.value.value,\n \"onUpdate:modelValue\": ($event: any) => ((field.value.value) = $event),\n class: _normalizeClass([\"w-100\", { 'p-invalid': field.errors?.length }]),\n feedback: false,\n name: field.name,\n \"toggle-mask\": \"\",\n onBlur: ($event: any) => (field.setTouched(true))\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"class\", \"name\", \"onBlur\"])\n ]),\n _: 1\n }, 8, [\"is-required\", \"label\"])\n ]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_InputWithValidation, {\n \"is-required\": _ctx.validations['passwordConfirm'].required,\n label: _ctx.$t('myCadac.accountSettings.lblConfirmPassword'),\n name: \"passwordConfirm\"\n }, {\n default: _withCtx(({ field }) => [\n _createVNode(_component_Password, {\n modelValue: field.value.value,\n \"onUpdate:modelValue\": ($event: any) => ((field.value.value) = $event),\n class: _normalizeClass([\"w-100\", { 'p-invalid': field.errors?.length }]),\n feedback: false,\n name: field.name,\n \"toggle-mask\": \"\",\n onBlur: ($event: any) => (field.setTouched(true))\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"class\", \"name\", \"onBlur\"])\n ]),\n _: 1\n }, 8, [\"is-required\", \"label\"])\n ])\n ])\n ], 32))\n}","<template>\r\n\t<form @change=\"formStateChanged\">\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-md-6 col-xxl-5\">\r\n\t\t\t\t<InputWithValidation\r\n\t\t\t\t\tv-slot=\"{ field }\"\r\n\t\t\t\t\t:is-required=\"validations['password'].required\"\r\n\t\t\t\t\t:label=\"$t('myCadac.accountSettings.lblPassword')\"\r\n\t\t\t\t\tname=\"password\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<Password\r\n\t\t\t\t\t\tv-model=\"field.value.value\"\r\n\t\t\t\t\t\tclass=\"w-100\"\r\n\t\t\t\t\t\t:class=\"{ 'p-invalid': field.errors?.length }\"\r\n\t\t\t\t\t\t:feedback=\"false\"\r\n\t\t\t\t\t\t:name=\"field.name\"\r\n\t\t\t\t\t\ttoggle-mask\r\n\t\t\t\t\t\t@blur=\"field.setTouched(true)\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</InputWithValidation>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"form-group col-md-6 col-xxl-5\">\r\n\t\t\t\t<InputWithValidation\r\n\t\t\t\t\tv-slot=\"{ field }\"\r\n\t\t\t\t\t:is-required=\"validations['passwordConfirm'].required\"\r\n\t\t\t\t\t:label=\"$t('myCadac.accountSettings.lblConfirmPassword')\"\r\n\t\t\t\t\tname=\"passwordConfirm\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<Password\r\n\t\t\t\t\t\tv-model=\"field.value.value\"\r\n\t\t\t\t\t\tclass=\"w-100\"\r\n\t\t\t\t\t\t:class=\"{ 'p-invalid': field.errors?.length }\"\r\n\t\t\t\t\t\t:feedback=\"false\"\r\n\t\t\t\t\t\t:name=\"field.name\"\r\n\t\t\t\t\t\ttoggle-mask\r\n\t\t\t\t\t\t@blur=\"field.setTouched(true)\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</InputWithValidation>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</form>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport InputWithValidation from \"@/components/common/inputWithValidation.vue\";\r\nimport Password from \"primevue/password\";\r\nimport { Component, Emit, Model } from \"vue-facing-decorator\";\r\nimport { FormComponent } from \"@/types/models/form/formComponent\";\r\nimport { FormContext, FormMeta, useForm } from \"vee-validate\";\r\nimport { ProfilePassword } from \"@/types/models/form/profilePassword\";\r\nimport { PropType, unref } from \"vue\";\r\nimport { cloneDeep } from \"lodash\";\r\n\r\n@Component({\r\n\tcomponents: { Password, InputWithValidation },\r\n})\r\nexport default class NewPasswordForm extends BaseComponent implements FormComponent<ProfilePassword> {\r\n\t@Model({\r\n\t\ttype: Object as PropType<ProfilePassword>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tmodel!: ProfilePassword;\r\n\r\n\t@Emit() formStateChanged(): FormMeta<ProfilePassword> {\r\n\t\tconst { meta, values } = this.form;\r\n\t\tthis.model = cloneDeep(values);\r\n\t\treturn unref(meta);\r\n\t}\r\n\r\n\tform!: FormContext<ProfilePassword>;\r\n\r\n\tcreated(): void {\r\n\t\tthis.form = useForm({ initialValues: this.model, validationSchema: this.validations });\r\n\t}\r\n\r\n\tget validations(): Record<string, unknown> {\r\n\t\treturn {\r\n\t\t\tpassword: { required: true, validPassword: true },\r\n\t\t\tpasswordConfirm: { required: true, samePassword: \"@password\" },\r\n\t\t};\r\n\t}\r\n\r\n\tget isValid(): boolean {\r\n\t\treturn unref(this.form.meta)?.valid;\r\n\t}\r\n\r\n\tget isDirty(): boolean {\r\n\t\treturn unref(this.form.meta)?.dirty;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { render } from \"./newPasswordForm.vue?vue&type=template&id=262b39ee&ts=true\"\nimport script from \"./newPasswordForm.vue?vue&type=script&lang=ts\"\nexport * from \"./newPasswordForm.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, normalizeClass as _normalizeClass, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, withCtx as _withCtx } from \"vue\"\n\nconst _hoisted_1 = { class: \"form-row\" }\nconst _hoisted_2 = { class: \"form-group col-md-6 col-lg-5 col-xxl-4\" }\nconst _hoisted_3 = { class: \"input-group\" }\nconst _hoisted_4 = [\"for\"]\nconst _hoisted_5 = { class: \"form-row\" }\nconst _hoisted_6 = { class: \"form-group col-md-6 col-lg-5 col-xxl-4\" }\nconst _hoisted_7 = { class: \"form-group col-md-6 col-lg-5 col-xxl-4\" }\nconst _hoisted_8 = { class: \"form-row\" }\nconst _hoisted_9 = { class: \"form-group col-md-6 col-lg-5 col-xxl-4\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_RadioButton = _resolveComponent(\"RadioButton\")!\n const _component_InputWithValidation = _resolveComponent(\"InputWithValidation\")!\n const _component_InputText = _resolveComponent(\"InputText\")!\n const _component_vue_tel_input = _resolveComponent(\"vue-tel-input\")!\n\n return (_openBlock(), _createElementBlock(\"form\", {\n onChange: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.formStateChanged && _ctx.formStateChanged(...args)))\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_InputWithValidation, {\n \"is-required\": _ctx.validations['gender'].required,\n label: _ctx.$t('common.forms.lblSalutation'),\n name: \"gender\"\n }, {\n default: _withCtx(({ field }) => [\n _createElementVNode(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.availableGenderOptions, (gender) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: `gender_${gender.value}`,\n class: \"form-check-inline\"\n }, [\n _createVNode(_component_RadioButton, {\n modelValue: field.value.value,\n \"onUpdate:modelValue\": ($event: any) => ((field.value.value) = $event),\n class: _normalizeClass({ 'p-invalid': field.errors?.length }),\n \"input-id\": `gender_${gender.value}`,\n name: field.name.value,\n value: gender.value,\n onChange: ($event: any) => (field.setTouched(true))\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"class\", \"input-id\", \"name\", \"value\", \"onChange\"]),\n _createElementVNode(\"span\", {\n class: \"ml-1 mb-0\",\n for: `gender_${gender.value}`\n }, _toDisplayString(gender.label), 9, _hoisted_4)\n ]))\n }), 128))\n ])\n ]),\n _: 1\n }, 8, [\"is-required\", \"label\"])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(_component_InputWithValidation, {\n \"is-required\": _ctx.validations['firstName'].required,\n label: _ctx.$t('common.forms.lblFirstName'),\n name: \"firstName\"\n }, {\n default: _withCtx(({ field }) => [\n _createVNode(_component_InputText, {\n modelValue: field.value.value,\n \"onUpdate:modelValue\": ($event: any) => ((field.value.value) = $event),\n class: _normalizeClass({ 'p-invalid': field.errors?.length }),\n feedback: false,\n name: field.name,\n \"toggle-mask\": \"\",\n onBlur: ($event: any) => (field.setTouched(true))\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"class\", \"name\", \"onBlur\"])\n ]),\n _: 1\n }, 8, [\"is-required\", \"label\"])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createVNode(_component_InputWithValidation, {\n \"is-required\": _ctx.validations['lastName'].required,\n label: _ctx.$t('common.forms.lblLastName'),\n name: \"lastName\"\n }, {\n default: _withCtx(({ field }) => [\n _createVNode(_component_InputText, {\n modelValue: field.value.value,\n \"onUpdate:modelValue\": ($event: any) => ((field.value.value) = $event),\n class: _normalizeClass({ 'p-invalid': field.errors?.length }),\n feedback: false,\n name: field.name,\n \"toggle-mask\": \"\",\n onBlur: ($event: any) => (field.setTouched(true))\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"class\", \"name\", \"onBlur\"])\n ]),\n _: 1\n }, 8, [\"is-required\", \"label\"])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n _createVNode(_component_InputWithValidation, {\n \"is-required\": _ctx.validations['phone'].required,\n label: _ctx.$t('common.forms.lblPhoneNumber'),\n name: \"phone\"\n }, {\n default: _withCtx(({ field }) => [\n _createVNode(_component_vue_tel_input, {\n modelValue: field.value.value,\n \"onUpdate:modelValue\": ($event: any) => ((field.value.value) = $event),\n class: _normalizeClass({ 'p-invalid': field.errors?.length }),\n \"input-options\": { placeholder: '' },\n onChange: ($event: any) => (field.setTouched(true)),\n onValidate: _ctx.onPhoneInputValidate\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"class\", \"onChange\", \"onValidate\"])\n ]),\n _: 1\n }, 8, [\"is-required\", \"label\"])\n ])\n ])\n ], 32))\n}","<template>\r\n\t<form @change=\"formStateChanged\">\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-md-6 col-lg-5 col-xxl-4\">\r\n\t\t\t\t<InputWithValidation\r\n\t\t\t\t\tv-slot=\"{ field }\"\r\n\t\t\t\t\t:is-required=\"validations['gender'].required\"\r\n\t\t\t\t\t:label=\"$t('common.forms.lblSalutation')\"\r\n\t\t\t\t\tname=\"gender\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<div class=\"input-group\">\r\n\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\tv-for=\"gender in availableGenderOptions\"\r\n\t\t\t\t\t\t\t:key=\"`gender_${gender.value}`\"\r\n\t\t\t\t\t\t\tclass=\"form-check-inline\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<RadioButton\r\n\t\t\t\t\t\t\t\tv-model=\"field.value.value\"\r\n\t\t\t\t\t\t\t\t:class=\"{ 'p-invalid': field.errors?.length }\"\r\n\t\t\t\t\t\t\t\t:input-id=\"`gender_${gender.value}`\"\r\n\t\t\t\t\t\t\t\t:name=\"field.name.value\"\r\n\t\t\t\t\t\t\t\t:value=\"gender.value\"\r\n\t\t\t\t\t\t\t\t@change=\"field.setTouched(true)\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<span class=\"ml-1 mb-0\" :for=\"`gender_${gender.value}`\">\r\n\t\t\t\t\t\t\t\t{{ gender.label }}\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</InputWithValidation>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-md-6 col-lg-5 col-xxl-4\">\r\n\t\t\t\t<InputWithValidation\r\n\t\t\t\t\tv-slot=\"{ field }\"\r\n\t\t\t\t\t:is-required=\"validations['firstName'].required\"\r\n\t\t\t\t\t:label=\"$t('common.forms.lblFirstName')\"\r\n\t\t\t\t\tname=\"firstName\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<InputText\r\n\t\t\t\t\t\tv-model=\"field.value.value\"\r\n\t\t\t\t\t\t:class=\"{ 'p-invalid': field.errors?.length }\"\r\n\t\t\t\t\t\t:feedback=\"false\"\r\n\t\t\t\t\t\t:name=\"field.name\"\r\n\t\t\t\t\t\ttoggle-mask\r\n\t\t\t\t\t\t@blur=\"field.setTouched(true)\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</InputWithValidation>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"form-group col-md-6 col-lg-5 col-xxl-4\">\r\n\t\t\t\t<InputWithValidation\r\n\t\t\t\t\tv-slot=\"{ field }\"\r\n\t\t\t\t\t:is-required=\"validations['lastName'].required\"\r\n\t\t\t\t\t:label=\"$t('common.forms.lblLastName')\"\r\n\t\t\t\t\tname=\"lastName\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<InputText\r\n\t\t\t\t\t\tv-model=\"field.value.value\"\r\n\t\t\t\t\t\t:class=\"{ 'p-invalid': field.errors?.length }\"\r\n\t\t\t\t\t\t:feedback=\"false\"\r\n\t\t\t\t\t\t:name=\"field.name\"\r\n\t\t\t\t\t\ttoggle-mask\r\n\t\t\t\t\t\t@blur=\"field.setTouched(true)\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</InputWithValidation>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-md-6 col-lg-5 col-xxl-4\">\r\n\t\t\t\t<InputWithValidation\r\n\t\t\t\t\tv-slot=\"{ field }\"\r\n\t\t\t\t\t:is-required=\"validations['phone'].required\"\r\n\t\t\t\t\t:label=\"$t('common.forms.lblPhoneNumber')\"\r\n\t\t\t\t\tname=\"phone\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<vue-tel-input\r\n\t\t\t\t\t\tv-model=\"field.value.value\"\r\n\t\t\t\t\t\t:class=\"{ 'p-invalid': field.errors?.length }\"\r\n\t\t\t\t\t\t:input-options=\"{ placeholder: '' }\"\r\n\t\t\t\t\t\t@change=\"field.setTouched(true)\"\r\n\t\t\t\t\t\t@validate=\"onPhoneInputValidate\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</InputWithValidation>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</form>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport InputWithValidation from \"@/components/common/inputWithValidation.vue\";\r\nimport { Component, Emit, Model, Watch } from \"vue-facing-decorator\";\r\nimport { FormComponent } from \"@/types/models/form/formComponent\";\r\nimport { FormContext, FormMeta, useForm } from \"vee-validate\";\r\nimport { Gender } from \"@/types/enum/gender\";\r\nimport { IDropdownItem } from \"@/types/models/common/dropdownItem.interface\";\r\nimport { IPhoneObject } from \"@/types/models/common/phoneObject.interface\";\r\nimport { PersonalForm as PersonalFormModel } from \"@/types/models/form/personalForm\";\r\nimport { cloneDeep } from \"lodash\";\r\nimport { computed, PropType, reactive, unref } from \"vue\";\r\n\r\n@Component({ components: { InputWithValidation }, emits: [\"update:modelValue\"] })\r\nexport default class PersonalForm extends BaseComponent implements FormComponent<PersonalFormModel> {\r\n\t@Model({\r\n\t\ttype: Object as PropType<PersonalFormModel>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tmodel!: PersonalFormModel;\r\n\r\n\t@Emit() formStateChanged(): FormMeta<PersonalFormModel> {\r\n\t\tconst { meta, values } = this.form;\r\n\t\tthis.model = cloneDeep(values);\r\n\t\treturn unref(meta);\r\n\t}\r\n\r\n\tphoneObject!: IPhoneObject;\r\n\tavailableGenderOptions: IDropdownItem[] = [];\r\n\r\n\tform!: FormContext<PersonalFormModel>;\r\n\r\n\tcreated(): void {\r\n\t\tthis.availableGenderOptions = this.layoutStore.vm.genderOptions\r\n\t\t\t.filter((x) => x.key != Gender.Unknown)\r\n\t\t\t.map((x) => ({\r\n\t\t\t\tvalue: x.key,\r\n\t\t\t\tlabel: this.$t(`enum.salutation.${x.key}`),\r\n\t\t\t}));\r\n\t\tthis.form = useForm({ initialValues: this.model, validationSchema: this.validations });\r\n\t}\r\n\r\n\tget validations(): Record<string, unknown> {\r\n\t\t//Use reactive and computed to make sure the property gets updated properly.\r\n\t\treturn reactive({\r\n\t\t\tgender: {\r\n\t\t\t\trequired: true,\r\n\t\t\t\tgender: true,\r\n\t\t\t},\r\n\t\t\tfirstName: { required: true },\r\n\t\t\tlastName: { required: true },\r\n\t\t\tphone: {\r\n\t\t\t\trequired: true,\r\n\t\t\t\tvalidPhone: computed(() => this.phoneObject),\r\n\t\t\t},\r\n\t\t});\r\n\t}\r\n\r\n\t@Watch(\"phoneObject\", { deep: true })\r\n\t@Watch(\"form.values.gender\", { deep: true })\r\n\tonChange(): void {\r\n\t\tthis.formStateChanged();\r\n\t}\r\n\r\n\tget isValid(): boolean {\r\n\t\treturn unref(this.form.meta)?.valid;\r\n\t}\r\n\r\n\tget isDirty(): boolean {\r\n\t\treturn unref(this.form.meta)?.dirty;\r\n\t}\r\n\r\n\tonPhoneInputValidate(phoneObject: IPhoneObject): void {\r\n\t\tthis.phoneObject = phoneObject;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { render } from \"./personalForm.vue?vue&type=template&id=09da9de7&ts=true\"\nimport script from \"./personalForm.vue?vue&type=script&lang=ts\"\nexport * from \"./personalForm.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, Fragment as _Fragment, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"mt-3 mt-lg-4 mb-0\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"hr\", { class: \"my-2\" }, null, -1)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"h3\", _hoisted_1, _toDisplayString(_ctx.$t(\"myCadac.accountSettings.company.relatedContacts\")), 1),\n _hoisted_2,\n (_ctx.items.length)\n ? (_openBlock(), _createBlock(_component_DataTable, {\n key: 0,\n \"auto-layout\": \"\",\n paginator: _ctx.showPagination,\n \"removable-sort\": \"\",\n \"responsive-layout\": \"stack\",\n rows: _ctx.maxRowsToShow,\n value: _ctx.items\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Column, {\n key: \"firstName\",\n field: \"firstName\",\n header: _ctx.$t('myCadac.accountSettings.company.table.lblFirstName'),\n sortable: true\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"span\", null, _toDisplayString(item.data.firstName), 1)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"lastName\",\n field: \"lastName\",\n header: _ctx.$t('myCadac.accountSettings.company.table.lblLastName'),\n sortable: true\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"span\", null, _toDisplayString(item.data.lastName), 1)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"email\",\n field: \"email\",\n header: _ctx.$t('myCadac.accountSettings.company.table.lblEmail')\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"span\", null, _toDisplayString(item.data.email), 1)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, { key: \"edit\" }, {\n body: _withCtx((item) => [\n (_ctx.canEdit)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-icon p-button-rounded p-button-text p-button-raised\",\n icon: \"pi pi-pencil\",\n label: _ctx.isSmallScreen ? _ctx.$t('myCadac.accountSettings.company.table.lblEditButton') : '',\n title: _ctx.$t('myCadac.accountSettings.company.table.lblEditButton'),\n onClick: ($event: any) => (_ctx.onEditClick(item.data))\n }, null, 8, [\"label\", \"title\", \"onClick\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"paginator\", \"rows\", \"value\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<h3 class=\"mt-3 mt-lg-4 mb-0\">{{ $t(\"myCadac.accountSettings.company.relatedContacts\") }}</h3>\r\n\t<hr class=\"my-2\" />\r\n\r\n\t<DataTable\r\n\t\tv-if=\"items.length\"\r\n\t\tauto-layout\r\n\t\t:paginator=\"showPagination\"\r\n\t\tremovable-sort\r\n\t\tresponsive-layout=\"stack\"\r\n\t\t:rows=\"maxRowsToShow\"\r\n\t\t:value=\"items\"\r\n\t>\r\n\t\t<Column\r\n\t\t\tkey=\"firstName\"\r\n\t\t\tfield=\"firstName\"\r\n\t\t\t:header=\"$t('myCadac.accountSettings.company.table.lblFirstName')\"\r\n\t\t\t:sortable=\"true\"\r\n\t\t>\r\n\t\t\t<template #body=\"item\">\r\n\t\t\t\t<span>{{ item.data.firstName }}</span>\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\t\t<Column\r\n\t\t\tkey=\"lastName\"\r\n\t\t\tfield=\"lastName\"\r\n\t\t\t:header=\"$t('myCadac.accountSettings.company.table.lblLastName')\"\r\n\t\t\t:sortable=\"true\"\r\n\t\t>\r\n\t\t\t<template #body=\"item\">\r\n\t\t\t\t<span>{{ item.data.lastName }}</span>\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\t\t<Column key=\"email\" field=\"email\" :header=\"$t('myCadac.accountSettings.company.table.lblEmail')\">\r\n\t\t\t<template #body=\"item\">\r\n\t\t\t\t<span>{{ item.data.email }}</span>\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\t\t<Column key=\"edit\">\r\n\t\t\t<template #body=\"item\">\r\n\t\t\t\t<Button\r\n\t\t\t\t\tv-if=\"canEdit\"\r\n\t\t\t\t\tclass=\"p-button-icon p-button-rounded p-button-text p-button-raised\"\r\n\t\t\t\t\ticon=\"pi pi-pencil\"\r\n\t\t\t\t\t:label=\"isSmallScreen ? $t('myCadac.accountSettings.company.table.lblEditButton') : ''\"\r\n\t\t\t\t\t:title=\"$t('myCadac.accountSettings.company.table.lblEditButton')\"\r\n\t\t\t\t\t@click=\"onEditClick(item.data)\"\r\n\t\t\t\t/>\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\t</DataTable>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { PropType } from \"vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { RelatedContact } from \"@/types/models/common/relatedContact.interface\";\r\n\r\n@Component({})\r\nexport default class RelatedContactTable extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<RelatedContact>,\r\n\t\trequired: true,\r\n\t\tdefault: [],\r\n\t})\r\n\titems!: RelatedContact[];\r\n\tmaxRowsToShow = 15;\r\n\tcanEdit = false;\r\n\r\n\tget showPagination(): boolean {\r\n\t\treturn this.items?.length > this.maxRowsToShow;\r\n\t}\r\n\r\n\tonEditClick(contact) {\r\n\t\tconsole.log(\"edit contact\", contact);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { render } from \"./relatedContactTable.vue?vue&type=template&id=4460258a&ts=true\"\nimport script from \"./relatedContactTable.vue?vue&type=script&lang=ts\"\nexport * from \"./relatedContactTable.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./accountSettings.vue?vue&type=template&id=0fa565a2&ts=true\"\nimport script from \"./accountSettings.vue?vue&type=script&lang=ts\"\nexport * from \"./accountSettings.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { renderSlot as _renderSlot, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, Fragment as _Fragment, createElementBlock as _createElementBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_AdvisorUploadUsageModal = _resolveComponent(\"AdvisorUploadUsageModal\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", null, [\n _renderSlot(_ctx.$slots, \"default\")\n ]),\n (_ctx.advisorStore.uploadUsageModalVisible)\n ? (_openBlock(), _createBlock(_component_AdvisorUploadUsageModal, {\n key: 0,\n \"api-version\": _ctx.vm.apiVersion,\n \"results-page-url\": _ctx.vm.advisorResultsPageUrl,\n vm: _ctx.vm.uploadModalViewModel,\n onHideModal: _ctx.removeAdvisorModalUrlTag\n }, null, 8, [\"api-version\", \"results-page-url\", \"vm\", \"onHideModal\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<div>\r\n\t\t<slot />\r\n\t</div>\r\n\t<AdvisorUploadUsageModal\r\n\t\tv-if=\"advisorStore.uploadUsageModalVisible\"\r\n\t\t:api-version=\"vm.apiVersion\"\r\n\t\t:results-page-url=\"vm.advisorResultsPageUrl\"\r\n\t\t:vm=\"vm.uploadModalViewModel\"\r\n\t\t@hideModal=\"removeAdvisorModalUrlTag\"\r\n\t/>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport AdvisorUploadUsageModal from \"@/components/advisor/advisorUploadUsageModal.vue\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { IAdvisorInfo } from \"@/types/viewModels/commerce/advisorInfoViewModel\";\r\nimport { PropType } from \"vue\";\r\nimport { useAdvisorStore } from \"@/store/advisor/advisorStore\";\r\n\r\n@Component({ components: { AdvisorUploadUsageModal } })\r\nexport default class AdvisorInfo extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IAdvisorInfo>, required: true, default: {} })\r\n\tvm!: IAdvisorInfo;\r\n\tadvisorStore = useAdvisorStore();\r\n\r\n\tmounted(): void {\r\n\t\tif (window.location.hash === \"#show-usage-modal\") this.checkAdvisorModalUrlTag();\r\n\t\twindow.addEventListener(\"hashchange\", this.checkAdvisorModalUrlTag);\r\n\t}\r\n\r\n\tbeforeUnmount(): void {\r\n\t\twindow.removeEventListener(\"hashchange\", this.checkAdvisorModalUrlTag);\r\n\t}\r\n\r\n\tcheckAdvisorModalUrlTag(event?: Event): void {\r\n\t\tif (window.location.hash === \"#show-usage-modal\") {\r\n\t\t\tthis.openAdvisorModal(event);\r\n\t\t}\r\n\t}\r\n\r\n\topenAdvisorModal(event?: Event): void {\r\n\t\tif (event) event.preventDefault();\r\n\t\tthis.advisorStore.showModal(\"UploadUsage\");\r\n\t}\r\n\r\n\tremoveAdvisorModalUrlTag(): void {\r\n\t\twindow.history.replaceState(null, \"\", window.location.pathname);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, createBlock as _createBlock, normalizeStyle as _normalizeStyle, resolveDirective as _resolveDirective, withDirectives as _withDirectives, createTextVNode as _createTextVNode, vShow as _vShow, normalizeClass as _normalizeClass, Fragment as _Fragment, createSlots as _createSlots } from \"vue\"\n\nconst _hoisted_1 = { class: \"d-flex flex-column pt-2\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"mb-0\"\n}\nconst _hoisted_3 = {\n key: 1,\n class: \"mb-0\"\n}\nconst _hoisted_4 = {\n class: \"step-wrapper\",\n style: {\"gap\":\"1.5rem\"}\n}\nconst _hoisted_5 = { class: \"lead w-100 mb-0\" }\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-file-excel\" }, null, -1)\nconst _hoisted_7 = {\n key: 0,\n class: \"p-1 d-flex align-items-center w-100 flex-wrap justify-content-center\"\n}\nconst _hoisted_8 = [\"alt\", \"src\"]\nconst _hoisted_9 = { class: \"text-bold ml-2 flex-1\" }\nconst _hoisted_10 = { class: \"ml-2\" }\nconst _hoisted_11 = [\"src\"]\nconst _hoisted_12 = {\n key: 1,\n class: \"video-overlay\"\n}\nconst _hoisted_13 = /*#__PURE__*/_createElementVNode(\"svg\", null, [\n /*#__PURE__*/_createElementVNode(\"use\", { \"xlink:href\": \"#icon-play\" })\n], -1)\nconst _hoisted_14 = [\n _hoisted_13\n]\nconst _hoisted_15 = {\n alt: \"Youtube thumbnail\",\n class: \"video-image\"\n}\nconst _hoisted_16 = { class: \"step-wrapper flex-column\" }\nconst _hoisted_17 = {\n key: 0,\n class: \"mb-2 p-1 d-flex align-items-center w-100 flex-wrap justify-content-center\"\n}\nconst _hoisted_18 = [\"alt\", \"src\"]\nconst _hoisted_19 = { class: \"text-bold flex-1\" }\nconst _hoisted_20 = { class: \"ml-2\" }\nconst _hoisted_21 = {\n key: 0,\n class: \"text-success ml-2\"\n}\nconst _hoisted_22 = {\n key: 1,\n class: \"text-danger ml-2\"\n}\nconst _hoisted_23 = { class: \"ml-2\" }\nconst _hoisted_24 = [\"innerHTML\"]\nconst _hoisted_25 = { class: \"form-group\" }\nconst _hoisted_26 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_27 = {\n key: 1,\n class: \"p-error\"\n}\nconst _hoisted_28 = { class: \"step-wrapper p-2 p-lg-3\" }\nconst _hoisted_29 = [\"innerHTML\"]\nconst _hoisted_30 = { class: \"d-flex align-items-center justify-content-end\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_FileUpload = _resolveComponent(\"FileUpload\")!\n const _component_font_awesome_icon = _resolveComponent(\"font-awesome-icon\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_InputText = _resolveComponent(\"InputText\")!\n const _component_Dialog = _resolveComponent(\"Dialog\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createVNode(_component_Dialog, {\n visible: _ctx.isVisible,\n \"onUpdate:visible\": _cache[8] || (_cache[8] = ($event: any) => ((_ctx.isVisible) = $event)),\n breakpoints: {\r\n\t\t\t\t'2000px': '50vw',\r\n\t\t\t\t'1600px': '60vw',\r\n\t\t\t\t'1200px': '70vw',\r\n\t\t\t\t'992px': '75vw',\r\n\t\t\t\t'768px': '80vw',\r\n\t\t\t\t'576px': '90vw',\r\n\t\t\t},\n class: \"p-dialog-secondary advisor-upload-modal\",\n closable: _ctx.canClose,\n draggable: false,\n modal: true,\n style: { width: '40vw' },\n onHide: _cache[9] || (_cache[9] = ($event: any) => (_ctx.hideModal()))\n }, _createSlots({\n default: _withCtx(() => [\n _withDirectives(_createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"p\", _hoisted_5, _toDisplayString(_ctx.vm.introText), 1),\n _createElementVNode(\"div\", {\n class: \"upload-container\",\n style: _normalizeStyle(_ctx.isSmallScreen ? 'order:2' : 'order:1')\n }, [\n _createVNode(_component_FileUpload, {\n ref: \"fileUploader\",\n accept: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel\",\n auto: true,\n \"custom-upload\": true,\n \"invalid-file-type-message\": _ctx.$t('digitalAdvisor.dialog.msgInvalidFileType'),\n \"max-file-size\": _ctx.sizeLimit,\n mode: \"advanced\",\n multiple: false,\n name: \"advisorUpload\",\n \"show-cancel-button\": false,\n \"show-upload-button\": false,\n onUploader: _ctx.onFileSelected\n }, {\n header: _withCtx(() => []),\n empty: _withCtx(() => [\n _hoisted_6,\n _createVNode(_component_i18n_t, {\n class: \"mb-0\",\n keypath: \"digitalAdvisor.dialog.lblDragFile\",\n scope: \"global\",\n tag: \"p\"\n }, {\n action: _withCtx(() => [\n _createVNode(_component_Button, {\n class: \"p-button-link text-primary p-0\",\n label: _ctx.$t('common.chooseFile'),\n onClick: _ctx.onFileUpload\n }, null, 8, [\"label\", \"onClick\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"invalid-file-type-message\", \"max-file-size\", \"onUploader\"]),\n (_ctx.selectedFile)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", null, [\n (_ctx.selectedFile?.objectURL)\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n alt: _ctx.selectedFile?.name,\n class: \"\",\n height: \"50\",\n role: \"presentation\",\n src: _ctx.selectedFile?.objectURL,\n width: \"100\"\n }, null, 8, _hoisted_8))\n : (_openBlock(), _createBlock(_component_font_awesome_icon, {\n key: 1,\n class: \"text-primary\",\n icon: ['far', 'file'],\n size: \"1x\"\n }))\n ]),\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.selectedFile?.name), 1),\n _createElementVNode(\"div\", _hoisted_10, _toDisplayString(_ctx.formatSize(_ctx.selectedFile?.size)), 1),\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-danger p-button-rounded ml-2\",\n icon: \"pi pi-trash\",\n label: _ctx.isSmallScreen ? _ctx.$t('common.remove') : '',\n title: _ctx.$t('common.remove'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.onFileRemoved(_ctx.selectedFile)))\n }, null, 8, [\"label\", \"title\"])\n ]))\n : _createCommentVNode(\"\", true)\n ], 4),\n (_ctx.hasVideo)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"video-container\",\n style: _normalizeStyle(_ctx.isSmallScreen ? 'order:1' : 'order:2')\n }, [\n (_ctx.showVideo)\n ? (_openBlock(), _createElementBlock(\"iframe\", {\n key: 0,\n allowfullscreen: \"\",\n height: \"100%\",\n src: `https://www.youtube.com/embed/${_ctx.vm.youtubeId}?autoplay=1`,\n type: \"video/mp4\",\n width: \"100%\"\n }, null, 8, _hoisted_11))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n _createElementVNode(\"button\", {\n class: \"play-button\",\n onClick: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.onPlayVideoClick && _ctx.onPlayVideoClick(...args)))\n }, _hoisted_14),\n _withDirectives(_createElementVNode(\"img\", _hoisted_15, null, 512), [\n [_directive_lazy, `https://img.youtube.com/vi/${_ctx.vm.youtubeId}/maxresdefault.jpg`]\n ])\n ]))\n ], 4))\n : _createCommentVNode(\"\", true),\n (!_ctx.uploadSuccess && _ctx.selectedFile && !_ctx.isBusy)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 1,\n class: \"my-0 w-100\",\n closable: false,\n severity: \"error\",\n style: {\"order\":\"3\"}\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"digitalAdvisor.dialog.msgUploadError\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ], 512), [\n [_vShow, _ctx.currentStep === 1]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_16, [\n (_ctx.selectedFile)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createElementVNode(\"div\", null, [\n (_ctx.selectedFile?.objectURL)\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n alt: _ctx.selectedFile?.name,\n class: \"\",\n height: \"50\",\n role: \"presentation\",\n src: _ctx.selectedFile?.objectURL,\n width: \"100\"\n }, null, 8, _hoisted_18))\n : (_openBlock(), _createBlock(_component_font_awesome_icon, {\n key: 1,\n class: \"text-primary\",\n icon: ['far', 'file'],\n size: \"1x\"\n }))\n ]),\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(_ctx.selectedFile?.name), 1),\n (_ctx.uploadSuccess)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_21, _toDisplayString(_ctx.$t(\"digitalAdvisor.dialog.lblUploadSuccess\")), 1))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_22, _toDisplayString(_ctx.$t(\"digitalAdvisor.dialog.lblUploadFailed\")), 1))\n ]),\n _createElementVNode(\"div\", _hoisted_23, _toDisplayString(_ctx.formatSize(_ctx.selectedFile?.size)), 1),\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-danger p-button-rounded ml-2\",\n icon: \"pi pi-trash\",\n label: _ctx.isSmallScreen ? _ctx.$t('common.remove') : '',\n title: _ctx.$t('common.remove'),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.onFileRemoved(_ctx.selectedFile)))\n }, null, 8, [\"label\", \"title\"])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.uploadSuccess)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createElementVNode(\"p\", {\n class: \"text-preline\",\n innerHTML: _ctx.vm.emailIntroText\n }, null, 8, _hoisted_24),\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['usageUploadForm'].email?.required })\n }, _toDisplayString(_ctx.$t(\"common.forms.lblEmail\")), 3),\n _createVNode(_component_InputText, {\n modelValue: _ctx.v$['usageUploadForm'].email.$model,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.v$['usageUploadForm'].email.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['usageUploadForm'].email) }),\n type: \"email\"\n }, null, 8, [\"modelValue\", \"class\"]),\n (\r\n\t\t\t\t\t\t\t\t_ctx.shouldShowError(_ctx.v$['usageUploadForm'].email) && !_ctx.v$['usageUploadForm'].email.$model\r\n\t\t\t\t\t\t\t)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_26, _toDisplayString(_ctx.v$[\"usageUploadForm\"].email?.required?.$message), 1))\n : (\r\n\t\t\t\t\t\t\t\t_ctx.shouldShowError(_ctx.v$['usageUploadForm'].email) && _ctx.v$['usageUploadForm'].email.$model\r\n\t\t\t\t\t\t\t)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_27, _toDisplayString(_ctx.v$[\"usageUploadForm\"].email.email?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ], 64))\n : _createCommentVNode(\"\", true)\n ], 512), [\n [_vShow, _ctx.currentStep === 2]\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_28, [\n _createElementVNode(\"p\", {\n class: \"preserve-html lead w-100 mb-0\",\n innerHTML: _ctx.$t('digitalAdvisor.dialog.thankyou')\n }, null, 8, _hoisted_29)\n ], 512), [\n [_vShow, _ctx.currentStep === 4]\n ])\n ]),\n _: 2\n }, [\n (_ctx.canClose)\n ? {\n name: \"header\",\n fn: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n (_ctx.vm.title && _ctx.currentStep !== 4)\n ? (_openBlock(), _createElementBlock(\"h3\", _hoisted_2, _toDisplayString(_ctx.vm.title), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.currentStep === 4)\n ? (_openBlock(), _createElementBlock(\"h3\", _hoisted_3, _toDisplayString(_ctx.$t('digitalAdvisor.dialog.thankyouTitle')), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n key: \"0\"\n }\n : undefined,\n (_ctx.canClose)\n ? {\n name: \"footer\",\n fn: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_30, [\n (_ctx.currentStep === 4)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-success p-button-arrow p-button-sm\",\n label: _ctx.$t('common.close'),\n onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.hideModal()))\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.currentStep !== 4)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-text p-button-plain\",\n label: _ctx.$t('common.cancel'),\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.hideModal()))\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true),\n (!_ctx.hasPollingError && _ctx.currentStep !== 4)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 2,\n class: \"p-button-success p-button-arrow p-button-sm\",\n disabled: !_ctx.canSubmit,\n label: _ctx.$t('common.send'),\n onClick: _cache[6] || (_cache[6] = ($event: any) => (_ctx.onSubmit()))\n }, null, 8, [\"disabled\", \"label\"]))\n : (_ctx.currentStep !== 4)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 3,\n class: \"p-button-primary p-button-arrow p-button-sm\",\n disabled: !_ctx.canSubmit,\n label: _ctx.$t('common.tryAgain'),\n onClick: _cache[7] || (_cache[7] = ($event: any) => (_ctx.onReset()))\n }, null, 8, [\"disabled\", \"label\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n key: \"1\"\n }\n : undefined\n ]), 1032, [\"visible\", \"closable\"])\n ]))\n}","<template>\r\n\t<div>\r\n\t\t<Dialog v-model:visible=\"isVisible\"\r\n\t\t\t\t:breakpoints=\"{\r\n\t\t\t\t'2000px': '50vw',\r\n\t\t\t\t'1600px': '60vw',\r\n\t\t\t\t'1200px': '70vw',\r\n\t\t\t\t'992px': '75vw',\r\n\t\t\t\t'768px': '80vw',\r\n\t\t\t\t'576px': '90vw',\r\n\t\t\t}\"\r\n\t\t\t\tclass=\"p-dialog-secondary advisor-upload-modal\"\r\n\t\t\t\t:closable=\"canClose\"\r\n\t\t\t\t:draggable=\"false\"\r\n\t\t\t\t:modal=\"true\"\r\n\t\t\t\t:style=\"{ width: '40vw' }\"\r\n\t\t\t\t@hide=\"hideModal()\">\r\n\t\t\t<template v-if=\"canClose\" #header>\r\n\t\t\t\t<div class=\"d-flex flex-column pt-2\">\r\n\t\t\t\t\t<h3 v-if=\"vm.title && currentStep !== 4\" class=\"mb-0\">{{ vm.title }}</h3>\r\n\t\t\t\t\t<h3 v-if=\"currentStep === 4\" class=\"mb-0\">{{ $t('digitalAdvisor.dialog.thankyouTitle') }}</h3>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t\t<!--step 1 fileupload-->\r\n\t\t\t<div v-show=\"currentStep === 1\" class=\"step-wrapper\" style=\"gap: 1.5rem\">\r\n\t\t\t\t<p class=\"lead w-100 mb-0\">{{ vm.introText }}</p>\r\n\t\t\t\t<div class=\"upload-container\" :style=\"isSmallScreen ? 'order:2' : 'order:1'\">\r\n\t\t\t\t\t<FileUpload ref=\"fileUploader\"\r\n\t\t\t\t\t\t\t\taccept=\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel\"\r\n\t\t\t\t\t\t\t\t:auto=\"true\"\r\n\t\t\t\t\t\t\t\t:custom-upload=\"true\"\r\n\t\t\t\t\t\t\t\t:invalid-file-type-message=\"$t('digitalAdvisor.dialog.msgInvalidFileType')\"\r\n\t\t\t\t\t\t\t\t:max-file-size=\"sizeLimit\"\r\n\t\t\t\t\t\t\t\tmode=\"advanced\"\r\n\t\t\t\t\t\t\t\t:multiple=\"false\"\r\n\t\t\t\t\t\t\t\tname=\"advisorUpload\"\r\n\t\t\t\t\t\t\t\t:show-cancel-button=\"false\"\r\n\t\t\t\t\t\t\t\t:show-upload-button=\"false\"\r\n\t\t\t\t\t\t\t\t@uploader=\"onFileSelected\">\r\n\t\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<template #empty>\r\n\t\t\t\t\t\t\t<i class=\"pi pi-file-excel\"></i>\r\n\t\t\t\t\t\t\t<i18n-t class=\"mb-0\"\r\n\t\t\t\t\t\t\t\t\tkeypath=\"digitalAdvisor.dialog.lblDragFile\"\r\n\t\t\t\t\t\t\t\t\tscope=\"global\"\r\n\t\t\t\t\t\t\t\t\ttag=\"p\">\r\n\t\t\t\t\t\t\t\t<template #action>\r\n\t\t\t\t\t\t\t\t\t<Button class=\"p-button-link text-primary p-0\"\r\n\t\t\t\t\t\t\t\t\t\t\t:label=\"$t('common.chooseFile')\"\r\n\t\t\t\t\t\t\t\t\t\t\t@click=\"onFileUpload\"></Button>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</i18n-t>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</FileUpload>\r\n\t\t\t\t\t<div v-if=\"selectedFile\"\r\n\t\t\t\t\t\t class=\"p-1 d-flex align-items-center w-100 flex-wrap justify-content-center\">\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t<img v-if=\"selectedFile?.objectURL\"\r\n\t\t\t\t\t\t\t\t :alt=\"selectedFile?.name\"\r\n\t\t\t\t\t\t\t\t class=\"\"\r\n\t\t\t\t\t\t\t\t height=\"50\"\r\n\t\t\t\t\t\t\t\t role=\"presentation\"\r\n\t\t\t\t\t\t\t\t :src=\"selectedFile?.objectURL\"\r\n\t\t\t\t\t\t\t\t width=\"100\" />\r\n\t\t\t\t\t\t\t<font-awesome-icon v-else class=\"text-primary\" :icon=\"['far', 'file']\" size=\"1x\" />\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<span class=\"text-bold ml-2 flex-1\">{{ selectedFile?.name }}</span>\r\n\t\t\t\t\t\t<div class=\"ml-2\">{{ formatSize(selectedFile?.size) }}</div>\r\n\t\t\t\t\t\t<Button class=\"p-button-text p-button-danger p-button-rounded ml-2\"\r\n\t\t\t\t\t\t\t\ticon=\"pi pi-trash\"\r\n\t\t\t\t\t\t\t\t:label=\"isSmallScreen ? $t('common.remove') : ''\"\r\n\t\t\t\t\t\t\t\t:title=\"$t('common.remove')\"\r\n\t\t\t\t\t\t\t\t@click=\"onFileRemoved(selectedFile)\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div v-if=\"hasVideo\" class=\"video-container\" :style=\"isSmallScreen ? 'order:1' : 'order:2'\">\r\n\t\t\t\t\t<iframe v-if=\"showVideo\"\r\n\t\t\t\t\t\t\tallowfullscreen\r\n\t\t\t\t\t\t\theight=\"100%\"\r\n\t\t\t\t\t\t\t:src=\"`https://www.youtube.com/embed/${vm.youtubeId}?autoplay=1`\"\r\n\t\t\t\t\t\t\ttype=\"video/mp4\"\r\n\t\t\t\t\t\t\twidth=\"100%\" />\r\n\t\t\t\t\t<div v-else class=\"video-overlay\">\r\n\t\t\t\t\t\t<button class=\"play-button\" @click=\"onPlayVideoClick\">\r\n\t\t\t\t\t\t\t<svg>\r\n\t\t\t\t\t\t\t\t<use xlink:href=\"#icon-play\"></use>\r\n\t\t\t\t\t\t\t</svg>\r\n\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t<img v-lazy=\"`https://img.youtube.com/vi/${vm.youtubeId}/maxresdefault.jpg`\"\r\n\t\t\t\t\t\t\t alt=\"Youtube thumbnail\"\r\n\t\t\t\t\t\t\t class=\"video-image\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<Message v-if=\"!uploadSuccess && selectedFile && !isBusy\"\r\n\t\t\t\t\t\t class=\"my-0 w-100\"\r\n\t\t\t\t\t\t :closable=\"false\"\r\n\t\t\t\t\t\t severity=\"error\"\r\n\t\t\t\t\t\t style=\"order: 3\">\r\n\t\t\t\t\t{{ $t(\"digitalAdvisor.dialog.msgUploadError\") }}\r\n\t\t\t\t</Message>\r\n\t\t\t</div>\r\n\t\t\t<!--step 2 email-->\r\n\t\t\t<div v-show=\"currentStep === 2\" class=\"step-wrapper flex-column\">\r\n\t\t\t\t<div v-if=\"selectedFile\"\r\n\t\t\t\t\t class=\"mb-2 p-1 d-flex align-items-center w-100 flex-wrap justify-content-center\">\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<img v-if=\"selectedFile?.objectURL\"\r\n\t\t\t\t\t\t\t :alt=\"selectedFile?.name\"\r\n\t\t\t\t\t\t\t class=\"\"\r\n\t\t\t\t\t\t\t height=\"50\"\r\n\t\t\t\t\t\t\t role=\"presentation\"\r\n\t\t\t\t\t\t\t :src=\"selectedFile?.objectURL\"\r\n\t\t\t\t\t\t\t width=\"100\" />\r\n\t\t\t\t\t\t<font-awesome-icon v-else class=\"text-primary\" :icon=\"['far', 'file']\" size=\"1x\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"text-bold flex-1\">\r\n\t\t\t\t\t\t<span class=\"ml-2\">{{ selectedFile?.name }}</span>\r\n\t\t\t\t\t\t<span v-if=\"uploadSuccess\" class=\"text-success ml-2\">\r\n\t\t\t\t\t\t\t{{ $t(\"digitalAdvisor.dialog.lblUploadSuccess\") }}\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<span v-else class=\"text-danger ml-2\">\r\n\t\t\t\t\t\t\t{{ $t(\"digitalAdvisor.dialog.lblUploadFailed\") }}\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"ml-2\">{{ formatSize(selectedFile?.size) }}</div>\r\n\t\t\t\t\t<Button class=\"p-button-text p-button-danger p-button-rounded ml-2\"\r\n\t\t\t\t\t\t\ticon=\"pi pi-trash\"\r\n\t\t\t\t\t\t\t:label=\"isSmallScreen ? $t('common.remove') : ''\"\r\n\t\t\t\t\t\t\t:title=\"$t('common.remove')\"\r\n\t\t\t\t\t\t\t@click=\"onFileRemoved(selectedFile)\" />\r\n\t\t\t\t</div>\r\n\t\t\t\t<template v-if=\"uploadSuccess\">\r\n\t\t\t\t\t<p class=\"text-preline\" v-html=\"vm.emailIntroText\"></p>\r\n\t\t\t\t\t<div class=\"form-group\">\r\n\t\t\t\t\t\t<label :class=\"{ required: v$['usageUploadForm'].email?.required }\">\r\n\t\t\t\t\t\t\t{{ $t(\"common.forms.lblEmail\") }}\r\n\t\t\t\t\t\t</label>\r\n\t\t\t\t\t\t<InputText v-model=\"v$['usageUploadForm'].email.$model\"\r\n\t\t\t\t\t\t\t\t :class=\"{ 'p-invalid': shouldShowError(v$['usageUploadForm'].email) }\"\r\n\t\t\t\t\t\t\t\t type=\"email\" />\r\n\t\t\t\t\t\t<small v-if=\"\r\n\t\t\t\t\t\t\t\tshouldShowError(v$['usageUploadForm'].email) && !v$['usageUploadForm'].email.$model\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t class=\"p-error\">\r\n\t\t\t\t\t\t\t{{ v$[\"usageUploadForm\"].email?.required?.$message }}\r\n\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t<small v-else-if=\"\r\n\t\t\t\t\t\t\t\tshouldShowError(v$['usageUploadForm'].email) && v$['usageUploadForm'].email.$model\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t class=\"p-error\">\r\n\t\t\t\t\t\t\t{{ v$[\"usageUploadForm\"].email.email?.$message }}\r\n\t\t\t\t\t\t</small>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</div>\r\n\t\t\t<!--step 3 processing, temporarily use step 4 instead of 3-->\r\n\t\t\t<!--<div v-show=\"currentStep === 3\" class=\"step-wrapper p-2 p-lg-3\">\r\n\t\t\t\t<div v-if=\"isSpinnerVisible('processing')\"\r\n\t\t\t\t\t class=\"d-flex flex-column justify-content-center align-items-center text-center mx-auto\">\r\n\t\t\t\t\t<ProgressSpinner animation-duration=\"1.75s\" stroke-width=\"4\" />\r\n\t\t\t\t\t<h3>{{ $t(\"digitalAdvisor.dialog.processingTitle\") }}</h3>\r\n\t\t\t\t\t<p>{{ $t(\"digitalAdvisor.dialog.processingText\") }}</p>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div v-else-if=\"hasPollingError\"\r\n\t\t\t\t\t class=\"d-flex flex-column justify-content-center align-items-center text-center mx-auto\">\r\n\t\t\t\t\t<font-awesome-icon class=\"text-danger mb-2\" :icon=\"['far', 'circle-xmark']\" size=\"4x\" />\r\n\t\t\t\t\t<h3 class=\"mb-0\">{{ $t(\"digitalAdvisor.dialog.processingErrorTitle\") }}</h3>\r\n\t\t\t\t\t<p>{{ $t(\"digitalAdvisor.dialog.processingErrorText\") }}</p>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div v-else-if=\"hasPollingFinished && !hasAdviceCalculationError\"\r\n\t\t\t\t\t class=\"d-flex flex-column justify-content-center align-items-center text-center mx-auto\">\r\n\t\t\t\t\t<font-awesome-icon class=\"text-success mb-2\" :icon=\"['far', 'check-circle']\" size=\"4x\" />\r\n\t\t\t\t\t<h3 class=\"mb-0\">{{ $t(\"digitalAdvisor.dialog.processingSuccessTitle\") }}</h3>\r\n\t\t\t\t\t<p>{{ $t(\"digitalAdvisor.dialog.processingSuccessText\") }}</p>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div v-else-if=\"hasPollingFinished && hasAdviceCalculationError\"\r\n\t\t\t\t\t class=\"d-flex flex-column justify-content-center align-items-center text-center mx-auto\">\r\n\t\t\t\t\t<font-awesome-icon class=\"text-danger mb-2\" :icon=\"['far', 'circle-xmark']\" size=\"4x\" />\r\n\t\t\t\t\t<h3 class=\"mb-0\">{{ $t(\"digitalAdvisor.dialog.processingErrorTitle\") }}</h3>\r\n\t\t\t\t\t<p>{{ $t(\"digitalAdvisor.dialog.processingErrorText\") }}</p>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<Message v-else class=\"message-with-button w-100\" :closable=\"false\" severity=\"warn\">\r\n\t\t\t\t\t<span>{{ $t(\"digitalAdvisor.dialog.msgPollProcessingTimeout\") }}</span>\r\n\t\t\t\t\t<Button class=\"p-button-success p-button-sm m-1\"\r\n\t\t\t\t\t\t\t:label=\"$t('common.tryAgain')\"\r\n\t\t\t\t\t\t\t@click=\"() => resumePolling()\" />\r\n\t\t\t\t</Message>\r\n\t\t\t</div>-->\r\n\r\n\t\t\t<!-- NOTE temporary thankyou page instead of processing in step 3-->\r\n\t\t\t<div v-show=\"currentStep === 4\" class=\"step-wrapper p-2 p-lg-3\">\r\n\t\t\t\t<p class=\"preserve-html lead w-100 mb-0\" v-html=\"$t('digitalAdvisor.dialog.thankyou')\" />\r\n\t\t\t</div>\r\n\r\n\t\t\t<!--footer button actions-->\r\n\t\t\t<template v-if=\"canClose\" #footer>\r\n\t\t\t\t<div class=\"d-flex align-items-center justify-content-end\">\r\n\t\t\t\t\t<!--NOTE temporary button to close the modal thankyou page-->\r\n\t\t\t\t\t<Button class=\"p-button-success p-button-arrow p-button-sm\"\r\n\t\t\t\t\t\t\tv-if=\"currentStep === 4\"\r\n\t\t\t\t\t\t\t:label=\"$t('common.close')\"\r\n\t\t\t\t\t\t\t@click=\"hideModal()\" />\r\n\t\t\t\t\t<!--NOTE standard modal actions, dont show for step 4 thankyou page-->\r\n\t\t\t\t\t<Button class=\"p-button-text p-button-plain\"\r\n\t\t\t\t\t\t\tv-if=\"currentStep !== 4\"\r\n\t\t\t\t\t\t\t:label=\"$t('common.cancel')\"\r\n\t\t\t\t\t\t\t@click=\"hideModal()\" />\r\n\t\t\t\t\t<Button v-if=\"!hasPollingError && currentStep !== 4\"\r\n\t\t\t\t\t\t\tclass=\"p-button-success p-button-arrow p-button-sm\"\r\n\t\t\t\t\t\t\t:disabled=\"!canSubmit\"\r\n\t\t\t\t\t\t\t:label=\"$t('common.send')\"\r\n\t\t\t\t\t\t\t@click=\"onSubmit()\" />\r\n\t\t\t\t\t<Button v-else-if=\"currentStep !== 4\"\r\n\t\t\t\t\t\t\tclass=\"p-button-primary p-button-arrow p-button-sm\"\r\n\t\t\t\t\t\t\t:disabled=\"!canSubmit\"\r\n\t\t\t\t\t\t\t:label=\"$t('common.tryAgain')\"\r\n\t\t\t\t\t\t\t@click=\"onReset()\" />\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t</Dialog>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport FileUpload from \"primevue/fileupload\";\r\nimport ProgressSpinner from \"primevue/progressspinner\";\r\nimport useVuelidate, { Validation } from \"@vuelidate/core\";\r\nimport { AdvisorLogStatus } from \"@/types/enum/advisorLogStatus\";\r\nimport { Component, Emit, Prop, Ref } from \"vue-facing-decorator\";\r\nimport { Pausable } from \"@vueuse/core\";\r\n//import { Pausable, useIntervalFn } from \"@vueuse/core\";\r\nimport { PropType } from \"vue\";\r\nimport { email, required } from \"@/types/utils/i18n-validators\";\r\nimport { useAdvisorStore } from \"@/store/advisor/advisorStore\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\n\r\nexport interface AdvisorUploadModalBlockViewModel {\r\n\ttitle: string;\r\n\tintroText: string;\r\n\temailIntroText: string;\r\n\tyoutubeId: string;\r\n}\r\n\r\n@Component({\r\n\tcomponents: { FileUpload, ProgressSpinner },\r\n\toptions: {\r\n\t\tvalidations: {\r\n\t\t\tusageUploadForm: {\r\n\t\t\t\temail: { email, required },\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n})\r\nexport default class AdvisorUploadUsageModal extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<AdvisorUploadModalBlockViewModel>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: AdvisorUploadModalBlockViewModel;\r\n\r\n\t@Prop({ type: String, required: true, default: \"\" })\r\n\tresultsPageUrl!: string;\r\n\r\n\t@Prop({ type: String, required: true, default: \"\" })\r\n\tapiVersion!: string;\r\n\r\n\t@Ref()\r\n\treadonly fileUploader;\r\n\r\n\tusageUploadForm!: { email: string };\r\n\tcurrentStep = 1;\r\n\tisVisible = true;\r\n\tshowVideo = false;\r\n\tsubmitted = false;\r\n\tuploadSuccess = false;\r\n\r\n\t//20MB\r\n\tsizeLimit = 20971520;\r\n\tselectedFile!: File;\r\n\tblobName!: string;\r\n\r\n\tfileProcessingPoll!: Pausable;\r\n\tpollStatus!: AdvisorLogStatus;\r\n\tpollCount = 0;\r\n\tpollIntervalMs = 10000;\r\n\tpollIntervalLimit = 5;\r\n\r\n\tprocessingLogId = \"\";\r\n\tadviceLogId = \"\";\r\n\thasAdviceCalculationError = false;\r\n\tv$ = useVuelidate();\r\n\tadvisorStore = useAdvisorStore();\r\n\r\n\t@Emit()\r\n\thideModal(): boolean {\r\n\t\tthis.advisorStore.hideModal(\"UploadUsage\");\r\n\t\treturn false;\r\n\t}\r\n\r\n\t@Emit()\r\n\tsubmitUsageReport(): void {\r\n\t\tconst httpParams = new URLSearchParams();\r\n\t\thttpParams.set(\"processingLogId\", this.processingLogId);\r\n\t\thttpParams.set(\"adviceLogId\", this.adviceLogId);\r\n\t\thttpParams.set(\"apiVersion\", this.apiVersion);\r\n\t\tthis.setDataLayer.generateLead(this.layoutStore.vm?.currentUser, {\r\n\t\t\tform_title: \"Advisor usage report\",\r\n\t\t\tform_type: \"advisor\",\r\n\t\t});\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\t\tthis.hideModal();\r\n\t\t\tthis.openUrl(`${this.resultsPageUrl}?` + httpParams);\r\n\t\t}, 2000);\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.usageUploadForm = { email: \"\" };\r\n\t}\r\n\r\n\tget hasVideo(): boolean {\r\n\t\treturn !!this.vm.youtubeId;\r\n\t}\r\n\r\n\tget canSubmit(): boolean {\r\n\t\treturn (\r\n\t\t\t(!this.isPolling && this.currentStep === 2 && !this.submitted) ||\r\n\t\t\t(!this.v$[\"usageUploadForm\"].$invalid && !!this.selectedFile)\r\n\t\t);\r\n\t}\r\n\r\n\tget canClose(): boolean {\r\n\t\treturn !this.isPolling && !this.hasPollingFinished;\r\n\t}\r\n\r\n\tget hasPollingError(): boolean {\r\n\t\treturn this.pollStatus === AdvisorLogStatus.Error;\r\n\t}\r\n\r\n\tget hasPollingFinished(): boolean {\r\n\t\treturn this.pollStatus === AdvisorLogStatus.Finished;\r\n\t}\r\n\r\n\tget isPolling(): boolean {\r\n\t\treturn (\r\n\t\t\tthis.fileProcessingPoll?.isActive &&\r\n\t\t\t(this.pollStatus === AdvisorLogStatus.Queued || this.pollStatus === AdvisorLogStatus.Processing)\r\n\t\t);\r\n\t}\r\n\r\n\tformatSize(bytes: number): string {\r\n\t\tif (bytes === 0) {\r\n\t\t\treturn \"0 B\";\r\n\t\t}\r\n\r\n\t\tlet k = 1024,\r\n\t\t\tdm = 0,\r\n\t\t\tsizes = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"],\r\n\t\t\ti = Math.floor(Math.log(bytes) / Math.log(k));\r\n\r\n\t\treturn parseFloat(Math.floor(bytes / Math.pow(k, i)).toFixed(dm)) + \" \" + sizes[i];\r\n\t}\r\n\r\n\tshouldShowError(fieldToValidate: Validation): boolean {\r\n\t\treturn fieldToValidate.$invalid && (this.submitted || fieldToValidate.$dirty);\r\n\t}\r\n\r\n\tonPlayVideoClick(): void {\r\n\t\tthis.showVideo = true;\r\n\t}\r\n\r\n\tonFileSelected({ files }: { files: File[] }): void {\r\n\t\tthis.selectedFile = files[0];\r\n\t\tthis.uploadFile();\r\n\t}\r\n\r\n\tonFileUpload(): void {\r\n\t\tthis.fileUploader.$refs.fileInput.click();\r\n\t}\r\n\r\n\tonFileRemoved(): void {\r\n\t\tthis.currentStep = 1;\r\n\t\tthis.fileUploader.remove(0);\r\n\t\tthis.selectedFile = undefined as never;\r\n\t}\r\n\r\n\tonSubmit(): void {\r\n\t\tthis.submitted = true;\r\n\t\tif (!this.canSubmit) return;\r\n\t\tthis.requestFileProcessing();\r\n this.currentStep = 4;\r\n\t}\r\n\r\n\tonReset(): void {\r\n\t\tthis.submitted = false;\r\n\t\tthis.onFileRemoved();\r\n\t\tthis.currentStep = 1;\r\n\t\tthis.pollStatus = AdvisorLogStatus.Unsupported;\r\n\t}\r\n\r\n\t//pausePolling(): void {\r\n\t//\tthis.loadingStore.hideSpinner(\"processing\");\r\n\t//\tthis.fileProcessingPoll?.pause();\r\n\t//}\r\n\r\n\t//resumePolling(): void {\r\n\t//\tthis.loadingStore.showSpinner(\"processing\");\r\n\t//\tthis.fileProcessingPoll?.resume();\r\n\t//}\r\n\r\n\tprivate uploadFile(): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tconst formData = new FormData();\r\n\t\tformData.append(\"file\", this.selectedFile);\r\n\r\n\t\tthis.axios\r\n\t\t\t.post(`/api/advisor/upload-file`, formData, {\r\n\t\t\t\trequestId: \"upload-file\",\r\n\t\t\t\theaders: { \"Content-Type\": \"multipart/form-data\" },\r\n\t\t\t})\r\n\t\t\t.then((res) => {\r\n\t\t\t\tif (this.layoutStore.vm.isDebug) console.debug(res);\r\n\t\t\t\tthis.uploadSuccess = res.data.success;\r\n\t\t\t\tthis.currentStep = this.uploadSuccess ? 2 : 1;\r\n\t\t\t\tthis.blobName = res.data.blobName;\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tif (this.layoutStore.vm.isDebug) console.error(err);\r\n\t\t\t\tthis.uploadSuccess = false;\r\n\t\t\t\tthis.currentStep = 1;\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t\t\t});\r\n\t}\r\n\r\n\tprivate requestFileProcessing(): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tconst payload = {\r\n\t\t\tuserEmail: this.usageUploadForm.email,\r\n\t\t\tblobName: this.blobName || this.selectedFile?.name,\r\n\t\t};\r\n\t\tthis.axios\r\n\t\t\t.post(`/api/advisor/request-processing`, payload, { requestId: \"request-processing\" })\r\n\t\t\t.then((res) => {\r\n\t\t\t\t//this.currentStep = 3;\r\n\t\t\t\tthis.currentStep = 4;\r\n\t\t\t\tthis.processingLogId = res.data.processingLogId;\r\n\t\t\t\t//this.pollFileProcessing();\r\n\t\t\t})\r\n\t\t\t.catch((err) => Log.error(err))\r\n\t\t\t.finally(() => this.loadingStore.decreaseLoadingCount());\r\n\t}\r\n\r\n\t//private pollFileProcessing(): void {\r\n\t//\tthis.loadingStore.showSpinner(\"processing\");\r\n\t//\tthis.fileProcessingPoll = useIntervalFn(\r\n\t//\t\t() => {\r\n\t//\t\t\tthis.advisorStore.pollInsightProcessing(this.processingLogId).then((x) => {\r\n\t//\t\t\t\tthis.pollStatus = x.uploadProcessingStatus;\r\n\t//\t\t\t\tif (x.uploadProcessingStatus === AdvisorLogStatus.Finished) {\r\n\t//\t\t\t\t\tthis.requestAdviceCalculation();\r\n\t//\t\t\t\t\tthis.pausePolling();\r\n\t//\t\t\t\t}\r\n\t//\t\t\t\tif (x.uploadProcessingStatus === AdvisorLogStatus.Error) {\r\n\t//\t\t\t\t\tthis.pausePolling();\r\n\t//\t\t\t\t}\r\n\t//\t\t\t});\r\n\t//\t\t\tthis.pollCount++;\r\n\t//\t\t\tif (this.pollCount % this.pollIntervalLimit === 0) {\r\n\t//\t\t\t\tthis.pausePolling();\r\n\t//\t\t\t}\r\n\t//\t\t},\r\n\t//\t\tthis.pollIntervalMs,\r\n\t//\t\t{ immediate: true, immediateCallback: true }\r\n\t//\t);\r\n\t//}\r\n\r\n\t//private requestAdviceCalculation(): void {\r\n\t//\tthis.loadingStore.increaseLoadingCount();\r\n\t//\tconst payload = {\r\n\t//\t\trequesterEmail: this.usageUploadForm.email,\r\n\t//\t\tprocessingLogId: this.processingLogId,\r\n\t//\t};\r\n\t//\tthis.axios\r\n\t//\t\t.post(`/api/advisor/request-advice-calculation`, payload, {\r\n\t//\t\t\trequestId: \"request-advice-calculation\",\r\n\t//\t\t})\r\n\t//\t\t.then((res) => {\r\n\t//\t\t\tthis.adviceLogId = res.data.adviceLogId;\r\n\t//\t\t\tthis.submitUsageReport();\r\n\t//\t\t})\r\n\t//\t\t.catch((err) => {\r\n\t//\t\t\tLog.error(err);\r\n\t//\t\t\tthis.hasAdviceCalculationError = true;\r\n\t//\t\t\t this.submitUsageReport();\r\n\t//\t\t})\r\n\t//\t\t.finally(() => {\r\n\t//\t\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t//\t\t});\r\n\t//}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n.advisor-upload-modal {\r\n\t.p-dialog-header {\r\n\t\tborder-bottom: none;\r\n\t}\r\n\r\n\t.p-dialog-content {\r\n\t\tpadding: 0 1.5rem 1.5rem 1.5rem;\r\n\t}\r\n\r\n\t.p-dialog-header-icons {\r\n\t\talign-self: flex-start;\r\n\t\tpadding-top: 0.5rem;\r\n\t}\r\n\r\n\t.p-fileupload-buttonbar {\r\n\t\tdisplay: none;\r\n\t}\r\n\r\n\t.p-fileupload-content {\r\n\t\tbackground: var(--surface-b);\r\n\t\tborder: 3px dotted var(--gray-400);\r\n\t\tborder-radius: 6px;\r\n\t}\r\n\r\n\t.p-fileupload-empty {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\t\tgap: 1rem;\r\n\t\tmin-height: 225px;\r\n\r\n\t\ti.pi {\r\n\t\t\tfont-size: 1.5rem;\r\n\t\t\tbackground-color: var(--surface-a);\r\n\t\t\tcolor: var(--primary-color);\r\n\t\t\tpadding: 1.5rem;\r\n\t\t\tborder-radius: 50%;\r\n\t\t}\r\n\r\n\t\tp {\r\n\t\t\tfont-size: 1rem;\r\n\t\t\tfont-weight: 500;\r\n\t\t}\r\n\t}\r\n\r\n\t.step-wrapper {\r\n\t\tdisplay: flex;\r\n\t\tflex-wrap: wrap;\r\n\t}\r\n\r\n\t.video-container {\r\n\t\tborder: 1px solid var(--primary-color);\r\n\t\tflex: 1 1 50%;\r\n\t}\r\n\r\n\t.upload-container {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\tflex: 0 1 35%;\r\n\t\ttext-align: center;\r\n\t\theight: 100%;\r\n\t}\r\n}\r\n</style>\r\n","export enum AdvisorLogStatus {\r\n\t/// Status used for when the advisor replies with an unknown status.\r\n\tUnsupported,\r\n\t/// Status used for showing the polled request is queued to be processed.\r\n\tQueued,\r\n\t/// Status used for showing the polled request is being processed.\r\n\tProcessing,\r\n\t/// Status used for showing the polled request ended up in an error.\r\n\tError,\r\n\t/// Status used for showing the polled request is finished.\r\n\tFinished,\r\n}\r\n","// or import { createI18nMessage } from '@vuelidate/validators'\r\nimport * as validators from '@vuelidate/validators';\r\nimport i18n from '@/types/utils/i18n';\r\nimport { ValidationHelper } from '@/types/helpers/validationHelper';\r\nimport { ValidatorFn } from '@vuelidate/core';\r\n\r\nconst { createI18nMessage } = validators;\r\n\r\n// extract the `t` helper, should work for both Vue 2 and Vue 3 versions of vue-i18n\r\nconst { t } = i18n.global || i18n;\r\n// pass `t` and create your i18n message instance\r\nexport const withI18nMessage = createI18nMessage({ t });\r\n\r\n// wrap each validator.\r\nexport const required = withI18nMessage(validators.required);\r\nexport const email = withI18nMessage(validators.email);\r\nexport const minLength = (minLength: number) => withI18nMessage(validators.minLength(minLength));\r\nexport const maxLength = (maxLength: number) => withI18nMessage(validators.maxLength(maxLength));\r\nexport const minValue = (minValue: number) => withI18nMessage(validators.minValue(minValue));\r\nexport const validPassword = withI18nMessage(ValidationHelper.validatePassword as ValidatorFn);\r\nexport const validCoCNumber = withI18nMessage(ValidationHelper.validateCocNumber as ValidatorFn);\r\nexport const validPhone = withI18nMessage(ValidationHelper.validatePhoneObject as ValidatorFn);\r\nexport const gender = withI18nMessage(ValidationHelper.validateGender as ValidatorFn);\r\n","import httpClient from '@/types/helpers/apiHelper';\r\nimport { AxiosResponse } from 'axios';\r\nimport { GetCalculatedAdviceResponse } from '@/types/models/advisor/getCalculatedAdviceResponse';\r\nimport { InsightViewModel } from '@/types/models/advisor/insightViewModel';\r\nimport { PollAdviceCalculationResponse } from '@/types/models/advisor/pollAdviceCalculationResponse';\r\nimport { defineStore } from 'pinia';\r\nimport { AdvisorProductViewModel } from '@/types/models/advisor/productViewModel';\r\nimport { IDropdownItem } from '@/types/models/common/dropdownItem.interface';\r\nimport { PollProcessingResponse } from '@/types/models/advisor/pollProcessingResponse';\r\nimport { OverviewViewModel } from '@/types/models/advisor/OverviewViewModel';\r\nimport { ProductAdviceViewModel } from '@/types/models/advisor/productAdviceViewModel';\r\nimport { TokenAdviceViewModel } from '@/types/models/advisor/tokenAdviceViewModel';\r\nimport { Log } from '@/types/helpers/logHelper';\r\n\r\ninterface AdvisorStoreState {\r\n\tuploadUsageModalVisible: boolean;\r\n\tinsight: InsightViewModel | undefined;\r\n\toverview: OverviewViewModel | undefined;\r\n\tproductAdvices: ProductAdviceViewModel[] | undefined;\r\n\ttokenAdvice: TokenAdviceViewModel | undefined;\r\n\tinsightProductFilter: string[];\r\n\tisAccessRestricted: boolean;\r\n}\r\n\r\nexport type AdvisorModalType = 'UploadUsage';\r\n\r\nexport const useAdvisorStore = defineStore('advisor', {\r\n\tstate: () =>\r\n\t\t({\r\n\t\t\tuploadUsageModalVisible: false,\r\n\t\t\tinsightProductFilter: [] as string[],\r\n\t\t\tinsight: undefined,\r\n\t\t\toverview: undefined,\r\n\t\t\tproductAdvices: undefined,\r\n\t\t\ttokenAdvice: undefined,\r\n\t\t\tisAccessRestricted: true,\r\n\t\t}) as AdvisorStoreState,\r\n\tgetters: {\r\n\t\tinsightProductFilterOptions(): IDropdownItem[] {\r\n\t\t\treturn (\r\n\t\t\t\tthis.insight?.products?.map((x) => ({\r\n\t\t\t\t\tvalue: x.name,\r\n\t\t\t\t\tlabel: x.name,\r\n\t\t\t\t})) || []\r\n\t\t\t);\r\n\t\t},\r\n\t\thasInsightProductsToShow(): boolean {\r\n\t\t\treturn this.insightProductsToShow?.length > 0;\r\n\t\t},\r\n\t\thasAdviceToShow(): boolean {\r\n\t\t\treturn !!this.productAdvices?.length;\r\n\t\t},\r\n\t\thasTokenAdviceToShow(): boolean {\r\n\t\t\treturn !!this.tokenAdvice;\r\n\t\t},\r\n\t\tinsightProductsToShow(state: AdvisorStoreState): AdvisorProductViewModel[] {\r\n\t\t\tif (state.insightProductFilter.length <= 0) return state.insight?.products || [];\r\n\t\t\telse return state.insight?.products?.filter((x) => state.insightProductFilter.includes(x.name)) || [];\r\n\t\t},\r\n\t},\r\n\tactions: {\r\n\t\tshowModal(type: AdvisorModalType) {\r\n\t\t\tswitch (type) {\r\n\t\t\t\tcase 'UploadUsage':\r\n\t\t\t\t\tthis.uploadUsageModalVisible = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t},\r\n\t\thideModal(type: AdvisorModalType) {\r\n\t\t\tswitch (type) {\r\n\t\t\t\tcase 'UploadUsage':\r\n\t\t\t\t\tthis.uploadUsageModalVisible = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tasync getAdvice(adviceId: string, adviceLogId: string, apiVersion: string): Promise<void> {\r\n\t\t\tconst queryParams = new URLSearchParams();\r\n\t\t\tqueryParams.set('adviceId', adviceId);\r\n\t\t\tqueryParams.set('adviceLogId', adviceLogId);\r\n\t\t\tqueryParams.set('apiVersion', apiVersion);\r\n\r\n\t\t\tconst response: AxiosResponse<GetCalculatedAdviceResponse> =\r\n\t\t\t\tawait httpClient.get<GetCalculatedAdviceResponse>('/api/advisor/get-advice?' + queryParams, {\r\n\t\t\t\t\trequestId: 'getAdvice',\r\n\t\t\t\t});\r\n\t\t\tLog.info('getAdvice', response);\r\n\r\n\t\t\tthis.overview = response.data?.advisorResult.overview;\r\n\t\t\tthis.insight = response.data?.advisorResult.insight;\r\n\t\t\tthis.productAdvices = response.data?.advisorResult.productAdvices;\r\n\t\t\tthis.tokenAdvice = response.data?.advisorResult.tokenAdvice;\r\n\t\t\tthis.isAccessRestricted = response.data?.isAccessRestricted;\r\n\r\n\t\t\tPromise.resolve(true);\r\n\t\t},\r\n\r\n\t\tasync pollAdviceCalculation(adviceLogId: string): Promise<PollAdviceCalculationResponse> {\r\n\t\t\tconst queryParams = new URLSearchParams();\r\n\t\t\tqueryParams.set('adviceLogId', adviceLogId);\r\n\t\t\tconst response: AxiosResponse<PollAdviceCalculationResponse> =\r\n\t\t\t\tawait httpClient.get<PollAdviceCalculationResponse>(\r\n\t\t\t\t\t'/api/advisor/poll-advice-calculation?' + queryParams,\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\trequestId: 'pollAdviceCalculation',\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\tLog.info('pollAdviceCalculation', response);\r\n\r\n\t\t\treturn response.data;\r\n\t\t},\r\n\t\tasync pollInsightProcessing(processingLogId: string): Promise<PollProcessingResponse> {\r\n\t\t\tconst queryParams = new URLSearchParams();\r\n\t\t\tqueryParams.set('processingLogId', processingLogId);\r\n\t\t\tconst response: AxiosResponse<PollProcessingResponse> = await httpClient.get<PollProcessingResponse>(\r\n\t\t\t\t'/api/advisor/poll-processing?' + queryParams,\r\n\t\t\t\t{\r\n\t\t\t\t\trequestId: 'pollInsightProcessing',\r\n\t\t\t\t}\r\n\t\t\t);\r\n\r\n\t\t\treturn response.data;\r\n\t\t},\r\n\t},\r\n});\r\n","import { render } from \"./advisorUploadUsageModal.vue?vue&type=template&id=6369bf72&ts=true\"\nimport script from \"./advisorUploadUsageModal.vue?vue&type=script&lang=ts\"\nexport * from \"./advisorUploadUsageModal.vue?vue&type=script&lang=ts\"\n\nimport \"./advisorUploadUsageModal.vue?vue&type=style&index=0&id=6369bf72&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./advisorInfo.vue?vue&type=template&id=0a40d72e&ts=true\"\nimport script from \"./advisorInfo.vue?vue&type=script&lang=ts\"\nexport * from \"./advisorInfo.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, withCtx as _withCtx, renderList as _renderList, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-790ff241\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"row mb-2\" }\nconst _hoisted_2 = { class: \"col mb-1\" }\nconst _hoisted_3 = { class: \"d-flex align-items-center flex-grow-1\" }\nconst _hoisted_4 = { class: \"align-items-center d-flex flex-wrap justify-content-between w-100 ml-3\" }\nconst _hoisted_5 = { class: \"\" }\nconst _hoisted_6 = { class: \"mb-0\" }\nconst _hoisted_7 = { class: \"mb-0 lead\" }\nconst _hoisted_8 = { key: 0 }\nconst _hoisted_9 = { key: 1 }\nconst _hoisted_10 = { key: 2 }\nconst _hoisted_11 = { key: 3 }\nconst _hoisted_12 = { key: 4 }\nconst _hoisted_13 = { class: \"panel-content\" }\nconst _hoisted_14 = { class: \"text-bold mb-0\" }\nconst _hoisted_15 = { key: 1 }\nconst _hoisted_16 = { key: 0 }\nconst _hoisted_17 = { key: 1 }\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-spin pi-spinner\" }, null, -1))\nconst _hoisted_19 = [\n _hoisted_18\n]\nconst _hoisted_20 = { class: \"d-flex\" }\nconst _hoisted_21 = { class: \"mb-0\" }\nconst _hoisted_22 = { class: \"panel-content\" }\nconst _hoisted_23 = [\"href\"]\nconst _hoisted_24 = [\"href\"]\nconst _hoisted_25 = { class: \"d-flex\" }\nconst _hoisted_26 = { class: \"mb-0\" }\nconst _hoisted_27 = { class: \"panel-content\" }\nconst _hoisted_28 = { style: {\"flex\":\"2\"} }\nconst _hoisted_29 = { class: \"d-flex\" }\nconst _hoisted_30 = {\n key: 0,\n class: \"text-primary mb-1\"\n}\nconst _hoisted_31 = { class: \"d-flex align-items-center\" }\nconst _hoisted_32 = [\"innerHTML\"]\nconst _hoisted_33 = [\"innerHTML\"]\nconst _hoisted_34 = { class: \"m-0 ml-1\" }\nconst _hoisted_35 = { style: {\"flex\":\"3\"} }\nconst _hoisted_36 = [\"href\"]\nconst _hoisted_37 = [\"href\"]\nconst _hoisted_38 = { class: \"d-flex\" }\nconst _hoisted_39 = { class: \"mb-0\" }\nconst _hoisted_40 = { class: \"panel-content\" }\nconst _hoisted_41 = {\n class: \"text-preline\",\n style: {\"word-break\":\"break-word\"}\n}\nconst _hoisted_42 = { class: \"align-items-center d-flex justify-content-between w-100\" }\nconst _hoisted_43 = { class: \"mb-0\" }\nconst _hoisted_44 = { class: \"panel-content w-50\" }\nconst _hoisted_45 = { class: \"map-container\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_BackButton = _resolveComponent(\"BackButton\")!\n const _component_StatusBadge = _resolveComponent(\"StatusBadge\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_ProductConfigurationSummaryItem = _resolveComponent(\"ProductConfigurationSummaryItem\")!\n const _component_ColumnYesNo = _resolveComponent(\"ColumnYesNo\")!\n const _component_Divider = _resolveComponent(\"Divider\")!\n const _component_PriceSummary = _resolveComponent(\"PriceSummary\")!\n const _component_Panel = _resolveComponent(\"Panel\")!\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_PopoverIcon = _resolveComponent(\"PopoverIcon\")!\n const _component_GMapMap = _resolveComponent(\"GMapMap\")!\n const _component_ExpertAcceptBookingModal = _resolveComponent(\"ExpertAcceptBookingModal\")!\n const _component_ExpertCompleteBookingModal = _resolveComponent(\"ExpertCompleteBookingModal\")!\n const _component_ExpertDeclineBookingModal = _resolveComponent(\"ExpertDeclineBookingModal\")!\n const _component_ExpertReviewBookingModal = _resolveComponent(\"ExpertReviewBookingModal\")!\n const _component_ExpertReviewBookingDetailsModal = _resolveComponent(\"ExpertReviewBookingDetailsModal\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_BackButton, {\n class: \"mb-3\",\n label: _ctx.$t('expert.button.back')\n }, null, 8, [\"label\"]),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_Panel, {\n class: \"mb-2\",\n toggleable: false\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", null, [\n _createVNode(_component_StatusBadge, {\n status: _ctx.vm.booking.status,\n \"translation-prefix\": \"enum.expertBookingStatus\",\n type: 1\n }, null, 8, [\"status\"])\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"h1\", _hoisted_6, _toDisplayString(_ctx.vm.pageTitle), 1),\n _createElementVNode(\"p\", _hoisted_7, _toDisplayString(_ctx.$t(\"expert.booking.subTitle\")), 1)\n ]),\n (_ctx.isExpert && _ctx.showAcceptOrDeclineButton)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createVNode(_component_Button, {\n class: \"p-button-success\",\n label: _ctx.$t(`common.accept`),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.onAcceptClick()))\n }, null, 8, [\"label\"]),\n _createVNode(_component_Button, {\n class: \"p-button-danger ml-1\",\n label: _ctx.$t(`common.reject`),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onDeclineClick()))\n }, null, 8, [\"label\"])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.isExpert && _ctx.showCompleteButton)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createVNode(_component_Button, {\n class: \"p-button-success\",\n label: _ctx.$t(`common.complete`),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.onCompleteClick()))\n }, null, 8, [\"label\"])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.showCancelButton)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n _createVNode(_component_Button, {\n class: \"p-button-secondary\",\n label: _ctx.$t(`common.cancel`),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.onCancelClick()))\n }, null, 8, [\"label\"])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.showReviewButton)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createVNode(_component_Button, {\n class: \"p-button-primary p-button-outlined\",\n label: _ctx.$t(`expert.button.${_ctx.bookingHasReview ? 'seeReview' : 'reviewBooking'}`),\n onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.onReviewClick()))\n }, null, 8, [\"label\"])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.isExpert && _ctx.showInvoiceButton)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n _createVNode(_component_Button, {\n class: \"p-button-secondary\",\n icon: \"pi pi-file-pdf\",\n label: _ctx.$t(`expert.button.viewInvoice`),\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.onViewInvoiceClick()))\n }, null, 8, [\"label\"])\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"div\", null, [\n (!_ctx.isExpert)\n ? (_openBlock(), _createBlock(_component_ProductConfigurationSummaryItem, {\n key: 0,\n content: _ctx.vm?.booking?.expertDisplayName,\n label: _ctx.$t('expert.booking.expert')\n }, null, 8, [\"content\", \"label\"]))\n : (_openBlock(), _createBlock(_component_ProductConfigurationSummaryItem, {\n key: 1,\n content: _ctx.vm?.booking?.customerContactDisplayName,\n label: _ctx.$t('expert.booking.customer')\n }, null, 8, [\"content\", \"label\"])),\n _createVNode(_component_ProductConfigurationSummaryItem, {\n content: _ctx.vm?.booking?.workLocation || _ctx.$t('expert.remote'),\n label: _ctx.$t('expert.booking.workLocation')\n }, null, 8, [\"content\", \"label\"]),\n _createVNode(_component_ProductConfigurationSummaryItem, {\n label: _ctx.$t('expert.flexBooking')\n }, {\n content: _withCtx(() => [\n _createVNode(_component_ColumnYesNo, {\n value: _ctx.vm?.isFlexBooking\n }, null, 8, [\"value\"])\n ]),\n _: 1\n }, 8, [\"label\"]),\n _createVNode(_component_ProductConfigurationSummaryItem, {\n label: _ctx.$t('expert.booking.dates')\n }, {\n content: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.sortedDates(_ctx.vm?.booking.dates), (date) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: JSON.stringify(date),\n class: \"d-flex flex-column\"\n }, [\n _createElementVNode(\"p\", _hoisted_14, _toDisplayString(`${_ctx.formatDate(date.date)} `), 1),\n _createElementVNode(\"small\", null, _toDisplayString(`${_ctx.formatTime(date.start)} - ${_ctx.formatTime(date.end)}`), 1)\n ]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"label\"])\n ]),\n (_ctx.showExpertReward)\n ? (_openBlock(), _createBlock(_component_Divider, {\n key: 0,\n layout: _ctx.isSmallScreen ? 'horizontal' : 'vertical',\n style: {\"flex\":\"0\"}\n }, null, 8, [\"layout\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.showExpertReward)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n _createElementVNode(\"h5\", null, _toDisplayString(_ctx.isExpert ? _ctx.$t(\"expert.booking.reward\") : _ctx.$t(\"expert.booking.costs\")), 1),\n (!_ctx.isSpinnerVisible('priceSummary'))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_16, [\n _createVNode(_component_PriceSummary, {\n vm: _ctx.getPriceSummary(_ctx.expertBookingCosts)\n }, null, 8, [\"vm\"])\n ]))\n : (_ctx.isSpinnerVisible('priceSummary'))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, _hoisted_19))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n }),\n (_ctx.isExpert)\n ? (_openBlock(), _createBlock(_component_Panel, {\n key: 0,\n class: \"mb-2\",\n toggleable: false\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"h3\", _hoisted_21, _toDisplayString(_ctx.$t(\"expert.booking.titleCustomerInfo\")), 1)\n ])\n ])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_22, [\n _createVNode(_component_ProductConfigurationSummaryItem, {\n content: _ctx.vm?.booking?.customerContactDisplayName,\n label: _ctx.$t('common.forms.lblName')\n }, null, 8, [\"content\", \"label\"]),\n _createVNode(_component_ProductConfigurationSummaryItem, {\n label: _ctx.$t('common.forms.lblPhoneNumber')\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"a\", {\n href: `tel:${_ctx.vm.booking?.expertPhoneNumber}`\n }, _toDisplayString(_ctx.vm.booking?.expertPhoneNumber), 9, _hoisted_23)\n ]),\n _: 1\n }, 8, [\"label\"]),\n _createVNode(_component_ProductConfigurationSummaryItem, {\n content: _ctx.vm?.booking?.customerContactEmail,\n label: _ctx.$t('common.forms.lblEmail')\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"a\", {\n href: `mailto:${_ctx.vm.booking?.customerContactEmail}`\n }, _toDisplayString(_ctx.vm.booking?.customerContactEmail), 9, _hoisted_24)\n ]),\n _: 1\n }, 8, [\"content\", \"label\"])\n ])\n ]),\n _: 1\n }))\n : (_openBlock(), _createBlock(_component_Panel, {\n key: 1,\n class: \"mb-2\",\n toggleable: false\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"h3\", _hoisted_26, _toDisplayString(_ctx.$t(\"expert.booking.titleExpertInfo\")), 1)\n ])\n ])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_27, [\n _createElementVNode(\"div\", _hoisted_28, [\n _createElementVNode(\"div\", _hoisted_29, [\n _createVNode(_component_Avatar, {\n class: \"mr-2 profile-image\",\n image: _ctx.expertProfile?.imageUrl,\n shape: \"circle\",\n size: \"xlarge\"\n }, null, 8, [\"image\"]),\n _createElementVNode(\"div\", null, [\n (_ctx.vm?.expert?.title)\n ? (_openBlock(), _createElementBlock(\"h3\", _hoisted_30, _toDisplayString(_ctx.vm?.expert?.title), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_31, [\n _createVNode(_component_PopoverIcon, {\n \"open-delay\": 500,\n placement: \"right\"\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"p\", {\n class: \"text-bold\",\n innerHTML: _ctx.vm?.expert?.displayName\n }, null, 8, _hoisted_32),\n _createElementVNode(\"div\", {\n innerHTML: _ctx.vm?.expert?.description\n }, null, 8, _hoisted_33)\n ]),\n default: _withCtx(() => [\n _createVNode(_component_Avatar, {\n alt: _ctx.vm?.expert?.displayName,\n class: \"expert-badge\",\n image: _ctx.vm?.booking?.expertProduct?.iconUrl,\n shape: \"circle\"\n }, null, 8, [\"alt\", \"image\"])\n ]),\n _: 1\n }),\n _createElementVNode(\"p\", _hoisted_34, _toDisplayString(_ctx.vm?.expert?.function), 1)\n ])\n ])\n ])\n ]),\n _createVNode(_component_Divider, {\n layout: \"vertical\",\n style: {\"flex\":\"0\"}\n }),\n _createElementVNode(\"div\", _hoisted_35, [\n _createVNode(_component_ProductConfigurationSummaryItem, {\n label: _ctx.$t('common.forms.lblPhoneNumber')\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"a\", {\n href: `tel:${_ctx.vm.booking?.expertPhoneNumber}`\n }, _toDisplayString(_ctx.vm.booking?.expertPhoneNumber), 9, _hoisted_36)\n ]),\n _: 1\n }, 8, [\"label\"]),\n _createVNode(_component_ProductConfigurationSummaryItem, {\n content: _ctx.vm?.booking?.expertEmail,\n label: _ctx.$t('common.forms.lblEmail')\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"a\", {\n href: `mailto:${_ctx.vm.booking?.expertEmail}`\n }, _toDisplayString(_ctx.vm.booking?.expertEmail), 9, _hoisted_37)\n ]),\n _: 1\n }, 8, [\"content\", \"label\"])\n ])\n ])\n ]),\n _: 1\n })),\n _createVNode(_component_Panel, {\n class: \"mb-2\",\n toggleable: false\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_38, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"h3\", _hoisted_39, _toDisplayString(_ctx.$t(\"expert.booking.projectDescription\")), 1)\n ])\n ])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_40, [\n _createElementVNode(\"div\", _hoisted_41, _toDisplayString(_ctx.vm?.booking?.projectDescription), 1)\n ])\n ]),\n _: 1\n }),\n (_ctx.isExpert && !_ctx.vm?.booking?.isRemote && _ctx.vm?.booking?.expertCosts.singleTravelDistance)\n ? (_openBlock(), _createBlock(_component_Panel, {\n key: 2,\n class: \"mb-2\",\n toggleable: false\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_42, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"h3\", _hoisted_43, _toDisplayString(_ctx.$t(\"expert.booking.workLocation\")), 1)\n ]),\n (_ctx.isExpert)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-primary\",\n icon: \"pi pi-directions\",\n label: _ctx.$t(`expert.button.routeDescription`),\n onClick: _ctx.openRouteDescription\n }, null, 8, [\"label\", \"onClick\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_44, [\n _createElementVNode(\"div\", null, [\n _createVNode(_component_ProductConfigurationSummaryItem, {\n content: _ctx.vm?.booking?.workLocation,\n label: _ctx.$t('common.forms.lblAddress')\n }, null, 8, [\"content\", \"label\"]),\n _createVNode(_component_ProductConfigurationSummaryItem, {\n content: `${_ctx.vm?.booking?.expertCosts.singleTravelDistance} ${_ctx.$t('common.kilometer')}`,\n label: _ctx.$t('expert.booking.distance')\n }, null, 8, [\"content\", \"label\"])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_45, [\n _createVNode(_component_GMapMap, {\n center: { lat: _ctx.vm?.booking?.latitude, lng: _ctx.vm?.booking?.longitude },\n zoom: 16\n }, null, 8, [\"center\"])\n ])\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n (_ctx.expertStore.isAcceptBookingModalVisible)\n ? (_openBlock(), _createBlock(_component_ExpertAcceptBookingModal, {\n key: 0,\n onSubmit: _ctx.acceptBooking\n }, null, 8, [\"onSubmit\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.expertStore.isCompleteBookingModalVisible)\n ? (_openBlock(), _createBlock(_component_ExpertCompleteBookingModal, {\n key: 1,\n onSubmit: _ctx.completeBooking\n }, null, 8, [\"onSubmit\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.expertStore.isCancelOrDeclineBookingModalVisible)\n ? (_openBlock(), _createBlock(_component_ExpertDeclineBookingModal, {\n key: 2,\n type: _ctx.declineOrCancelModalType,\n onSubmit: _ctx.declineOrCancelBooking\n }, null, 8, [\"type\", \"onSubmit\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.expertStore.isBookingReviewModalVisible)\n ? (_openBlock(), _createBlock(_component_ExpertReviewBookingModal, {\n key: 3,\n onSubmit: _ctx.reviewBooking\n }, null, 8, [\"onSubmit\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.expertStore.isBookingReviewDetailsModalVisible)\n ? (_openBlock(), _createBlock(_component_ExpertReviewBookingDetailsModal, {\n key: 4,\n vm: _ctx.vm.booking.expertBookingReview\n }, null, 8, [\"vm\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<BackButton class=\"mb-3\" :label=\"$t('expert.button.back')\" />\r\n\r\n\t<div class=\"row mb-2\">\r\n\t\t<div class=\"col mb-1\">\r\n\t\t\t<Panel class=\"mb-2\" :toggleable=\"false\">\r\n\t\t\t\t<template #header>\r\n\t\t\t\t\t<div class=\"d-flex align-items-center flex-grow-1\">\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t<StatusBadge\r\n\t\t\t\t\t\t\t\t:status=\"vm.booking.status\"\r\n\t\t\t\t\t\t\t\ttranslation-prefix=\"enum.expertBookingStatus\"\r\n\t\t\t\t\t\t\t\t:type=\"1\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"align-items-center d-flex flex-wrap justify-content-between w-100 ml-3\">\r\n\t\t\t\t\t\t\t<div class=\"\">\r\n\t\t\t\t\t\t\t\t<h1 class=\"mb-0\">\r\n\t\t\t\t\t\t\t\t\t{{ vm.pageTitle }}\r\n\t\t\t\t\t\t\t\t</h1>\r\n\t\t\t\t\t\t\t\t<p class=\"mb-0 lead\">\r\n\t\t\t\t\t\t\t\t\t{{ $t(\"expert.booking.subTitle\") }}\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div v-if=\"isExpert && showAcceptOrDeclineButton\">\r\n\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\tclass=\"p-button-success\"\r\n\t\t\t\t\t\t\t\t\t:label=\"$t(`common.accept`)\"\r\n\t\t\t\t\t\t\t\t\t@click=\"onAcceptClick()\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\tclass=\"p-button-danger ml-1\"\r\n\t\t\t\t\t\t\t\t\t:label=\"$t(`common.reject`)\"\r\n\t\t\t\t\t\t\t\t\t@click=\"onDeclineClick()\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div v-if=\"isExpert && showCompleteButton\">\r\n\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\tclass=\"p-button-success\"\r\n\t\t\t\t\t\t\t\t\t:label=\"$t(`common.complete`)\"\r\n\t\t\t\t\t\t\t\t\t@click=\"onCompleteClick()\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div v-if=\"showCancelButton\">\r\n\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\tclass=\"p-button-secondary\"\r\n\t\t\t\t\t\t\t\t\t:label=\"$t(`common.cancel`)\"\r\n\t\t\t\t\t\t\t\t\t@click=\"onCancelClick()\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div v-if=\"showReviewButton\">\r\n\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\tclass=\"p-button-primary p-button-outlined\"\r\n\t\t\t\t\t\t\t\t\t:label=\"$t(`expert.button.${bookingHasReview ? 'seeReview' : 'reviewBooking'}`)\"\r\n\t\t\t\t\t\t\t\t\t@click=\"onReviewClick()\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div v-if=\"isExpert && showInvoiceButton\">\r\n\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\tclass=\"p-button-secondary\"\r\n\t\t\t\t\t\t\t\t\ticon=\"pi pi-file-pdf\"\r\n\t\t\t\t\t\t\t\t\t:label=\"$t(`expert.button.viewInvoice`)\"\r\n\t\t\t\t\t\t\t\t\t@click=\"onViewInvoiceClick()\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t\t<div class=\"panel-content\">\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<ProductConfigurationSummaryItem\r\n\t\t\t\t\t\t\tv-if=\"!isExpert\"\r\n\t\t\t\t\t\t\t:content=\"vm?.booking?.expertDisplayName\"\r\n\t\t\t\t\t\t\t:label=\"$t('expert.booking.expert')\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<ProductConfigurationSummaryItem\r\n\t\t\t\t\t\t\tv-else\r\n\t\t\t\t\t\t\t:content=\"vm?.booking?.customerContactDisplayName\"\r\n\t\t\t\t\t\t\t:label=\"$t('expert.booking.customer')\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<ProductConfigurationSummaryItem\r\n\t\t\t\t\t\t\t:content=\"vm?.booking?.workLocation || $t('expert.remote')\"\r\n\t\t\t\t\t\t\t:label=\"$t('expert.booking.workLocation')\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<ProductConfigurationSummaryItem :label=\"$t('expert.flexBooking')\">\r\n\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t<ColumnYesNo :value=\"vm?.isFlexBooking\" />\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</ProductConfigurationSummaryItem>\r\n\t\t\t\t\t\t<ProductConfigurationSummaryItem :label=\"$t('expert.booking.dates')\">\r\n\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\tv-for=\"date in sortedDates(vm?.booking.dates)\"\r\n\t\t\t\t\t\t\t\t\t:key=\"JSON.stringify(date)\"\r\n\t\t\t\t\t\t\t\t\tclass=\"d-flex flex-column\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<p class=\"text-bold mb-0\">\r\n\t\t\t\t\t\t\t\t\t\t{{ `${formatDate(date.date)} ` }}\r\n\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t<small>{{ `${formatTime(date.start)} - ${formatTime(date.end)}` }}</small>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</ProductConfigurationSummaryItem>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<Divider v-if=\"showExpertReward\" :layout=\"isSmallScreen ? 'horizontal' : 'vertical'\" style=\"flex: 0\" />\r\n\t\t\t\t\t<div v-if=\"showExpertReward\">\r\n\t\t\t\t\t\t<h5>\r\n\t\t\t\t\t\t\t{{ isExpert ? $t(\"expert.booking.reward\") : $t(\"expert.booking.costs\") }}\r\n\t\t\t\t\t\t</h5>\r\n\t\t\t\t\t\t<div v-if=\"!isSpinnerVisible('priceSummary')\">\r\n\t\t\t\t\t\t\t<PriceSummary :vm=\"getPriceSummary(expertBookingCosts)\" />\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div v-else-if=\"isSpinnerVisible('priceSummary')\">\r\n\t\t\t\t\t\t\t<i class=\"pi pi-spin pi-spinner\" />\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</Panel>\r\n\r\n\t\t\t<Panel v-if=\"isExpert\" class=\"mb-2\" :toggleable=\"false\">\r\n\t\t\t\t<template #header>\r\n\t\t\t\t\t<div class=\"d-flex\">\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t<h3 class=\"mb-0\">\r\n\t\t\t\t\t\t\t\t{{ $t(\"expert.booking.titleCustomerInfo\") }}\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t\t<div class=\"panel-content\">\r\n\t\t\t\t\t<ProductConfigurationSummaryItem\r\n\t\t\t\t\t\t:content=\"vm?.booking?.customerContactDisplayName\"\r\n\t\t\t\t\t\t:label=\"$t('common.forms.lblName')\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<ProductConfigurationSummaryItem :label=\"$t('common.forms.lblPhoneNumber')\">\r\n\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t<a :href=\"`tel:${vm.booking?.expertPhoneNumber}`\">\r\n\t\t\t\t\t\t\t\t{{ vm.booking?.expertPhoneNumber }}</a\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</ProductConfigurationSummaryItem>\r\n\t\t\t\t\t<ProductConfigurationSummaryItem\r\n\t\t\t\t\t\t:content=\"vm?.booking?.customerContactEmail\"\r\n\t\t\t\t\t\t:label=\"$t('common.forms.lblEmail')\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t<a :href=\"`mailto:${vm.booking?.customerContactEmail}`\"> {{ vm.booking?.customerContactEmail }}</a>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</ProductConfigurationSummaryItem>\r\n\t\t\t\t</div>\r\n\t\t\t</Panel>\r\n\r\n\t\t\t<Panel v-else class=\"mb-2\" :toggleable=\"false\">\r\n\t\t\t\t<template #header>\r\n\t\t\t\t\t<div class=\"d-flex\">\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t<h3 class=\"mb-0\">\r\n\t\t\t\t\t\t\t\t{{ $t(\"expert.booking.titleExpertInfo\") }}\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t\t<div class=\"panel-content\">\r\n\t\t\t\t\t<div style=\"flex: 2\">\r\n\t\t\t\t\t\t<div class=\"d-flex\">\r\n\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\tclass=\"mr-2 profile-image\"\r\n\t\t\t\t\t\t\t\t:image=\"expertProfile?.imageUrl\"\r\n\t\t\t\t\t\t\t\tshape=\"circle\"\r\n\t\t\t\t\t\t\t\tsize=\"xlarge\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t<h3 v-if=\"vm?.expert?.title\" class=\"text-primary mb-1\">{{ vm?.expert?.title }}</h3>\r\n\t\t\t\t\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t\t\t\t\t<PopoverIcon :open-delay=\"500\" placement=\"right\">\r\n\t\t\t\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\t\t\t\t:alt=\"vm?.expert?.displayName\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"expert-badge\"\r\n\t\t\t\t\t\t\t\t\t\t\t:image=\"vm?.booking?.expertProduct?.iconUrl\"\r\n\t\t\t\t\t\t\t\t\t\t\tshape=\"circle\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t\t\t\t<p class=\"text-bold\" v-html=\"vm?.expert?.displayName\" />\r\n\t\t\t\t\t\t\t\t\t\t\t<div v-html=\"vm?.expert?.description\" />\r\n\t\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t\t</PopoverIcon>\r\n\r\n\t\t\t\t\t\t\t\t\t<p class=\"m-0 ml-1\">{{ vm?.expert?.function }}</p>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<!-- <div class=\"d-flex align-items-center mt-1\">\r\n\t\t\t\t\t\t\t\t\t\t<i class=\"pi pi-map-marker text-primary\" :title=\"$t('cart.table.iconLocation_title')\" />\r\n\t\t\t\t\t\t\t\t\t\t<p class=\"m-0 ml-1 text-bold text-primary\">\r\n\t\t\t\t\t\t\t\t\t\t\t{{ `${vm?.expert?.region}, ${vm?.expert?.country}` }}\r\n\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t</div> -->\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<Divider layout=\"vertical\" style=\"flex: 0\" />\r\n\t\t\t\t\t<div style=\"flex: 3\">\r\n\t\t\t\t\t\t<ProductConfigurationSummaryItem :label=\"$t('common.forms.lblPhoneNumber')\">\r\n\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t<a :href=\"`tel:${vm.booking?.expertPhoneNumber}`\">\r\n\t\t\t\t\t\t\t\t\t{{ vm.booking?.expertPhoneNumber }}</a\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</ProductConfigurationSummaryItem>\r\n\t\t\t\t\t\t<ProductConfigurationSummaryItem\r\n\t\t\t\t\t\t\t:content=\"vm?.booking?.expertEmail\"\r\n\t\t\t\t\t\t\t:label=\"$t('common.forms.lblEmail')\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t<a :href=\"`mailto:${vm.booking?.expertEmail}`\"> {{ vm.booking?.expertEmail }}</a>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</ProductConfigurationSummaryItem>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</Panel>\r\n\r\n\t\t\t<Panel class=\"mb-2\" :toggleable=\"false\">\r\n\t\t\t\t<template #header>\r\n\t\t\t\t\t<div class=\"d-flex\">\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t<h3 class=\"mb-0\">\r\n\t\t\t\t\t\t\t\t{{ $t(\"expert.booking.projectDescription\") }}\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t\t<div class=\"panel-content\">\r\n\t\t\t\t\t<div class=\"text-preline\" style=\"word-break: break-word\">\r\n\t\t\t\t\t\t{{ vm?.booking?.projectDescription }}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</Panel>\r\n\r\n\t\t\t<Panel\r\n\t\t\t\tv-if=\"isExpert && !vm?.booking?.isRemote && vm?.booking?.expertCosts.singleTravelDistance\"\r\n\t\t\t\tclass=\"mb-2\"\r\n\t\t\t\t:toggleable=\"false\"\r\n\t\t\t>\r\n\t\t\t\t<template #header>\r\n\t\t\t\t\t<div class=\"align-items-center d-flex justify-content-between w-100\">\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t<h3 class=\"mb-0\">\r\n\t\t\t\t\t\t\t\t{{ $t(\"expert.booking.workLocation\") }}\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\tv-if=\"isExpert\"\r\n\t\t\t\t\t\t\tclass=\"p-button-primary\"\r\n\t\t\t\t\t\t\ticon=\"pi pi-directions\"\r\n\t\t\t\t\t\t\t:label=\"$t(`expert.button.routeDescription`)\"\r\n\t\t\t\t\t\t\t@click=\"openRouteDescription\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t\t<div class=\"panel-content w-50\">\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<ProductConfigurationSummaryItem\r\n\t\t\t\t\t\t\t:content=\"vm?.booking?.workLocation\"\r\n\t\t\t\t\t\t\t:label=\"$t('common.forms.lblAddress')\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<ProductConfigurationSummaryItem\r\n\t\t\t\t\t\t\t:content=\"`${vm?.booking?.expertCosts.singleTravelDistance} ${$t('common.kilometer')}`\"\r\n\t\t\t\t\t\t\t:label=\"$t('expert.booking.distance')\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"map-container\">\r\n\t\t\t\t\t<GMapMap :center=\"{ lat: vm?.booking?.latitude, lng: vm?.booking?.longitude }\" :zoom=\"16\" />\r\n\t\t\t\t</div>\r\n\t\t\t</Panel>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<ExpertAcceptBookingModal v-if=\"expertStore.isAcceptBookingModalVisible\" @submit=\"acceptBooking\" />\r\n\t<ExpertCompleteBookingModal v-if=\"expertStore.isCompleteBookingModalVisible\" @submit=\"completeBooking\" />\r\n\t<ExpertDeclineBookingModal\r\n\t\tv-if=\"expertStore.isCancelOrDeclineBookingModalVisible\"\r\n\t\t:type=\"declineOrCancelModalType\"\r\n\t\t@submit=\"declineOrCancelBooking\"\r\n\t/>\r\n\t<ExpertReviewBookingModal v-if=\"expertStore.isBookingReviewModalVisible\" @submit=\"reviewBooking\" />\r\n\t<ExpertReviewBookingDetailsModal v-if=\"expertStore.isBookingReviewDetailsModalVisible\" :vm=\"vm.booking.expertBookingReview\" />\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport Avatar from \"primevue/avatar\";\r\nimport BackButton from \"@/components/common/backButton.vue\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Button from \"primevue/button\";\r\nimport ColumnExpertInfo from \"@/components/commerce/cart/columnExpertInfo.vue\";\r\nimport ColumnYesNo from \"@/components/commerce/cart/columnYesNo.vue\";\r\nimport Divider from \"primevue/divider\";\r\nimport ExpertAcceptBookingModal from \"@/components/experts/expertAcceptBookingModal.vue\";\r\nimport ExpertCompleteBookingModal from \"@/components/experts/expertCompleteBookingModal.vue\";\r\nimport ExpertDeclineBookingModal, {\r\n\tExpertCancelOrDeclineBookingModalType,\r\n} from \"@/components/experts/expertDeclineBookingModal.vue\";\r\nimport ProductConfigurationSummaryItem from \"@/components/product/productConfigurationSummaryItem.vue\";\r\nimport { AcceptBookingRequest } from \"@/types/models/expert/acceptBookingRequest\";\r\nimport { CompleteBookingRequest } from \"@/types/models/expert/completeBookingRequest\";\r\nimport { CancelBookingRequest } from \"@/types/models/expert/cancelBookingRequest\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { DeclineBookingRequest } from \"@/types/models/expert/declineBookingRequest\";\r\nimport { ExpertBookingStatus } from \"@/types/enum/expertBookingStatus\";\r\nimport { ExpertCalculationLineType } from \"@/types/enum/expertCalculationLineType\";\r\nimport { ExpertCalculationResponse } from \"@/types/models/expert/expertCalculationResponse\";\r\nimport { ExpertProfileViewModel } from \"@/types/models/expert/expertProfileViewModel\";\r\nimport { ExpertType } from \"@/types/enum/expertTypes\";\r\nimport { IBookingDetail } from \"@/types/viewModels/myCadac/bookingDetailViewModel\";\r\nimport { IPriceSummary } from \"@/types/models/common/priceSummary.interface\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { orderBy, sortBy } from \"lodash\";\r\nimport ExpertReviewBookingModal, {\r\n\tExpertReviewBookingForm,\r\n} from \"@/components/experts/expertReviewBookingModal.vue\";\r\nimport ExpertReviewBookingDetailsModal from \"@/components/experts/expertReviewBookingDetailsModal.vue\";\r\nimport { ReviewExpertBookingRequest } from \"@/types/models/expert/reviewExpertBookingRequest\";\r\nimport { useExpertStore } from \"@/store/expert/expertStore\";\r\nimport PriceSummary from \"@/components/common/priceSummary.vue\";\r\nimport StatusBadge from \"@/components/common/statusBadge.vue\";\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tExpertReviewBookingModal,\r\n\t\tExpertReviewBookingDetailsModal,\r\n\t\tAvatar,\r\n\t\tBackButton,\r\n\t\tButton,\r\n\t\tColumnExpertInfo,\r\n\t\tColumnYesNo,\r\n\t\tPriceSummary,\r\n\t\tStatusBadge,\r\n\t\tDivider,\r\n\t\tExpertAcceptBookingModal,\r\n\t\tExpertCompleteBookingModal,\r\n\t\tExpertDeclineBookingModal,\r\n\t\tProductConfigurationSummaryItem,\r\n\t},\r\n})\r\nexport default class BookingDetail extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IBookingDetail>, required: true, default: {} }) vm!: IBookingDetail;\r\n\t@Prop({ type: Boolean, required: false, default: false }) isExpert!: boolean;\r\n\r\n\tdeclineOrCancelModalType!: ExpertCancelOrDeclineBookingModalType;\r\n\texpertStore = useExpertStore();\r\n\r\n\tget showInvoiceButton(): boolean {\r\n\t\treturn (\r\n\t\t\t(this.vm?.booking?.status == ExpertBookingStatus.Completed ||\r\n\t\t\t\tthis.vm?.booking?.status === ExpertBookingStatus.Rejected) &&\r\n\t\t\tthis.vm?.booking?.expertType === ExpertType.External\r\n\t\t);\r\n\t}\r\n\r\n\tget expertBookingCosts(): ExpertCalculationResponse {\r\n\t\treturn this.vm.booking?.expertCosts as ExpertCalculationResponse;\r\n\t}\r\n\r\n\tget expertProfile(): ExpertProfileViewModel {\r\n\t\treturn this.vm.booking?.expertProfile as ExpertProfileViewModel;\r\n\t}\r\n\r\n\tget showAcceptOrDeclineButton(): boolean {\r\n\t\treturn this.vm?.booking?.status === ExpertBookingStatus.Requested;\r\n\t}\r\n\r\n\tget showCompleteButton(): boolean {\r\n\t\treturn this.vm?.booking?.status === ExpertBookingStatus.InProgress;\r\n\t}\r\n\r\n\tget showCancelButton(): boolean {\r\n\t\treturn (\r\n\t\t\t(this.isExpert && this.vm?.booking?.status === ExpertBookingStatus.Planned) ||\r\n\t\t\t(!!this.vm?.canCancelFlexBooking &&\r\n\t\t\t\t(this.vm?.booking?.status === ExpertBookingStatus.Planned ||\r\n\t\t\t\t\tthis.vm?.booking?.status === ExpertBookingStatus.Requested))\r\n\t\t);\r\n\t}\r\n\r\n\tget showReviewButton(): boolean {\r\n\t\treturn this.vm?.booking?.status === ExpertBookingStatus.Completed && !this.isExpert;\r\n\t}\r\n\r\n\tget showExpertReward(): boolean {\r\n\t\treturn this.vm?.booking?.expertCosts?.lines?.length > 0;\r\n\t}\r\n\r\n\tget bookingHasReview(): boolean {\r\n\t\treturn this.vm?.booking?.hasReview;\r\n\t}\r\n\r\n\topenRouteDescription(): void {\r\n\t\tthis.openUrl(this.vm.googleMapsDirectionsUrl, \"blank\");\r\n\t}\r\n\r\n\tonDeclineClick(): void {\r\n\t\tthis.declineOrCancelModalType = ExpertCancelOrDeclineBookingModalType.Decline;\r\n\t\tthis.expertStore.showModal(\"CancelOrDeclineBooking\");\r\n\t}\r\n\r\n\tonCancelClick(): void {\r\n\t\tthis.declineOrCancelModalType = ExpertCancelOrDeclineBookingModalType.Cancel;\r\n\t\tthis.expertStore.showModal(\"CancelOrDeclineBooking\");\r\n\t}\r\n\r\n\tonAcceptClick(): void {\r\n\t\tthis.expertStore.showModal(\"AcceptBooking\");\r\n\t}\r\n\r\n\tonCompleteClick(): void {\r\n\t\tthis.expertStore.showModal(\"CompleteBooking\");\r\n\t}\r\n\r\n\tonReviewClick(): void {\r\n\t\tthis.bookingHasReview\r\n ? this.expertStore.showModal(\"ReviewBookingDetails\")\r\n : this.expertStore.showModal(\"ReviewBooking\");\r\n\t}\r\n\r\n\tonViewInvoiceClick(): void {\r\n\t\tconst queryParams = new URLSearchParams(\"\");\r\n\t\tqueryParams.append(\"bookingId\", this.vm.booking.id);\r\n\t\tconst url = new URL(`https://${window.location.host}${window.location.pathname}GetPdf`);\r\n\t\turl.search = queryParams.toString();\r\n\t\tthis.openUrl(url.toString());\r\n\t}\r\n\r\n\tdeclineOrCancelBooking(evt: any): void {\r\n\t\tif (this.declineOrCancelModalType === ExpertCancelOrDeclineBookingModalType.Cancel) {\r\n\t\t\tthis.cancelBooking(evt);\r\n\t\t} else {\r\n\t\t\tthis.declineBooking(evt);\r\n\t\t}\r\n\t}\r\n\r\n\tdeclineBooking({ message }): void {\r\n\t\tconst payload: DeclineBookingRequest = {\r\n\t\t\tbookingId: this.vm.booking.id,\r\n\t\t\tmessage: message,\r\n\t\t};\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tthis.axios\r\n\t\t\t.post(`/api/expertbooking/request-decline`, payload)\r\n\t\t\t.then(() => {\r\n\t\t\t\twindow.location.reload();\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"expert.toast.rejectBookingError\"),\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t\t\t\tthis.expertStore.hideModal(\"CancelOrDeclineBooking\");\r\n\t\t\t});\r\n\t}\r\n\r\n\tcancelBooking({ message }): void {\r\n\t\tconst payload: CancelBookingRequest = {\r\n\t\t\tbookingId: this.vm.booking.id,\r\n\t\t\tmessage: message,\r\n\t\t};\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tthis.axios\r\n\t\t\t.post(`/api/expertbooking/request-cancel`, payload)\r\n\t\t\t.then(() => {\r\n\t\t\t\twindow.location.reload();\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"expert.toast.cancelBookingError\"),\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t\t\t\tthis.expertStore.hideModal(\"CancelOrDeclineBooking\");\r\n\t\t\t});\r\n\t}\r\n\r\n\tacceptBooking(): void {\r\n\t\tconst payload: AcceptBookingRequest = {\r\n\t\t\tbookingId: this.vm.booking.id,\r\n\t\t};\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tthis.axios\r\n\t\t\t.post(`/api/expertbooking/accept`, payload)\r\n\t\t\t.then(() => {\r\n\t\t\t\twindow.location.reload();\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"expert.toast.acceptBookingError\"),\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t\t\t\tthis.expertStore.hideModal(\"AcceptBooking\");\r\n\t\t\t});\r\n\t}\r\n\r\n\tcompleteBooking(): void {\r\n\t\tconst payload: CompleteBookingRequest = {\r\n\t\t\tbookingId: this.vm.booking.id,\r\n\t\t};\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tthis.axios\r\n\t\t\t.post(`/api/expertbooking/complete`, payload)\r\n\t\t\t.then(() => {\r\n\t\t\t\twindow.location.reload();\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"expert.toast.completeBookingError\"),\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t\t\t\tthis.expertStore.hideModal(\"CompleteBooking\");\r\n\t\t\t});\r\n\t}\r\n\r\n\tsortedDates(dates) {\r\n\t\treturn orderBy(\r\n\t\t\tdates,\r\n\t\t\tfunction (o) {\r\n\t\t\t\treturn new Date(o.date);\r\n\t\t\t},\r\n\t\t\t[\"asc\"]\r\n\t\t);\r\n\t}\r\n\r\n\treviewBooking(form: ExpertReviewBookingForm): void {\r\n\t\tconst payload: ReviewExpertBookingRequest = {\r\n\t\t\tbookingId: this.vm.booking.id,\r\n\t\t\tcomment: form.description,\r\n\t\t\tscore: form.score,\r\n\t\t\tselectedExpertises: form.expertises?.join(\",\"),\r\n\t\t\ttitle: form.title,\r\n\t\t};\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tthis.axios\r\n\t\t\t.post(`/api/expertreview`, payload)\r\n\t\t\t.then(() => {\r\n\t\t\t\twindow.location.reload();\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"success\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleSuccess\"),\r\n\t\t\t\t\tdetail: this.$t(\"expert.toast.reviewBookingSuccess\"),\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"expert.toast.reviewBookingError\"),\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t\t\t\tthis.expertStore.showModal(\"ReviewBooking\");\r\n\t\t\t});\r\n\t}\r\n\r\n\tgetPriceSummary(expertCosts: any): IPriceSummary {\r\n\t\tconst { lines, totalPrice, flexBookingPercentage } = expertCosts;\r\n\t\tconst additionalLines = new Map<string, number>();\r\n\t\tconst standardLines = new Map<string, number>();\r\n\r\n\t\tsortBy(lines, \"order\")\r\n\t\t\t.filter((x) => x.totalPrice)\r\n\t\t\t.forEach((x) => {\r\n\t\t\t\tif (x.type === ExpertCalculationLineType.fullDay)\r\n\t\t\t\t\tstandardLines.set(\r\n\t\t\t\t\t\tthis.$t(`enum.expertCalculationLineType.${x.type}`, [x.quantity]),\r\n\t\t\t\t\t\tx.totalPrice\r\n\t\t\t\t\t);\r\n\t\t\t\tif (x.type === ExpertCalculationLineType.dayPart)\r\n\t\t\t\t\tstandardLines.set(\r\n\t\t\t\t\t\tthis.$t(`enum.expertCalculationLineType.${x.type}`, [x.quantity]),\r\n\t\t\t\t\t\tx.totalPrice\r\n\t\t\t\t\t);\r\n\t\t\t\tif (x.type === ExpertCalculationLineType.hour)\r\n\t\t\t\t\tstandardLines.set(\r\n\t\t\t\t\t\tthis.$t(`enum.expertCalculationLineType.${x.type}`, [x.quantity]),\r\n\t\t\t\t\t\tx.totalPrice\r\n\t\t\t\t\t);\r\n\t\t\t});\r\n\t\tsortBy(lines, \"order\")\r\n\t\t\t.filter((x) => x.totalPrice)\r\n\t\t\t.forEach((x) => {\r\n\t\t\t\tif (x.type === ExpertCalculationLineType.travel)\r\n\t\t\t\t\tadditionalLines.set(\r\n\t\t\t\t\t\tthis.$t(`enum.expertCalculationLineType.${x.type}`, [x.quantity, x.price.toFixed(2)]),\r\n\t\t\t\t\t\tx.totalPrice\r\n\t\t\t\t\t);\r\n\t\t\t\tif (x.type === ExpertCalculationLineType.accommodation)\r\n\t\t\t\t\tadditionalLines.set(\r\n\t\t\t\t\t\tx.quantity > 1\r\n\t\t\t\t\t\t\t? this.$t(`enum.expertCalculationLineType.${x.type}`) +\r\n\t\t\t\t\t\t\t\t\t\" \" +\r\n\t\t\t\t\t\t\t\t\tthis.$t(`expert.nights`, [x.quantity])\r\n\t\t\t\t\t\t\t: this.$t(`enum.expertCalculationLineType.${x.type}`) +\r\n\t\t\t\t\t\t\t\t\t\" \" +\r\n\t\t\t\t\t\t\t\t\tthis.$t(`expert.night`, [x.quantity]),\r\n\t\t\t\t\t\tx.totalPrice\r\n\t\t\t\t\t);\r\n\t\t\t\tif (x.type === ExpertCalculationLineType.flexBooking)\r\n\t\t\t\t\tadditionalLines.set(\r\n\t\t\t\t\t\tthis.$t(`enum.expertCalculationLineType.${x.type}`, [\r\n\t\t\t\t\t\t\tflexBookingPercentage,\r\n\t\t\t\t\t\t\tx.price.toFixed(2),\r\n\t\t\t\t\t\t]),\r\n\t\t\t\t\t\tx.totalPrice\r\n\t\t\t\t\t);\r\n\t\t\t});\r\n\r\n\t\treturn { subtotal: totalPrice, additionalLines, standardLines } as IPriceSummary;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.panel-content {\r\n\tdisplay: flex;\r\n\tflex-wrap: wrap;\r\n\tflex-direction: row;\r\n\r\n\t> div {\r\n\t\tdisplay: flex;\r\n\t\tflex: 1;\r\n\t\tflex-direction: column;\r\n\t}\r\n}\r\n\r\n.expert-badge {\r\n\twidth: 1.25rem;\r\n\theight: 1.25rem;\r\n}\r\n\r\n.map-container {\r\n\tmargin-top: 30px;\r\n\theight: 300px;\r\n}\r\n\r\n::v-deep(.vue-map-container) {\r\n height: 100% !important;\r\n}\r\n</style>\r\n","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, withCtx as _withCtx, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-024fc852\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"product-icons-wrapper ml-lg-1 align-items-lg-start align-content-lg-start\" }\nconst _hoisted_2 = [\"title\"]\nconst _hoisted_3 = { class: \"text-bold ml-1\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"product-info-line flex-lg-row align-items-start\"\n}\nconst _hoisted_5 = [\"title\"]\nconst _hoisted_6 = { class: \"d-flex flex-column ml-1\" }\nconst _hoisted_7 = {\n key: 1,\n class: \"product-info-line flex-lg-row align-items-start\"\n}\nconst _hoisted_8 = [\"title\"]\nconst _hoisted_9 = { class: \"text-bold ml-1 text-preline\" }\nconst _hoisted_10 = {\n key: 2,\n class: \"product-info-line flex-lg-row\"\n}\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-check text-success mr-1\" }, null, -1))\nconst _hoisted_12 = { class: \"text-bold\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Panel = _resolveComponent(\"Panel\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_ctx.duration)\n ? (_openBlock(), _createBlock(_component_Panel, {\n key: 0,\n collapsed: _ctx.datesCollapsed,\n \"onUpdate:collapsed\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.datesCollapsed) = $event))\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"i\", {\n class: \"pi pi-clock text-primary\",\n title: _ctx.$t('cart.table.iconDuration_title')\n }, null, 8, _hoisted_2),\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(_ctx.duration), 1)\n ])\n ]),\n icons: _withCtx(() => [\n _createVNode(_component_Button, {\n class: \"p-button-text p-panel-header-icon\",\n icon: _ctx.datesCollapsed ? 'pi pi-chevron-left' : 'pi pi-chevron-down',\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.datesCollapsed = !_ctx.datesCollapsed))\n }, null, 8, [\"icon\"])\n ]),\n default: _withCtx(() => [\n (_ctx.item.expert?.dates)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"i\", {\n class: \"pi pi-calendar text-primary\",\n style: {\"margin-top\":\"0.3rem\"},\n title: _ctx.$t('cart.table.iconDates_title')\n }, null, 8, _hoisted_5),\n _createElementVNode(\"div\", _hoisted_6, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.item.expert?.dates, (date, index) => {\n return (_openBlock(), _createElementBlock(\"span\", {\n key: index,\n class: \"text-bold\"\n }, _toDisplayString(_ctx.formattedBookingDate(date)), 1))\n }), 128))\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"collapsed\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.location)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createElementVNode(\"i\", {\n class: \"pi pi-map-marker text-primary\",\n style: {\"margin-top\":\"0.3rem\"},\n title: _ctx.$t('cart.table.iconLocation_title')\n }, null, 8, _hoisted_8),\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.location), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.item.expert?.isFlexBooking)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n _hoisted_11,\n _createElementVNode(\"span\", _hoisted_12, _toDisplayString(_ctx.$t(\"cart.table.colFlexBooking\")), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}","<template>\r\n\t<div class=\"product-icons-wrapper ml-lg-1 align-items-lg-start align-content-lg-start\">\r\n\t\t<Panel v-if=\"duration\" v-model:collapsed=\"datesCollapsed\">\r\n\t\t\t<template #header>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<i class=\"pi pi-clock text-primary\" :title=\"$t('cart.table.iconDuration_title')\" />\r\n\t\t\t\t\t<span class=\"text-bold ml-1\">{{ duration }}</span>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t\t<template #icons>\r\n\t\t\t\t<Button\r\n\t\t\t\t\tclass=\"p-button-text p-panel-header-icon\"\r\n\t\t\t\t\t:icon=\"datesCollapsed ? 'pi pi-chevron-left' : 'pi pi-chevron-down'\"\r\n\t\t\t\t\t@click=\"datesCollapsed = !datesCollapsed\"\r\n\t\t\t\t/>\r\n\t\t\t</template>\r\n\t\t\t<div v-if=\"item.expert?.dates\" class=\"product-info-line flex-lg-row align-items-start\">\r\n\t\t\t\t<i\r\n\t\t\t\t\tclass=\"pi pi-calendar text-primary\"\r\n\t\t\t\t\tstyle=\"margin-top: 0.3rem\"\r\n\t\t\t\t\t:title=\"$t('cart.table.iconDates_title')\"\r\n\t\t\t\t/>\r\n\t\t\t\t<div class=\"d-flex flex-column ml-1\">\r\n\t\t\t\t\t<span v-for=\"(date, index) in item.expert?.dates\" :key=\"index\" class=\"text-bold\">\r\n\t\t\t\t\t\t{{ formattedBookingDate(date) }}\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</Panel>\r\n\r\n\t\t<div v-if=\"location\" class=\"product-info-line flex-lg-row align-items-start\">\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-map-marker text-primary\"\r\n\t\t\t\tstyle=\"margin-top: 0.3rem\"\r\n\t\t\t\t:title=\"$t('cart.table.iconLocation_title')\"\r\n\t\t\t/>\r\n\t\t\t<span class=\"text-bold ml-1 text-preline\">{{ location }}</span>\r\n\t\t</div>\r\n\r\n\t\t<div v-if=\"item.expert?.isFlexBooking\" class=\"product-info-line flex-lg-row\">\r\n\t\t\t<i class=\"pi pi-check text-success mr-1\" />\r\n\t\t\t<span class=\"text-bold\">{{ $t(\"cart.table.colFlexBooking\") }}</span>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { PropType } from \"vue\";\r\nimport { CartLineClient } from \"@/types/generated/Api/cartLineClient\";\r\nimport { ExpertBookingDate } from \"@/types/models/expert/expertBookingDate\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\n\r\n@Component\r\nexport default class ColumnExpertInfo extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<CartLineClient>, required: true, default: {} }) item!: CartLineClient;\r\n\tdatesCollapsed = true;\r\n\r\n\tget duration(): string {\r\n\t\treturn this.$tc(\"cart.table.lblDurationDays\", this.item.expert.dates?.length);\r\n\t}\r\n\r\n\tget location(): string {\r\n\t\treturn this.item.expert?.workLocation?.name || this.$t(\"expert.remote\");\r\n\t}\r\n\r\n\tget formattedBookingDate() {\r\n\t\treturn (date: ExpertBookingDate) => {\r\n\t\t\treturn `${this.formatDate(date.start)} ${this.formatTime(date.start)} - ${this.formatTime(date.end)}`;\r\n\t\t};\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.product-icon {\r\n\twidth: 47px;\r\n\theight: 47px;\r\n\tbackground: transparent;\r\n\tflex-shrink: 0;\r\n}\r\n\r\n.product-icons-wrapper {\r\n\tdisplay: flex;\r\n\talign-items: flex-start;\r\n\tflex-direction: column;\r\n\tflex-wrap: wrap;\r\n\tflex-basis: 100%;\r\n\tpadding: 0 0.5rem;\r\n\r\n\t.product-info-line {\r\n\t\tdisplay: flex;\r\n\t\tflex: 0;\r\n\t\talign-items: center;\r\n\t\tflex-direction: row;\r\n\t\tmargin-bottom: 0.25rem;\r\n\t}\r\n}\r\n\r\n@media print {\r\n\t.product-icons-wrapper {\r\n\t\talign-content: flex-start;\r\n\t}\r\n}\r\n\r\n::v-deep(.p-panel) {\r\n\t.p-panel-header {\r\n\t\tjustify-content: flex-start;\r\n\t\tborder: 0;\r\n\t\tpadding: 0;\r\n\r\n\t\t.p-button-icon {\r\n\t\t\tfont-size: 0.65rem;\r\n\t\t}\r\n\t}\r\n\r\n\t.p-panel-content {\r\n\t\tpadding: 0;\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./columnExpertInfo.vue?vue&type=template&id=024fc852&scoped=true&ts=true\"\nimport script from \"./columnExpertInfo.vue?vue&type=script&lang=ts\"\nexport * from \"./columnExpertInfo.vue?vue&type=script&lang=ts\"\n\nimport \"./columnExpertInfo.vue?vue&type=style&index=0&id=024fc852&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-024fc852\"]])\n\nexport default __exports__","import { normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"d-flex align-items-center\" }\nconst _hoisted_2 = [\"textContent\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"i\", {\n class: _normalizeClass(_ctx.value ? 'pi pi-check text-success mr-1' : 'pi pi-times text-danger mr-1')\n }, null, 2),\n _createElementVNode(\"span\", {\n textContent: _toDisplayString(_ctx.value ? _ctx.$t('common.yes') : _ctx.$t('common.no'))\n }, null, 8, _hoisted_2)\n ]))\n}","<template>\r\n\t<div class=\"d-flex align-items-center\">\r\n\t\t<i :class=\"value ? 'pi pi-check text-success mr-1' : 'pi pi-times text-danger mr-1'\" />\r\n\t\t<span v-text=\"value ? $t('common.yes') : $t('common.no')\" />\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\n\r\n@Component\r\nexport default class ColumnYesNo extends BaseComponent {\r\n\t@Prop({ type: Boolean, required: true, default: false }) value!: boolean;\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped></style>\r\n","import { render } from \"./columnYesNo.vue?vue&type=template&id=e368db6e&ts=true\"\nimport script from \"./columnYesNo.vue?vue&type=script&lang=ts\"\nexport * from \"./columnYesNo.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"lead text-bold mb-0\" }\nconst _hoisted_2 = { class: \"lead mb-2\" }\nconst _hoisted_3 = { class: \"mb-0\" }\nconst _hoisted_4 = { class: \"text-bold mr-1\" }\nconst _hoisted_5 = { class: \"\" }\nconst _hoisted_6 = { class: \"\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Dialog = _resolveComponent(\"Dialog\")!\n\n return (_openBlock(), _createBlock(_component_Dialog, {\n visible: _ctx.isVisible,\n \"onUpdate:visible\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.isVisible) = $event)),\n breakpoints: { '1600px': '40vw', '1200px': '50vw', '992px': '60vw', '768px': '75vw', '576px': '90vw' },\n closable: true,\n header: _ctx.$t('expert.acceptBookingModal.header'),\n modal: true,\n style: { width: '30vw' },\n onHide: _cache[3] || (_cache[3] = ($event: any) => (_ctx.onCancel()))\n }, {\n footer: _withCtx(() => [\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-plain\",\n label: _ctx.$t('common.cancel'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.onCancel()))\n }, null, 8, [\"label\"]),\n _createVNode(_component_Button, {\n label: _ctx.$t('common.confirm'),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onSubmit()))\n }, null, 8, [\"label\"])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"p\", _hoisted_1, _toDisplayString(_ctx.$t(\"expert.acceptBookingModal.introTitle\")), 1),\n _createElementVNode(\"p\", _hoisted_2, _toDisplayString(_ctx.$t(\"expert.acceptBookingModal.intro\")), 1),\n _createElementVNode(\"p\", _hoisted_3, [\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t(\"common.messages.titleImportant\")), 1),\n _createElementVNode(\"small\", _hoisted_5, _toDisplayString(_ctx.$t(\"expert.acceptBookingModal.importantMessage\")), 1)\n ]),\n _createVNode(_component_Message, {\n class: \"mb-0 mt-2\",\n closable: false,\n severity: \"info\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"small\", _hoisted_6, _toDisplayString(_ctx.$t(\"expert.acceptBookingModal.tip\")), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"visible\", \"header\"]))\n}","<template>\r\n\t<Dialog\r\n\t\tv-model:visible=\"isVisible\"\r\n\t\t:breakpoints=\"{ '1600px': '40vw', '1200px': '50vw', '992px': '60vw', '768px': '75vw', '576px': '90vw' }\"\r\n\t\t:closable=\"true\"\r\n\t\t:header=\"$t('expert.acceptBookingModal.header')\"\r\n\t\t:modal=\"true\"\r\n\t\t:style=\"{ width: '30vw' }\"\r\n\t\t@hide=\"onCancel()\"\r\n\t>\r\n\t\t<p class=\"lead text-bold mb-0\">{{ $t(\"expert.acceptBookingModal.introTitle\") }}</p>\r\n\t\t<p class=\"lead mb-2\">\r\n\t\t\t{{ $t(\"expert.acceptBookingModal.intro\") }}\r\n\t\t</p>\r\n\r\n\t\t<p class=\"mb-0\">\r\n\t\t\t<span class=\"text-bold mr-1\">{{ $t(\"common.messages.titleImportant\") }}</span>\r\n\t\t\t<small class=\"\">\r\n\t\t\t\t{{ $t(\"expert.acceptBookingModal.importantMessage\") }}\r\n\t\t\t</small>\r\n\t\t</p>\r\n\r\n\t\t<Message class=\"mb-0 mt-2\" :closable=\"false\" severity=\"info\">\r\n\t\t\t<small class=\"\">\r\n\t\t\t\t{{ $t(\"expert.acceptBookingModal.tip\") }}\r\n\t\t\t</small>\r\n\t\t</Message>\r\n\r\n\t\t<template #footer>\r\n\t\t\t<Button class=\"p-button-text p-button-plain\" :label=\"$t('common.cancel')\" @click=\"onCancel()\" />\r\n\t\t\t<Button :label=\"$t('common.confirm')\" @click=\"onSubmit()\" />\r\n\t\t</template>\r\n\t</Dialog>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { Component, Emit } from \"vue-facing-decorator\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { useExpertStore } from \"@/store/expert/expertStore\";\r\n\r\n@Component\r\nexport default class ExpertAcceptBookingModal extends BaseComponent {\r\n\t@Emit(\"submit\")\r\n\tsubmitForm(): boolean {\r\n\t\treturn true;\r\n\t}\r\n\r\n\tsubmitted = false;\r\n\tisVisible = true;\r\n\r\n\texpertStore = useExpertStore();\r\n\r\n\tonCancel(): void {\r\n\t\tthis.expertStore.hideModal(\"AcceptBooking\");\r\n\t}\r\n\r\n\tonSubmit(): void {\r\n\t\tthis.submitForm();\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { defineStore } from 'pinia';\r\nimport { ExpertProfileViewModel } from '@/types/models/expert/expertProfileViewModel';\r\nimport httpClient from '@/types/helpers/apiHelper';\r\nimport { AxiosResponse } from 'axios';\r\n\r\ninterface ExpertStoreState {\r\n\tisBookingRequestModalVisible: boolean;\r\n\tisCancelOrDeclineBookingModalVisible: boolean;\r\n\tisAcceptBookingModalVisible: boolean;\r\n\tisCompleteBookingModalVisible: boolean;\r\n\tisBookingReviewModalVisible: boolean;\r\n\tisBookingReviewDetailsModalVisible: boolean;\r\n\tisSendProfileModalVisible: boolean;\r\n\tisLevelModalVisible: boolean;\r\n\texpertProfile: ExpertProfileViewModel | null;\r\n}\r\n\r\nexport type ExpertModalType =\r\n\t| 'BookingRequest'\r\n\t| 'CancelOrDeclineBooking'\r\n\t| 'AcceptBooking'\r\n\t| 'CompleteBooking'\r\n\t| 'ReviewBooking'\r\n\t| 'ReviewBookingDetails'\r\n\t| 'SendProfile'\r\n\t| 'ExpertLevel';\r\n\r\nexport const useExpertStore = defineStore('expert', {\r\n\tstate: () =>\r\n\t\t({\r\n\t\t\tisBookingRequestModalVisible: false,\r\n\t\t\tisCancelOrDeclineBookingModalVisible: false,\r\n\t\t\tisAcceptBookingModalVisible: false,\r\n\t\t\tisCompleteBookingModalVisible: false,\r\n\t\t\tisBookingReviewModalVisible: false,\r\n\t\t\tisBookingReviewDetailsModalVisible: false,\r\n\t\t\tisLevelModalVisible: false,\r\n\t\t\tisSendProfileModalVisible: false,\r\n\t\t\texpertProfile: null,\r\n\t\t}) as ExpertStoreState,\r\n\tactions: {\r\n\t\tshowModal(type: ExpertModalType) {\r\n\t\t\tswitch (type) {\r\n\t\t\t\tcase 'BookingRequest':\r\n\t\t\t\t\tthis.isBookingRequestModalVisible = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'CancelOrDeclineBooking':\r\n\t\t\t\t\tthis.isCancelOrDeclineBookingModalVisible = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'AcceptBooking':\r\n\t\t\t\t\tthis.isAcceptBookingModalVisible = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'CompleteBooking':\r\n\t\t\t\t\tthis.isCompleteBookingModalVisible = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'ReviewBooking':\r\n\t\t\t\t\tthis.isBookingReviewModalVisible = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'ReviewBookingDetails':\r\n\t\t\t\t\tthis.isBookingReviewDetailsModalVisible = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'SendProfile':\r\n\t\t\t\t\tthis.isSendProfileModalVisible = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'ExpertLevel':\r\n\t\t\t\t\tthis.isLevelModalVisible = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t},\r\n\t\thideModal(type: ExpertModalType) {\r\n\t\t\tswitch (type) {\r\n\t\t\t\tcase 'BookingRequest':\r\n\t\t\t\t\tthis.isBookingRequestModalVisible = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'CancelOrDeclineBooking':\r\n\t\t\t\t\tthis.isCancelOrDeclineBookingModalVisible = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'AcceptBooking':\r\n\t\t\t\t\tthis.isAcceptBookingModalVisible = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'CompleteBooking':\r\n\t\t\t\t\tthis.isCompleteBookingModalVisible = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'ReviewBooking':\r\n\t\t\t\t\tthis.isBookingReviewModalVisible = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'ReviewBookingDetails':\r\n\t\t\t\t\tthis.isBookingReviewDetailsModalVisible = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'SendProfile':\r\n\t\t\t\t\tthis.isSendProfileModalVisible = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'ExpertLevel':\r\n\t\t\t\t\tthis.isLevelModalVisible = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t},\r\n\t\tfetchExpertProfile(\r\n\t\t\tcadacAccountId: string,\r\n\t\t\teditingLanguage: string\r\n\t\t): Promise<void | AxiosResponse<ExpertProfileViewModel>> {\r\n\t\t\treturn httpClient\r\n\t\t\t\t.get<ExpertProfileViewModel>(`/api/expert/profile/${cadacAccountId}/${editingLanguage}`)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tif (res.data) this.expertProfile = res.data;\r\n\t\t\t\t});\r\n\t\t},\r\n\t},\r\n});\r\n","import { render } from \"./expertAcceptBookingModal.vue?vue&type=template&id=2ea63fec&ts=true\"\nimport script from \"./expertAcceptBookingModal.vue?vue&type=script&lang=ts\"\nexport * from \"./expertAcceptBookingModal.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"lead text-bold mb-0\" }\nconst _hoisted_2 = { class: \"lead mb-2\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Dialog = _resolveComponent(\"Dialog\")!\n\n return (_openBlock(), _createBlock(_component_Dialog, {\n visible: _ctx.isVisible,\n \"onUpdate:visible\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.isVisible) = $event)),\n breakpoints: { '1600px': '40vw', '1200px': '50vw', '992px': '60vw', '768px': '75vw', '576px': '90vw' },\n closable: true,\n header: _ctx.$t('expert.completeBookingModal.header'),\n modal: true,\n style: { width: '30vw' },\n onHide: _cache[3] || (_cache[3] = ($event: any) => (_ctx.onCancel()))\n }, {\n footer: _withCtx(() => [\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-plain\",\n label: _ctx.$t('common.cancel'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.onCancel()))\n }, null, 8, [\"label\"]),\n _createVNode(_component_Button, {\n label: _ctx.$t('common.confirm'),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onSubmit()))\n }, null, 8, [\"label\"])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"p\", _hoisted_1, _toDisplayString(_ctx.$t(\"expert.completeBookingModal.introTitle\")), 1),\n _createElementVNode(\"p\", _hoisted_2, _toDisplayString(_ctx.$t(\"expert.completeBookingModal.intro\")), 1)\n ]),\n _: 1\n }, 8, [\"visible\", \"header\"]))\n}","<template>\r\n\t<Dialog\r\n\t\tv-model:visible=\"isVisible\"\r\n\t\t:breakpoints=\"{ '1600px': '40vw', '1200px': '50vw', '992px': '60vw', '768px': '75vw', '576px': '90vw' }\"\r\n\t\t:closable=\"true\"\r\n\t\t:header=\"$t('expert.completeBookingModal.header')\"\r\n\t\t:modal=\"true\"\r\n\t\t:style=\"{ width: '30vw' }\"\r\n\t\t@hide=\"onCancel()\"\r\n\t>\r\n\t\t<p class=\"lead text-bold mb-0\">{{ $t(\"expert.completeBookingModal.introTitle\") }}</p>\r\n\t\t<p class=\"lead mb-2\">\r\n\t\t\t{{ $t(\"expert.completeBookingModal.intro\") }}\r\n\t\t</p>\r\n\r\n\t\t<template #footer>\r\n\t\t\t<Button class=\"p-button-text p-button-plain\" :label=\"$t('common.cancel')\" @click=\"onCancel()\" />\r\n\t\t\t<Button :label=\"$t('common.confirm')\" @click=\"onSubmit()\" />\r\n\t\t</template>\r\n\t</Dialog>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { Component, Emit } from \"vue-facing-decorator\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { useExpertStore } from \"@/store/expert/expertStore\";\r\n\r\n@Component\r\nexport default class ExpertCompleteBookingModal extends BaseComponent {\r\n\t@Emit(\"submit\")\r\n\tsubmitForm(): boolean {\r\n\t\treturn true;\r\n\t}\r\n\r\n\tsubmitted = false;\r\n\tisVisible = true;\r\n\r\n\texpertStore = useExpertStore();\r\n\r\n\tonCancel(): void {\r\n\t\tthis.expertStore.hideModal(\"CompleteBooking\");\r\n\t}\r\n\r\n\tonSubmit(): void {\r\n\t\tthis.submitForm();\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { render } from \"./expertCompleteBookingModal.vue?vue&type=template&id=281bbea6&ts=true\"\nimport script from \"./expertCompleteBookingModal.vue?vue&type=script&lang=ts\"\nexport * from \"./expertCompleteBookingModal.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, createVNode as _createVNode, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"mb-0\" }\nconst _hoisted_2 = { class: \"lead mb-2\" }\nconst _hoisted_3 = [\"href\"]\nconst _hoisted_4 = [\"href\"]\nconst _hoisted_5 = { class: \"form-row\" }\nconst _hoisted_6 = { class: \"form-group col-12\" }\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_9 = {\n key: 1,\n class: \"p-error\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_Textarea = _resolveComponent(\"Textarea\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Dialog = _resolveComponent(\"Dialog\")!\n\n return (_openBlock(), _createBlock(_component_Dialog, {\n visible: _ctx.isVisible,\n \"onUpdate:visible\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.isVisible) = $event)),\n breakpoints: { '1600px': '40vw', '1200px': '50vw', '992px': '60vw', '768px': '75vw', '576px': '90vw' },\n closable: true,\n modal: true,\n style: { width: '30vw' },\n onHide: _cache[4] || (_cache[4] = ($event: any) => (_ctx.onCancel()))\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"h3\", _hoisted_1, _toDisplayString(_ctx.isCancelType ? _ctx.$t(\"expert.cancelModal.header\") : _ctx.$t(\"expert.declineModal.header\")), 1)\n ]),\n footer: _withCtx(() => [\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-plain\",\n label: _ctx.$t('common.cancel'),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onCancel()))\n }, null, 8, [\"label\"]),\n _createVNode(_component_Button, {\n disabled: !_ctx.canSubmit,\n label: _ctx.$t('common.confirm'),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.onSubmit()))\n }, null, 8, [\"disabled\", \"label\"])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"p\", _hoisted_2, [\n (_ctx.isCancelType)\n ? (_openBlock(), _createBlock(_component_i18n_t, {\n key: 0,\n keypath: \"expert.cancelModal.intro\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"a\", {\n href: 'tel:' + _ctx.$t('common.support.phoneNumber')\n }, _toDisplayString(_ctx.$t(\"common.support.phoneNumber\")), 9, _hoisted_3)\n ]),\n _: 1\n }))\n : (_openBlock(), _createBlock(_component_i18n_t, {\n key: 1,\n keypath: \"expert.declineModal.intro\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"a\", {\n href: 'tel:' + _ctx.$t('common.support.phoneNumber')\n }, _toDisplayString(_ctx.$t(\"common.support.phoneNumber\")), 9, _hoisted_4)\n ]),\n _: 1\n }))\n ]),\n _createElementVNode(\"form\", null, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['expertDeclineBookingForm'].message?.required })\n }, _toDisplayString(_ctx.isCancelType\r\n\t\t\t\t\t\t\t\t? _ctx.$t(\"expert.cancelModal.lblDescription\")\r\n\t\t\t\t\t\t\t\t: _ctx.$t(\"expert.declineModal.lblDescription\")), 3),\n _createVNode(_component_Textarea, {\n modelValue: _ctx.v$['expertDeclineBookingForm'].message.$model,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.v$['expertDeclineBookingForm'].message.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['expertDeclineBookingForm'].message) }),\n rows: \"8\",\n type: \"text\"\n }, null, 8, [\"modelValue\", \"class\"]),\n (_ctx.shouldShowError(_ctx.v$['expertDeclineBookingForm'].message))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_7, [\n (!_ctx.v$['expertDeclineBookingForm'].message.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_8, _toDisplayString(_ctx.v$[\"expertDeclineBookingForm\"].message?.required?.$message), 1))\n : (_ctx.v$['expertDeclineBookingForm'].message.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_9, _toDisplayString(_ctx.v$[\"expertDeclineBookingForm\"].message.minLength?.$message), 1))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ]),\n _: 1\n }, 8, [\"visible\"]))\n}","<template>\r\n\t<Dialog\r\n\t\tv-model:visible=\"isVisible\"\r\n\t\t:breakpoints=\"{ '1600px': '40vw', '1200px': '50vw', '992px': '60vw', '768px': '75vw', '576px': '90vw' }\"\r\n\t\t:closable=\"true\"\r\n\t\t:modal=\"true\"\r\n\t\t:style=\"{ width: '30vw' }\"\r\n\t\t@hide=\"onCancel()\"\r\n\t>\r\n\t\t<template #header>\r\n\t\t\t<h3 class=\"mb-0\">\r\n\t\t\t\t{{ isCancelType ? $t(\"expert.cancelModal.header\") : $t(\"expert.declineModal.header\") }}\r\n\t\t\t</h3>\r\n\t\t</template>\r\n\t\t<p class=\"lead mb-2\">\r\n\t\t\t<i18n-t v-if=\"isCancelType\" keypath=\"expert.cancelModal.intro\">\r\n\t\t\t\t<a :href=\"'tel:' + $t('common.support.phoneNumber')\">\r\n\t\t\t\t\t{{ $t(\"common.support.phoneNumber\") }}\r\n\t\t\t\t</a>\r\n\t\t\t</i18n-t>\r\n\t\t\t<i18n-t v-else keypath=\"expert.declineModal.intro\">\r\n\t\t\t\t<a :href=\"'tel:' + $t('common.support.phoneNumber')\">\r\n\t\t\t\t\t{{ $t(\"common.support.phoneNumber\") }}\r\n\t\t\t\t</a>\r\n\t\t\t</i18n-t>\r\n\t\t</p>\r\n\t\t<form>\r\n\t\t\t<div class=\"form-row\">\r\n\t\t\t\t<div class=\"form-group col-12\">\r\n\t\t\t\t\t<label :class=\"{ required: v$['expertDeclineBookingForm'].message?.required }\">\r\n\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\tisCancelType\r\n\t\t\t\t\t\t\t\t? $t(\"expert.cancelModal.lblDescription\")\r\n\t\t\t\t\t\t\t\t: $t(\"expert.declineModal.lblDescription\")\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t</label>\r\n\t\t\t\t\t<Textarea\r\n\t\t\t\t\t\tv-model=\"v$['expertDeclineBookingForm'].message.$model\"\r\n\t\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['expertDeclineBookingForm'].message) }\"\r\n\t\t\t\t\t\trows=\"8\"\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<span v-if=\"shouldShowError(v$['expertDeclineBookingForm'].message)\">\r\n\t\t\t\t\t\t<small v-if=\"!v$['expertDeclineBookingForm'].message.$model\" class=\"p-error\">\r\n\t\t\t\t\t\t\t{{ v$[\"expertDeclineBookingForm\"].message?.required?.$message }}\r\n\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t<small v-else-if=\"v$['expertDeclineBookingForm'].message.$model\" class=\"p-error\">\r\n\t\t\t\t\t\t\t{{ v$[\"expertDeclineBookingForm\"].message.minLength?.$message }}\r\n\t\t\t\t\t\t</small>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</form>\r\n\r\n\t\t<template #footer>\r\n\t\t\t<Button class=\"p-button-text p-button-plain\" :label=\"$t('common.cancel')\" @click=\"onCancel()\" />\r\n\t\t\t<Button :disabled=\"!canSubmit\" :label=\"$t('common.confirm')\" @click=\"onSubmit()\" />\r\n\t\t</template>\r\n\t</Dialog>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Textarea from \"primevue/textarea\";\r\nimport useVuelidate, { Validation } from \"@vuelidate/core\";\r\nimport { Component, Emit, Prop } from \"vue-facing-decorator\";\r\nimport { ExpertBookingSummaryViewModel } from \"@/types/models/expert/expertBookingSummaryViewModel\";\r\nimport { ExpertDeclineBookingForm } from \"@/types/models/form/expertDeclineBookingForm\";\r\nimport { PropType } from \"vue\";\r\nimport { minLength, required } from \"@/types/utils/i18n-validators\";\r\nimport { useExpertStore } from \"@/store/expert/expertStore\";\r\n\r\nexport enum ExpertCancelOrDeclineBookingModalType {\r\n\tDecline,\r\n\tCancel,\r\n}\r\n\r\n@Component({\r\n\tcomponents: { Textarea },\r\n\toptions: {\r\n\t\tvalidations: {\r\n\t\t\texpertDeclineBookingForm: {\r\n\t\t\t\tmessage: { required, minLength: minLength(120) },\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n})\r\nexport default class ExpertDeclineBookingModal extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<ExpertBookingSummaryViewModel>,\r\n\t\trequired: false,\r\n\t\tdefault: null,\r\n\t})\r\n\tbookingSummary!: ExpertBookingSummaryViewModel;\r\n\r\n\t@Prop({\r\n\t\ttype: Number as PropType<ExpertCancelOrDeclineBookingModalType>,\r\n\t\trequired: false,\r\n\t\tdefault: ExpertCancelOrDeclineBookingModalType.Decline,\r\n\t})\r\n\ttype!: ExpertCancelOrDeclineBookingModalType;\r\n\r\n\t@Emit(\"submit\")\r\n\tsubmitForm(): ExpertDeclineBookingForm {\r\n\t\treturn { message: this.expertDeclineBookingForm?.message || \"\" };\r\n\t}\r\n\r\n\tv$ = useVuelidate();\r\n\texpertDeclineBookingForm: null | ExpertDeclineBookingForm = null;\r\n\tsubmitted = false;\r\n\tisVisible = true;\r\n\texpertStore = useExpertStore();\r\n\r\n\tcreated(): void {\r\n\t\tthis.expertDeclineBookingForm = {\r\n\t\t\tmessage: \"\",\r\n\t\t};\r\n\t}\r\n\r\n\tget isCancelType(): boolean {\r\n\t\treturn this.type === ExpertCancelOrDeclineBookingModalType.Cancel;\r\n\t}\r\n\r\n\tget canSubmit(): boolean {\r\n\t\treturn !this.v$[\"expertDeclineBookingForm\"].$invalid;\r\n\t}\r\n\r\n\tonCancel(): void {\r\n\t\tthis.expertStore.hideModal(\"CancelOrDeclineBooking\");\r\n\t}\r\n\r\n\tonSubmit(): void {\r\n\t\tif (!this.canSubmit) return;\r\n\t\tthis.submitForm();\r\n\t}\r\n\r\n\tshouldShowError(fieldToValidate: Validation): boolean {\r\n\t\treturn fieldToValidate.$invalid && (this.submitted || fieldToValidate.$dirty);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { render } from \"./expertDeclineBookingModal.vue?vue&type=template&id=28f63826&ts=true\"\nimport script from \"./expertDeclineBookingModal.vue?vue&type=script&lang=ts\"\nexport * from \"./expertDeclineBookingModal.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4ce7006d\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { key: 0 }\nconst _hoisted_2 = [\"innerHTML\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"product-config-summary-item\", { counter: _ctx.showCounter }])\n }, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.label), 1),\n (_ctx.$slots.content)\n ? (_openBlock(), _createElementBlock(\"dd\", _hoisted_1, [\n _renderSlot(_ctx.$slots, \"content\", {}, undefined, true)\n ]))\n : (_ctx.content)\n ? (_openBlock(), _createElementBlock(\"dd\", {\n key: 1,\n innerHTML: _ctx.content\n }, null, 8, _hoisted_2))\n : _createCommentVNode(\"\", true)\n ], 2))\n}","<template>\r\n\t<div class=\"product-config-summary-item\" :class=\"{ counter: showCounter }\">\r\n\t\t<dt>{{ label }}</dt>\r\n\t\t<dd v-if=\"$slots.content\">\r\n\t\t\t<slot name=\"content\" />\r\n\t\t</dd>\r\n\t\t<dd v-else-if=\"content\" v-html=\"content\"></dd>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\n\r\n@Component\r\nexport default class ProductConfigurationSummaryItem extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: String,\r\n\t\trequired: true,\r\n\t\tdefault: \"\",\r\n\t})\r\n\tlabel!: string;\r\n\r\n\t@Prop({\r\n\t\ttype: String,\r\n\t\trequired: false,\r\n\t\tdefault: \"\",\r\n\t})\r\n\tcontent!: string;\r\n\r\n\t@Prop({\r\n\t\ttype: Boolean,\r\n\t\trequired: false,\r\n\t\tdefault: false,\r\n\t})\r\n\tshowCounter!: boolean;\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.product-config-summary-item {\r\n\tcounter-increment: product-summary-options-count;\r\n\tdisplay: flex;\r\n\tflex: 1 1 100%;\r\n\tflex-wrap: nowrap;\r\n\tjustify-content: space-between;\r\n\tmargin-top: 0.5rem;\r\n\r\n\tdt {\r\n\t\tflex: 1;\r\n\t}\r\n\r\n\tdd {\r\n\t\tflex: 0.6;\r\n\t\tpadding-left: 0.25rem;\r\n\t\tmargin-bottom: 0;\r\n\t}\r\n\r\n\t&.counter {\r\n\t\t&::before {\r\n\t\t\tcontent: counter(product-summary-options-count);\r\n\t\t\tdisplay: inline-block;\r\n\t\t\tpadding: 0 0.5rem;\r\n\t\t\theight: fit-content;\r\n\t\t\tfont-size: 1rem;\r\n\t\t\tmargin-right: 0.75rem;\r\n\t\t\tborder-radius: 50%;\r\n\t\t\tbackground: var(--surface-a);\r\n\t\t\tcolor: var(--primary-color);\r\n\t\t\tborder: 1px solid var(--surface-d);\r\n\t\t\ttext-align: center;\r\n\t\t}\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./productConfigurationSummaryItem.vue?vue&type=template&id=4ce7006d&scoped=true&ts=true\"\nimport script from \"./productConfigurationSummaryItem.vue?vue&type=script&lang=ts\"\nexport * from \"./productConfigurationSummaryItem.vue?vue&type=script&lang=ts\"\n\nimport \"./productConfigurationSummaryItem.vue?vue&type=style&index=0&id=4ce7006d&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4ce7006d\"]])\n\nexport default __exports__","/* Auto Generated */\r\n\r\nexport enum ExpertCalculationLineType {\r\n\tfullDay,\r\n\tdayPart,\r\n\thour,\r\n\ttravel,\r\n\taccommodation,\r\n\tflexBooking,\r\n}\r\n","export enum ExpertType {\r\n\tNone = 0,\r\n\tInternal = 229380000,\r\n\tExternal = 229380001,\r\n}\r\n","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-568aa878\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"lead mb-2\" }\nconst _hoisted_2 = { class: \"form-row\" }\nconst _hoisted_3 = { class: \"form-group col-12\" }\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_6 = {\n key: 1,\n class: \"p-error\"\n}\nconst _hoisted_7 = { class: \"form-row\" }\nconst _hoisted_8 = { class: \"form-group col-12\" }\nconst _hoisted_9 = { key: 0 }\nconst _hoisted_10 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_11 = {\n key: 1,\n class: \"p-error\"\n}\nconst _hoisted_12 = { class: \"form-row\" }\nconst _hoisted_13 = { class: \"form-group col-12\" }\nconst _hoisted_14 = { key: 0 }\nconst _hoisted_15 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_16 = {\n key: 1,\n class: \"p-error\"\n}\nconst _hoisted_17 = { class: \"form-row\" }\nconst _hoisted_18 = { class: \"form-group col-12\" }\nconst _hoisted_19 = { class: \"p-inputgroup\" }\nconst _hoisted_20 = { class: \"d-flex\" }\nconst _hoisted_21 = { class: \"mb-0 mr-1 text-bold\" }\nconst _hoisted_22 = { class: \"mb-0\" }\nconst _hoisted_23 = { key: 0 }\nconst _hoisted_24 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_25 = {\n key: 1,\n class: \"p-error\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Rating = _resolveComponent(\"Rating\")!\n const _component_InputText = _resolveComponent(\"InputText\")!\n const _component_Textarea = _resolveComponent(\"Textarea\")!\n const _component_AutoComplete = _resolveComponent(\"AutoComplete\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Dialog = _resolveComponent(\"Dialog\")!\n\n return (_openBlock(), _createBlock(_component_Dialog, {\n visible: _ctx.isVisible,\n \"onUpdate:visible\": _cache[7] || (_cache[7] = ($event: any) => ((_ctx.isVisible) = $event)),\n breakpoints: { '1600px': '40vw', '1200px': '50vw', '992px': '60vw', '768px': '75vw', '576px': '90vw' },\n closable: true,\n header: _ctx.$t('expert.reviewModal.header'),\n modal: true,\n style: { width: '30vw' },\n onHide: _cache[8] || (_cache[8] = ($event: any) => (_ctx.onCancel()))\n }, {\n footer: _withCtx(() => [\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-plain\",\n label: _ctx.$t('common.cancel'),\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.onCancel()))\n }, null, 8, [\"label\"]),\n _createVNode(_component_Button, {\n label: _ctx.$t('common.confirm'),\n onClick: _cache[6] || (_cache[6] = ($event: any) => (_ctx.onSubmit()))\n }, null, 8, [\"label\"])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"p\", _hoisted_1, _toDisplayString(_ctx.$t(\"expert.reviewModal.intro\")), 1),\n _createElementVNode(\"form\", null, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['expertReviewBookingForm'].score?.required })\n }, _toDisplayString(_ctx.$t(\"expert.reviewModal.lblScore\")), 3),\n _createVNode(_component_Rating, {\n modelValue: _ctx.v$['expertReviewBookingForm'].score.$model,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.v$['expertReviewBookingForm'].score.$model) = $event)),\n cancel: false\n }, null, 8, [\"modelValue\"]),\n (_ctx.shouldShowError(_ctx.v$['expertReviewBookingForm'].score))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, [\n (!_ctx.v$['expertReviewBookingForm'].score.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_5, _toDisplayString(_ctx.v$[\"expertReviewBookingForm\"].score?.required?.$message), 1))\n : (_ctx.v$['expertReviewBookingForm'].score.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_6, _toDisplayString(_ctx.v$[\"expertReviewBookingForm\"].score.minValue?.$message), 1))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['expertReviewBookingForm'].title?.required })\n }, _toDisplayString(_ctx.$t(\"expert.reviewModal.lblProjectTitle\")), 3),\n _createVNode(_component_InputText, {\n modelValue: _ctx.v$['expertReviewBookingForm'].title.$model,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.v$['expertReviewBookingForm'].title.$model) = $event))\n }, null, 8, [\"modelValue\"]),\n (_ctx.shouldShowError(_ctx.v$['expertReviewBookingForm'].title))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_9, [\n (!_ctx.v$['expertReviewBookingForm'].title.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_10, _toDisplayString(_ctx.v$[\"expertReviewBookingForm\"].title?.required?.$message), 1))\n : (_ctx.v$['expertReviewBookingForm'].title.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_11, _toDisplayString(_ctx.v$[\"expertReviewBookingForm\"].title.minLength?.$message), 1))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['expertReviewBookingForm'].description?.required })\n }, _toDisplayString(_ctx.$t(\"expert.reviewModal.lblDescription\")), 3),\n _createVNode(_component_Textarea, {\n modelValue: _ctx.v$['expertReviewBookingForm'].description.$model,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.v$['expertReviewBookingForm'].description.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['expertReviewBookingForm'].description) }),\n rows: \"5\",\n type: \"text\"\n }, null, 8, [\"modelValue\", \"class\"]),\n (_ctx.shouldShowError(_ctx.v$['expertReviewBookingForm'].description))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_14, [\n (!_ctx.v$['expertReviewBookingForm'].description.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_15, _toDisplayString(_ctx.v$[\"expertReviewBookingForm\"].description?.required?.$message), 1))\n : (_ctx.v$['expertReviewBookingForm'].description.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_16, _toDisplayString(_ctx.v$[\"expertReviewBookingForm\"].description.minLength?.$message), 1))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"div\", _hoisted_18, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['expertReviewBookingForm'].expertises?.required })\n }, _toDisplayString(_ctx.$t(\"expert.reviewModal.lblExpertises\")), 3),\n _createElementVNode(\"div\", _hoisted_19, [\n _createVNode(_component_AutoComplete, {\n modelValue: _ctx.v$['expertReviewBookingForm'].expertises.$model,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.v$['expertReviewBookingForm'].expertises.$model) = $event)),\n \"force-selection\": \"\",\n \"min-length\": 2,\n multiple: true,\n \"option-label\": \"name\",\n placeholder: _ctx.$t('expert.reviewModal.autocomplete_placeholder'),\n suggestions: _ctx.searchExpertiseResults,\n onComplete: _cache[4] || (_cache[4] = ($event: any) => (_ctx.searchExpertises($event)))\n }, {\n option: _withCtx(({ option }) => [\n _createTextVNode(\"> \"),\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"p\", _hoisted_21, _toDisplayString(option?.name), 1),\n _createElementVNode(\"p\", _hoisted_22, \"(\" + _toDisplayString(option?.category) + \")\", 1)\n ])\n ]),\n _: 1\n }, 8, [\"modelValue\", \"placeholder\", \"suggestions\"]),\n _createVNode(_component_Button, {\n class: \"p-button-primary\",\n icon: \"pi pi-search\"\n })\n ]),\n (_ctx.shouldShowError(_ctx.v$['expertReviewBookingForm'].expertises))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_23, [\n (!_ctx.v$['expertReviewBookingForm'].expertises.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_24, _toDisplayString(_ctx.v$[\"expertReviewBookingForm\"].expertises?.required?.$message), 1))\n : (_ctx.v$['expertReviewBookingForm'].expertises.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_25, _toDisplayString(_ctx.v$[\"expertReviewBookingForm\"].expertises.minLength?.$message), 1))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ]),\n _: 1\n }, 8, [\"visible\", \"header\"]))\n}","<template>\r\n\t<Dialog\r\n\t\tv-model:visible=\"isVisible\"\r\n\t\t:breakpoints=\"{ '1600px': '40vw', '1200px': '50vw', '992px': '60vw', '768px': '75vw', '576px': '90vw' }\"\r\n\t\t:closable=\"true\"\r\n\t\t:header=\"$t('expert.reviewModal.header')\"\r\n\t\t:modal=\"true\"\r\n\t\t:style=\"{ width: '30vw' }\"\r\n\t\t@hide=\"onCancel()\"\r\n\t>\r\n\t\t<p class=\"lead mb-2\">\r\n\t\t\t{{ $t(\"expert.reviewModal.intro\") }}\r\n\t\t</p>\r\n\r\n\t\t<form>\r\n\t\t\t<div class=\"form-row\">\r\n\t\t\t\t<div class=\"form-group col-12\">\r\n\t\t\t\t\t<label :class=\"{ required: v$['expertReviewBookingForm'].score?.required }\">\r\n\t\t\t\t\t\t{{ $t(\"expert.reviewModal.lblScore\") }}\r\n\t\t\t\t\t</label>\r\n\t\t\t\t\t<Rating v-model=\"v$['expertReviewBookingForm'].score.$model\" :cancel=\"false\" />\r\n\t\t\t\t\t<span v-if=\"shouldShowError(v$['expertReviewBookingForm'].score)\">\r\n\t\t\t\t\t\t<small v-if=\"!v$['expertReviewBookingForm'].score.$model\" class=\"p-error\">\r\n\t\t\t\t\t\t\t{{ v$[\"expertReviewBookingForm\"].score?.required?.$message }}\r\n\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t<small v-else-if=\"v$['expertReviewBookingForm'].score.$model\" class=\"p-error\">\r\n\t\t\t\t\t\t\t{{ v$[\"expertReviewBookingForm\"].score.minValue?.$message }}\r\n\t\t\t\t\t\t</small>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"form-row\">\r\n\t\t\t\t<div class=\"form-group col-12\">\r\n\t\t\t\t\t<label :class=\"{ required: v$['expertReviewBookingForm'].title?.required }\">\r\n\t\t\t\t\t\t{{ $t(\"expert.reviewModal.lblProjectTitle\") }}\r\n\t\t\t\t\t</label>\r\n\t\t\t\t\t<InputText v-model=\"v$['expertReviewBookingForm'].title.$model\" />\r\n\t\t\t\t\t<span v-if=\"shouldShowError(v$['expertReviewBookingForm'].title)\">\r\n\t\t\t\t\t\t<small v-if=\"!v$['expertReviewBookingForm'].title.$model\" class=\"p-error\">\r\n\t\t\t\t\t\t\t{{ v$[\"expertReviewBookingForm\"].title?.required?.$message }}\r\n\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t<small v-else-if=\"v$['expertReviewBookingForm'].title.$model\" class=\"p-error\">\r\n\t\t\t\t\t\t\t{{ v$[\"expertReviewBookingForm\"].title.minLength?.$message }}\r\n\t\t\t\t\t\t</small>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"form-row\">\r\n\t\t\t\t<div class=\"form-group col-12\">\r\n\t\t\t\t\t<label :class=\"{ required: v$['expertReviewBookingForm'].description?.required }\">\r\n\t\t\t\t\t\t{{ $t(\"expert.reviewModal.lblDescription\") }}\r\n\t\t\t\t\t</label>\r\n\t\t\t\t\t<Textarea\r\n\t\t\t\t\t\tv-model=\"v$['expertReviewBookingForm'].description.$model\"\r\n\t\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['expertReviewBookingForm'].description) }\"\r\n\t\t\t\t\t\trows=\"5\"\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<span v-if=\"shouldShowError(v$['expertReviewBookingForm'].description)\">\r\n\t\t\t\t\t\t<small v-if=\"!v$['expertReviewBookingForm'].description.$model\" class=\"p-error\">\r\n\t\t\t\t\t\t\t{{ v$[\"expertReviewBookingForm\"].description?.required?.$message }}\r\n\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t<small v-else-if=\"v$['expertReviewBookingForm'].description.$model\" class=\"p-error\">\r\n\t\t\t\t\t\t\t{{ v$[\"expertReviewBookingForm\"].description.minLength?.$message }}\r\n\t\t\t\t\t\t</small>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"form-row\">\r\n\t\t\t\t<div class=\"form-group col-12\">\r\n\t\t\t\t\t<label :class=\"{ required: v$['expertReviewBookingForm'].expertises?.required }\">\r\n\t\t\t\t\t\t{{ $t(\"expert.reviewModal.lblExpertises\") }}\r\n\t\t\t\t\t</label>\r\n\t\t\t\t\t<div class=\"p-inputgroup\">\r\n\t\t\t\t\t\t<AutoComplete\r\n\t\t\t\t\t\t\tv-model=\"v$['expertReviewBookingForm'].expertises.$model\"\r\n\t\t\t\t\t\t\tforce-selection\r\n\t\t\t\t\t\t\t:min-length=\"2\"\r\n\t\t\t\t\t\t\t:multiple=\"true\"\r\n\t\t\t\t\t\t\toption-label=\"name\"\r\n\t\t\t\t\t\t\t:placeholder=\"$t('expert.reviewModal.autocomplete_placeholder')\"\r\n\t\t\t\t\t\t\t:suggestions=\"searchExpertiseResults\"\r\n\t\t\t\t\t\t\t@complete=\"searchExpertises($event)\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<template #option=\"{ option }\"\r\n\t\t\t\t\t\t\t\t>>\r\n\t\t\t\t\t\t\t\t<div class=\"d-flex\">\r\n\t\t\t\t\t\t\t\t\t<p class=\"mb-0 mr-1 text-bold\">\r\n\t\t\t\t\t\t\t\t\t\t{{ option?.name }}\r\n\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t<p class=\"mb-0\">({{ option?.category }})</p>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</AutoComplete>\r\n\t\t\t\t\t\t<Button class=\"p-button-primary\" icon=\"pi pi-search\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<span v-if=\"shouldShowError(v$['expertReviewBookingForm'].expertises)\">\r\n\t\t\t\t\t\t<small v-if=\"!v$['expertReviewBookingForm'].expertises.$model\" class=\"p-error\">\r\n\t\t\t\t\t\t\t{{ v$[\"expertReviewBookingForm\"].expertises?.required?.$message }}\r\n\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t<small v-else-if=\"v$['expertReviewBookingForm'].expertises.$model\" class=\"p-error\">\r\n\t\t\t\t\t\t\t{{ v$[\"expertReviewBookingForm\"].expertises.minLength?.$message }}\r\n\t\t\t\t\t\t</small>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</form>\r\n\t\t<template #footer>\r\n\t\t\t<Button class=\"p-button-text p-button-plain\" :label=\"$t('common.cancel')\" @click=\"onCancel()\" />\r\n\t\t\t<Button :label=\"$t('common.confirm')\" @click=\"onSubmit()\" />\r\n\t\t</template>\r\n\t</Dialog>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport AutoComplete from \"primevue/autocomplete\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Rating from \"primevue/rating\";\r\nimport Textarea from \"primevue/textarea\";\r\nimport useVuelidate, { Validation } from \"@vuelidate/core\";\r\nimport { Component, Emit } from \"vue-facing-decorator\";\r\nimport { ExpertExpertiseBlockViewModel } from \"@/types/models/expert/expertExpertiseBlockViewModel\";\r\nimport { ExpertiseSearch } from \"@/types/generated/Api/expertiseSearch\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { minLength, minValue, required } from \"@/types/utils/i18n-validators\";\r\nimport { useExpertStore } from \"@/store/expert/expertStore\";\r\n\r\nexport interface ExpertReviewBookingForm {\r\n\tscore: number;\r\n\ttitle: string;\r\n\tdescription: string;\r\n\texpertises: number[];\r\n}\r\n\r\n@Component({\r\n\tcomponents: { Textarea, Rating, AutoComplete },\r\n\toptions: {\r\n\t\tvalidations: {\r\n\t\t\texpertReviewBookingForm: {\r\n\t\t\t\ttitle: { required, minLength: minLength(5) },\r\n\t\t\t\tdescription: { required, minLength: minLength(120) },\r\n\t\t\t\tscore: { required, minValue: minValue(1) },\r\n\t\t\t\texpertises: { required, minLength: minLength(1) },\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n})\r\nexport default class ExpertReviewBookingModal extends BaseComponent {\r\n\t@Emit(\"submit\")\r\n\tsubmitForm(): ExpertReviewBookingForm {\r\n\t\tconst form = { ...this.expertReviewBookingForm };\r\n\t\tform.expertises = this.v$[\"expertReviewBookingForm\"]?.expertises?.$model?.map((x) => x.id);\r\n\t\treturn form;\r\n\t}\r\n\r\n\texpertStore = useExpertStore();\r\n\tv$ = useVuelidate();\r\n\texpertReviewBookingForm!: ExpertReviewBookingForm;\r\n\tsubmitted = false;\r\n\tisVisible = true;\r\n\r\n\tsearchExpertisesQuery = \"\";\r\n\tsearchExpertiseResults: ExpertExpertiseBlockViewModel[] = [];\r\n\r\n\tcreated(): void {\r\n\t\tthis.expertReviewBookingForm = {\r\n\t\t\ttitle: \"\",\r\n\t\t\tdescription: \"\",\r\n\t\t\texpertises: [],\r\n\t\t\tscore: 0,\r\n\t\t};\r\n\t}\r\n\r\n\tget canSubmit(): boolean {\r\n\t\treturn !this.v$[\"expertReviewBookingForm\"].$invalid;\r\n\t}\r\n\r\n\tget hasNoSearchResults(): boolean {\r\n\t\treturn !!this.searchExpertiseResults?.length;\r\n\t}\r\n\r\n\tonCancel(): void {\r\n\t\tthis.expertStore.hideModal(\"ReviewBooking\");\r\n\t}\r\n\r\n\tonSubmit(): void {\r\n\t\tthis.submitted = true;\r\n\t\tif (!this.canSubmit) return;\r\n\t\tthis.submitForm();\r\n\t}\r\n\r\n\tshouldShowError(fieldToValidate: Validation): boolean {\r\n\t\treturn fieldToValidate.$invalid && (this.submitted || fieldToValidate.$dirty);\r\n\t}\r\n\r\n\tsearchExpertises({ query }: { query: string }): void {\r\n\t\tthis.searchExpertisesQuery = query;\r\n\t\tthis.axios\r\n\t\t\t.get(`/api/search/expertises`, { params: { search: query }, requestId: \"searchExpertise\" })\r\n\t\t\t.then(({ data }: { data: ExpertiseSearch[] }) => {\r\n\t\t\t\tthis.searchExpertiseResults = data\r\n\t\t\t\t\t.map((x) => ({ id: x.value, name: x.name, category: x.category }))\r\n\t\t\t\t\t.filter(\r\n\t\t\t\t\t\t(x) =>\r\n\t\t\t\t\t\t\tthis.v$[\"expertReviewBookingForm\"]?.expertises?.$model?.find((y) => y.id !== x.id) ||\r\n\t\t\t\t\t\t\ttrue\r\n\t\t\t\t\t);\r\n\t\t\t})\r\n\t\t\t.catch((err) => Log.error(err));\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n:deep(.p-rating) {\r\n\t.p-rating-icon {\r\n\t\tfont-size: 1.5rem;\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./expertReviewBookingModal.vue?vue&type=template&id=568aa878&scoped=true&ts=true\"\nimport script from \"./expertReviewBookingModal.vue?vue&type=script&lang=ts\"\nexport * from \"./expertReviewBookingModal.vue?vue&type=script&lang=ts\"\n\nimport \"./expertReviewBookingModal.vue?vue&type=style&index=0&id=568aa878&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-568aa878\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, withCtx as _withCtx } from \"vue\"\n\nconst _hoisted_1 = { class: \"py-1 px-2\" }\nconst _hoisted_2 = { class: \"my-1\" }\nconst _hoisted_3 = { class: \"p-1\" }\nconst _hoisted_4 = { class: \"py-1 px-2\" }\nconst _hoisted_5 = { class: \"\" }\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"hr\", { class: \"m-1\" }, null, -1)\nconst _hoisted_7 = { class: \"py-1 px-2\" }\nconst _hoisted_8 = { class: \"mb-0\" }\nconst _hoisted_9 = { class: \"mb-0\" }\nconst _hoisted_10 = { class: \"py-1 px-2\" }\nconst _hoisted_11 = { class: \"mb-0\" }\nconst _hoisted_12 = [\"innerHTML\"]\nconst _hoisted_13 = { class: \"py-1 px-2\" }\nconst _hoisted_14 = { class: \"mb-0\" }\nconst _hoisted_15 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Rating = _resolveComponent(\"Rating\")!\n const _component_Tag = _resolveComponent(\"Tag\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Dialog = _resolveComponent(\"Dialog\")!\n\n return (_openBlock(), _createBlock(_component_Dialog, {\n visible: _ctx.isVisible,\n \"onUpdate:visible\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.isVisible) = $event)),\n breakpoints: { '1600px': '40vw', '1200px': '50vw', '992px': '60vw', '768px': '75vw', '576px': '90vw' },\n closable: true,\n header: _ctx.vm.title,\n modal: true,\n style: { width: '30vw' },\n onHide: _cache[3] || (_cache[3] = ($event: any) => (_ctx.onCancel()))\n }, {\n footer: _withCtx(() => [\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-plain\",\n label: _ctx.$t('common.close'),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onCancel()))\n }, null, 8, [\"label\"])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"h3\", _hoisted_2, _toDisplayString(_ctx.vm?.intervieweeName || '-'), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_Rating, {\n modelValue: _ctx.vm.score,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.vm.score) = $event)),\n stars: 5,\n readonly: \"true\",\n cancel: false\n }, null, 8, [\"modelValue\"])\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"p\", _hoisted_5, _toDisplayString(_ctx.vm?.created ? _ctx.formatDate(_ctx.vm.created) : '-'), 1)\n ])\n ]),\n _hoisted_6,\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"label\", _hoisted_8, _toDisplayString(_ctx.$t(\"expert.reviewDetailModal.title\")) + \":\", 1),\n _createElementVNode(\"p\", _hoisted_9, _toDisplayString(_ctx.vm?.title || '-'), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"label\", _hoisted_11, _toDisplayString(_ctx.$t(\"expert.reviewDetailModal.comment\")) + \":\", 1),\n _createElementVNode(\"p\", {\n class: \"mb-0\",\n innerHTML: _ctx.vm?.comment || '-'\n }, null, 8, _hoisted_12)\n ]),\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"label\", _hoisted_14, _toDisplayString(_ctx.$t(\"expert.reviewDetailModal.tags\")) + \":\", 1),\n _hoisted_15,\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.tags, (tag) => {\n return (_openBlock(), _createBlock(_component_Tag, {\n key: `${tag}`,\n class: \"mb-auto ml-auto\",\n value: tag\n }, null, 8, [\"value\"]))\n }), 128))\n ])\n ])\n ])\n ]),\n _: 1\n }, 8, [\"visible\", \"header\"]))\n}","<template>\r\n <Dialog v-model:visible=\"isVisible\"\r\n :breakpoints=\"{ '1600px': '40vw', '1200px': '50vw', '992px': '60vw', '768px': '75vw', '576px': '90vw' }\"\r\n :closable=\"true\"\r\n :header=\"vm.title\"\r\n :modal=\"true\"\r\n :style=\"{ width: '30vw' }\"\r\n @hide=\"onCancel()\">\r\n <div>\r\n <div>\r\n <div class=\" py-1 px-2\">\r\n <h3 class=\"my-1\">{{ vm?.intervieweeName || '-' }}</h3>\r\n </div>\r\n <div class=\" p-1\">\r\n <Rating v-model=\"vm.score\" :stars=\"5\" readonly=\"true\" :cancel=\"false\" />\r\n </div>\r\n <div class=\" py-1 px-2\">\r\n <p class=\"\">{{ vm?.created ? formatDate(vm.created) : '-' }}</p>\r\n </div>\r\n </div>\r\n\r\n <hr class=\"m-1\" />\r\n\r\n <div>\r\n <div class=\" py-1 px-2\">\r\n <label class=\"mb-0\">{{ $t(\"expert.reviewDetailModal.title\") }}:</label>\r\n <p class=\"mb-0\">{{ vm?.title || '-' }}</p>\r\n </div>\r\n <div class=\" py-1 px-2\">\r\n <label class=\"mb-0\">{{ $t(\"expert.reviewDetailModal.comment\") }}:</label>\r\n <p class=\"mb-0\" v-html=\"vm?.comment || '-'\" />\r\n </div>\r\n <div class=\" py-1 px-2\">\r\n <label class=\"mb-0\">{{ $t(\"expert.reviewDetailModal.tags\") }}:</label>\r\n <br />\r\n <Tag v-for=\"tag in vm.tags\" :key=\"`${tag}`\" class=\"mb-auto ml-auto\" :value=\"tag\" />\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <template #footer>\r\n <Button class=\"p-button-text p-button-plain\" :label=\"$t('common.close')\" @click=\"onCancel()\" />\r\n </template>\r\n </Dialog>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\n import BaseComponent from \"@/components/base/baseComponent.vue\";\r\n import { Component, Prop } from \"vue-facing-decorator\";\r\n import { PropType } from \"vue\";\r\n import { ExpertReviewBookingForm } from \"./expertReviewBookingModal.vue\";\r\n import { useExpertStore } from \"../../store/expert/expertStore\";\r\n import Tag from \"primevue/tag\";\r\n import Rating from \"primevue/rating\";\r\n\r\n @Component({\r\n components: {\r\n Tag,\r\n Rating,\r\n },\r\n })\r\n export default class ExpertReviewBookingDetailsModal extends BaseComponent {\r\n @Prop({ type: Object as PropType<ExpertReviewBookingForm>, required: true, default: {} })\r\n vm!: ExpertReviewBookingForm;\r\n expertStore = useExpertStore();\r\n isVisible = true;\r\n onCancel(): void {\r\n this.expertStore.hideModal(\"ReviewBookingDetails\"); \r\n }\r\n }\r\n</script>\r\n","import { render } from \"./expertReviewBookingDetailsModal.vue?vue&type=template&id=f4613988&ts=true\"\nimport script from \"./expertReviewBookingDetailsModal.vue?vue&type=script&lang=ts\"\nexport * from \"./expertReviewBookingDetailsModal.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./bookingDetail.vue?vue&type=template&id=790ff241&scoped=true&ts=true\"\nimport script from \"./bookingDetail.vue?vue&type=script&lang=ts\"\nexport * from \"./bookingDetail.vue?vue&type=script&lang=ts\"\n\nimport \"./bookingDetail.vue?vue&type=style&index=0&id=790ff241&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-790ff241\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, createBlock as _createBlock, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-42fa7329\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"container\" }\nconst _hoisted_2 = { class: \"row my-3\" }\nconst _hoisted_3 = { class: \"col-12\" }\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = { class: \"col-lg-8 col-xl-9\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"col-lg-4 col-xl-3\"\n}\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = [\"href\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_CheckoutSteps = _resolveComponent(\"CheckoutSteps\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_router_view = _resolveComponent(\"router-view\")!\n const _component_PriceSummary = _resolveComponent(\"PriceSummary\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_Card = _resolveComponent(\"Card\")!\n const _component_CartPageSummary = _resolveComponent(\"CartPageSummary\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_ctx.checkoutStore.vm.pageTitle)\n ? (_openBlock(), _createElementBlock(\"h1\", _hoisted_4, _toDisplayString(_ctx.checkoutStore.vm.pageTitle), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createVNode(_component_CheckoutSteps),\n (_ctx.vm.paymentFailed)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n closable: false,\n severity: \"error\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.paymentFailedMessage), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (!_ctx.vm.allowPlaceOrder)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 1,\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"checkout.message.orderNotAllowed\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_router_view)\n ]),\n (!_ctx.isSmallScreen)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(_component_Card, { class: \"checkout-summary\" }, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"checkout.titleSummary\")), 1)\n ]),\n content: _withCtx(() => [\n _createVNode(_component_PriceSummary, { vm: _ctx.priceSummary }, null, 8, [\"vm\"])\n ]),\n footer: _withCtx(() => [\n _createVNode(_component_Button, {\n class: \"p-button-success p-button-lg p-button-raised p-button-arrow w-100 px-1 mb-1\",\n disabled: !_ctx.canGoToStep(_ctx.activeStep + 1),\n label: _ctx.$t(`checkout.button.goToStep${_ctx.activeStep === -1 ? 2 : _ctx.activeStep + 2}`),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.goToNextStep()))\n }, null, 8, [\"disabled\", \"label\"]),\n (_ctx.isOverviewStep)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_7, [\n _createVNode(_component_i18n_t, { keypath: \"checkout.lblAgreeWithTerms\" }, {\n link: _withCtx(() => [\n _createElementVNode(\"a\", {\n href: _ctx.checkoutStore.vm.termsAndConditionsLink,\n target: \"_blank\"\n }, _toDisplayString(_ctx.$t(\"common.termsAndConditions\")), 9, _hoisted_8)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n (_ctx.isSmallScreen)\n ? (_openBlock(), _createBlock(_component_CartPageSummary, {\n key: 0,\n \"button-text\": _ctx.$t(`checkout.button.goToStep${_ctx.activeStep === -1 ? 2 : _ctx.activeStep + 2}`),\n \"can-submit\": _ctx.canGoToStep(_ctx.activeStep + 1),\n \"show-terms\": _ctx.isOverviewStep,\n \"total-price\": _ctx.priceSummary?.totalPrice,\n onClickAction: _cache[1] || (_cache[1] = ($event: any) => (_ctx.goToNextStep()))\n }, {\n priceSummary: _withCtx(() => [\n _createVNode(_component_PriceSummary, { vm: _ctx.priceSummary }, null, 8, [\"vm\"])\n ]),\n _: 1\n }, 8, [\"button-text\", \"can-submit\", \"show-terms\", \"total-price\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<div class=\"container\">\r\n\t\t<div class=\"row my-3\">\r\n\t\t\t<div class=\"col-12\">\r\n\t\t\t\t<h1 v-if=\"checkoutStore.vm.pageTitle\">{{ checkoutStore.vm.pageTitle }}</h1>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"col-lg-8 col-xl-9\">\r\n\t\t\t\t<CheckoutSteps />\r\n\t\t\t\t<Message v-if=\"vm.paymentFailed\" :closable=\"false\" severity=\"error\">\r\n\t\t\t\t\t{{ paymentFailedMessage }}\r\n\t\t\t\t</Message>\r\n\t\t\t\t<Message v-if=\"!vm.allowPlaceOrder\" :closable=\"false\" severity=\"warn\">\r\n\t\t\t\t\t{{ $t(\"checkout.message.orderNotAllowed\") }}\r\n\t\t\t\t</Message>\r\n\t\t\t\t<router-view />\r\n\t\t\t</div>\r\n\t\t\t<div v-if=\"!isSmallScreen\" class=\"col-lg-4 col-xl-3\">\r\n\t\t\t\t<Card class=\"checkout-summary\">\r\n\t\t\t\t\t<template #title>\r\n\t\t\t\t\t\t{{ $t(\"checkout.titleSummary\") }}\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t<PriceSummary :vm=\"priceSummary\" />\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template #footer>\r\n\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\tclass=\"p-button-success p-button-lg p-button-raised p-button-arrow w-100 px-1 mb-1\"\r\n\t\t\t\t\t\t\t:disabled=\"!canGoToStep(activeStep + 1)\"\r\n\t\t\t\t\t\t\t:label=\"$t(`checkout.button.goToStep${activeStep === -1 ? 2 : activeStep + 2}`)\"\r\n\t\t\t\t\t\t\t@click=\"goToNextStep()\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<small v-if=\"isOverviewStep\">\r\n\t\t\t\t\t\t\t<i18n-t keypath=\"checkout.lblAgreeWithTerms\">\r\n\t\t\t\t\t\t\t\t<template #link>\r\n\t\t\t\t\t\t\t\t\t<a :href=\"checkoutStore.vm.termsAndConditionsLink\" target=\"_blank\">{{\r\n\t\t\t\t\t\t\t\t\t\t$t(\"common.termsAndConditions\")\r\n\t\t\t\t\t\t\t\t\t}}</a>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</i18n-t>\r\n\t\t\t\t\t\t</small>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Card>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<CartPageSummary\r\n\t\tv-if=\"isSmallScreen\"\r\n\t\t:button-text=\"$t(`checkout.button.goToStep${activeStep === -1 ? 2 : activeStep + 2}`)\"\r\n\t\t:can-submit=\"canGoToStep(activeStep + 1)\"\r\n\t\t:show-terms=\"isOverviewStep\"\r\n\t\t:total-price=\"priceSummary?.totalPrice\"\r\n\t\t@clickAction=\"goToNextStep()\"\r\n\t>\r\n\t\t<template #priceSummary>\r\n\t\t\t<PriceSummary :vm=\"priceSummary\" />\r\n\t\t</template>\r\n\t</CartPageSummary>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport CartPageSummary from \"@/components/commerce/cart/cartPageSummary.vue\";\r\nimport CheckoutSteps, { CheckoutStep } from \"@/components/commerce/checkout/checkoutSteps.vue\";\r\nimport PriceSummary from \"@/components/common/priceSummary.vue\";\r\nimport Steps from \"primevue/steps\";\r\nimport { BuckarooStatus } from \"@/types/enum/buckarooStatus\";\r\nimport { CartClient } from \"@/types/models/cart/cartClient\";\r\nimport { CheckoutForm } from \"@/types/models/form/checkoutForm\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { CouponCode } from \"@/types/generated/Api/couponCode\";\r\nimport { ICheckout } from \"@/types/viewModels/commerce/checkoutViewModel\";\r\nimport { IPriceSummary } from \"@/types/models/common/priceSummary.interface\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PaymentMethod } from \"@/types/enum/paymentMethod\";\r\nimport { PropType } from \"vue\";\r\nimport { first, sum } from \"lodash\";\r\nimport { useCartStore } from \"@/store/commerce/cartStore\";\r\nimport { useCheckoutStore } from \"@/store/commerce/checkoutStore\";\r\nimport { GaEvent } from \"@/types/models/googleAnalytics/enum/gaEvent\";\r\nimport toFixed from \"accounting-js/lib/toFixed.js\";\r\n\r\n@Component({ components: { CheckoutSteps, Steps, PriceSummary, CartPageSummary } })\r\nexport default class Checkout extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<ICheckout>, required: true, default: {} }) vm!: ICheckout;\r\n\r\n\tcartStore = useCartStore();\r\n\tcheckoutStore = useCheckoutStore();\r\n\r\n\tcreated(): void {\r\n\t\tif (!this.vm.checkoutForm.billingAddressForm) {\r\n\t\t\tthis.vm.checkoutForm.billingAddressForm = { ...this.vm.checkoutForm.companyForm };\r\n\t\t}\r\n\t\tthis.checkoutStore.vm = this.vm;\r\n\t\tthis.cartStore.cartClient = this.vm.cartClient;\r\n\t\tthis.checkoutStore.isDetailStepValid = this.vm.hasPreviouslyOrdered;\r\n\t\tLog.info(\"Checkout\", this.vm);\r\n\t}\r\n\r\n\tget cartClient(): CartClient {\r\n\t\treturn this.cartStore.cartClient?.itemCount ? this.cartStore.cartClient : this.checkoutStore.vm.cartClient;\r\n\t}\r\n\r\n\tget activeStep(): CheckoutStep {\r\n\t\treturn this.checkoutStore.activeStep;\r\n\t}\r\n\r\n\tget isOverviewStep(): boolean {\r\n\t\treturn this.activeStep === CheckoutStep.Overview;\r\n\t}\r\n\r\n\tget priceSummary(): IPriceSummary {\r\n\t\tlet {\r\n\t\t\tappliedCouponCodes,\r\n\t\t\ttotalBasePrice,\r\n\t\t\tsubtotalWithoutVat,\r\n\t\t\tpersonalDiscount,\r\n\t\t\ttotalPrice,\r\n\t\t\ttotalInstallationPrice,\r\n\t\t\tvatPercentage,\r\n\t\t\tvatAmount,\r\n\t\t} = this.cartClient;\r\n\t\tconst { creditCardSurtaxPercentage, vatSituation, checkoutForm } = this.checkoutStore.vm;\r\n\t\t\r\n\t\tconst couponDiscount = sum(appliedCouponCodes?.map((x) => x.discount));\r\n\t\tconst discountLines = new Map<string, number>();\r\n\t\tappliedCouponCodes?.forEach((coupon: CouponCode) => {\r\n\t\t\tconst name = coupon.isCadacWallet ? this.$t(\"cart.lblCadacWallet\") : coupon.name;\r\n\t\t\tdiscountLines.set(name, coupon.discount);\r\n\t\t});\r\n\t\tconst creditCardSurchargePercentage = creditCardSurtaxPercentage;\r\n\t\tconst creditCardSurchargeAmount =\r\n\t\t\tcheckoutForm.selectedPaymentMethod === PaymentMethod.creditcard\r\n\t\t\t\t? creditCardSurchargePercentage\r\n\t\t\t\t\t? (totalPrice * creditCardSurchargePercentage) / 100\r\n\t\t\t\t\t: 0\r\n\t\t\t\t: 0;\r\n\r\n\t\tif (creditCardSurchargeAmount) totalPrice += creditCardSurchargeAmount;\r\n\t\treturn {\r\n\t\t\ttotalBasePrice,\r\n\t\t\tdiscountLines: discountLines,\r\n\t\t\ttotalCouponDiscount: couponDiscount,\r\n\t\t\ttotalDiscount: personalDiscount + couponDiscount,\r\n\t\t\ttotalPersonalPrice: subtotalWithoutVat,\r\n\t\t\ttotalInstallPrice: totalInstallationPrice,\r\n\t\t\ttotalPrice,\r\n\t\t\tvatPercentage,\r\n\t\t\tvatSituation,\r\n\t\t\tvatAmount,\r\n\t\t\tcreditCardSurchargeAmount,\r\n\t\t\tcreditCardSurchargePercentage,\r\n\t\t\tapplyAutodeskWallet: checkoutForm.applyAutodeskWallet,\r\n\t\t\tmaxAutodeskWalletToSpend: checkoutForm.maxAutodeskWalletToSpend,\r\n\t\t} as IPriceSummary;\r\n\t}\r\n\r\n\tget paymentFailedMessage(): string {\r\n\t\tswitch (this.vm.paymentStatus) {\r\n\t\t\tcase BuckarooStatus.REJECTED:\r\n\t\t\tcase BuckarooStatus.CANCELLED:\r\n\t\t\t\treturn this.$t(\"checkout.message.paymentCancelled\");\r\n\t\t\tdefault:\r\n\t\t\t\treturn this.$t(\"checkout.message.paymentFailed\");\r\n\t\t}\r\n\t}\r\n\r\n\tgoToNextStep(): void {\r\n\t\tconst nextStep = this.activeStep + 1;\r\n\t\tif (nextStep === CheckoutStep.Confirmation) {\r\n\t\t\tthis.completePurchase();\r\n\t\t} else if (this.canGoToStep(nextStep)) {\r\n\t\t\tthis.trackCheckoutStep(this.activeStep);\r\n\t\t\tthis.checkoutStore.activeStep = nextStep;\r\n\t\t\tconst stepsEl = document.querySelector(\".checkout-steps\");\r\n\t\t\twindow.scrollTo(0, stepsEl?.getBoundingClientRect().bottom || 80);\r\n\t\t}\r\n\t}\r\n\r\n\tcanGoToStep(step: CheckoutStep): boolean {\r\n\t\treturn this.checkoutStore.canGoToStep(step);\r\n\t}\r\n\r\n\tprivate trimCheckoutModel(): CheckoutForm {\r\n\t\tconst checkoutModel = this.checkoutStore.vm.checkoutForm;\r\n\t\t//Reset payment provider for payment methods where it's not needed, else the buckaroo payment will fail.\r\n\t\tif (checkoutModel.selectedPaymentMethod === PaymentMethod.creditcard) {\r\n\t\t\tcheckoutModel.paymentMethod = checkoutModel.selectedPaymentProvider;\r\n\t\t\tcheckoutModel.selectedPaymentProvider = \"\";\r\n\t\t} else if (checkoutModel.selectedPaymentMethod !== PaymentMethod.ideal) {\r\n\t\t\tcheckoutModel.selectedPaymentProvider = \"\";\r\n\t\t}\r\n\t\treturn checkoutModel;\r\n\t}\r\n\r\n\tprivate completePurchase(): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tconsole.log(\" this.trimCheckoutModel()\", this.trimCheckoutModel());\r\n\t\tthis.axios\r\n\t\t\t.post(`/api/${this.layoutStore.vm.localizationPrefix}/checkout/complete/`, this.trimCheckoutModel())\r\n\t\t\t.then((res) => {\r\n\t\t\t\tthis.trackPurchase();\r\n\t\t\t\tthis.openUrl(res.data);\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tdetail: this.$t(\"checkout.toast.completePurchaseError\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n\r\n\tprivate trackCheckoutStep(step: number): void {\r\n\t\tlet orderDataDataLayer;\r\n\t\tlet checkoutDataLayer;\r\n\t\tconst eventStep = (): GaEvent => {\r\n\t\t\tswitch (step) {\r\n\t\t\t\tcase CheckoutStep.Details:\r\n\t\t\t\t\torderDataDataLayer = {\r\n\t\t\t\t\t\tcoupon: first(this.cartClient.appliedCouponCodes?.map((x) => x.name)) || null,\r\n\t\t\t\t\t};\r\n\t\t\t\t\tcheckoutDataLayer = this.constructCheckoutData(1, \"add_shipping_info\", 4);\r\n\t\t\t\t\treturn GaEvent.AddShippingInfo;\r\n\t\t\t\tcase CheckoutStep.PaymentMethod:\r\n\t\t\t\t\torderDataDataLayer = {\r\n\t\t\t\t\t\tpayment_method: PaymentMethod[this.vm.checkoutForm.selectedPaymentMethod],\r\n\t\t\t\t\t\tcoupon: first(this.cartClient.appliedCouponCodes?.map((x) => x.name)) || null,\r\n\t\t\t\t\t};\r\n\t\t\t\t\tcheckoutDataLayer = this.constructCheckoutData(2, \"add_payment_info\", 4);\r\n\r\n\t\t\t\t\treturn GaEvent.AddPaymentInfo;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn GaEvent.Undefined;\r\n\t\t\t}\r\n\t\t};\r\n\t\tif (eventStep()) {\r\n\t\t\tconst eCommerceDataLayer = this.constructECommerceDataLayer(\r\n\t\t\t\teventStep(),\r\n\t\t\t\ttoFixed(this.priceSummary.totalPersonalPrice, 2),\r\n\t\t\t\tthis.cartStore.allCartLineClients.map((item) => ({\r\n\t\t\t\t\t...item,\r\n\t\t\t\t\tname: item.title,\r\n\t\t\t\t\tpriceSubTotal: item.priceSubTotal / (item.amount || 1),\r\n\t\t\t\t\tpriceBase: item.priceSubTotal / (item.amount || 1),\r\n\t\t\t\t\tdiscount: item.discount / (item.amount || 1),\r\n\t\t\t\t})),\r\n\t\t\t\tnull\r\n\t\t\t);\r\n\r\n\t\t\tthis.setDataLayer.checkoutStepEvents(eCommerceDataLayer, checkoutDataLayer, orderDataDataLayer);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate trackPurchase(): void {\r\n\t\tconst eCommerceDataLayer = this.constructECommerceDataLayer(\r\n\t\t\tGaEvent.Purchase,\r\n\t\t\ttoFixed(this.priceSummary.totalPersonalPrice, 2),\r\n\t\t\tthis.cartStore.allCartLineClients.map((item) => ({\r\n\t\t\t\t...item,\r\n\t\t\t\tname: item.title,\r\n\t\t\t\tpriceSubTotal: item.priceSubTotal / (item.amount || 1),\r\n\t\t\t\tpriceBase: item.priceSubTotal / (item.amount || 1),\r\n\t\t\t\tdiscount: item.discount / (item.amount || 1),\r\n\t\t\t})),\r\n\t\t\tnull\r\n\t\t);\r\n\r\n\t\tconst hasUsedWallet = this.cartClient.appliedCouponCodes?.filter((x) => x.isCadacWallet)?.length;\r\n\t\tconst currentDate = (): string => {\r\n\t\t\tconst today = new Date();\r\n\t\t\tconst yyyy = today.getFullYear();\r\n\t\t\tconst mm = (\"0\" + (today.getMonth() + 1)).slice(-2);\r\n\t\t\tconst dd = (\"0\" + today.getDate()).slice(-2);\r\n\t\t\tconst currentDate = dd + \"-\" + mm + \"-\" + yyyy;\r\n\t\t\treturn currentDate;\r\n\t\t};\r\n\r\n\t\tconst orderDataDataLayer = {\r\n\t\t\ttransaction_id: null,\r\n\t\t\tvat: toFixed(this.priceSummary.vatAmount, 2),\r\n\t\t\tcoupon: this.toSnakeCase(first(this.cartClient.appliedCouponCodes?.map((x) => x.value))) || null,\r\n\t\t\twallet_value_used: hasUsedWallet\r\n\t\t\t\t? toFixed(first(this.cartClient.appliedCouponCodes?.map((x) => x.discount)), 2)\r\n\t\t\t\t: null,\r\n\t\t\tcurrency: this.currentCurrency.toLowerCase(),\r\n\t\t\tpayment_method: PaymentMethod[this.checkoutStore.vm.checkoutForm.selectedPaymentMethod],\r\n\t\t\torder_date: currentDate(),\r\n\t\t\tcustomer: this.userProfile ? this.constructCustomerData(this.userProfile) : null,\r\n\t\t};\r\n\r\n\t\tconst persistingDatalayer = { eCommerceDataLayer, orderDataDataLayer };\r\n\t\tsessionStorage.setItem(\"purchase-datalayer\", JSON.stringify(persistingDatalayer));\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.checkout-summary {\r\n\tposition: sticky;\r\n\ttop: 6rem;\r\n\tmargin-bottom: 2rem;\r\n}\r\n</style>\r\n","import { renderSlot as _renderSlot, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, createVNode as _createVNode, withModifiers as _withModifiers, withCtx as _withCtx, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-a8b2488c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"header-col\" }\nconst _hoisted_2 = {\n key: 1,\n class: \"text-primary mb-0\"\n}\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"expander\" }, \"----\", -1))\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = [\"href\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ProgressSpinner = _resolveComponent(\"ProgressSpinner\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_ScrollPanel = _resolveComponent(\"ScrollPanel\")!\n const _component_Panel = _resolveComponent(\"Panel\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (_ctx.$slots.card)\n ? _renderSlot(_ctx.$slots, \"card\", { key: 0 }, undefined, true)\n : _createCommentVNode(\"\", true),\n (_ctx.isSmallScreen)\n ? (_openBlock(), _createBlock(_component_Panel, {\n key: 1,\n class: \"col-lg-4 shadow-left sticky-bottom-panel\",\n collapsed: _ctx.isMobilePriceSummaryCollapsed\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: \"d-flex justify-content-between align-items-center w-100 pt-2\",\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.isMobilePriceSummaryCollapsed = !_ctx.isMobilePriceSummaryCollapsed))\n }, [\n (_ctx.isSpinnerVisible('priceSummary'))\n ? (_openBlock(), _createBlock(_component_ProgressSpinner, {\n key: 0,\n \"animation-duration\": \".75s\",\n class: \"m-0\",\n \"stroke-width\": \"3\",\n style: {\"width\":\"2.25rem\",\"height\":\"2.25rem\"}\n }))\n : (_openBlock(), _createElementBlock(\"h4\", _hoisted_2, _toDisplayString(_ctx.formatCurrency(_ctx.totalPrice)), 1)),\n _hoisted_3,\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", {\n class: \"d-flex align-items-center justify-content-end\",\n onClick: _cache[1] || (_cache[1] = _withModifiers(() => {}, [\"stop\"]))\n }, [\n _createVNode(_component_Button, {\n class: \"p-button-success p-button-raised p-button-sm p-button-arrow w-100 px-2 mb-1\",\n disabled: !_ctx.canSubmit,\n label: _ctx.buttonText,\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.clickAction()))\n }, null, 8, [\"disabled\", \"label\"])\n ])\n ])\n ]),\n (_ctx.showTerms)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_4, [\n _createVNode(_component_i18n_t, { keypath: \"checkout.lblAgreeWithTerms\" }, {\n link: _withCtx(() => [\n _createElementVNode(\"a\", {\n href: _ctx.checkoutStore.vm.termsAndConditionsLink,\n target: \"_blank\"\n }, _toDisplayString(_ctx.$t(\"common.termsAndConditions\")), 9, _hoisted_5)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n default: _withCtx(() => [\n _createVNode(_component_ScrollPanel, { style: {\"width\":\"100%\",\"height\":\"clamp(200px, 30vh, 300px)\"} }, {\n default: _withCtx(() => [\n (_ctx.isSpinnerVisible('priceSummary'))\n ? (_openBlock(), _createBlock(_component_ProgressSpinner, {\n key: 0,\n \"animation-duration\": \".75s\",\n class: \"d-block ml-auto mr-auto\",\n \"stroke-width\": \"3\"\n }))\n : (_ctx.$slots.priceSummary)\n ? _renderSlot(_ctx.$slots, \"priceSummary\", { key: 1 }, undefined, true)\n : _createCommentVNode(\"\", true)\n ]),\n _: 3\n })\n ]),\n _: 3\n }, 8, [\"collapsed\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<slot v-if=\"$slots.card\" name=\"card\" />\r\n\t<Panel\r\n\t\tv-if=\"isSmallScreen\"\r\n\t\tclass=\"col-lg-4 shadow-left sticky-bottom-panel\"\r\n\t\t:collapsed=\"isMobilePriceSummaryCollapsed\"\r\n\t>\r\n\t\t<template #header>\r\n\t\t\t<div class=\"header-col\">\r\n\t\t\t\t<div\r\n\t\t\t\t\tclass=\"d-flex justify-content-between align-items-center w-100 pt-2\"\r\n\t\t\t\t\t@click=\"isMobilePriceSummaryCollapsed = !isMobilePriceSummaryCollapsed\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<ProgressSpinner\r\n\t\t\t\t\t\tv-if=\"isSpinnerVisible('priceSummary')\"\r\n\t\t\t\t\t\tanimation-duration=\".75s\"\r\n\t\t\t\t\t\tclass=\"m-0\"\r\n\t\t\t\t\t\tstroke-width=\"3\"\r\n\t\t\t\t\t\tstyle=\"width: 2.25rem; height: 2.25rem\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<h4 v-else class=\"text-primary mb-0\">\r\n\t\t\t\t\t\t{{ formatCurrency(totalPrice) }}\r\n\t\t\t\t\t</h4>\r\n\r\n\t\t\t\t\t<span class=\"expander\">----</span>\r\n\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<div class=\"d-flex align-items-center justify-content-end\" @click.stop>\r\n\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\tclass=\"p-button-success p-button-raised p-button-sm p-button-arrow w-100 px-2 mb-1\"\r\n\t\t\t\t\t\t\t\t:disabled=\"!canSubmit\"\r\n\t\t\t\t\t\t\t\t:label=\"buttonText\"\r\n\t\t\t\t\t\t\t\t@click=\"clickAction()\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<small v-if=\"showTerms\">\r\n\t\t\t\t\t<i18n-t keypath=\"checkout.lblAgreeWithTerms\">\r\n\t\t\t\t\t\t<template #link>\r\n\t\t\t\t\t\t\t<!-- TODO get link for current locale-->\r\n\t\t\t\t\t\t\t<a :href=\"checkoutStore.vm.termsAndConditionsLink\" target=\"_blank\">{{\r\n\t\t\t\t\t\t\t\t$t(\"common.termsAndConditions\")\r\n\t\t\t\t\t\t\t}}</a>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</i18n-t>\r\n\t\t\t\t</small>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t\t<template #default>\r\n\t\t\t<ScrollPanel style=\"width: 100%; height: clamp(200px, 30vh, 300px)\">\r\n\t\t\t\t<ProgressSpinner\r\n\t\t\t\t\tv-if=\"isSpinnerVisible('priceSummary')\"\r\n\t\t\t\t\tanimation-duration=\".75s\"\r\n\t\t\t\t\tclass=\"d-block ml-auto mr-auto\"\r\n\t\t\t\t\tstroke-width=\"3\"\r\n\t\t\t\t/>\r\n\t\t\t\t<slot v-else-if=\"$slots.priceSummary\" name=\"priceSummary\" />\r\n\t\t\t</ScrollPanel>\r\n\t\t</template>\r\n\t</Panel>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Emit, Prop } from \"vue-facing-decorator\";\r\nimport ProgressSpinner from \"primevue/progressspinner\";\r\nimport ScrollPanel from \"primevue/scrollpanel\";\r\nimport { useCheckoutStore } from \"@/store/commerce/checkoutStore\";\r\n\r\n@Component({ components: { ScrollPanel, ProgressSpinner } })\r\nexport default class CartPageSummary extends BaseComponent {\r\n\t@Prop({ type: Number, required: true, default: 0 }) totalPrice!: number;\r\n\t@Prop({ type: Boolean, required: false, default: false }) canSubmit!: boolean;\r\n\t@Prop({ type: String, required: true, default: \"\" }) buttonText!: string;\r\n\t@Prop({ type: Boolean, default: false }) showTerms = false;\r\n\r\n\tisMobilePriceSummaryCollapsed = true;\r\n\tcheckoutStore = useCheckoutStore();\r\n\r\n\t@Emit() clickAction(): void {\r\n\t\treturn;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.summary-sticky-top {\r\n\tposition: sticky;\r\n\ttop: var(--navbarHeightInPx);\r\n\tmargin-bottom: 1rem;\r\n\r\n\t::v-deep(.p-card-footer) {\r\n\t\tpadding-top: 0;\r\n\t}\r\n}\r\n\r\n.expander {\r\n\tcolor: var(--text-color-secondary);\r\n\tfont-size: 2rem;\r\n\tfont-weight: 600;\r\n\tcursor: pointer;\r\n\tposition: absolute;\r\n\ttop: -1.2rem;\r\n\tleft: 50%;\r\n\tletter-spacing: -5px;\r\n}\r\n\r\n.shadow-left {\r\n\tbox-shadow: -5px 0px 5px 1px #dddd;\r\n}\r\n\r\n.sticky-bottom-panel {\r\n position: sticky;\r\n bottom: 0;\r\n left: 0;\r\n z-index: 101;\r\n width: 100%;\r\n background: var(--surface-a);\r\n box-shadow: 0px -4px 8px -7px rgba(0, 0, 0, 0.75);\r\n}\r\n\r\n.header-col {\r\n\tflex-basis: 0;\r\n\tflex-grow: 1;\r\n\tmax-width: 100%;\r\n}\r\n</style>\r\n","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Steps = _resolveComponent(\"Steps\")!\n\n return (_openBlock(), _createBlock(_component_Steps, {\n class: \"my-3 checkout-steps\",\n model: _ctx.steps,\n readonly: false\n }, null, 8, [\"model\"]))\n}","<template>\r\n\t<Steps class=\"my-3 checkout-steps\" :model=\"steps\" :readonly=\"false\" />\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport CheckoutDetails from \"@/components/commerce/checkout/checkoutDetails.vue\";\r\nimport CheckoutOrderConfirmation from \"@/components/commerce/checkout/checkoutOrderConfirmation.vue\";\r\nimport OrderSummary from \"@/components/commerce/checkout/orderSummary.vue\";\r\nimport PaymentMethodSelection from \"@/components/commerce/checkout/paymentMethodSelection.vue\";\r\nimport Steps from \"primevue/steps\";\r\nimport { Component, Watch } from \"vue-facing-decorator\";\r\nimport { useCheckoutStore } from \"@/store/commerce/checkoutStore\";\r\n\r\nexport enum CheckoutStep {\r\n\tDetails,\r\n\tPaymentMethod,\r\n\tOverview,\r\n\tConfirmation,\r\n\tUnknown = -1,\r\n}\r\n\r\nexport interface CheckoutStepOption {\r\n\tlabel: string;\r\n\tstep: CheckoutStep;\r\n\tto: string;\r\n\tcommand: any;\r\n\tdisabled: any;\r\n}\r\n\r\n@Component({ components: { Steps } })\r\nexport default class CheckoutSteps extends BaseComponent {\r\n\tcheckoutStore = useCheckoutStore();\r\n\tsteps: CheckoutStepOption[] = [];\r\n\r\n\t@Watch(\"checkoutStore.activeStep\") onStepChanged(step: CheckoutStep): void {\r\n\t\tconst nextStep = this.steps.find((x) => x.step === step);\r\n\t\tif (nextStep && this.checkoutStore.canGoToStep(step)) this.displayStep(nextStep);\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.setupStepsRoutes();\r\n\t\tthis.steps = [\r\n\t\t\t{\r\n\t\t\t\tlabel: this.$t(\"checkout.step1\"),\r\n\t\t\t\tto: \"/checkout/details\",\r\n\t\t\t\tstep: CheckoutStep.Details,\r\n\t\t\t\tcommand: () => this.goToStep(CheckoutStep.Details),\r\n\t\t\t\tdisabled: () => !this.checkoutStore.canGoToStep(CheckoutStep.Details),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: this.$t(\"checkout.step2\"),\r\n\t\t\t\tto: \"/checkout/payment\",\r\n\t\t\t\tstep: CheckoutStep.PaymentMethod,\r\n\t\t\t\tcommand: () => this.goToStep(CheckoutStep.PaymentMethod),\r\n\t\t\t\tdisabled: () => !this.checkoutStore.canGoToStep(CheckoutStep.PaymentMethod),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: this.$t(\"checkout.step3\"),\r\n\t\t\t\tto: \"/checkout/overview\",\r\n\t\t\t\tstep: CheckoutStep.Overview,\r\n\t\t\t\tcommand: () => this.goToStep(CheckoutStep.Overview),\r\n\t\t\t\tdisabled: () => !this.checkoutStore.canGoToStep(CheckoutStep.Overview),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: this.$t(\"checkout.step4\"),\r\n\t\t\t\tto: \"/checkout/confirmation\",\r\n\t\t\t\tstep: CheckoutStep.Confirmation,\r\n\t\t\t\tcommand: () => this.goToStep(CheckoutStep.Confirmation),\r\n\t\t\t\tdisabled: () => true,\r\n\t\t\t},\r\n\t\t];\r\n\r\n\t\tthis.checkoutStore.activeStep = CheckoutStep.Details;\r\n\t}\r\n\r\n\tgoToStep(step: CheckoutStep): void {\r\n\t\tif (this.checkoutStore.canGoToStep(step)) this.checkoutStore.activeStep = step;\r\n\t}\r\n\r\n\tprivate displayStep(step: CheckoutStepOption): void {\r\n\t\tthis.$router.push({ path: step.to });\r\n\t}\r\n\r\n\tprivate setupStepsRoutes(): void {\r\n\t\tthis.$router.addRoute({ path: \"/checkout/details\", component: CheckoutDetails });\r\n\t\tthis.$router.addRoute({ path: \"/checkout/payment/\", component: PaymentMethodSelection });\r\n\t\tthis.$router.addRoute({ path: \"/checkout/overview/\", component: OrderSummary });\r\n\t\tthis.$router.addRoute({ path: \"/checkout/confirmation/\", component: CheckoutOrderConfirmation });\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = { class: \"row\" }\nconst _hoisted_2 = { class: \"col-12 mb-2\" }\nconst _hoisted_3 = { class: \"p-field-checkbox mr-2 my-2\" }\nconst _hoisted_4 = {\n class: \"ml-1 mb-0\",\n for: 'useDifferentInvoiceAddress'\n}\nconst _hoisted_5 = {\n key: 0,\n class: \"row\"\n}\nconst _hoisted_6 = { class: \"col-12 mb-2\" }\nconst _hoisted_7 = { class: \"row\" }\nconst _hoisted_8 = { class: \"col-12 mb-2\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_CompanyForm = _resolveComponent(\"CompanyForm\")!\n const _component_Checkbox = _resolveComponent(\"Checkbox\")!\n const _component_AddressForm = _resolveComponent(\"AddressForm\")!\n const _component_PersonalForm = _resolveComponent(\"PersonalForm\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.$t(\"checkout.titleYourCompany\")), 1),\n _createVNode(_component_CompanyForm, {\n modelValue: _ctx.vm.checkoutForm.companyForm,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.vm.checkoutForm.companyForm) = $event)),\n ref: \"companyForm\",\n \"auto-complete\": \"\",\n countries: _ctx.vm.countries,\n \"has-previously-ordered\": _ctx.vm.hasPreviouslyOrdered,\n \"use-vat\": _ctx.useVat,\n onFormStateChanged: _ctx.checkIfDetailStepIsValid\n }, null, 8, [\"modelValue\", \"countries\", \"has-previously-ordered\", \"use-vat\", \"onFormStateChanged\"]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_Checkbox, {\n modelValue: _ctx.vm.checkoutForm.useDifferentInvoiceAddress,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.vm.checkoutForm.useDifferentInvoiceAddress) = $event)),\n id: 'useDifferentInvoiceAddress',\n binary: true,\n name: \"roles\"\n }, null, 8, [\"modelValue\"]),\n _createElementVNode(\"label\", _hoisted_4, _toDisplayString(_ctx.$t(\"checkout.lblUseDifferentInvoiceAddress\")), 1)\n ])\n ])\n ]),\n (_ctx.vm.checkoutForm.useDifferentInvoiceAddress)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.$t(\"checkout.titleBillingAddress\")), 1),\n _createVNode(_component_AddressForm, {\n modelValue: _ctx.vm.checkoutForm.billingAddressForm,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.vm.checkoutForm.billingAddressForm) = $event)),\n ref: \"billingAddressForm\",\n countries: _ctx.vm.countries,\n onFormStateChanged: _ctx.checkIfDetailStepIsValid\n }, null, 8, [\"modelValue\", \"countries\", \"onFormStateChanged\"])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.$t(\"checkout.titlePersonalInfo\")), 1),\n _createVNode(_component_PersonalForm, {\n modelValue: _ctx.vm.checkoutForm.personalForm,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.vm.checkoutForm.personalForm) = $event)),\n ref: \"personalForm\",\n onFormStateChanged: _ctx.checkIfDetailStepIsValid\n }, null, 8, [\"modelValue\", \"onFormStateChanged\"])\n ])\n ])\n ], 64))\n}","<template>\r\n\t<div class=\"row\">\r\n\t\t<div class=\"col-12 mb-2\">\r\n\t\t\t<h3>{{ $t(\"checkout.titleYourCompany\") }}</h3>\r\n\t\t\t<CompanyForm\r\n\t\t\t\tv-model=\"vm.checkoutForm.companyForm\"\r\n\t\t\t\tref=\"companyForm\"\r\n\t\t\t\tauto-complete\r\n\t\t\t\t:countries=\"vm.countries\"\r\n\t\t\t\t:has-previously-ordered=\"vm.hasPreviouslyOrdered\"\r\n\t\t\t\t:use-vat=\"useVat\"\r\n\t\t\t\t@form-state-changed=\"checkIfDetailStepIsValid\"\r\n\t\t\t/>\r\n\t\t\t<div class=\"p-field-checkbox mr-2 my-2\">\r\n\t\t\t\t<Checkbox\r\n\t\t\t\t\tv-model=\"vm.checkoutForm.useDifferentInvoiceAddress\"\r\n\t\t\t\t\t:id=\"'useDifferentInvoiceAddress'\"\r\n\t\t\t\t\t:binary=\"true\"\r\n\t\t\t\t\tname=\"roles\"\r\n\t\t\t\t/>\r\n\t\t\t\t<label class=\"ml-1 mb-0\" :for=\"'useDifferentInvoiceAddress'\">\r\n\t\t\t\t\t{{ $t(\"checkout.lblUseDifferentInvoiceAddress\") }}\r\n\t\t\t\t</label>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div v-if=\"vm.checkoutForm.useDifferentInvoiceAddress\" class=\"row\">\r\n\t\t<div class=\"col-12 mb-2\">\r\n\t\t\t<h3>{{ $t(\"checkout.titleBillingAddress\") }}</h3>\r\n\t\t\t<AddressForm\r\n\t\t\t\tv-model=\"vm.checkoutForm.billingAddressForm\"\r\n\t\t\t\tref=\"billingAddressForm\"\r\n\t\t\t\t:countries=\"vm.countries\"\r\n\t\t\t\t@form-state-changed=\"checkIfDetailStepIsValid\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"row\">\r\n\t\t<div class=\"col-12 mb-2\">\r\n\t\t\t<h3>{{ $t(\"checkout.titlePersonalInfo\") }}</h3>\r\n\t\t\t<PersonalForm\r\n\t\t\t\tv-model=\"vm.checkoutForm.personalForm\"\r\n\t\t\t\tref=\"personalForm\"\r\n\t\t\t\t@form-state-changed=\"checkIfDetailStepIsValid\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport AddressForm from \"@/components/common/forms/addressForm.vue\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Checkbox from \"primevue/checkbox\";\r\nimport CompanyForm from \"@/components/common/forms/companyForm.vue\";\r\nimport PersonalForm from \"@/components/common/forms/personalForm.vue\";\r\nimport { AddressForm as AddressFormModel } from \"@/types/models/form/addressForm\";\r\nimport { CompanyForm as CompanyFormModel } from \"@/types/models/form/companyForm\";\r\nimport { Component, Ref } from \"vue-facing-decorator\";\r\nimport { FormComponent } from \"@/types/models/form/formComponent\";\r\nimport { ICheckout } from \"@/types/viewModels/commerce/checkoutViewModel\";\r\nimport { PersonalForm as PersonalFormModel } from \"@/types/models/form/personalForm\";\r\nimport { VatSituation } from \"@/types/enum/vatSituation\";\r\nimport { useCheckoutStore } from \"@/store/commerce/checkoutStore\";\r\n\r\n@Component({\r\n\tcomponents: { PersonalForm, AddressForm, CompanyForm, Checkbox },\r\n})\r\nexport default class CheckoutDetails extends BaseComponent {\r\n\t@Ref readonly companyForm!: FormComponent<CompanyFormModel>;\r\n\t@Ref readonly billingAddressForm!: FormComponent<AddressFormModel>;\r\n\t@Ref readonly personalForm!: FormComponent<PersonalFormModel>;\r\n\r\n\tcheckoutStore = useCheckoutStore();\r\n\r\n\tmounted(): void {\r\n\t\tthis.checkIfDetailStepIsValid();\r\n\t}\r\n\r\n\tget vm(): ICheckout {\r\n\t\treturn this.checkoutStore.vm as ICheckout;\r\n\t}\r\n\r\n\tget useVat(): boolean {\r\n\t\treturn this.vm.vatSituation !== VatSituation.NoVat;\r\n\t}\r\n\r\n\tcheckIfDetailStepIsValid(): void {\r\n\t\tif (!this.companyForm?.form) return;\r\n\t\tconst requiredForms: any[] = [this.companyForm.form.validate(), this.personalForm.form.validate()];\r\n\r\n\t\tif (this.vm.checkoutForm.useDifferentInvoiceAddress) {\r\n\t\t\trequiredForms.push(this.billingAddressForm.form.validate());\r\n\t\t}\r\n\t\tPromise.all(requiredForms).then((results) => {\r\n\t\t\tthis.checkoutStore.isDetailStepValid = results.map((x) => x.valid).every(Boolean);\r\n\t\t});\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { render } from \"./checkoutDetails.vue?vue&type=template&id=6049e7b2&ts=true\"\nimport script from \"./checkoutDetails.vue?vue&type=script&lang=ts\"\nexport * from \"./checkoutDetails.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", null, \"confirm\"))\n}","<template>\r\n\t<div>confirm</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component } from \"vue-facing-decorator\";\r\n\r\n@Component\r\nexport default class CheckoutOrderConfirmation extends BaseComponent {}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped></style>\r\n","import { render } from \"./checkoutOrderConfirmation.vue?vue&type=template&id=376b5c32&ts=true\"\nimport script from \"./checkoutOrderConfirmation.vue?vue&type=script&lang=ts\"\nexport * from \"./checkoutOrderConfirmation.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, createBlock as _createBlock, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = { class: \"row\" }\nconst _hoisted_2 = { class: \"col-12 col-lg-6 mb-2\" }\nconst _hoisted_3 = { class: \"mb-1\" }\nconst _hoisted_4 = [\"textContent\"]\nconst _hoisted_5 = [\"textContent\"]\nconst _hoisted_6 = { class: \"mb-0\" }\nconst _hoisted_7 = [\"textContent\"]\nconst _hoisted_8 = [\"textContent\"]\nconst _hoisted_9 = [\"textContent\"]\nconst _hoisted_10 = {\n key: 0,\n class: \"col-12 col-lg-6 mb-2\"\n}\nconst _hoisted_11 = { class: \"mb-1\" }\nconst _hoisted_12 = [\"textContent\"]\nconst _hoisted_13 = { class: \"mb-0\" }\nconst _hoisted_14 = [\"textContent\"]\nconst _hoisted_15 = [\"textContent\"]\nconst _hoisted_16 = [\"textContent\"]\nconst _hoisted_17 = { class: \"col-12 col-lg-6 mb-2\" }\nconst _hoisted_18 = { class: \"mb-1\" }\nconst _hoisted_19 = [\"textContent\"]\nconst _hoisted_20 = [\"textContent\"]\nconst _hoisted_21 = {\n key: 1,\n class: \"col-12 col-lg-6 mb-2\"\n}\nconst _hoisted_22 = { class: \"mb-1\" }\nconst _hoisted_23 = { class: \"d-flex align-items-center\" }\nconst _hoisted_24 = { class: \"col-12 col-lg-6 mb-2\" }\nconst _hoisted_25 = { class: \"mb-1\" }\nconst _hoisted_26 = { class: \"d-flex align-items-center\" }\nconst _hoisted_27 = {\n class: \"mr-1\",\n height: \"67\",\n width: \"67\"\n}\nconst _hoisted_28 = [\"xlink:href\"]\nconst _hoisted_29 = [\"textContent\"]\nconst _hoisted_30 = { class: \"row\" }\nconst _hoisted_31 = { class: \"col-12 col-lg-6 mb-2\" }\nconst _hoisted_32 = { class: \"col-12 col-lg-6 mb-2\" }\nconst _hoisted_33 = { class: \"row\" }\nconst _hoisted_34 = {\n key: 0,\n class: \"col-12 mb-2\"\n}\nconst _hoisted_35 = { class: \"mb-1\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Panel = _resolveComponent(\"Panel\")!\n const _component_InputText = _resolveComponent(\"InputText\")!\n const _component_CartOverview = _resolveComponent(\"CartOverview\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_Panel, { toggleable: false }, {\n header: _withCtx(() => [\n _createElementVNode(\"h4\", _hoisted_3, _toDisplayString(_ctx.$t(\"checkout.titleYourCompany\")), 1),\n _createVNode(_component_Button, {\n class: \"p-button-raised p-button-text p-button-rounded ml-auto\",\n icon: \"pi pi-pencil\",\n label: _ctx.isSmallScreen ? _ctx.$t('common.edit') : '',\n title: _ctx.$t('common.edit'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.goToStep(0)))\n }, null, 8, [\"label\", \"title\"])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"p\", {\n textContent: _toDisplayString(_ctx.vm.checkoutForm.companyForm.companyName)\n }, null, 8, _hoisted_4),\n _createElementVNode(\"p\", {\n class: \"mb-0\",\n textContent: _toDisplayString(_ctx.vm.checkoutForm.companyForm.street)\n }, null, 8, _hoisted_5),\n _createElementVNode(\"p\", _hoisted_6, [\n _createElementVNode(\"span\", {\n textContent: _toDisplayString(_ctx.vm.checkoutForm.companyForm.postalCode)\n }, null, 8, _hoisted_7),\n _createElementVNode(\"span\", {\n class: \"ml-1\",\n textContent: _toDisplayString(_ctx.vm.checkoutForm.companyForm.city)\n }, null, 8, _hoisted_8)\n ]),\n _createElementVNode(\"p\", {\n class: \"mb-0\",\n textContent: _toDisplayString(_ctx.formatCountry(_ctx.vm.checkoutForm.companyForm.countryCode))\n }, null, 8, _hoisted_9)\n ]),\n _: 1\n })\n ]),\n (_ctx.vm.checkoutForm.useDifferentInvoiceAddress && _ctx.vm.checkoutForm.billingAddressForm)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n _createVNode(_component_Panel, { toggleable: false }, {\n header: _withCtx(() => [\n _createElementVNode(\"h4\", _hoisted_11, _toDisplayString(_ctx.$t(\"checkout.titleBillingAddress\")), 1),\n _createVNode(_component_Button, {\n class: \"p-button-raised p-button-text p-button-rounded ml-auto\",\n icon: \"pi pi-pencil\",\n label: _ctx.isSmallScreen ? _ctx.$t('common.edit') : '',\n title: _ctx.$t('common.edit'),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.goToStep(0)))\n }, null, 8, [\"label\", \"title\"])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"p\", {\n class: \"mb-0\",\n textContent: _toDisplayString(_ctx.vm.checkoutForm.billingAddressForm.street)\n }, null, 8, _hoisted_12),\n _createElementVNode(\"p\", _hoisted_13, [\n _createElementVNode(\"span\", {\n textContent: _toDisplayString(_ctx.vm.checkoutForm.billingAddressForm.postalCode)\n }, null, 8, _hoisted_14),\n _createElementVNode(\"span\", {\n class: \"ml-1\",\n textContent: _toDisplayString(_ctx.vm.checkoutForm.billingAddressForm.city)\n }, null, 8, _hoisted_15)\n ]),\n _createElementVNode(\"p\", {\n class: \"mb-0\",\n textContent: _toDisplayString(_ctx.formatCountry(_ctx.vm.checkoutForm.billingAddressForm.countryCode))\n }, null, 8, _hoisted_16)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_17, [\n _createVNode(_component_Panel, { toggleable: false }, {\n header: _withCtx(() => [\n _createElementVNode(\"h4\", _hoisted_18, _toDisplayString(_ctx.$t(\"checkout.titlePersonalInfo\")), 1),\n _createVNode(_component_Button, {\n class: \"p-button-raised p-button-text p-button-rounded ml-auto\",\n icon: \"pi pi-pencil\",\n label: _ctx.isSmallScreen ? _ctx.$t('common.edit') : '',\n title: _ctx.$t('common.edit'),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.goToStep(0)))\n }, null, 8, [\"label\", \"title\"])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"p\", {\n class: \"mb-0\",\n textContent: _toDisplayString(_ctx.salutationAndName)\n }, null, 8, _hoisted_19),\n _createElementVNode(\"p\", {\n class: \"mb-0\",\n textContent: _toDisplayString(_ctx.vm.checkoutForm.personalForm.phone)\n }, null, 8, _hoisted_20)\n ]),\n _: 1\n })\n ]),\n (this.orderSummaryForm?.maxAutodeskWalletToSpend > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_21, [\n _createVNode(_component_Panel, { toggleable: false }, {\n header: _withCtx(() => [\n _createElementVNode(\"h4\", _hoisted_22, _toDisplayString(_ctx.$t(\"checkout.cashback.yourCashback\")), 1),\n _createVNode(_component_Button, {\n class: \"p-button-raised p-button-text p-button-rounded ml-auto\",\n icon: \"pi pi-pencil\",\n label: _ctx.isSmallScreen ? _ctx.$t('common.edit') : '',\n title: _ctx.$t('common.edit'),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.goToStep(1)))\n }, null, 8, [\"label\", \"title\"])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_23, [\n _createElementVNode(\"p\", null, _toDisplayString(this.orderSummaryForm?.applyAutodeskWallet && this.orderSummaryForm?.maxAutodeskWalletToSpend > 0 ? _ctx.$t(\"checkout.cashback.apply\", { amount: _ctx.formatCurrency(this.orderSummaryForm?.maxAutodeskWalletToSpend) }) : _ctx.$t(\"checkout.cashback.none\")), 1)\n ])\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_24, [\n _createVNode(_component_Panel, { toggleable: false }, {\n header: _withCtx(() => [\n _createElementVNode(\"h4\", _hoisted_25, _toDisplayString(_ctx.$t(\"checkout.titlePaymentMethod\")), 1),\n _createVNode(_component_Button, {\n class: \"p-button-raised p-button-text p-button-rounded ml-auto\",\n icon: \"pi pi-pencil\",\n label: _ctx.isSmallScreen ? _ctx.$t('common.edit') : '',\n title: _ctx.$t('common.edit'),\n onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.goToStep(1)))\n }, null, 8, [\"label\", \"title\"])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_26, [\n (_openBlock(), _createElementBlock(\"svg\", _hoisted_27, [\n _createElementVNode(\"use\", { \"xlink:href\": _ctx.paymentIcon }, null, 8, _hoisted_28)\n ])),\n _createElementVNode(\"p\", {\n textContent: _toDisplayString(_ctx.formattedPaymentMethod)\n }, null, 8, _hoisted_29)\n ])\n ]),\n _: 1\n })\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_30, [\n _createElementVNode(\"div\", _hoisted_31, [\n _createVNode(_component_Panel, { toggleable: false }, {\n header: _withCtx(() => [\n _createElementVNode(\"h4\", {\n class: _normalizeClass([\"mb-1\", { required: _ctx.orderSummaryForm.isReferenceNumberRequired }])\n }, _toDisplayString(_ctx.$t(\"checkout.titleReferenceNumber\")), 3)\n ]),\n default: _withCtx(() => [\n _createVNode(_component_InputText, {\n modelValue: _ctx.v$['orderSummaryForm'].reference.$model,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event: any) => ((_ctx.v$['orderSummaryForm'].reference.$model) = $event)),\n placeholder: _ctx.$t('checkout.referenceNumber_placeholder')\n }, null, 8, [\"modelValue\", \"placeholder\"])\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"div\", _hoisted_32, [\n _createVNode(_component_Panel, { toggleable: false }, {\n header: _withCtx(() => [\n _createElementVNode(\"h4\", {\n class: _normalizeClass([\"mb-1\", { required: _ctx.orderSummaryForm.isInvoiceCopyEmailRequired }])\n }, _toDisplayString(_ctx.$t(\"checkout.titleCreditorAdministration\")), 3)\n ]),\n default: _withCtx(() => [\n _createVNode(_component_InputText, {\n modelValue: _ctx.v$['orderSummaryForm'].invoiceCopyEmail.$model,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = ($event: any) => ((_ctx.v$['orderSummaryForm'].invoiceCopyEmail.$model) = $event)),\n placeholder: _ctx.$t('checkout.invoiceCopyEmail_placeholder')\n }, null, 8, [\"modelValue\", \"placeholder\"])\n ]),\n _: 1\n })\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_33, [\n (_ctx.vm?.cartClient?.itemCount)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_34, [\n _createVNode(_component_Panel, { toggleable: false }, {\n header: _withCtx(() => [\n _createElementVNode(\"h4\", _hoisted_35, _toDisplayString(_ctx.$t(\"checkout.titleCart\")), 1),\n (!_ctx.canEditCart)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-text hidden-print p-0\",\n disabled: _ctx.isBusy,\n icon: \"pi pi-pencil\",\n label: _ctx.$t('common.edit'),\n title: _ctx.$t('common.edit'),\n onClick: _cache[7] || (_cache[7] = ($event: any) => (_ctx.canEditCart = !_ctx.canEditCart))\n }, null, 8, [\"disabled\", \"label\", \"title\"]))\n : (_ctx.canEditCart)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-text p-button-success hidden-print p-0\",\n disabled: _ctx.isBusy,\n icon: \"pi pi-check\",\n label: _ctx.$t('checkout.button.doneEditingCart'),\n title: _ctx.$t('checkout.button.doneEditingCart'),\n onClick: _cache[8] || (_cache[8] = ($event: any) => (_ctx.canEditCart = !_ctx.canEditCart))\n }, null, 8, [\"disabled\", \"label\", \"title\"]))\n : _createCommentVNode(\"\", true)\n ]),\n default: _withCtx(() => [\n _createVNode(_component_CartOverview, {\n \"cart-client\": _ctx.vm?.cartClient,\n \"is-editable\": _ctx.canEditCart\n }, null, 8, [\"cart-client\", \"is-editable\"])\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ], 64))\n}","<template>\r\n\t<div class=\"row\">\r\n\t\t<div class=\"col-12 col-lg-6 mb-2\">\r\n\t\t\t<Panel :toggleable=\"false\">\r\n\t\t\t\t<template #header>\r\n\t\t\t\t\t<h4 class=\"mb-1\">{{ $t(\"checkout.titleYourCompany\") }}</h4>\r\n\t\t\t\t\t<Button class=\"p-button-raised p-button-text p-button-rounded ml-auto\"\r\n\t\t\t\t\t\t\ticon=\"pi pi-pencil\"\r\n\t\t\t\t\t\t\t:label=\"isSmallScreen ? $t('common.edit') : ''\"\r\n\t\t\t\t\t\t\t:title=\"$t('common.edit')\"\r\n\t\t\t\t\t\t\t@click=\"goToStep(0)\" />\r\n\t\t\t\t</template>\r\n\t\t\t\t<p v-text=\"vm.checkoutForm.companyForm.companyName\" />\r\n\t\t\t\t<p class=\"mb-0\" v-text=\"vm.checkoutForm.companyForm.street\" />\r\n\t\t\t\t<p class=\"mb-0\">\r\n\t\t\t\t\t<span v-text=\"vm.checkoutForm.companyForm.postalCode\" />\r\n\t\t\t\t\t<span class=\"ml-1\" v-text=\"vm.checkoutForm.companyForm.city\" />\r\n\t\t\t\t</p>\r\n\t\t\t\t<p class=\"mb-0\" v-text=\"formatCountry(vm.checkoutForm.companyForm.countryCode)\" />\r\n\t\t\t</Panel>\r\n\t\t</div>\r\n\t\t<div v-if=\"vm.checkoutForm.useDifferentInvoiceAddress && vm.checkoutForm.billingAddressForm\"\r\n\t\t\t class=\"col-12 col-lg-6 mb-2\">\r\n\t\t\t<Panel :toggleable=\"false\">\r\n\t\t\t\t<template #header>\r\n\t\t\t\t\t<h4 class=\"mb-1\">{{ $t(\"checkout.titleBillingAddress\") }}</h4>\r\n\t\t\t\t\t<Button class=\"p-button-raised p-button-text p-button-rounded ml-auto\"\r\n\t\t\t\t\t\t\ticon=\"pi pi-pencil\"\r\n\t\t\t\t\t\t\t:label=\"isSmallScreen ? $t('common.edit') : ''\"\r\n\t\t\t\t\t\t\t:title=\"$t('common.edit')\"\r\n\t\t\t\t\t\t\t@click=\"goToStep(0)\" />\r\n\t\t\t\t</template>\r\n\t\t\t\t<p class=\"mb-0\" v-text=\"vm.checkoutForm.billingAddressForm.street\" />\r\n\t\t\t\t<p class=\"mb-0\">\r\n\t\t\t\t\t<span v-text=\"vm.checkoutForm.billingAddressForm.postalCode\" />\r\n\t\t\t\t\t<span class=\"ml-1\" v-text=\"vm.checkoutForm.billingAddressForm.city\" />\r\n\t\t\t\t</p>\r\n\t\t\t\t<p class=\"mb-0\" v-text=\"formatCountry(vm.checkoutForm.billingAddressForm.countryCode)\" />\r\n\t\t\t</Panel>\r\n\t\t</div>\r\n\t\t<div class=\"col-12 col-lg-6 mb-2\">\r\n\t\t\t<Panel :toggleable=\"false\">\r\n\t\t\t\t<template #header>\r\n\t\t\t\t\t<h4 class=\"mb-1\">{{ $t(\"checkout.titlePersonalInfo\") }}</h4>\r\n\t\t\t\t\t<Button class=\"p-button-raised p-button-text p-button-rounded ml-auto\"\r\n\t\t\t\t\t\t\ticon=\"pi pi-pencil\"\r\n\t\t\t\t\t\t\t:label=\"isSmallScreen ? $t('common.edit') : ''\"\r\n\t\t\t\t\t\t\t:title=\"$t('common.edit')\"\r\n\t\t\t\t\t\t\t@click=\"goToStep(0)\" />\r\n\t\t\t\t</template>\r\n\t\t\t\t<p class=\"mb-0\" v-text=\"salutationAndName\"></p>\r\n\t\t\t\t<p class=\"mb-0\" v-text=\"vm.checkoutForm.personalForm.phone\" />\r\n\t\t\t</Panel>\r\n\t\t</div>\r\n\t\t<div v-if=\"this.orderSummaryForm?.maxAutodeskWalletToSpend > 0\" class=\"col-12 col-lg-6 mb-2\">\r\n\t\t\t<Panel :toggleable=\"false\">\r\n\t\t\t\t<template #header>\r\n\t\t\t\t\t<h4 class=\"mb-1\">{{ $t(\"checkout.cashback.yourCashback\") }}</h4>\r\n\t\t\t\t\t<Button class=\"p-button-raised p-button-text p-button-rounded ml-auto\"\r\n\t\t\t\t\t\t\ticon=\"pi pi-pencil\"\r\n\t\t\t\t\t\t\t:label=\"isSmallScreen ? $t('common.edit') : ''\"\r\n\t\t\t\t\t\t\t:title=\"$t('common.edit')\"\r\n\t\t\t\t\t\t\t@click=\"goToStep(1)\" />\r\n\t\t\t\t</template>\r\n\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t<p>{{this.orderSummaryForm?.applyAutodeskWallet && this.orderSummaryForm?.maxAutodeskWalletToSpend > 0 ? $t(\"checkout.cashback.apply\", { amount: formatCurrency(this.orderSummaryForm?.maxAutodeskWalletToSpend) }) : $t(\"checkout.cashback.none\") }}</p>\r\n\t\t\t\t</div>\r\n\t\t\t</Panel>\r\n\t\t</div>\r\n\t\t<div class=\"col-12 col-lg-6 mb-2\">\r\n\t\t\t<Panel :toggleable=\"false\">\r\n\t\t\t\t<template #header>\r\n\t\t\t\t\t<h4 class=\"mb-1\">{{ $t(\"checkout.titlePaymentMethod\") }}</h4>\r\n\t\t\t\t\t<Button class=\"p-button-raised p-button-text p-button-rounded ml-auto\"\r\n\t\t\t\t\t\t\ticon=\"pi pi-pencil\"\r\n\t\t\t\t\t\t\t:label=\"isSmallScreen ? $t('common.edit') : ''\"\r\n\t\t\t\t\t\t\t:title=\"$t('common.edit')\"\r\n\t\t\t\t\t\t\t@click=\"goToStep(1)\" />\r\n\t\t\t\t</template>\r\n\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t<svg class=\"mr-1\" height=\"67\" width=\"67\">\r\n\t\t\t\t\t\t<use :xlink:href=\"paymentIcon\" />\r\n\t\t\t\t\t</svg>\r\n\t\t\t\t\t<p v-text=\"formattedPaymentMethod\"></p>\r\n\t\t\t\t</div>\r\n\t\t\t</Panel>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"row\">\r\n\t\t<div class=\"col-12 col-lg-6 mb-2\">\r\n\t\t\t<Panel :toggleable=\"false\">\r\n\t\t\t\t<template #header>\r\n\t\t\t\t\t<h4 class=\"mb-1\" :class=\"{ required: orderSummaryForm.isReferenceNumberRequired }\">\r\n\t\t\t\t\t\t{{ $t(\"checkout.titleReferenceNumber\") }}\r\n\t\t\t\t\t</h4>\r\n\t\t\t\t</template>\r\n\t\t\t\t<InputText\r\n\t\t\t\t\tv-model=\"v$['orderSummaryForm'].reference.$model\"\r\n\t\t\t\t\t:placeholder=\"$t('checkout.referenceNumber_placeholder')\"\r\n\t\t\t\t/>\r\n\t\t\t</Panel>\r\n\t\t</div>\r\n\t\t<div class=\"col-12 col-lg-6 mb-2\">\r\n\t\t\t<Panel :toggleable=\"false\">\r\n\t\t\t\t<template #header>\r\n\t\t\t\t\t<h4 class=\"mb-1\" :class=\"{ required: orderSummaryForm.isInvoiceCopyEmailRequired }\">\r\n\t\t\t\t\t\t{{ $t(\"checkout.titleCreditorAdministration\") }}\r\n\t\t\t\t\t</h4>\r\n\t\t\t\t</template>\r\n\t\t\t\t<InputText\r\n\t\t\t\t\tv-model=\"v$['orderSummaryForm'].invoiceCopyEmail.$model\"\r\n\t\t\t\t\t:placeholder=\"$t('checkout.invoiceCopyEmail_placeholder')\"\r\n\t\t\t\t/>\r\n\t\t\t</Panel>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"row\">\r\n\t\t<div v-if=\"vm?.cartClient?.itemCount\" class=\"col-12 mb-2\">\r\n\t\t\t<Panel :toggleable=\"false\">\r\n\t\t\t\t<template #header>\r\n\t\t\t\t\t<h4 class=\"mb-1\">{{ $t(\"checkout.titleCart\") }}</h4>\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\tv-if=\"!canEditCart\"\r\n\t\t\t\t\t\tclass=\"p-button-text hidden-print p-0\"\r\n\t\t\t\t\t\t:disabled=\"isBusy\"\r\n\t\t\t\t\t\ticon=\"pi pi-pencil\"\r\n\t\t\t\t\t\t:label=\"$t('common.edit')\"\r\n\t\t\t\t\t\t:title=\"$t('common.edit')\"\r\n\t\t\t\t\t\t@click=\"canEditCart = !canEditCart\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\tv-else-if=\"canEditCart\"\r\n\t\t\t\t\t\tclass=\"p-button-text p-button-success hidden-print p-0\"\r\n\t\t\t\t\t\t:disabled=\"isBusy\"\r\n\t\t\t\t\t\ticon=\"pi pi-check\"\r\n\t\t\t\t\t\t:label=\"$t('checkout.button.doneEditingCart')\"\r\n\t\t\t\t\t\t:title=\"$t('checkout.button.doneEditingCart')\"\r\n\t\t\t\t\t\t@click=\"canEditCart = !canEditCart\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</template>\r\n\t\t\t\t<CartOverview :cart-client=\"vm?.cartClient\" :is-editable=\"canEditCart\" />\r\n\t\t\t</Panel>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport CartOverview from \"@/components/commerce/cart/cartOverview.vue\";\r\nimport { CartClient } from \"@/types/models/cart/cartClient\";\r\nimport { CheckoutStep } from \"@/components/commerce/checkout/checkoutSteps.vue\";\r\nimport { Component, Watch } from \"vue-facing-decorator\";\r\nimport { ICheckout } from \"@/types/viewModels/commerce/checkoutViewModel\";\r\nimport { PaymentMethod } from \"@/types/enum/paymentMethod\";\r\nimport { useCartStore } from \"@/store/commerce/cartStore\";\r\nimport { useCheckoutStore } from \"@/store/commerce/checkoutStore\";\r\nimport useVuelidate from \"@vuelidate/core\";\r\nimport { requiredIf } from \"@vuelidate/validators\";\r\nimport { OrderSummaryForm } from \"@/types/models/form/orderSummaryForm\";\r\n\r\nconst requiredReferenceNumber = (_value: string, siblings: any, vm: any): boolean => {\r\n\tif (!vm && siblings) vm = siblings;\r\n\treturn vm?.isReferenceNumberRequired;\r\n};\r\n\r\nconst requiredInvoiceNumber = (_value: string, siblings: any, vm: any): boolean => {\r\n\tif (!vm && siblings) vm = siblings;\r\n\treturn vm?.isInvoiceCopyEmailRequired;\r\n};\r\n\r\n@Component({\r\n\toptions: {\r\n\t\tvalidations: {\r\n\t\t\torderSummaryForm: {\r\n\t\t\t\treference: { required: requiredIf(requiredReferenceNumber as any) },\r\n\t\t\t\tinvoiceCopyEmail: { required: requiredIf(requiredInvoiceNumber as any) },\r\n\t\t\t\tisReferenceNumberRequired: {},\r\n\t\t\t\tisInvoiceCopyEmailRequired: {},\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n\tcomponents: { CartOverview },\r\n})\r\nexport default class OrderSummary extends BaseComponent {\r\n\tcanEditCart = false;\r\n\r\n\tcartStore = useCartStore();\r\n\tcheckoutStore = useCheckoutStore();\r\n\torderSummaryForm!: Partial<OrderSummaryForm>;\r\n\tv$ = useVuelidate();\r\n\r\n\t@Watch(\"v$.$invalid\") onValidationChanged(val: boolean): void {\r\n\t\tthis.checkoutStore.isOverviewStepValid = !val;\r\n\t}\r\n\r\n\tget vm(): ICheckout {\r\n\t\treturn this.checkoutStore.vm as ICheckout;\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.orderSummaryForm = this.vm.checkoutForm;\r\n\r\n\t\tthis.orderSummaryForm.isReferenceNumberRequired = this.vm.checkoutForm.referenceRequired;\r\n\t\tthis.orderSummaryForm.isInvoiceCopyEmailRequired = false;\r\n\t}\r\n\r\n\tget editingCartClient(): CartClient {\r\n\t\treturn this.canEditCart ? this.cartStore.cartClient : this.vm?.cartClient;\r\n\t}\r\n\r\n\tget salutationAndName(): string {\r\n\t\tconst { gender, firstName, lastName } = this.vm.checkoutForm.personalForm;\r\n\t\tconst salutation = this.$t(`enum.salutation.${gender}`);\r\n\t\treturn `${salutation} ${firstName} ${lastName}`;\r\n\t}\r\n\r\n\tget paymentIcon(): string {\r\n\t\tconst { paymentMethod, selectedPaymentMethod, selectedPaymentProvider } = this.vm.checkoutForm;\r\n\t\treturn selectedPaymentMethod === PaymentMethod.creditcard\r\n\t\t\t? `#payment-${selectedPaymentProvider}`\r\n\t\t\t: `#payment-${paymentMethod}`;\r\n\t}\r\n\r\n\tget formattedPaymentMethod(): string {\r\n\t\tconst { selectedPaymentMethod, selectedPaymentProvider } = this.vm.checkoutForm;\r\n\t\tconst selectedPaymentMethodName = this.$t(`enum.paymentMethod.${selectedPaymentMethod}`);\r\n\t\tconst selectedPaymentProviderName =\r\n\t\t\tselectedPaymentMethod === PaymentMethod.ideal\r\n\t\t\t\t? this.vm.idealIssuers.find((x) => x.key === selectedPaymentProvider)?.value\r\n\t\t\t\t: selectedPaymentMethod === PaymentMethod.creditcard\r\n\t\t\t\t\t? this.vm.creditCardMethods.find((x) => x.key === selectedPaymentProvider)?.value\r\n\t\t\t\t\t: \"\";\r\n\t\treturn selectedPaymentProviderName\r\n\t\t\t? `${selectedPaymentMethodName} - ${selectedPaymentProviderName}`\r\n\t\t\t: selectedPaymentMethodName;\r\n\t}\r\n\r\n\tformatCountry(countryCode: string): string {\r\n\t\treturn this.vm.countries?.find((x) => x.key === countryCode)?.value as string;\r\n\t}\r\n\r\n\tgoToStep(step: CheckoutStep): void {\r\n\t\tif (this.checkoutStore.canGoToStep(step)) {\r\n\t\t\tthis.checkoutStore.activeStep = step;\r\n\t\t\tconst stepsEl = document.querySelector(\".checkout-steps\");\r\n\t\t\twindow.scrollTo(0, stepsEl?.getBoundingClientRect().bottom || 80);\r\n\t\t}\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode } from \"vue\"\n\nconst _hoisted_1 = { key: 0 }\nconst _hoisted_2 = { key: 1 }\nconst _hoisted_3 = { class: \"p-datatable\" }\nconst _hoisted_4 = { class: \"p-datatable-header\" }\nconst _hoisted_5 = { key: 2 }\nconst _hoisted_6 = { class: \"p-datatable\" }\nconst _hoisted_7 = { class: \"p-datatable-header\" }\nconst _hoisted_8 = { key: 3 }\nconst _hoisted_9 = { class: \"p-datatable\" }\nconst _hoisted_10 = { class: \"p-datatable-header\" }\nconst _hoisted_11 = { key: 4 }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_CartContractClientTable = _resolveComponent(\"CartContractClientTable\")!\n const _component_CartTrainingTable = _resolveComponent(\"CartTrainingTable\")!\n const _component_CartMircoServiceTable = _resolveComponent(\"CartMircoServiceTable\")!\n const _component_CartExpertTable = _resolveComponent(\"CartExpertTable\")!\n const _component_CartClientTable = _resolveComponent(\"CartClientTable\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (_ctx.contractCartClients?.length)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.contractCartClients, (contractCart) => {\n return (_openBlock(), _createBlock(_component_CartContractClientTable, {\n key: contractCart,\n \"cart-client\": contractCart,\n \"is-editable\": _ctx.isEditable\n }, null, 8, [\"cart-client\", \"is-editable\"]))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.trainingCartClients?.length)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(`cart.table.title${_ctx.getUpperCaseCartLineType(_ctx.cartLineTypeEnum.trainingProduct)}`)), 1)\n ])\n ]),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.trainingCartClients, (training) => {\n return (_openBlock(), _createBlock(_component_CartTrainingTable, {\n key: training,\n \"cart-line-client\": training,\n \"is-editable\": _ctx.isEditable\n }, null, 8, [\"cart-line-client\", \"is-editable\"]))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.microServiceProducts?.length)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(`cart.table.title${_ctx.getUpperCaseCartLineType(_ctx.cartLineTypeEnum.serviceProduct)}`)), 1)\n ])\n ]),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.microServiceProducts, (mircoservice) => {\n return (_openBlock(), _createBlock(_component_CartMircoServiceTable, {\n key: mircoservice,\n \"cart-line-client\": mircoservice,\n \"is-editable\": _ctx.isEditable\n }, null, 8, [\"cart-line-client\", \"is-editable\"]))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.expertCartClients?.length)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(`cart.table.title${_ctx.getUpperCaseCartLineType(_ctx.cartLineTypeEnum.expertProduct)}`)), 1)\n ])\n ]),\n _createVNode(_component_CartExpertTable, {\n \"cart-line-clients\": _ctx.expertCartClients,\n \"is-editable\": _ctx.isEditable\n }, null, 8, [\"cart-line-clients\", \"is-editable\"])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.cartLineClientsByType?.length)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.cartLineClientsByType, (cartLineClient) => {\n return (_openBlock(), _createBlock(_component_CartClientTable, {\n key: cartLineClient,\n \"cart-line-type\": cartLineClient.cartLineType,\n \"is-editable\": _ctx.isEditable,\n items: _ctx.getCartLinesForType(cartLineClient.cartLineType)\n }, null, 8, [\"cart-line-type\", \"is-editable\", \"items\"]))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<!--\tContract Related products-->\r\n\t<div v-if=\"contractCartClients?.length\">\r\n\t\t<CartContractClientTable v-for=\"contractCart in contractCartClients\"\r\n\t\t\t\t\t\t\t\t :key=\"contractCart\"\r\n\t\t\t\t\t\t\t\t :cart-client=\"contractCart\"\r\n\t\t\t\t\t\t\t\t :is-editable=\"isEditable\" />\r\n\t</div>\r\n\t<!--\tTraining Related products-->\r\n\t<div v-if=\"trainingCartClients?.length\">\r\n\t\t<!--\tMock datatable header for consistent header styling-->\r\n\t\t<div class=\"p-datatable\">\r\n\t\t\t<div class=\"p-datatable-header\">\r\n\t\t\t\t<span>\r\n\t\t\t\t\t{{\r\n\t\t\t\t\t$t(`cart.table.title${getUpperCaseCartLineType(cartLineTypeEnum.trainingProduct)}`)\r\n\t\t\t\t\t}}\r\n\t\t\t\t</span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<CartTrainingTable v-for=\"training in trainingCartClients\"\r\n\t\t\t\t\t\t :key=\"training\"\r\n\t\t\t\t\t\t :cart-line-client=\"training\"\r\n\t\t\t\t\t\t :is-editable=\"isEditable\" />\r\n\t</div>\r\n\t\r\n\t<!--\tMicroservice Related products-->\r\n\t<div v-if=\"microServiceProducts?.length\">\r\n\t\t<!--\tMock datatable header for consistent header styling-->\r\n\t\t<div class=\"p-datatable\">\r\n\t\t\t<div class=\"p-datatable-header\">\r\n\t\t\t\t<span>\r\n\t\t\t\t\t{{\r\n\t\t\t\t\t\t$t(`cart.table.title${getUpperCaseCartLineType(cartLineTypeEnum.serviceProduct)}`)\r\n\t\t\t\t\t}}\r\n\t\t\t\t</span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<CartMircoServiceTable v-for=\"mircoservice in microServiceProducts\"\r\n\t\t\t:key=\"mircoservice\"\r\n\t\t\t:cart-line-client=\"mircoservice\"\r\n\t\t\t:is-editable=\"isEditable\" />\r\n\t</div>\r\n\t<!--\tExpert Related products-->\r\n\t<div v-if=\"expertCartClients?.length\">\r\n\t\t<!--\tMock datatable header for consistent header styling-->\r\n\t\t<div class=\"p-datatable\">\r\n\t\t\t<div class=\"p-datatable-header\">\r\n\t\t\t\t<span>\r\n\t\t\t\t\t{{\r\n\t\t\t\t\t$t(`cart.table.title${getUpperCaseCartLineType(cartLineTypeEnum.expertProduct)}`)\r\n\t\t\t\t\t}}\r\n\t\t\t\t</span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<CartExpertTable :cart-line-clients=\"expertCartClients\" :is-editable=\"isEditable\" />\r\n\t</div>\r\n\r\n\t<!--\tRegular products-->\r\n\t<div v-if=\"cartLineClientsByType?.length\">\r\n\t\t<CartClientTable v-for=\"cartLineClient in cartLineClientsByType\"\r\n\t\t\t\t\t\t :key=\"cartLineClient\"\r\n\t\t\t\t\t\t :cart-line-type=\"cartLineClient.cartLineType\"\r\n\t\t\t\t\t\t :is-editable=\"isEditable\"\r\n\t\t\t\t\t\t :items=\"getCartLinesForType(cartLineClient.cartLineType)\" />\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport CartClientTable from \"@/components/commerce/cart/cartClientTable.vue\";\r\nimport CartContractClientTable from \"@/components/commerce/cart/cartContractTable.vue\";\r\nimport CartMircoServiceTable from \"@/components/commerce/cart/cartMircoServiceTable.vue\";\r\nimport CartExpertTable from \"@/components/commerce/cart/cartExpertTable.vue\";\r\nimport CartTrainingTable from \"@/components/commerce/cart/cartTrainingTable.vue\";\r\nimport { CartClient } from \"@/types/models/cart/cartClient\";\r\nimport { CartContractClient } from \"@/types/generated/Api/cartContractClient\";\r\nimport { CartLineClient } from \"@/types/generated/Api/cartLineClient\";\r\nimport { CartLineType } from \"@/types/enum/cartLineType\";\r\nimport { Component, Prop, Watch } from \"vue-facing-decorator\";\r\nimport { PropType } from \"vue\";\r\nimport { concat, uniqBy, upperFirst } from \"lodash\";\r\nimport { useCartStore } from \"@/store/commerce/cartStore\";\r\n\r\n@Component({ components: { CartExpertTable, CartTrainingTable, CartClientTable, CartContractClientTable, CartMircoServiceTable } })\r\nexport default class CartOverview extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<CartClient>, required: true, default: {} }) cartClient!: CartClient;\r\n\r\n\t@Prop({ type: Boolean, required: false, default: true })\r\n\tisEditable!: boolean;\r\n\r\n\tcartStore = useCartStore();\r\n\r\n\tget cartLineTypeEnum(): typeof CartLineType {\r\n return CartLineType;\r\n\t}\r\n\r\n\tget editingCartClient(): CartClient {\r\n\t\treturn this.isEditable ? this.cartStore.cartClient : this.cartClient;\r\n\t}\r\n\r\n\tget contractCartClients(): CartContractClient[] {\r\n\t\treturn concat(\r\n\t\t\tthis.editingCartClient.contractAdditions,\r\n\t\t\tthis.editingCartClient.contractCoterming,\r\n\t\t\tthis.editingCartClient.contractChanges,\r\n\t\t\tthis.editingCartClient.contractSwitches,\r\n\t\t\tthis.editingCartClient.contractProlongations,\r\n\t\t\tthis.editingCartClient.contractCotermProlongations\r\n\t\t).filter(Boolean);\r\n\t}\r\n\r\n\tget trainingCartClients(): CartLineClient[] {\r\n\t\treturn this.editingCartClient.trainingProducts;\r\n\t}\r\n\r\n get microServiceProducts(): CartLineClient[] {\r\n return this.editingCartClient.microServiceProducts;\r\n }\r\n\r\n\tget expertCartClients(): CartLineClient[] {\r\n\t\treturn this.editingCartClient.expertProducts;\r\n\t}\r\n\r\n\tget cartLineClientsByType(): CartLineClient[] {\r\n\t\treturn uniqBy(this.cartLineClients, \"cartLineType\");\r\n\t}\r\n\r\n\tget cartLineClients(): CartLineClient[] {\r\n\t\treturn concat(\r\n\t\t\tthis.editingCartClient.products,\r\n\t\t\tthis.editingCartClient.servicePassProducts,\r\n\t\t\tthis.editingCartClient.support,\r\n\t\t\tthis.editingCartClient.walletDeposits,\r\n\t\t).filter(Boolean);\r\n\t}\r\n\r\n\t@Watch(\"isEditable\") isEditableChanged(val: boolean): void {\r\n\t\tif (val) {\r\n\t\t\tthis.cartStore.cartClient = this.cartClient;\r\n\t\t}\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.cartStore.cartClient = this.cartClient;\r\n\t}\r\n\r\n\tgetCartLinesForType(cartLineType: CartLineType): CartLineClient[] {\r\n\t\treturn this.cartLineClients.filter((x) => x.cartLineType === cartLineType);\r\n\t}\r\n\r\n\tgetUpperCaseCartLineType(cartLineType: CartLineType): string {\r\n\t\treturn upperFirst(this.cartLineTypeEnum[cartLineType]);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, withCtx as _withCtx, createVNode as _createVNode, normalizeStyle as _normalizeStyle, createElementBlock as _createElementBlock, createSlots as _createSlots, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7077f776\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"product-actions align-items-lg-start flex-lg-row ml-lg-0\" }\nconst _hoisted_2 = { class: \"d-flex align-items-center\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"flex-1\"\n}\nconst _hoisted_4 = { key: 1 }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-spin pi-spinner\" }, null, -1))\nconst _hoisted_6 = [\n _hoisted_5\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_ColumnProductName = _resolveComponent(\"ColumnProductName\")!\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_ColumnProductInfo = _resolveComponent(\"ColumnProductInfo\")!\n const _component_ColumnAmount = _resolveComponent(\"ColumnAmount\")!\n const _component_PriceSummary = _resolveComponent(\"PriceSummary\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n\n return (_openBlock(), _createBlock(_component_DataTable, {\n breakpoint: \"1150px\",\n \"data-key\": \"id\",\n \"responsive-layout\": \"stack\",\n value: _ctx.editingCartLines\n }, _createSlots({\n default: _withCtx(() => [\n _createVNode(_component_Column, {\n field: \"productName\",\n header: _ctx.isSmallScreen ? '' : _ctx.$t('cart.table.colName'),\n style: _normalizeStyle(_ctx.showProductInfoColumn ? { width: '20%' } : {})\n }, {\n body: _withCtx((item) => [\n _createVNode(_component_ColumnProductName, {\n item: item.data\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n (_ctx.canChangeConfiguration(item.data) && item.data.url)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-secondary p-button-text flex-shrink-0 hidden-print px-0 mr-lg-1\",\n icon: \"pi pi-cog\",\n label: _ctx.$t('cart.button.editConfiguration'),\n title: _ctx.$t('cart.button.editConfiguration'),\n onClick: ($event: any) => {\r\n\t\t\t\t\t\t\t\t_ctx.openUrl(`${item.data.url}?lineitemid=${item.data.id}`);\r\n\t\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t\t}\n }, null, 8, [\"label\", \"title\", \"onClick\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.canRemoveItem(item.data))\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-secondary p-button-text flex-shrink-0 hidden-print px-0 mr-2 mr-lg-0\",\n icon: \"pi pi-times\",\n label: _ctx.$t('cart.button.removeItem'),\n title: _ctx.$t('cart.button.removeItem'),\n onClick: ($event: any) => (_ctx.confirmRemoveItem(item.data))\n }, null, 8, [\"label\", \"title\", \"onClick\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 2\n }, 1032, [\"item\"])\n ]),\n _: 1\n }, 8, [\"header\", \"style\"]),\n (_ctx.showProductInfoColumn)\n ? (_openBlock(), _createBlock(_component_Column, { key: 0 }, {\n body: _withCtx((item) => [\n _createVNode(_component_ColumnProductInfo, {\n item: item.data\n }, null, 8, [\"item\"])\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.showServiceTypeColumn)\n ? (_openBlock(), _createBlock(_component_Column, {\n key: \"serviceType\",\n field: \"serviceType\",\n header: _ctx.$t('cart.table.colType'),\n style: {\"width\":\"10%\"}\n }, null, 8, [\"header\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.showUnitColumn)\n ? (_openBlock(), _createBlock(_component_Column, {\n key: \"unit\",\n field: \"unit\",\n header: _ctx.$t('cart.table.colUnit'),\n style: {\"width\":\"10%\"}\n }, null, 8, [\"header\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.showSerialNumberColumn)\n ? (_openBlock(), _createBlock(_component_Column, {\n key: \"serialNumber\",\n field: \"serialNumber\",\n header: _ctx.$t('cart.table.colSerialNumber'),\n style: {\"width\":\"12.5%\"}\n }, null, 8, [\"header\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.showTrainingTypeColumn)\n ? (_openBlock(), _createBlock(_component_Column, {\n key: \"trainingType\",\n field: \"trainingMethod\",\n header: _ctx.$t('cart.table.colType'),\n style: {\"width\":\"12.5%\"}\n }, null, 8, [\"header\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.showAmountColumn)\n ? (_openBlock(), _createBlock(_component_Column, {\n key: \"amount\",\n class: \"flex-wrap\",\n field: \"amount\",\n header: _ctx.$t('cart.table.colAmount'),\n style: {\"width\":\"12.5%\"}\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_ColumnAmount, {\n disabled: _ctx.isSpinnerVisible(item.data.id),\n editable: _ctx.canAdjustAmount(item.data),\n item: item.data,\n onAmountChanged: ($event: any) => (_ctx.onAmountChanged($event, item.index))\n }, null, 8, [\"disabled\", \"editable\", \"item\", \"onAmountChanged\"])\n ])\n ]),\n _: 1\n }, 8, [\"header\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Column, {\n header: _ctx.isSmallScreen ? '' : _ctx.$t('cart.table.colPrice'),\n style: {\"width\":\"25%\"}\n }, {\n body: _withCtx((item) => [\n (!_ctx.isSpinnerVisible(item.data.id))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode(_component_PriceSummary, {\n vm: _ctx.getPriceSummary(item.data)\n }, null, 8, [\"vm\"])\n ]))\n : (_ctx.isSpinnerVisible(item.data.id))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, _hoisted_6))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"header\"])\n ]),\n _: 2\n }, [\n (_ctx.tableTitle)\n ? {\n name: \"header\",\n fn: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.tableTitle), 1)\n ]),\n key: \"0\"\n }\n : undefined\n ]), 1032, [\"value\"]))\n}","<template>\r\n\t<DataTable breakpoint=\"1150px\" data-key=\"id\" responsive-layout=\"stack\" :value=\"editingCartLines\">\r\n\t\t<template v-if=\"tableTitle\" #header>{{ tableTitle }}</template>\r\n\r\n\t\t<Column\r\n\t\t\tfield=\"productName\"\r\n\t\t\t:header=\"isSmallScreen ? '' : $t('cart.table.colName')\"\r\n\t\t\t:style=\"showProductInfoColumn ? { width: '20%' } : {}\"\r\n\t\t>\r\n\t\t\t<template #body=\"item\">\r\n\t\t\t\t<ColumnProductName :item=\"item.data\">\r\n\t\t\t\t\t<div class=\"product-actions align-items-lg-start flex-lg-row ml-lg-0\">\r\n\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\tv-if=\"canChangeConfiguration(item.data) && item.data.url\"\r\n\t\t\t\t\t\t\tclass=\"p-button-secondary p-button-text flex-shrink-0 hidden-print px-0 mr-lg-1\"\r\n\t\t\t\t\t\t\ticon=\"pi pi-cog\"\r\n\t\t\t\t\t\t\t:label=\"$t('cart.button.editConfiguration')\"\r\n\t\t\t\t\t\t\t:title=\"$t('cart.button.editConfiguration')\"\r\n\t\t\t\t\t\t\t@click=\"\r\n\t\t\t\t\t\t\t\topenUrl(`${item.data.url}?lineitemid=${item.data.id}`);\r\n\t\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\tv-if=\"canRemoveItem(item.data)\"\r\n\t\t\t\t\t\t\tclass=\"p-button-secondary p-button-text flex-shrink-0 hidden-print px-0 mr-2 mr-lg-0\"\r\n\t\t\t\t\t\t\ticon=\"pi pi-times\"\r\n\t\t\t\t\t\t\t:label=\"$t('cart.button.removeItem')\"\r\n\t\t\t\t\t\t\t:title=\"$t('cart.button.removeItem')\"\r\n\t\t\t\t\t\t\t@click=\"confirmRemoveItem(item.data)\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ColumnProductName>\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\t\t<Column v-if=\"showProductInfoColumn\">\r\n\t\t\t<template #body=\"item\">\r\n\t\t\t\t<ColumnProductInfo :item=\"item.data\"></ColumnProductInfo>\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\t\t<Column\r\n\t\t\tv-if=\"showServiceTypeColumn\"\r\n\t\t\tkey=\"serviceType\"\r\n\t\t\tfield=\"serviceType\"\r\n\t\t\t:header=\"$t('cart.table.colType')\"\r\n\t\t\tstyle=\"width: 10%\"\r\n\t\t/>\r\n\t\t<Column\r\n\t\t\tv-if=\"showUnitColumn\"\r\n\t\t\tkey=\"unit\"\r\n\t\t\tfield=\"unit\"\r\n\t\t\t:header=\"$t('cart.table.colUnit')\"\r\n\t\t\tstyle=\"width: 10%\"\r\n\t\t/>\r\n\t\t<Column\r\n\t\t\tv-if=\"showSerialNumberColumn\"\r\n\t\t\tkey=\"serialNumber\"\r\n\t\t\tfield=\"serialNumber\"\r\n\t\t\t:header=\"$t('cart.table.colSerialNumber')\"\r\n\t\t\tstyle=\"width: 12.5%\"\r\n\t\t/>\r\n\t\t<Column\r\n\t\t\tv-if=\"showTrainingTypeColumn\"\r\n\t\t\tkey=\"trainingType\"\r\n\t\t\tfield=\"trainingMethod\"\r\n\t\t\t:header=\"$t('cart.table.colType')\"\r\n\t\t\tstyle=\"width: 12.5%\"\r\n\t\t/>\r\n\t\t<Column\r\n\t\t\tv-if=\"showAmountColumn\"\r\n\t\t\tkey=\"amount\"\r\n\t\t\tclass=\"flex-wrap\"\r\n\t\t\tfield=\"amount\"\r\n\t\t\t:header=\"$t('cart.table.colAmount')\"\r\n\t\t\tstyle=\"width: 12.5%\"\r\n\t\t>\r\n\t\t\t<template #body=\"item\">\r\n\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t<ColumnAmount\r\n\t\t\t\t\t\t:disabled=\"isSpinnerVisible(item.data.id)\"\r\n\t\t\t\t\t\t:editable=\"canAdjustAmount(item.data)\"\r\n\t\t\t\t\t\t:item=\"item.data\"\r\n\t\t\t\t\t\t@amount-changed=\"onAmountChanged($event, item.index)\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\t\t<Column :header=\"isSmallScreen ? '' : $t('cart.table.colPrice')\" style=\"width: 25%\">\r\n\t\t\t<template #body=\"item\">\r\n\t\t\t\t<div v-if=\"!isSpinnerVisible(item.data.id)\" class=\"flex-1\">\r\n\t\t\t\t\t<PriceSummary :vm=\"getPriceSummary(item.data)\" />\r\n\t\t\t\t</div>\r\n\t\t\t\t<div v-else-if=\"isSpinnerVisible(item.data.id)\">\r\n\t\t\t\t\t<i class=\"pi pi-spin pi-spinner\" />\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\t</DataTable>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport ColumnAmount, { AmountChangedEvent } from \"@/components/commerce/cart/columnAmount.vue\";\r\nimport ColumnProductInfo from \"@/components/commerce/cart/columnProductInfo.vue\";\r\nimport ColumnProductName from \"@/components/commerce/cart/columnProductName.vue\";\r\nimport ColumnYesNo from \"@/components/commerce/cart/columnYesNo.vue\";\r\nimport PriceSummary from \"@/components/common/priceSummary.vue\";\r\nimport { CartContractClient } from \"@/types/generated/Api/cartContractClient\";\r\nimport { CartLineClient } from \"@/types/generated/Api/cartLineClient\";\r\nimport { CartLineType } from \"@/types/enum/cartLineType\";\r\nimport { Component, Prop, Watch } from \"vue-facing-decorator\";\r\nimport { CouponCode } from \"@/types/generated/Api/couponCode\";\r\nimport { IPriceSummary } from \"@/types/models/common/priceSummary.interface\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { ProductUpdateInCart } from \"@/types/generated/Api/productUpdateInCart\";\r\nimport { PropType } from \"vue\";\r\nimport { upperFirst } from \"lodash\";\r\nimport { useCartStore } from \"@/store/commerce/cartStore\";\r\nimport toFixed from \"accounting-js/lib/toFixed.js\";\r\n\r\n@Component({ components: { ColumnProductName, PriceSummary, ColumnProductInfo, ColumnYesNo, ColumnAmount } })\r\nexport default class CartClientTable extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<CartLineClient[]>, required: true, default: {} }) items!: CartLineClient[];\r\n\t@Prop() cartLineType!: CartLineType;\r\n\t@Prop({ type: Boolean, required: true, default: false }) isEditable!: boolean;\r\n\t@Prop({\r\n\t\ttype: Object as PropType<CartContractClient>,\r\n\t\trequired: false,\r\n\t\tdefault: {},\r\n\t})\r\n\tcartContractClient!: CartContractClient;\r\n\r\n\teditingCartLines: CartLineClient[] = [];\r\n\ttableTitle = \"\";\r\n\r\n\tcartStore = useCartStore();\r\n\r\n\tget cartLineTypeEnum(): typeof CartLineType {\r\n\t\treturn CartLineType;\r\n\t}\r\n\r\n\tget canMakeChanges(): boolean {\r\n\t\treturn (\r\n\t\t\tthis.isEditable &&\r\n\t\t\t(this.isContractLine(this.cartContractClient?.cartLineType)\r\n\t\t\t\t? this.cartContractClient?.showAsContractLine\r\n\t\t\t\t: true)\r\n\t\t);\r\n\t}\r\n\r\n\tget showServiceTypeColumn(): boolean {\r\n\t\treturn this.cartLineType === CartLineType.servicePassProduct;\r\n\t}\r\n\r\n\tget showUnitColumn(): boolean {\r\n\t\treturn this.cartLineType === CartLineType.servicePassProduct;\r\n\t}\r\n\r\n\tget showTrainingTypeColumn(): boolean {\r\n\t\treturn this.cartLineType === CartLineType.trainingProduct;\r\n\t}\r\n\r\n\tget showSerialNumberColumn(): boolean {\r\n\t\treturn (\r\n\t\t\tthis.isContractLine(this.cartContractClient?.cartLineType) &&\r\n\t\t\t!this.cartContractClient?.showAsContractLine\r\n\t\t);\r\n\t}\r\n\r\n\tget showProductInfoColumn(): boolean {\r\n\t\treturn this.cartLineType !== CartLineType.support;\r\n\t}\r\n\r\n\tget showAmountColumn(): boolean {\r\n\t\treturn this.cartLineType !== CartLineType.walletDeposit;\r\n\t}\r\n\r\n\t@Watch(\"items\") onItemsChanged(val: CartLineClient[]): void {\r\n\t\tthis.editingCartLines = val;\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.init();\r\n\t\tthis.editingCartLines = this.items;\r\n\t}\r\n\r\n\tinit(): void {\r\n\t\tswitch (this.cartLineType) {\r\n\t\t\tcase CartLineType.product:\r\n\t\t\t\tthis.tableTitle = this.$t(\r\n\t\t\t\t\t`cart.table.title${this.getUpperCaseCartLineType(CartLineType.product)}`\r\n\t\t\t\t);\r\n\t\t\t\tbreak;\r\n\t\t\tcase CartLineType.trainingProduct:\r\n\t\t\t\tthis.tableTitle = this.$t(\r\n\t\t\t\t\t`cart.table.title${this.getUpperCaseCartLineType(CartLineType.trainingProduct)}`\r\n\t\t\t\t);\r\n\t\t\t\tbreak;\r\n\t\t\tcase CartLineType.servicePassProduct:\r\n\t\t\t\tthis.tableTitle = this.$t(\r\n\t\t\t\t\t`cart.table.title${this.getUpperCaseCartLineType(CartLineType.servicePassProduct)}`\r\n\t\t\t\t);\r\n\t\t\t\tbreak;\r\n\t\t\tcase CartLineType.expertProduct:\r\n\t\t\t\tthis.tableTitle = this.$t(\r\n\t\t\t\t\t`cart.table.title${this.getUpperCaseCartLineType(CartLineType.expertProduct)}`\r\n\t\t\t\t);\r\n\t\t\t\tbreak;\r\n\t\t\tcase CartLineType.walletDeposit:\r\n\t\t\t\tthis.tableTitle = this.$t(\r\n\t\t\t\t\t`cart.table.title${this.getUpperCaseCartLineType(CartLineType.walletDeposit)}`\r\n\t\t\t\t);\r\n\t\t\t\tbreak;\r\n\t\t\tcase CartLineType.support:\r\n\t\t\t\tthis.tableTitle = this.$t(\r\n\t\t\t\t\t`cart.table.title${this.getUpperCaseCartLineType(CartLineType.support)}`\r\n\t\t\t\t);\r\n\t\t\t\tbreak;\r\n\t\t\tcase CartLineType.invoiceTotals:\r\n\t\t\tcase CartLineType.paymentInstructions:\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tcanRemoveItem(item: CartLineClient): boolean {\r\n\t\treturn this.isEditable && item.canRemoveLine;\r\n\t}\r\n\r\n\tcanChangeConfiguration(item: CartLineClient): boolean {\r\n\t\treturn this.isEditable && item.canChangeConfiguration;\r\n\t}\r\n\r\n\tcanAdjustAmount(item: CartLineClient): boolean {\r\n\t\treturn this.canMakeChanges && item.canUpdateAmount;\r\n\t}\r\n\r\n\tgetUpperCaseCartLineType(cartLineType: CartLineType): string {\r\n\t\treturn upperFirst(this.cartLineTypeEnum[cartLineType]);\r\n\t}\r\n\r\n\tgetPriceSummary(item: CartLineClient): IPriceSummary {\r\n\t\tconst discountLines = new Map<string, number>();\r\n\t\tif (item.appliedCouponCodes?.length) {\r\n\t\t\titem.appliedCouponCodes.forEach((code: CouponCode) => {\r\n\t\t\t\tdiscountLines.set(code.name, code.discount);\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn {\r\n\t\t\tbasePrice: item.priceBase,\r\n\t\t\tdiscount: item.discount,\r\n\t\t\tdiscountLines: discountLines,\r\n\t\t\tadditionalLines: this.getAdditionalPriceLines(item),\r\n\t\t\tsubtotal: item.priceSubTotal,\r\n\t\t};\r\n\t}\r\n\r\n\tisContractLine(item: CartLineType | CartLineClient): boolean {\r\n\t\tconst cartLineType = (item as CartLineClient)?.cartLineType || (item as CartLineType);\r\n\t\treturn (\r\n\t\t\tcartLineType === CartLineType.contractCotermProlong ||\r\n\t\t\tcartLineType === CartLineType.contractCoterm ||\r\n\t\t\tcartLineType === CartLineType.contractAddition ||\r\n\t\t\tcartLineType === CartLineType.contractChange ||\r\n\t\t\tcartLineType === CartLineType.contractSwitch ||\r\n\t\t\tcartLineType === CartLineType.contractProlong\r\n\t\t);\r\n\t}\r\n\r\n\tgetAdditionalPriceLines(item: CartLineClient): Map<string, number> {\r\n\t\tconst priceLines = new Map<string, number>();\r\n\r\n\t\tif (item.activeInstallation && item.priceOnce) {\r\n\t\t\tpriceLines.set(this.$t(\"common.priceSummary.installHelp\"), item.priceOnce);\r\n\t\t}\r\n\r\n\t\treturn priceLines;\r\n\t}\r\n\r\n\tonAmountChanged(event: AmountChangedEvent, index: number): void {\r\n\t\tconst item = this.editingCartLines[index];\r\n\r\n\t\tswitch (item.cartLineType) {\r\n\t\t\tcase CartLineType.product:\r\n\t\t\tcase CartLineType.trainingProduct:\r\n\t\t\tcase CartLineType.servicePassProduct:\r\n\t\t\tcase CartLineType.contractChange:\r\n\t\t\tcase CartLineType.contractAddition:\r\n\t\t\tcase CartLineType.contractCoterm:\r\n\t\t\tcase CartLineType.contractCotermProlong:\r\n\t\t\tcase CartLineType.walletDeposit:\r\n\t\t\tcase CartLineType.support:\r\n\t\t\t\tthis.updateProductInCart({ id: item.id, amount: event.value }, item, event.originalValue);\r\n\t\t\t\tbreak;\r\n\r\n\t\t\t//TODO: Figure out if these can update too\r\n\t\t\tcase CartLineType.contractSwitch:\r\n\t\t\t\tbreak;\r\n\t\t\tcase CartLineType.contractProlong:\r\n\t\t\t\tbreak;\r\n\t\t\tcase CartLineType.expertProduct:\r\n\t\t\t\tbreak;\r\n\t\t\tcase CartLineType.invoiceTotals:\r\n\t\t\t\tbreak;\r\n\t\t\tcase CartLineType.paymentInstructions:\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tconfirmRemoveItem(item: CartLineClient): void {\r\n\t\tthis.$confirm.require({\r\n\t\t\tmessage: this.$t(\"cart.dialog.confirmRemoveProduct\", [item.title]),\r\n\t\t\theader: this.$t(\"common.messages.titleImportant\"),\r\n\t\t\tacceptLabel: this.$t(\"common.yes\"),\r\n\t\t\trejectLabel: this.$t(\"common.no\"),\r\n\t\t\taccept: () => {\r\n\t\t\t\tthis.removeItemFromCart(item);\r\n\t\t\t},\r\n\t\t});\r\n\t}\r\n\r\n\tremoveItemFromCart(item: CartLineClient): void {\r\n\t\tthis.updateProductInCart({ id: item.id, amount: 0 }, item, item.amount);\r\n\t}\r\n\r\n\tprivate updateProductInCart(\r\n\t\tmodel: ProductUpdateInCart,\r\n\t\tcartClient: CartLineClient,\r\n\t\toriginalValue: number\r\n\t): void {\r\n\t\tif (this.isSpinnerVisible(model.id?.toString())) return;\r\n\t\tthis.loadingStore.showSpinner(model.id);\r\n\t\tthis.loadingStore.showSpinner(\"priceSummary\");\r\n\t\tthis.cartStore\r\n\t\t\t.updateProductInCart(model)\r\n\t\t\t.then(() => {\r\n\t\t\t\tconst changeValue = cartClient.priceSubTotal / originalValue;\r\n\r\n\t\t\t\t\tif (model.amount < originalValue) {\r\n\t\t\t\t\t\tconst amount = originalValue - model.amount;\r\n\t\t\t\t\t\tthis.setDataLayer.removeFromCart(\r\n toFixed(changeValue * amount, 2),\r\n\t\t\t\t\t\t\t[{\r\n\t\t\t\t\t\t\t\tid: cartClient.sku,\r\n\t\t\t\t\t\t\t\tname: cartClient.title,\r\n productCategory: cartClient.productCategory,\r\n\t\t\t\t\t\t\t\tpriceSubTotal: cartClient.priceSubTotal / originalValue,\r\n priceBase: cartClient.priceSubTotal / originalValue,\r\n\t\t\t\t\t\t\t\tbrand: cartClient.brand,\r\n amount: amount,\r\n discount: cartClient.discount / originalValue\r\n\t\t\t\t\t\t\t}],\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t} else {\r\n const amount = model.amount - originalValue;\r\n\t\t\t\t\t\tthis.setDataLayer.addToCart(\r\n toFixed(changeValue * amount, 2),\r\n [{\r\n id: cartClient.sku,\r\n name: cartClient.title,\r\n productCategory: cartClient.productCategory,\r\n priceSubTotal: cartClient.priceSubTotal / originalValue,\r\n priceBase: cartClient.priceSubTotal / originalValue,\r\n brand: cartClient.brand,\r\n amount: amount,\r\n discount: cartClient.discount / originalValue\r\n }],\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\twindow.location.reload();\r\n\t\t\t\t\t}, 500)\r\n\t\t\t\t\t\r\n\t\t\t\t})\r\n\t\t\t\t.catch((err) => {\r\n\t\t\t\t\tcartClient.amount = originalValue;\r\n\t\t\t\t\tLog.error(err);\r\n\t\t\t\t})\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.product-actions {\r\n\tdisplay: flex;\r\n\tflex: 1 1 100%;\r\n\talign-items: center;\r\n\tflex-direction: row-reverse;\r\n\tflex-wrap: wrap;\r\n\tmargin-left: 0.5rem;\r\n}\r\n</style>\r\n","import { resolveComponent as _resolveComponent, normalizeClass as _normalizeClass, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-e1c02c1e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 1,\n class: \"px-lg-2\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_InputNumber = _resolveComponent(\"InputNumber\")!\n\n return (_ctx.editable)\n ? (_openBlock(), _createBlock(_component_InputNumber, {\n key: 0,\n modelValue: _ctx.item.amount,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.item.amount) = $event)),\n class: _normalizeClass(_ctx.isSmallScreen ? 'w-50 ml-auto' : 'w-75'),\n \"decrement-button-class\": \"p-button-outlined\",\n \"increment-button-class\": \"p-button-outlined\",\n max: _ctx.maxAmount,\n min: _ctx.item.minAmount,\n \"show-buttons\": \"\",\n style: {\"max-width\":\"200px\",\"min-width\":\"95px\"},\n \"use-grouping\": false\n }, null, 8, [\"modelValue\", \"class\", \"max\", \"min\"]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_1, _toDisplayString(_ctx.item.amount), 1))\n}","<template>\r\n\t<InputNumber\r\n\t\tv-if=\"editable\"\r\n\t\tv-model=\"item.amount\"\r\n\t\t:class=\"isSmallScreen ? 'w-50 ml-auto' : 'w-75'\"\r\n\t\tdecrement-button-class=\"p-button-outlined\"\r\n\t\tincrement-button-class=\"p-button-outlined\"\r\n\t\t:max=\"maxAmount\"\r\n\t\t:min=\"item.minAmount\"\r\n\t\tshow-buttons\r\n\t\tstyle=\"max-width: 200px; min-width: 95px\"\r\n\t\t:use-grouping=\"false\"\r\n\t/>\r\n\t<span v-else class=\"px-lg-2\">{{ item.amount }}</span>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Emit, Prop } from \"vue-facing-decorator\";\r\nimport { PropType } from \"vue\";\r\nimport { watchDebounced } from \"@vueuse/core\";\r\n\r\nexport interface AmountChangedEvent {\r\n\toriginalValue: number;\r\n\tvalue: number;\r\n}\r\n\r\n@Component\r\nexport default class ColumnAmount extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<{ amount: number; minAmount: number }>, required: true, default: {} })\r\n\titem!: {\r\n\t\tamount: number;\r\n\t\tminAmount: number;\r\n\t};\r\n\t@Prop({ type: Boolean, default: false }) disabled!: boolean;\r\n\t@Prop({ type: Boolean, default: false }) editable!: boolean;\r\n\r\n\toriginalValue = 0;\r\n\tmaxAmount = 999;\r\n\r\n\tcreated(): void {\r\n\t\tthis.originalValue = this.item?.amount;\r\n\t\twatchDebounced(\r\n\t\t\tthis.item,\r\n\t\t\t() => {\r\n\t\t\t\tthis.onInputChange();\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tdebounce: 750,\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\t@Emit amountChanged(amount: number): AmountChangedEvent {\r\n\t\tconst changeEvent = {\r\n\t\t\tvalue: amount,\r\n\t\t\toriginalValue: this.originalValue,\r\n\t\t};\r\n\t\tthis.originalValue = amount;\r\n\t\treturn changeEvent;\r\n\t}\r\n\r\n\tonInputChange() {\r\n\t\tif (this.item.amount > this.maxAmount) return;\r\n\t\tif (this.item.amount !== this.originalValue) this.amountChanged(this.item.amount);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n::v-deep(.p-button.p-button-outlined) {\r\n\tbackground-color: var(--surface-50);\r\n\r\n\t&:hover {\r\n\t\tbackground-color: var(--surface-e);\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./columnAmount.vue?vue&type=template&id=e1c02c1e&scoped=true&ts=true\"\nimport script from \"./columnAmount.vue?vue&type=script&lang=ts\"\nexport * from \"./columnAmount.vue?vue&type=script&lang=ts\"\n\nimport \"./columnAmount.vue?vue&type=style&index=0&id=e1c02c1e&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-e1c02c1e\"]])\n\nexport default __exports__","import { normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-56fe4cd3\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"product-icons-wrapper ml-lg-1\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"product-info-line flex-lg-row\"\n}\nconst _hoisted_3 = [\"title\"]\nconst _hoisted_4 = { class: \"text-bold ml-1\" }\nconst _hoisted_5 = {\n key: 1,\n class: \"product-info-line flex-lg-row\"\n}\nconst _hoisted_6 = [\"title\"]\nconst _hoisted_7 = { class: \"text-bold ml-1\" }\nconst _hoisted_8 = {\n key: 2,\n class: \"product-info-line flex-lg-row\"\n}\nconst _hoisted_9 = { class: \"badge badge-primary multi-user-badge\" }\nconst _hoisted_10 = {\n key: 3,\n class: \"product-info-line flex-lg-row\"\n}\nconst _hoisted_11 = { class: \"\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_ctx.item.licenseType)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"text-primary\", _ctx.getLicenceIcon(_ctx.item.licenceClass)]),\n title: _ctx.$t('cart.table.iconLicenceType_title')\n }, null, 10, _hoisted_3),\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.item.licenseType), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.duration)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"i\", {\n class: \"pi pi-clock text-primary\",\n title: _ctx.$t('cart.table.iconDuration_title')\n }, null, 8, _hoisted_6),\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(_ctx.duration), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.multiUser)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.multiUser), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.walletDepositTypes)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.walletDepositTypes), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}","<template>\r\n\t<div class=\"product-icons-wrapper ml-lg-1\">\r\n\t\t<div v-if=\"item.licenseType\" class=\"product-info-line flex-lg-row\">\r\n\t\t\t<i\r\n\t\t\t\tclass=\"text-primary\"\r\n\t\t\t\t:class=\"getLicenceIcon(item.licenceClass)\"\r\n\t\t\t\t:title=\"$t('cart.table.iconLicenceType_title')\"\r\n\t\t\t/>\r\n\t\t\t<span class=\"text-bold ml-1\">{{ item.licenseType }}</span>\r\n\t\t</div>\r\n\r\n\t\t<div v-if=\"duration\" class=\"product-info-line flex-lg-row\">\r\n\t\t\t<i class=\"pi pi-clock text-primary\" :title=\"$t('cart.table.iconDuration_title')\" />\r\n\t\t\t<span class=\"text-bold ml-1\">{{ duration }}</span>\r\n\t\t</div>\r\n\r\n\t\t<div v-if=\"multiUser\" class=\"product-info-line flex-lg-row\">\r\n\t\t\t<span class=\"badge badge-primary multi-user-badge\">{{ multiUser }}</span>\r\n\t\t</div>\r\n\r\n\t\t<div v-if=\"walletDepositTypes\" class=\"product-info-line flex-lg-row\">\r\n\t\t\t<span class=\"\">{{ walletDepositTypes }}</span>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { PropType } from \"vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { LicenseClass } from \"@/types/enum/licenseClass\";\r\nimport { CartLineClient } from \"@/types/generated/Api/cartLineClient\";\r\nimport { CartLineType } from \"@/types/enum/cartLineType\";\r\n\r\n@Component\r\nexport default class ColumnProductInfo extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<CartLineClient>, required: true, default: {} }) item!: CartLineClient;\r\n\r\n\tget cartLineTypeEnum(): typeof CartLineType {\r\n\t\treturn CartLineType;\r\n\t}\r\n\r\n\tget duration(): string {\r\n\t\treturn this.item.remainingDuration\r\n\t\t\t? this.$tc(\"cart.table.lblDurationTillEndOfContract\", this.item.remainingDuration)\r\n\t\t\t: this.item.duration\r\n\t\t\t\t? this.$tc(\"cart.table.lblDurationMonths\", this.item.duration)\r\n\t\t\t\t: \"\";\r\n\t}\r\n\r\n\tget multiUser(): string {\r\n\t\treturn this.item.isMultiSize ? this.item?.multiSizeUnitString : \"\";\r\n\t}\r\n\r\n\tget walletDepositTypes(): string {\r\n\t\treturn this.item.walletDepositTypes\r\n\t\t\t?.filter(Boolean)\r\n\t\t\t.map((x) => this.$t(`enum.walletDepositType.${x}`))\r\n\t\t\t.join(\", \");\r\n\t}\r\n\r\n\tgetLicenceIcon(licenceClass: LicenseClass): string {\r\n\t\tswitch (licenceClass) {\r\n\t\t\tcase LicenseClass.singleUser:\r\n\t\t\t\treturn \"pi pi-user\";\r\n\t\t\tcase LicenseClass.multiUser:\r\n\t\t\t\treturn \"pi pi-users\";\r\n\t\t\tcase LicenseClass.maintenancePlan:\r\n\t\t\t\treturn \"pi pi-desktop\";\r\n\t\t\tcase LicenseClass.subscription:\r\n\t\t\t\treturn \"pi pi-file\";\r\n\t\t\tcase LicenseClass.cloudSubscription:\r\n\t\t\t\treturn \"pi pi-cloud\";\r\n\t\t\tcase LicenseClass.other:\r\n\t\t\tdefault:\r\n\t\t\t\treturn \"\";\r\n\t\t}\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.product-icon {\r\n\twidth: 47px;\r\n\theight: 47px;\r\n\tbackground: transparent;\r\n\tflex-shrink: 0;\r\n}\r\n\r\n.product-icons-wrapper {\r\n\tdisplay: flex;\r\n\talign-items: flex-start;\r\n\tflex-direction: column;\r\n\tflex-wrap: wrap;\r\n\tflex-basis: 100%;\r\n\tpadding: 0 0.5rem;\r\n\r\n\t.product-info-line {\r\n\t\tdisplay: flex;\r\n\t\tflex: 0;\r\n\t\talign-items: center;\r\n\t\tflex-direction: row;\r\n\t\tmargin-bottom: 0.25rem;\r\n\t}\r\n}\r\n\r\n@media print {\r\n\t.product-icons-wrapper {\r\n\t\talign-content: flex-start;\r\n\t}\r\n}\r\n</style>\r\n","/* Auto Generated */\r\n\r\nexport enum LicenseClass {\r\n\tsingleUser,\r\n\tmultiUser,\r\n\tmaintenancePlan,\r\n\tsubscription,\r\n\tcloudSubscription,\r\n\tother,\r\n}\r\n","export enum CartLineType {\r\n\tproduct,\r\n\tproductBundle,\r\n\ttrainingProduct,\r\n\tservicePassProduct,\r\n\trentalSystemProduct,\r\n\tcontractProlong,\r\n\tcontractChange,\r\n\tcontractAddition,\r\n\tcontractSwitch,\r\n\tcontractCoterm,\r\n\tcontractCotermProlong,\r\n\texpertProduct,\r\n\twalletDeposit,\r\n\tsupport,\r\n\tinvoiceTotals,\r\n\tpaymentInstructions,\r\n\tserviceProduct\r\n}\r\n","import { render } from \"./columnProductInfo.vue?vue&type=template&id=56fe4cd3&scoped=true&ts=true\"\nimport script from \"./columnProductInfo.vue?vue&type=script&lang=ts\"\nexport * from \"./columnProductInfo.vue?vue&type=script&lang=ts\"\n\nimport \"./columnProductInfo.vue?vue&type=style&index=0&id=56fe4cd3&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-56fe4cd3\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, renderSlot as _renderSlot } from \"vue\"\n\nconst _hoisted_1 = { class: \"d-flex flex-wrap flex-column\" }\nconst _hoisted_2 = [\"href\"]\nconst _hoisted_3 = { class: \"d-flex px-1 flex-column\" }\nconst _hoisted_4 = { class: \"mb-0 text-muted d-block\" }\nconst _hoisted_5 = { class: \"mb-0 text-bold\" }\nconst _hoisted_6 = {\n key: 1,\n class: \"d-flex mr-lg-1 mb-1\"\n}\nconst _hoisted_7 = { class: \"d-flex px-1 flex-column\" }\nconst _hoisted_8 = { class: \"mb-0 text-muted d-block\" }\nconst _hoisted_9 = { class: \"mb-0 text-bold\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (!_ctx.item.isHidden && _ctx.item.url)\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 0,\n class: \"d-flex mr-lg-1 mb-1\",\n href: _ctx.item.url\n }, [\n (_ctx.item.icon)\n ? (_openBlock(), _createBlock(_component_Avatar, {\n key: 0,\n alt: _ctx.item.iconAltTag,\n class: \"flex-shrink-0\",\n image: _ctx.item.icon,\n shape: \"square\",\n size: \"large\",\n title: _ctx.productName\n }, null, 8, [\"alt\", \"image\", \"title\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"small\", _hoisted_4, _toDisplayString(_ctx.item.brand), 1),\n _createElementVNode(\"span\", _hoisted_5, _toDisplayString(_ctx.productName), 1)\n ])\n ], 8, _hoisted_2))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n (_ctx.item.icon)\n ? (_openBlock(), _createBlock(_component_Avatar, {\n key: 0,\n alt: _ctx.item.iconAltTag,\n class: \"flex-shrink-0\",\n image: _ctx.item.icon,\n shape: \"square\",\n size: \"large\",\n title: _ctx.productName\n }, null, 8, [\"alt\", \"image\", \"title\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"small\", _hoisted_8, _toDisplayString(_ctx.item.brand), 1),\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.productName), 1)\n ])\n ])),\n _renderSlot(_ctx.$slots, \"default\")\n ]))\n}","<template>\r\n\t<div class=\"d-flex flex-wrap flex-column\">\r\n\t\t<a v-if=\"!item.isHidden && item.url\" class=\"d-flex mr-lg-1 mb-1\" :href=\"item.url\">\r\n\t\t\t<Avatar\r\n\t\t\t\tv-if=\"item.icon\"\r\n\t\t\t\t:alt=\"item.iconAltTag\"\r\n\t\t\t\tclass=\"flex-shrink-0\"\r\n\t\t\t\t:image=\"item.icon\"\r\n\t\t\t\tshape=\"square\"\r\n\t\t\t\tsize=\"large\"\r\n\t\t\t\t:title=\"productName\"\r\n\t\t\t/>\r\n\r\n\t\t\t<div class=\"d-flex px-1 flex-column\">\r\n\t\t\t\t<small class=\"mb-0 text-muted d-block\">\r\n\t\t\t\t\t{{ item.brand }}\r\n\t\t\t\t</small>\r\n\t\t\t\t<span class=\"mb-0 text-bold\">\r\n\t\t\t\t\t{{ productName }}\r\n\t\t\t\t</span>\r\n\t\t\t</div>\r\n\t\t</a>\r\n\t\t<div v-else class=\"d-flex mr-lg-1 mb-1\">\r\n\t\t\t<Avatar\r\n\t\t\t\tv-if=\"item.icon\"\r\n\t\t\t\t:alt=\"item.iconAltTag\"\r\n\t\t\t\tclass=\"flex-shrink-0\"\r\n\t\t\t\t:image=\"item.icon\"\r\n\t\t\t\tshape=\"square\"\r\n\t\t\t\tsize=\"large\"\r\n\t\t\t\t:title=\"productName\"\r\n\t\t\t/>\r\n\r\n\t\t\t<div class=\"d-flex px-1 flex-column\">\r\n\t\t\t\t<small class=\"mb-0 text-muted d-block\">\r\n\t\t\t\t\t{{ item.brand }}\r\n\t\t\t\t</small>\r\n\t\t\t\t<span class=\"mb-0 text-bold\">\r\n\t\t\t\t\t{{ productName }}\r\n\t\t\t\t</span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<slot />\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { CartLineClient } from \"@/types/generated/Api/cartLineClient\";\r\nimport { CartLineType } from \"@/types/enum/cartLineType\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { PropType } from \"vue\";\r\n\r\n@Component\r\nexport default class ColumnProductName extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<CartLineClient>, required: true, default: {} }) item!: CartLineClient;\r\n\r\n\tget cartLineTypeEnum(): typeof CartLineType {\r\n\t\treturn CartLineType;\r\n\t}\r\n\r\n\tget productName(): string {\r\n\t\tswitch (this.item.cartLineType) {\r\n\t\t\tcase CartLineType.expertProduct:\r\n\t\t\t\treturn this.item.expert?.name;\r\n\t\t\tdefault:\r\n\t\t\t\treturn this.item.title;\r\n\t\t}\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped></style>\r\n","import { render } from \"./columnProductName.vue?vue&type=template&id=5db778b5&ts=true\"\nimport script from \"./columnProductName.vue?vue&type=script&lang=ts\"\nexport * from \"./columnProductName.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./cartClientTable.vue?vue&type=template&id=7077f776&scoped=true&ts=true\"\nimport script from \"./cartClientTable.vue?vue&type=script&lang=ts\"\nexport * from \"./cartClientTable.vue?vue&type=script&lang=ts\"\n\nimport \"./cartClientTable.vue?vue&type=style&index=0&id=7077f776&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7077f776\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, withCtx as _withCtx, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"cart-contract-table\" }\nconst _hoisted_2 = { class: \"p-datatable\" }\nconst _hoisted_3 = { class: \"p-datatable-header d-flex justify-content-between flex-wrap\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_ContractSummary = _resolveComponent(\"ContractSummary\")!\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_CartClientTable = _resolveComponent(\"CartClientTable\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(`cart.table.title${_ctx.getUpperCaseCartLineType(_ctx.cartClient.cartLineType)}`)), 1),\n (_ctx.isEditable)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-text p-button-danger hidden-print p-0\",\n icon: \"pi pi-times\",\n label: _ctx.$t('cart.button.removeItem'),\n title: _ctx.$t('cart.button.removeItem'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.onRemoveContractFromCartClick()))\n }, null, 8, [\"label\", \"title\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createVNode(_component_ContractSummary, { vm: _ctx.contractSummary }, null, 8, [\"vm\"]),\n (_ctx.cartClient.contractCoterming && _ctx.contractSummary?.contractProlongationDate)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n class: \"mt-0\",\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_i18n_t, {\n keypath: \"myCadac.contractDetail.message.newExpirationDateDurationChange\",\n scope: \"global\"\n }, {\n date: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.formatDate(_ctx.contractSummary.contractProlongationDate)), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n : (_ctx.contractSummary?.contractProlongationDate)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 1,\n class: \"mt-0\",\n closable: false,\n severity: \"info\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_i18n_t, {\n keypath: \"myCadac.contractDetail.message.newExpirationDate\",\n scope: \"global\"\n }, {\n date: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.formatDate(_ctx.contractSummary.contractProlongationDate)), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.editingCartLines?.length)\n ? (_openBlock(), _createBlock(_component_CartClientTable, {\n key: 2,\n \"cart-contract-client\": _ctx.cartClient,\n \"cart-line-type\": _ctx.cartClient.cartLineType,\n \"is-editable\": _ctx.isEditable,\n items: _ctx.editingCartLines\n }, null, 8, [\"cart-contract-client\", \"cart-line-type\", \"is-editable\", \"items\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}","<template>\r\n\t<div class=\"cart-contract-table\">\r\n\t\t<!--\tMock datatable header for consistent header styling-->\r\n\t\t<div class=\"p-datatable\">\r\n\t\t\t<div class=\"p-datatable-header d-flex justify-content-between flex-wrap\">\r\n\t\t\t\t<span>{{ $t(`cart.table.title${getUpperCaseCartLineType(cartClient.cartLineType)}`) }}</span>\r\n\r\n\t\t\t\t<Button\r\n\t\t\t\t\tv-if=\"isEditable\"\r\n\t\t\t\t\tclass=\"p-button-text p-button-danger hidden-print p-0\"\r\n\t\t\t\t\ticon=\"pi pi-times\"\r\n\t\t\t\t\t:label=\"$t('cart.button.removeItem')\"\r\n\t\t\t\t\t:title=\"$t('cart.button.removeItem')\"\r\n\t\t\t\t\t@click=\"onRemoveContractFromCartClick()\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<ContractSummary :vm=\"contractSummary\" />\r\n\t\t<Message\r\n\t\t\tv-if=\"cartClient.contractCoterming && contractSummary?.contractProlongationDate\"\r\n\t\t\tclass=\"mt-0\"\r\n\t\t\t:closable=\"false\"\r\n\t\t\tseverity=\"warn\"\r\n\t\t>\r\n\t\t\t<i18n-t keypath=\"myCadac.contractDetail.message.newExpirationDateDurationChange\" scope=\"global\">\r\n\t\t\t\t<template #date>\r\n\t\t\t\t\t<b>{{ formatDate(contractSummary.contractProlongationDate) }}</b>\r\n\t\t\t\t</template>\r\n\t\t\t</i18n-t>\r\n\t\t</Message>\r\n\t\t<Message\r\n\t\t\tv-else-if=\"contractSummary?.contractProlongationDate\"\r\n\t\t\tclass=\"mt-0\"\r\n\t\t\t:closable=\"false\"\r\n\t\t\tseverity=\"info\"\r\n\t\t>\r\n\t\t\t<i18n-t keypath=\"myCadac.contractDetail.message.newExpirationDate\" scope=\"global\">\r\n\t\t\t\t<template #date>\r\n\t\t\t\t\t<b>{{ formatDate(contractSummary.contractProlongationDate) }}</b>\r\n\t\t\t\t</template>\r\n\t\t\t</i18n-t>\r\n\t\t</Message>\r\n\t\t<CartClientTable\r\n\t\t\tv-if=\"editingCartLines?.length\"\r\n\t\t\t:cart-contract-client=\"cartClient\"\r\n\t\t\t:cart-line-type=\"cartClient.cartLineType\"\r\n\t\t\t:is-editable=\"isEditable\"\r\n\t\t\t:items=\"editingCartLines\"\r\n\t\t/>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport CartClientTable from \"@/components/commerce/cart/cartClientTable.vue\";\r\nimport ContractSummary, { IContractSummary } from \"@/components/common/contractSummary.vue\";\r\nimport { CartClient } from \"@/types/models/cart/cartClient\";\r\nimport { CartContractClient } from \"@/types/generated/Api/cartContractClient\";\r\nimport { CartLineClient } from \"@/types/generated/Api/cartLineClient\";\r\nimport { CartLineType } from \"@/types/enum/cartLineType\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { ContractUpdateInCart } from \"@/types/generated/Api/contractUpdateInCart\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { upperFirst } from \"lodash\";\r\nimport toFixed from \"accounting-js/lib/toFixed.js\";\r\n\r\n@Component({ components: { CartClientTable, ContractSummary } })\r\nexport default class CartContractTable extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<CartContractClient>, required: true, default: {} })\r\n\tcartClient!: CartContractClient;\r\n\t@Prop({ type: Boolean, required: true, default: false }) isEditable!: boolean;\r\n\r\n\tisLoading = false;\r\n\teditingCartLines: CartLineClient[] = [];\r\n\r\n\tget cartLineTypeEnum(): typeof CartLineType {\r\n\t\treturn CartLineType;\r\n\t}\r\n\r\n\tget contractSummary(): IContractSummary {\r\n\t\treturn {\r\n\t\t\tcontractManager: this.cartClient?.contractManager,\r\n\t\t\tcontractEndDate: this.cartClient?.endDate,\r\n\t\t\tcontractNumber: this.cartClient?.contractNumber,\r\n\t\t\tcontractType: this.cartClient?.contractType,\r\n\t\t\tcontractProlongationDate: this.cartClient?.newProlongationDate,\r\n\t\t};\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.editingCartLines = this.cartClient?.assets;\r\n\t}\r\n\r\n\tgetUpperCaseCartLineType(cartLineType: CartLineType): string {\r\n\t\treturn upperFirst(this.cartLineTypeEnum[cartLineType]);\r\n\t}\r\n\r\n\tonRemoveContractFromCartClick(): void {\r\n\t\tthis.$confirm.require({\r\n\t\t\tmessage: this.$t(\"cart.dialog.confirmRemoveContractMessage\", [this.cartClient.contractNumber]),\r\n\t\t\theader: this.$t(\"cart.dialog.confirmRemoveContractTitle\"),\r\n\t\t\tacceptLabel: this.$t(\"common.yes\"),\r\n\t\t\trejectLabel: this.$t(\"common.no\"),\r\n\t\t\taccept: () => {\r\n\t\t\t\tthis.updateContractInCart({\r\n\t\t\t\t\tid: 0,\r\n\t\t\t\t\tamount: 0,\r\n\t\t\t\t\tcontractnumber: this.cartClient.contractNumber,\r\n\t\t\t\t\tcontractcoterming: this.cartClient.contractCoterming,\r\n\t\t\t\t\tcartLineType: this.cartClient.cartLineType,\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t});\r\n\t}\r\n\r\n\tprotected updateContractInCart(model: ContractUpdateInCart): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tthis.axios\r\n\t\t\t.post<CartClient>(\"/api/cart/updateContract\", model)\r\n\t\t\t.then(() => {\r\n\t\t\t\tlet total = 0;\r\n\t\t\t\tthis.cartClient.assets.forEach((asset: CartLineClient): void => {\r\n\t\t\t\t\ttotal += asset.priceSubTotal;\r\n\t\t\t\t});\r\n\r\n\t\t\t\tthis.setDataLayer.removeFromCart(toFixed(total, 2), this.cartClient.assets, null);\r\n\r\n\t\t\t\twindow.location.reload();\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t\t\t\tLog.error(err);\r\n\t\t\t});\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, mergeProps as _mergeProps, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4647122e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"mb-1\"\n}\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = {\n key: 0,\n class: \"text-muted\"\n}\nconst _hoisted_4 = { key: 1 }\nconst _hoisted_5 = { key: 1 }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (_ctx.title)\n ? (_openBlock(), _createElementBlock(\"h5\", _hoisted_1, _toDisplayString(_ctx.title), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"dl\", _mergeProps({ class: \"contract-summary\" }, _ctx.$attrs), [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"common.contractSummary.lblContractNumber\")), 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.vm.contractNumber), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"common.contractSummary.lblContractType\")), 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.vm.contractType), 1)\n ]),\n (_ctx.vm.contractManager)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"common.contractSummary.lblContractManager\")), 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.vm.contractManager), 1)\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"common.contractSummary.lblEndDate\")), 1),\n _createElementVNode(\"dd\", null, [\n (_ctx.vm.contractProlongationDate)\n ? (_openBlock(), _createElementBlock(\"s\", _hoisted_3, _toDisplayString(_ctx.formatDate(_ctx.vm.contractEndDate)), 1))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_4, _toDisplayString(_ctx.formatDate(_ctx.vm.contractEndDate)), 1))\n ])\n ]),\n (_ctx.vm.contractProlongationDate)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"common.contractSummary.lblProlongationDate\")), 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.formatDate(_ctx.vm.contractProlongationDate)), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ], 16)\n ], 64))\n}","<template>\r\n\t<h5 v-if=\"title\" class=\"mb-1\">{{ title }}</h5>\r\n\t<dl class=\"contract-summary\" v-bind=\"$attrs\">\r\n\t\t<div>\r\n\t\t\t<dt>{{ $t(\"common.contractSummary.lblContractNumber\") }}</dt>\r\n\t\t\t<dd>{{ vm.contractNumber }}</dd>\r\n\t\t</div>\r\n\t\t<div>\r\n\t\t\t<dt>{{ $t(\"common.contractSummary.lblContractType\") }}</dt>\r\n\t\t\t<dd>{{ vm.contractType }}</dd>\r\n\t\t</div>\r\n\t\t<div v-if=\"vm.contractManager\">\r\n\t\t\t<dt>{{ $t(\"common.contractSummary.lblContractManager\") }}</dt>\r\n\t\t\t<dd>{{ vm.contractManager }}</dd>\r\n\t\t</div>\r\n\t\t<div>\r\n\t\t\t<dt>{{ $t(\"common.contractSummary.lblEndDate\") }}</dt>\r\n\t\t\t<dd>\r\n\t\t\t\t<s v-if=\"vm.contractProlongationDate\" class=\"text-muted\">\r\n\t\t\t\t\t{{ formatDate(vm.contractEndDate) }}\r\n\t\t\t\t</s>\r\n\t\t\t\t<span v-else>{{ formatDate(vm.contractEndDate) }}</span>\r\n\t\t\t</dd>\r\n\t\t</div>\r\n\t\t<div v-if=\"vm.contractProlongationDate\">\r\n\t\t\t<dt>{{ $t(\"common.contractSummary.lblProlongationDate\") }}</dt>\r\n\t\t\t<dd>{{ formatDate(vm.contractProlongationDate) }}</dd>\r\n\t\t</div>\r\n\t</dl>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { PropType } from \"vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\n\r\nexport interface IContractSummary {\r\n\tcontractNumber: string;\r\n\tcontractType: string;\r\n\tcontractEndDate: Date | string;\r\n\tcontractProlongationDate?: Date | string;\r\n\tcontractManager?: string;\r\n}\r\n\r\n@Component\r\nexport default class ContractSummary extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IContractSummary>, required: true, default: {} }) vm!: IContractSummary;\r\n\t@Prop({ type: String, required: false, default: \"\" }) title!: string;\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\ndl.contract-summary {\r\n\tdisplay: flex;\r\n\tflex: 1 1 100%;\r\n\tflex-wrap: wrap;\r\n\tjustify-content: space-between;\r\n\tpadding: 1rem;\r\n\tmargin-bottom: 0;\r\n\tbackground: var(--surface-50);\r\n\r\n\t@media (max-width: 960px) {\r\n\t\tpadding: 0.5rem;\r\n\t\t> div {\r\n\t\t\tpadding: 0;\r\n\t\t}\r\n\t}\r\n\r\n\tdt {\r\n\t\tcolor: var(--text-color);\r\n\t}\r\n\r\n\tdd {\r\n\t\tcolor: var(--text-color-secondary);\r\n\t}\r\n\r\n\t> dt {\r\n\t\ttext-decoration: underline;\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./contractSummary.vue?vue&type=template&id=4647122e&scoped=true&ts=true\"\nimport script from \"./contractSummary.vue?vue&type=script&lang=ts\"\nexport * from \"./contractSummary.vue?vue&type=script&lang=ts\"\n\nimport \"./contractSummary.vue?vue&type=style&index=0&id=4647122e&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4647122e\"]])\n\nexport default __exports__","import { render } from \"./cartContractTable.vue?vue&type=template&id=00442010&ts=true\"\nimport script from \"./cartContractTable.vue?vue&type=script&lang=ts\"\nexport * from \"./cartContractTable.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, withCtx as _withCtx, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-78bbabfd\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"cart-service-table\" }\nconst _hoisted_2 = { class: \"d-flex justify-content-between flex-wrap\" }\nconst _hoisted_3 = { class: \"text-primary\" }\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = { key: 1 }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-spin pi-spinner\" }, null, -1))\nconst _hoisted_7 = [\n _hoisted_6\n]\nconst _hoisted_8 = { class: \"ml-auto\" }\nconst _hoisted_9 = {\n key: 0,\n class: \"lead d-flex justify-content-end pr-1\"\n}\nconst _hoisted_10 = { class: \"mr-3 text-bold\" }\nconst _hoisted_11 = { class: \"text-bold\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_ColumnProductName = _resolveComponent(\"ColumnProductName\")!\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_PriceSummary = _resolveComponent(\"PriceSummary\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"h5\", _hoisted_3, _toDisplayString(_ctx.microServiceProduct?.name), 1),\n _createElementVNode(\"div\", null, [\n (_ctx.canChangeConfiguration && _ctx.isEditable)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-secondary p-button-text flex-shrink-0 hidden-print\",\n icon: \"pi pi-cog\",\n label: _ctx.$t('cart.button.editConfiguration'),\n title: _ctx.$t('cart.button.editConfiguration'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => {\r\n\t\t\t\t\t\t_ctx.onChangeConfigurationClick();\r\n\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t})\n }, null, 8, [\"label\", \"title\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.isEditable)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-text p-button-danger hidden-print flex-shrink-0\",\n icon: \"pi pi-times\",\n label: _ctx.$t('cart.button.removeItem'),\n title: _ctx.$t('cart.button.removeItem'),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onRemoveFromCartClick()))\n }, null, 8, [\"label\", \"title\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createVNode(_component_DataTable, {\n breakpoint: \"1150px\",\n \"data-key\": \"id\",\n \"responsive-layout\": \"stack\",\n value: _ctx.editingCartLines\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Column, {\n field: \"productName\",\n header: _ctx.$t('cart.table.colName'),\n style: { width: '25%' }\n }, {\n body: _withCtx((item) => [\n _createVNode(_component_ColumnProductName, {\n item: _ctx.productNameColumnModel(item.data)\n }, null, 8, [\"item\"])\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column),\n _createVNode(_component_Column, {\n header: _ctx.$t('cart.table.colPrice'),\n style: {\"width\":\"35%\"}\n }, {\n body: _withCtx((item) => [\n (!_ctx.isSpinnerVisible(item.data.name))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createVNode(_component_PriceSummary, {\n vm: _ctx.modularPriceSummary(item.data)\n }, null, 8, [\"vm\"])\n ]))\n : (_ctx.isSpinnerVisible(item.data.name))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, _hoisted_7))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"header\"])\n ]),\n _: 1\n }, 8, [\"value\"]),\n _createElementVNode(\"div\", _hoisted_8, [\n (_ctx.totalPriceSummary?.totalPrice)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_9, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t(\"common.priceSummary.totalPrice\")), 1),\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.formatCurrency(_ctx.totalPriceSummary?.totalPrice)), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}","<template>\r\n\t<div class=\"cart-service-table\">\r\n\t\t<div class=\"d-flex justify-content-between flex-wrap\">\r\n\t\t\t<h5 class=\"text-primary\">\r\n\t\t\t\t{{ microServiceProduct?.name }}\r\n\t\t\t</h5>\r\n\t\t\t<div>\r\n\t\t\t\t<Button\r\n\t\t\t\t\tv-if=\"canChangeConfiguration && isEditable\"\r\n\t\t\t\t\tclass=\"p-button-secondary p-button-text flex-shrink-0 hidden-print\"\r\n\t\t\t\t\ticon=\"pi pi-cog\"\r\n\t\t\t\t\t:label=\"$t('cart.button.editConfiguration')\"\r\n\t\t\t\t\t:title=\"$t('cart.button.editConfiguration')\"\r\n\t\t\t\t\t@click=\"\r\n\t\t\t\t\t\tonChangeConfigurationClick();\r\n\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\"\r\n\t\t\t\t/>\r\n\t\t\t\t<Button\r\n\t\t\t\t\tv-if=\"isEditable\"\r\n\t\t\t\t\tclass=\"p-button-text p-button-danger hidden-print flex-shrink-0\"\r\n\t\t\t\t\ticon=\"pi pi-times\"\r\n\t\t\t\t\t:label=\"$t('cart.button.removeItem')\"\r\n\t\t\t\t\t:title=\"$t('cart.button.removeItem')\"\r\n\t\t\t\t\t@click=\"onRemoveFromCartClick()\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<DataTable breakpoint=\"1150px\" data-key=\"id\" responsive-layout=\"stack\" :value=\"editingCartLines\">\r\n\t\t\t<Column field=\"productName\" :header=\"$t('cart.table.colName')\" :style=\"{ width: '25%' }\">\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<ColumnProductName :item=\"productNameColumnModel(item.data)\" />\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\t\t\t<Column />\r\n\r\n\t\t\t<Column :header=\"$t('cart.table.colPrice')\" style=\"width: 35%\">\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<div v-if=\"!isSpinnerVisible(item.data.name)\">\r\n\t\t\t\t\t\t<PriceSummary :vm=\"modularPriceSummary(item.data)\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div v-else-if=\"isSpinnerVisible(item.data.name)\">\r\n\t\t\t\t\t\t<i class=\"pi pi-spin pi-spinner\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\t\t</DataTable>\r\n\t\t<div class=\"ml-auto\">\r\n\t\t\t<p v-if=\"totalPriceSummary?.totalPrice\" class=\"lead d-flex justify-content-end pr-1\">\r\n\t\t\t\t<span class=\"mr-3 text-bold\">\r\n\t\t\t\t\t{{ $t(\"common.priceSummary.totalPrice\") }}\r\n\t\t\t\t</span>\r\n\t\t\t\t<span class=\"text-bold\">\r\n\t\t\t\t\t{{ formatCurrency(totalPriceSummary?.totalPrice) }}\r\n\t\t\t\t</span>\r\n\t\t\t</p>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport CartClientTable from \"@/components/commerce/cart/cartClientTable.vue\";\r\nimport ColumnProductName from \"@/components/commerce/cart/columnProductName.vue\";\r\n\r\nimport PriceSummary from \"@/components/common/priceSummary.vue\";\r\nimport { CartLineClient } from \"@/types/generated/Api/cartLineClient\";\r\nimport { CartLineType } from \"@/types/enum/cartLineType\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { IPriceSummary } from \"@/types/models/common/priceSummary.interface\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { RemoveMicroServiceProductRequest } from \"@/types/generated/Api/removeMicroServiceProductRequest\";\r\nimport { MicroServiceProductCartClient } from \"@/types/generated/Api/microServiceProductCartLineItem\";\r\nimport toFixed from \"accounting-js/lib/toFixed.js\";\r\n\r\n@Component({ components: { CartClientTable, PriceSummary, ColumnProductName } })\r\nexport default class CartMircoServiceTable extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<CartLineClient>, required: true, default: {} })\r\n\tcartLineClient!: CartLineClient;\r\n\t@Prop({ type: Boolean, required: true, default: false })\r\n\tisEditable!: boolean;\r\n\r\n\teditingCartLines: MicroServiceProductCartClient[] = [];\r\n\r\n\tget cartLineTypeEnum(): typeof CartLineType {\r\n\t\treturn CartLineType;\r\n\t}\r\n\r\n\tget microServiceProduct(): MicroServiceProductCartClient {\r\n\t\treturn this.cartLineClient.microServiceProduct;\r\n\t}\r\n\r\n\tget productNameColumnModel() {\r\n\t\treturn (CartLine: MicroServiceProductCartClient) => {\r\n\t\t\tconst { name, brand, icon, iconAltTag } = CartLine;\r\n\t\t\treturn {\r\n\t\t\t\ttitle: name,\r\n\t\t\t\tbrand,\r\n\t\t\t\ticon,\r\n\t\t\t\ticonAltTag,\r\n\t\t\t\turl: \"\",\r\n\t\t\t} as CartLineClient;\r\n\t\t};\r\n\t}\r\n\r\n\tget modularPriceSummary() {\r\n\t\treturn (ProductCartLine: MicroServiceProductCartClient) => {\r\n\t\t\tconst { totalPrice, modules } = ProductCartLine;\r\n\t\t\tconst numOfModules = modules.length;\r\n\t\t\tconst standardLines = new Map<string, number>();\r\n\t\t\tconst text =\r\n\t\t\t\tnumOfModules > 1\r\n\t\t\t\t\t? `${this.$t(`service.type.modular`)} (${this.$tc(`cart.lblModuleCount`, numOfModules)})`\r\n\t\t\t\t\t: `${this.$t(`service.type.modular`)} (${this.$t(`cart.lblModuleSingle`)})`;\r\n\t\t\tstandardLines.set(text, totalPrice);\r\n\t\t\tconst subtotal = totalPrice;\r\n\t\t\treturn { subtotal, standardLines } as IPriceSummary;\r\n\t\t};\r\n\t}\r\n\r\n\tget totalPriceSummary() {\r\n\t\tconst { totalPrice } = this.microServiceProduct;\r\n\t\treturn { totalPrice };\r\n\t}\r\n\r\n\tget canChangeConfiguration(): boolean {\r\n\t\treturn this.cartLineClient.microServiceLineItemIds?.length > 0 && !!this.microServiceProduct?.url;\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.editingCartLines = [this.microServiceProduct];\r\n\t}\r\n\r\n\tonChangeConfigurationClick(): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tthis.openUrl(\r\n\t\t\t`${this.cartLineClient.url}?lineItemIds=${this.cartLineClient.microServiceLineItemIds?.join(\",\")}`\r\n\t\t);\r\n\t}\r\n\r\n\tonRemoveFromCartClick(): void {\r\n\t\tthis.$confirm.require({\r\n\t\t\tmessage: this.$t(\"cart.dialog.confirmRemoveProduct\", [this.microServiceProduct?.name]),\r\n\t\t\theader: this.$t(\"cart.dialog.confirmRemoveServiceTitle\"),\r\n\t\t\tacceptLabel: this.$t(\"common.yes\"),\r\n\t\t\trejectLabel: this.$t(\"common.no\"),\r\n\t\t\taccept: () => {\r\n\t\t\t\tthis.removeFromCart({ lineItemIds: this.cartLineClient.microServiceLineItemIds });\r\n\t\t\t},\r\n\t\t});\r\n\t}\r\n\r\n\tprotected removeFromCart(model: RemoveMicroServiceProductRequest): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\r\n\t\tthis.axios\r\n\t\t\t.post(\"/api/cart/remove-micro-service\", model)\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.setDataLayer.removeFromCart(toFixed(this.cartLineClient.price, 2), [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tid: this.cartLineClient.productId,\r\n\t\t\t\t\t\tname: this.cartLineClient.title,\r\n\t\t\t\t\t\tproductCategory: this.cartLineClient.productCategory,\r\n\t\t\t\t\t\tpriceSubTotal: this.cartLineClient.price,\r\n\t\t\t\t\t\tpriceBase: this.cartLineClient.price,\r\n\t\t\t\t\t\tbrand: this.cartLineClient.brand,\r\n\t\t\t\t\t\tamount: 1,\r\n\t\t\t\t\t\tdiscount: this.cartLineClient.discount,\r\n\t\t\t\t\t},\r\n\t\t\t\t]);\r\n\r\n\t\t\t\twindow.location.reload();\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t\t\t\tLog.error(err);\r\n\t\t\t});\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.cart-service-table {\r\n\tpadding: 0.75rem 0.75rem 0 0.75rem;\r\n}\r\n</style>\r\n","import { render } from \"./cartMircoServiceTable.vue?vue&type=template&id=78bbabfd&scoped=true&ts=true\"\nimport script from \"./cartMircoServiceTable.vue?vue&type=script&lang=ts\"\nexport * from \"./cartMircoServiceTable.vue?vue&type=script&lang=ts\"\n\nimport \"./cartMircoServiceTable.vue?vue&type=style&index=0&id=78bbabfd&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-78bbabfd\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, withCtx as _withCtx, createVNode as _createVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-b969b80a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"product-actions align-items-lg-start flex-lg-row ml-lg-0\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { key: 1 }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-spin pi-spinner\" }, null, -1))\nconst _hoisted_5 = [\n _hoisted_4\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_ColumnProductName = _resolveComponent(\"ColumnProductName\")!\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_ColumnExpertInfo = _resolveComponent(\"ColumnExpertInfo\")!\n const _component_PriceSummary = _resolveComponent(\"PriceSummary\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n\n return (_openBlock(), _createBlock(_component_DataTable, {\n breakpoint: \"1150px\",\n \"data-key\": \"id\",\n \"responsive-layout\": \"stack\",\n value: _ctx.cartLineClients\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Column, {\n field: \"productName\",\n header: _ctx.$t('cart.table.colName'),\n style: { width: '25%' }\n }, {\n body: _withCtx((item) => [\n _createVNode(_component_ColumnProductName, {\n item: _ctx.productNameColumnModel(item.data)\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n (_ctx.canChangeConfiguration(item.data))\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-secondary p-button-text flex-shrink-0 hidden-print\",\n icon: \"pi pi-cog\",\n label: _ctx.$t('cart.button.editConfiguration'),\n title: _ctx.$t('cart.button.editConfiguration'),\n onClick: ($event: any) => (_ctx.changeConfiguration(item.data))\n }, null, 8, [\"label\", \"title\", \"onClick\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.canRemoveItem(item.data))\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-secondary p-button-text flex-shrink-0 hidden-print\",\n icon: \"pi pi-times\",\n label: _ctx.$t('cart.button.removeItem'),\n title: _ctx.$t('cart.button.removeItem'),\n onClick: ($event: any) => (_ctx.confirmRemoveItem(item.data))\n }, null, 8, [\"label\", \"title\", \"onClick\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 2\n }, 1032, [\"item\"])\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, null, {\n body: _withCtx((item) => [\n _createVNode(_component_ColumnExpertInfo, {\n item: item.data\n }, null, 8, [\"item\"])\n ]),\n _: 1\n }),\n _createVNode(_component_Column, {\n header: _ctx.$t('cart.table.colPrice'),\n style: {\"width\":\"35%\"}\n }, {\n body: _withCtx((item) => [\n (!_ctx.isSpinnerVisible(item.data.name))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createVNode(_component_PriceSummary, {\n vm: _ctx.priceSummary(item.data)\n }, null, 8, [\"vm\"])\n ]))\n : (_ctx.isSpinnerVisible(item.data.name))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _hoisted_5))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"header\"])\n ]),\n _: 1\n }, 8, [\"value\"]))\n}","<template>\r\n\t<DataTable breakpoint=\"1150px\" data-key=\"id\" responsive-layout=\"stack\" :value=\"cartLineClients\">\r\n\t\t<Column field=\"productName\" :header=\"$t('cart.table.colName')\" :style=\"{ width: '25%' }\">\r\n\t\t\t<template #body=\"item\">\r\n\t\t\t\t<ColumnProductName :item=\"productNameColumnModel(item.data)\">\r\n\t\t\t\t\t<div class=\"product-actions align-items-lg-start flex-lg-row ml-lg-0\">\r\n\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\tv-if=\"canChangeConfiguration(item.data)\"\r\n\t\t\t\t\t\t\tclass=\"p-button-secondary p-button-text flex-shrink-0 hidden-print\"\r\n\t\t\t\t\t\t\ticon=\"pi pi-cog\"\r\n\t\t\t\t\t\t\t:label=\"$t('cart.button.editConfiguration')\"\r\n\t\t\t\t\t\t\t:title=\"$t('cart.button.editConfiguration')\"\r\n\t\t\t\t\t\t\t@click=\"changeConfiguration(item.data)\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\tv-if=\"canRemoveItem(item.data)\"\r\n\t\t\t\t\t\t\tclass=\"p-button-secondary p-button-text flex-shrink-0 hidden-print\"\r\n\t\t\t\t\t\t\ticon=\"pi pi-times\"\r\n\t\t\t\t\t\t\t:label=\"$t('cart.button.removeItem')\"\r\n\t\t\t\t\t\t\t:title=\"$t('cart.button.removeItem')\"\r\n\t\t\t\t\t\t\t@click=\"confirmRemoveItem(item.data)\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ColumnProductName>\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\r\n\t\t<Column>\r\n\t\t\t<template #body=\"item\">\r\n\t\t\t\t<ColumnExpertInfo :item=\"item.data\" />\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\r\n\t\t<Column :header=\"$t('cart.table.colPrice')\" style=\"width: 35%\">\r\n\t\t\t<template #body=\"item\">\r\n\t\t\t\t<div v-if=\"!isSpinnerVisible(item.data.name)\">\r\n\t\t\t\t\t<PriceSummary :vm=\"priceSummary(item.data)\" />\r\n\t\t\t\t</div>\r\n\t\t\t\t<div v-else-if=\"isSpinnerVisible(item.data.name)\">\r\n\t\t\t\t\t<i class=\"pi pi-spin pi-spinner\" />\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\t</DataTable>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport ColumnExpertInfo from \"@/components/commerce/cart/columnExpertInfo.vue\";\r\nimport ColumnProductName from \"@/components/commerce/cart/columnProductName.vue\";\r\nimport PriceSummary from \"@/components/common/priceSummary.vue\";\r\nimport { CartClient } from \"@/types/models/cart/cartClient\";\r\nimport { CartLineClient } from \"@/types/generated/Api/cartLineClient\";\r\nimport { CartLineType } from \"@/types/enum/cartLineType\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { ExpertCalculationLineType } from \"@/types/enum/expertCalculationLineType\";\r\nimport { IPriceSummary } from \"@/types/models/common/priceSummary.interface\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { RemoveExpertProductRequest } from \"@/types/models/expert/removeExpertProductRequest\";\r\nimport { sortBy } from \"lodash\";\r\nimport toFixed from \"accounting-js/lib/toFixed.js\";\r\n\r\n@Component({ components: { ColumnExpertInfo, PriceSummary, ColumnProductName } })\r\nexport default class CartExpertTable extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<CartLineClient[]>, required: true, default: {} })\r\n\tcartLineClients!: CartLineClient[];\r\n\t@Prop({ type: Boolean, required: true, default: false }) isEditable!: boolean;\r\n\r\n\tget cartLineTypeEnum(): typeof CartLineType {\r\n\t\treturn CartLineType;\r\n\t}\r\n\r\n\tget productNameColumnModel() {\r\n\t\treturn (expertCartLine: CartLineClient) => {\r\n\t\t\tconst { expert, brand, icon, iconAltTag, url } = expertCartLine;\r\n\t\t\treturn {\r\n\t\t\t\ttitle: expert?.name,\r\n\t\t\t\tbrand,\r\n\t\t\t\ticon,\r\n\t\t\t\ticonAltTag,\r\n\t\t\t\turl,\r\n\t\t\t} as CartLineClient;\r\n\t\t};\r\n\t}\r\n\r\n\tget priceSummary() {\r\n\t\treturn (cartLineClient: CartLineClient) => {\r\n\t\t\tconst { expert, priceSubTotal } = cartLineClient;\r\n\t\t\tconst additionalLines = new Map<string, number>();\r\n\t\t\tconst standardLines = new Map<string, number>();\r\n\t\t\tsortBy(expert.basePrices, \"order\")\r\n\t\t\t\t.filter((x) => x.totalPrice)\r\n\t\t\t\t.forEach((x) => {\r\n\t\t\t\t\tif (x.type === ExpertCalculationLineType.fullDay)\r\n\t\t\t\t\t\tstandardLines.set(\r\n\t\t\t\t\t\t\tthis.$t(`enum.expertCalculationLineType.${x.type}`, [x.quantity]),\r\n\t\t\t\t\t\t\tx.totalPrice\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\tif (x.type === ExpertCalculationLineType.dayPart)\r\n\t\t\t\t\t\tstandardLines.set(\r\n\t\t\t\t\t\t\tthis.$t(`enum.expertCalculationLineType.${x.type}`, [x.quantity]),\r\n\t\t\t\t\t\t\tx.totalPrice\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\tif (x.type === ExpertCalculationLineType.hour)\r\n\t\t\t\t\t\tstandardLines.set(\r\n\t\t\t\t\t\t\tthis.$t(`enum.expertCalculationLineType.${x.type}`, [x.quantity]),\r\n\t\t\t\t\t\t\tx.totalPrice\r\n\t\t\t\t\t\t);\r\n\t\t\t\t});\r\n\t\t\tsortBy(expert.additionalPrices, \"order\")\r\n\t\t\t\t.filter((x) => x.totalPrice)\r\n\t\t\t\t.forEach((x) => {\r\n\t\t\t\t\tif (x.type === ExpertCalculationLineType.travel)\r\n\t\t\t\t\t\tadditionalLines.set(\r\n\t\t\t\t\t\t\tthis.$t(`enum.expertCalculationLineType.${x.type}`, [x.quantity, toFixed(x.price, 2)]),\r\n\t\t\t\t\t\t\tx.totalPrice\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\tif (x.type === ExpertCalculationLineType.accommodation)\r\n\t\t\t\t\t\tadditionalLines.set(\r\n\t\t\t\t\t\t\tx.quantity > 1\r\n\t\t\t\t\t\t\t\t? this.$t(`enum.expertCalculationLineType.${x.type}`) +\r\n\t\t\t\t\t\t\t\t\t\t\" \" +\r\n\t\t\t\t\t\t\t\t\t\tthis.$t(`expert.nights`, [x.quantity])\r\n\t\t\t\t\t\t\t\t: this.$t(`enum.expertCalculationLineType.${x.type}`) +\r\n\t\t\t\t\t\t\t\t\t\t\" \" +\r\n\t\t\t\t\t\t\t\t\t\tthis.$t(`expert.night`, [x.quantity]),\r\n\t\t\t\t\t\t\tx.totalPrice\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\tif (x.type === ExpertCalculationLineType.flexBooking)\r\n\t\t\t\t\t\tadditionalLines.set(\r\n\t\t\t\t\t\t\tthis.$t(`enum.expertCalculationLineType.${x.type}`, [\r\n\t\t\t\t\t\t\t\texpert.flexBookingPercentage,\r\n\t\t\t\t\t\t\t\ttoFixed(x.price, 2),\r\n\t\t\t\t\t\t\t]),\r\n\t\t\t\t\t\t\tx.totalPrice\r\n\t\t\t\t\t\t);\r\n\t\t\t\t});\r\n\t\t\treturn { subtotal: priceSubTotal, additionalLines, standardLines } as IPriceSummary;\r\n\t\t};\r\n\t}\r\n\r\n\tcanRemoveItem(item: CartLineClient): boolean {\r\n\t\treturn item.canRemoveLine && this.isEditable;\r\n\t}\r\n\r\n\tcanChangeConfiguration(item: CartLineClient): boolean {\r\n\t\treturn item.canChangeConfiguration && this.isEditable;\r\n\t}\r\n\r\n\tchangeConfiguration(item: CartLineClient): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tthis.openUrl(`${item.url}?lineItemId=${item.id}`);\r\n\t}\r\n\r\n\tconfirmRemoveItem(item: CartLineClient): void {\r\n\t\tthis.$confirm.require({\r\n\t\t\tmessage: this.$t(\"cart.dialog.confirmRemoveProduct\", [item.title]),\r\n\t\t\theader: this.$t(\"common.messages.titleImportant\"),\r\n\t\t\tacceptLabel: this.$t(\"common.yes\"),\r\n\t\t\trejectLabel: this.$t(\"common.no\"),\r\n\t\t\taccept: () => {\r\n\t\t\t\tthis.removeItemFromCart({ lineItemId: item.id }, item);\r\n\t\t\t},\r\n\t\t});\r\n\t}\r\n\r\n\tprotected removeItemFromCart(model: RemoveExpertProductRequest, item: CartLineClient): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tthis.axios\r\n\t\t\t.post<CartClient>(\"/api/cart/remove-expert\", model)\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.setDataLayer.removeFromCart(toFixed(item.priceSubTotal, 2), [item]);\r\n\r\n\t\t\t\twindow.location.reload();\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t\t\t\tLog.error(err);\r\n\t\t\t});\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n::v-deep(.p-datatable-tbody) {\r\n\ttr td {\r\n\t\tvertical-align: top;\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./cartExpertTable.vue?vue&type=template&id=b969b80a&scoped=true&ts=true\"\nimport script from \"./cartExpertTable.vue?vue&type=script&lang=ts\"\nexport * from \"./cartExpertTable.vue?vue&type=script&lang=ts\"\n\nimport \"./cartExpertTable.vue?vue&type=style&index=0&id=b969b80a&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-b969b80a\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, withCtx as _withCtx, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-e628c2b4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"cart-training-table\" }\nconst _hoisted_2 = { class: \"d-flex justify-content-between flex-wrap\" }\nconst _hoisted_3 = { class: \"text-primary\" }\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = { key: 1 }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-spin pi-spinner\" }, null, -1))\nconst _hoisted_7 = [\n _hoisted_6\n]\nconst _hoisted_8 = {\n key: 0,\n class: \"ml-auto\"\n}\nconst _hoisted_9 = {\n key: 0,\n class: \"lead d-flex justify-content-end pr-1\"\n}\nconst _hoisted_10 = { class: \"mr-3 text-bold\" }\nconst _hoisted_11 = { class: \"text-bold\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_ColumnProductName = _resolveComponent(\"ColumnProductName\")!\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_ColumnTrainingInfo = _resolveComponent(\"ColumnTrainingInfo\")!\n const _component_PriceSummary = _resolveComponent(\"PriceSummary\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"h5\", _hoisted_3, _toDisplayString(_ctx.trainingGroup?.isModular\r\n\t\t\t\t\t\t? `${_ctx.trainingGroup?.name} (${_ctx.$t(\"myCadac.trainingOverview.table.lblModular\")})`\r\n\t\t\t\t\t\t: _ctx.trainingGroup?.name), 1),\n _createElementVNode(\"div\", null, [\n (_ctx.canChangeConfiguration && _ctx.isEditable)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-secondary p-button-text flex-shrink-0 hidden-print\",\n icon: \"pi pi-cog\",\n label: _ctx.$t('cart.button.editConfiguration'),\n title: _ctx.$t('cart.button.editConfiguration'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => {\r\n\t\t\t\t\t\t_ctx.onChangeConfigurationClick();\r\n\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t})\n }, null, 8, [\"label\", \"title\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.isEditable)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-text p-button-danger hidden-print flex-shrink-0\",\n icon: \"pi pi-times\",\n label: _ctx.$t('cart.button.removeItem'),\n title: _ctx.$t('cart.button.removeItem'),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onRemoveTrainingFromCartClick()))\n }, null, 8, [\"label\", \"title\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createVNode(_component_DataTable, {\n breakpoint: \"1150px\",\n \"data-key\": \"id\",\n \"responsive-layout\": \"stack\",\n value: _ctx.editingCartLines\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Column, {\n field: \"productName\",\n header: _ctx.$t('cart.table.colName'),\n style: { width: '25%' }\n }, {\n body: _withCtx((item) => [\n _createVNode(_component_ColumnProductName, {\n item: _ctx.productNameColumnModel(item.data)\n }, null, 8, [\"item\"])\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, { key: \"trainingInfo\" }, {\n body: _withCtx((item) => [\n _createVNode(_component_ColumnTrainingInfo, {\n item: item.data\n }, null, 8, [\"item\"])\n ]),\n _: 1\n }),\n _createVNode(_component_Column, {\n header: _ctx.$t('cart.table.colPrice'),\n style: {\"width\":\"35%\"}\n }, {\n body: _withCtx((item) => [\n (!_ctx.isSpinnerVisible(item.data.name))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createVNode(_component_PriceSummary, {\n vm: \r\n\t\t\t\t\t\t\t\t_ctx.trainingGroup?.isModular\r\n\t\t\t\t\t\t\t\t\t? _ctx.modularPriceSummary(item.data)\r\n\t\t\t\t\t\t\t\t\t: _ctx.standardPriceSummary(item.data)\r\n\t\t\t\t\t\t\t\n }, null, 8, [\"vm\"])\n ]))\n : (_ctx.isSpinnerVisible(item.data.name))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, _hoisted_7))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"header\"])\n ]),\n _: 1\n }, 8, [\"value\"]),\n (_ctx.trainingGroup?.isModular)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n (_ctx.totalPriceSummary?.totalPrice)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_9, [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t(\"common.priceSummary.totalPrice\")), 1),\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.formatCurrency(_ctx.totalPriceSummary?.totalPrice)), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}","<template>\r\n\t<div class=\"cart-training-table\">\r\n\t\t<div class=\"d-flex justify-content-between flex-wrap\">\r\n\t\t\t<h5 class=\"text-primary\">\r\n\t\t\t\t{{\r\n\t\t\t\t\ttrainingGroup?.isModular\r\n\t\t\t\t\t\t? `${trainingGroup?.name} (${$t(\"myCadac.trainingOverview.table.lblModular\")})`\r\n\t\t\t\t\t\t: trainingGroup?.name\r\n\t\t\t\t}}\r\n\t\t\t</h5>\r\n\t\t\t<div>\r\n\t\t\t\t<Button\r\n\t\t\t\t\tv-if=\"canChangeConfiguration && isEditable\"\r\n\t\t\t\t\tclass=\"p-button-secondary p-button-text flex-shrink-0 hidden-print\"\r\n\t\t\t\t\ticon=\"pi pi-cog\"\r\n\t\t\t\t\t:label=\"$t('cart.button.editConfiguration')\"\r\n\t\t\t\t\t:title=\"$t('cart.button.editConfiguration')\"\r\n\t\t\t\t\t@click=\"\r\n\t\t\t\t\t\tonChangeConfigurationClick();\r\n\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\"\r\n\t\t\t\t/>\r\n\t\t\t\t<Button\r\n\t\t\t\t\tv-if=\"isEditable\"\r\n\t\t\t\t\tclass=\"p-button-text p-button-danger hidden-print flex-shrink-0\"\r\n\t\t\t\t\ticon=\"pi pi-times\"\r\n\t\t\t\t\t:label=\"$t('cart.button.removeItem')\"\r\n\t\t\t\t\t:title=\"$t('cart.button.removeItem')\"\r\n\t\t\t\t\t@click=\"onRemoveTrainingFromCartClick()\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<DataTable breakpoint=\"1150px\" data-key=\"id\" responsive-layout=\"stack\" :value=\"editingCartLines\">\r\n\t\t\t<Column field=\"productName\" :header=\"$t('cart.table.colName')\" :style=\"{ width: '25%' }\">\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<ColumnProductName :item=\"productNameColumnModel(item.data)\" />\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\t\t\t<Column key=\"trainingInfo\">\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<ColumnTrainingInfo :item=\"item.data\" />\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\r\n\t\t\t<Column :header=\"$t('cart.table.colPrice')\" style=\"width: 35%\">\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<div v-if=\"!isSpinnerVisible(item.data.name)\">\r\n\t\t\t\t\t\t<PriceSummary\r\n\t\t\t\t\t\t\t:vm=\"\r\n\t\t\t\t\t\t\t\ttrainingGroup?.isModular\r\n\t\t\t\t\t\t\t\t\t? modularPriceSummary(item.data)\r\n\t\t\t\t\t\t\t\t\t: standardPriceSummary(item.data)\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div v-else-if=\"isSpinnerVisible(item.data.name)\">\r\n\t\t\t\t\t\t<i class=\"pi pi-spin pi-spinner\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\t\t</DataTable>\r\n\t\t<div v-if=\"trainingGroup?.isModular\" class=\"ml-auto\">\r\n\t\t\t<p v-if=\"totalPriceSummary?.totalPrice\" class=\"lead d-flex justify-content-end pr-1\">\r\n\t\t\t\t<span class=\"mr-3 text-bold\">\r\n\t\t\t\t\t{{ $t(\"common.priceSummary.totalPrice\") }}\r\n\t\t\t\t</span>\r\n\t\t\t\t<span class=\"text-bold\">\r\n\t\t\t\t\t{{ formatCurrency(totalPriceSummary?.totalPrice) }}\r\n\t\t\t\t</span>\r\n\t\t\t</p>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport CartClientTable from \"@/components/commerce/cart/cartClientTable.vue\";\r\nimport ColumnProductName from \"@/components/commerce/cart/columnProductName.vue\";\r\nimport ColumnTrainingInfo from \"@/components/commerce/cart/columnTrainingInfo.vue\";\r\nimport PriceSummary from \"@/components/common/priceSummary.vue\";\r\nimport { CartClient } from \"@/types/models/cart/cartClient\";\r\nimport { CartLineClient } from \"@/types/generated/Api/cartLineClient\";\r\nimport { CartLineType } from \"@/types/enum/cartLineType\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { IPriceSummary } from \"@/types/models/common/priceSummary.interface\";\r\nimport { LocalTrainingType } from \"@/types/enum/localTrainingType\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { RemoveTrainingProductRequest } from \"@/types/generated/Api/removeTrainingProductRequest\";\r\nimport { TrainingCartLineClient } from \"@/types/generated/Api/trainingCartLineClient\";\r\nimport { TrainingGroupCartLineClient } from \"@/types/generated/Api/trainingGroupCartLineClient\";\r\nimport { sortBy } from \"lodash\";\r\nimport toFixed from \"accounting-js/lib/toFixed.js\";\r\n\r\n@Component({ components: { ColumnTrainingInfo, CartClientTable, PriceSummary, ColumnProductName } })\r\nexport default class CartTrainingTable extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<CartLineClient>, required: true, default: {} })\r\n\tcartLineClient!: CartLineClient;\r\n\t@Prop({ type: Boolean, required: true, default: false }) isEditable!: boolean;\r\n\r\n\teditingCartLines: TrainingCartLineClient[] = [];\r\n\r\n\tget cartLineTypeEnum(): typeof CartLineType {\r\n\t\treturn CartLineType;\r\n\t}\r\n\r\n\tget trainingGroup(): TrainingGroupCartLineClient {\r\n\t\treturn this.cartLineClient.trainingGroup;\r\n\t}\r\n\r\n\tget productNameColumnModel() {\r\n\t\treturn (trainingCartLine: TrainingCartLineClient) => {\r\n\t\t\tconst { name, brand, icon, iconAltTag } = trainingCartLine;\r\n\t\t\treturn {\r\n\t\t\t\ttitle: name,\r\n\t\t\t\tbrand,\r\n\t\t\t\ticon,\r\n\t\t\t\ticonAltTag,\r\n\t\t\t\turl: \"\",\r\n\t\t\t} as CartLineClient;\r\n\t\t};\r\n\t}\r\n\r\n\tget standardPriceSummary() {\r\n\t\treturn (trainingProductCartLine: TrainingCartLineClient) => {\r\n\t\t\tconst { basePrice, subTotal, type, numberOfParticipants } = trainingProductCartLine;\r\n\t\t\tconst additionalLines = new Map<string, number>();\r\n\t\t\tconst standardLines = new Map<string, number>();\r\n\t\t\tconst basePriceLine =\r\n\t\t\t\ttype === LocalTrainingType.openRoster\r\n\t\t\t\t\t? `${this.$t(`enum.trainingType.${type}`)} (${this.$tc(\r\n\t\t\t\t\t\t\t`cart.table.lblParticipantCount`,\r\n\t\t\t\t\t\t\tnumberOfParticipants\r\n\t\t\t\t\t\t)})`\r\n\t\t\t\t\t: this.$t(`enum.trainingType.${type}`);\r\n\t\t\tstandardLines.set(basePriceLine, basePrice);\r\n\t\t\tsortBy(trainingProductCartLine.additionalPrices, \"order\")\r\n\t\t\t\t.filter((x) => x.price)\r\n\t\t\t\t.forEach((x) =>\r\n\t\t\t\t\tadditionalLines.set(this.$t(`enum.trainingCalculationLineType.${x.type}`), x.price)\r\n\t\t\t\t);\r\n\t\t\treturn { subtotal: subTotal, additionalLines, standardLines } as IPriceSummary;\r\n\t\t};\r\n\t}\r\n\r\n\tget modularPriceSummary() {\r\n\t\treturn (trainingProductCartLine: TrainingCartLineClient) => {\r\n\t\t\tconst { basePrice, subTotal, numberOfModules, type } = trainingProductCartLine;\r\n\t\t\tconst additionalLines = new Map<string, number>();\r\n\t\t\tconst standardLines = new Map<string, number>();\r\n\t\t\tstandardLines.set(\r\n\t\t\t\t`${this.$t(`enum.trainingType.${type}`)} (${this.$tc(`training.lblModuleCount`, numberOfModules)})`,\r\n\t\t\t\tbasePrice\r\n\t\t\t);\r\n\t\t\tsortBy(trainingProductCartLine.additionalPrices, \"order\")\r\n\t\t\t\t.filter((x) => x.price)\r\n\t\t\t\t.forEach((x) =>\r\n\t\t\t\t\tadditionalLines.set(this.$t(`enum.trainingCalculationLineType.${x.type}`), x.price)\r\n\t\t\t\t);\r\n\t\t\treturn { subtotal: subTotal, additionalLines, standardLines } as IPriceSummary;\r\n\t\t};\r\n\t}\r\n\r\n\tget totalPriceSummary() {\r\n\t\tconst { totalPrice } = this.trainingGroup;\r\n\t\treturn { totalPrice };\r\n\t}\r\n\r\n\tget canChangeConfiguration(): boolean {\r\n\t\treturn this.cartLineClient.trainingLineItemIds?.length > 0 && !!this.trainingGroup?.url;\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.editingCartLines = sortBy(this.trainingGroup?.trainings, \"order\");\r\n\t}\r\n\r\n\tonChangeConfigurationClick(): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tthis.openUrl(\r\n\t\t\t`${this.cartLineClient.url}?lineItemIds=${this.cartLineClient.trainingLineItemIds?.join(\",\")}`\r\n\t\t);\r\n\t}\r\n\r\n\tonRemoveTrainingFromCartClick(): void {\r\n\t\tthis.$confirm.require({\r\n\t\t\tmessage: this.$t(\"cart.dialog.confirmRemoveProduct\", [this.trainingGroup?.name]),\r\n\t\t\theader: this.$t(\"cart.dialog.confirmRemoveTrainingTitle\"),\r\n\t\t\tacceptLabel: this.$t(\"common.yes\"),\r\n\t\t\trejectLabel: this.$t(\"common.no\"),\r\n\t\t\taccept: () => {\r\n\t\t\t\tthis.removeTrainingFromCart({ lineItemIds: this.cartLineClient.trainingLineItemIds });\r\n\t\t\t},\r\n\t\t});\r\n\t}\r\n\r\n\tprotected removeTrainingFromCart(model: RemoveTrainingProductRequest): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\r\n\t\tthis.axios\r\n\t\t\t.post<CartClient>(\"/api/cart/remove-training\", model)\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.setDataLayer.removeFromCart(toFixed(this.cartLineClient.priceSubTotal, 2), [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tid: this.cartLineClient.id,\r\n\t\t\t\t\t\tname: this.cartLineClient.title,\r\n\t\t\t\t\t\tproductCategory: this.cartLineClient.productCategory,\r\n\t\t\t\t\t\tpriceSubTotal: this.cartLineClient.priceSubTotal,\r\n\t\t\t\t\t\tpriceBase: this.cartLineClient.priceSubTotal,\r\n\t\t\t\t\t\tbrand: this.cartLineClient.brand,\r\n\t\t\t\t\t\tamount: 1,\r\n\t\t\t\t\t\tdiscount: this.cartLineClient.discount,\r\n\t\t\t\t\t},\r\n\t\t\t\t]);\r\n\r\n\t\t\t\twindow.location.reload();\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t\t\t\tLog.error(err);\r\n\t\t\t});\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.cart-training-table {\r\n\tpadding: 0.75rem 0.75rem 0 0.75rem;\r\n}\r\n</style>\r\n","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-16aae665\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"product-icons-wrapper ml-lg-1 align-items-lg-start align-content-lg-start\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"product-info-line flex-lg-row\"\n}\nconst _hoisted_3 = [\"title\"]\nconst _hoisted_4 = { class: \"text-bold ml-1\" }\nconst _hoisted_5 = {\n key: 1,\n class: \"product-info-line flex-lg-row\"\n}\nconst _hoisted_6 = [\"title\"]\nconst _hoisted_7 = { class: \"text-bold ml-1\" }\nconst _hoisted_8 = {\n key: 2,\n class: \"product-info-line flex-lg-row align-items-start\"\n}\nconst _hoisted_9 = [\"title\"]\nconst _hoisted_10 = { class: \"text-bold ml-1 text-preline\" }\nconst _hoisted_11 = {\n key: 3,\n class: \"product-info-line flex-lg-row\"\n}\nconst _hoisted_12 = [\"title\"]\nconst _hoisted_13 = { class: \"text-bold ml-1 text-preline\" }\nconst _hoisted_14 = {\n key: 4,\n class: \"product-info-line flex-lg-row\"\n}\nconst _hoisted_15 = [\"title\"]\nconst _hoisted_16 = { class: \"text-bold ml-1\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_ctx.duration)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"i\", {\n class: \"pi pi-clock text-primary\",\n title: _ctx.$t('cart.table.iconDuration_title')\n }, null, 8, _hoisted_3),\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.duration), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.dates)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"i\", {\n class: \"pi pi-calendar text-primary\",\n title: _ctx.$t('cart.table.iconDates_title')\n }, null, 8, _hoisted_6),\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(_ctx.item.date), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.item.address)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createElementVNode(\"i\", {\n class: \"pi pi-map-marker text-primary\",\n style: {\"margin-top\":\"0.3rem\"},\n title: _ctx.$t('cart.table.iconLocation_title')\n }, null, 8, _hoisted_9),\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.formattedAddress), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.item.location)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createElementVNode(\"i\", {\n class: \"pi pi-map-marker text-primary\",\n title: _ctx.$t('cart.table.iconLocation_title')\n }, null, 8, _hoisted_12),\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.item.location), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.item.numberOfParticipants)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _createElementVNode(\"i\", {\n class: \"pi pi-user text-primary\",\n title: _ctx.$t('cart.table.iconParticipants_title')\n }, null, 8, _hoisted_15),\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.$tc(\"cart.table.lblParticipantCount\", { count: _ctx.item.numberOfParticipants })), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}","<template>\r\n\t<div class=\"product-icons-wrapper ml-lg-1 align-items-lg-start align-content-lg-start\">\r\n\t\t<div v-if=\"duration\" class=\"product-info-line flex-lg-row\">\r\n\t\t\t<i class=\"pi pi-clock text-primary\" :title=\"$t('cart.table.iconDuration_title')\" />\r\n\t\t\t<span class=\"text-bold ml-1\">{{ duration }}</span>\r\n\t\t</div>\r\n\t\t<div v-if=\"dates\" class=\"product-info-line flex-lg-row\">\r\n\t\t\t<i class=\"pi pi-calendar text-primary\" :title=\"$t('cart.table.iconDates_title')\" />\r\n\t\t\t<span class=\"text-bold ml-1\">{{ item.date }}</span>\r\n\t\t</div>\r\n\t\t<div v-if=\"item.address\" class=\"product-info-line flex-lg-row align-items-start\">\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-map-marker text-primary\"\r\n\t\t\t\tstyle=\"margin-top: 0.3rem\"\r\n\t\t\t\t:title=\"$t('cart.table.iconLocation_title')\"\r\n\t\t\t/>\r\n\t\t\t<span class=\"text-bold ml-1 text-preline\">{{ formattedAddress }}</span>\r\n\t\t</div>\r\n\t\t<div v-if=\"item.location\" class=\"product-info-line flex-lg-row\">\r\n\t\t\t<i class=\"pi pi-map-marker text-primary\" :title=\"$t('cart.table.iconLocation_title')\" />\r\n\t\t\t<span class=\"text-bold ml-1 text-preline\">{{ item.location }}</span>\r\n\t\t</div>\r\n\t\t<div v-if=\"item.numberOfParticipants\" class=\"product-info-line flex-lg-row\">\r\n\t\t\t<i class=\"pi pi-user text-primary\" :title=\"$t('cart.table.iconParticipants_title')\" />\r\n\t\t\t<span class=\"text-bold ml-1\">\r\n\t\t\t\t{{ $tc(\"cart.table.lblParticipantCount\", { count: item.numberOfParticipants }) }}\r\n\t\t\t</span>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { PropType } from \"vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { TrainingCartLineClient } from \"@/types/generated/Api/trainingCartLineClient\";\r\n\r\n@Component\r\nexport default class ColumnTrainingInfo extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<TrainingCartLineClient>, required: true, default: {} })\r\n\titem!: TrainingCartLineClient;\r\n\r\n\tget duration(): string {\r\n\t\treturn this.$tc(\"cart.table.lblDurationDays\", this.item.duration);\r\n\t}\r\n\r\n\tget dates(): string {\r\n\t\treturn this.item.date;\r\n\t}\r\n\r\n\tget formattedAddress(): string {\r\n\t\treturn `${this.item.address.street}\r\n\t\t\t${this.item.address.postalCode} ${this.item.address.city}\r\n\t\t\t${this.item.address.country}`;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.product-icon {\r\n\twidth: 47px;\r\n\theight: 47px;\r\n\tbackground: transparent;\r\n\tflex-shrink: 0;\r\n}\r\n\r\n.product-icons-wrapper {\r\n\tdisplay: flex;\r\n\talign-items: flex-start;\r\n\tflex-direction: column;\r\n\tflex-wrap: wrap;\r\n\tflex-basis: 100%;\r\n\tpadding: 0 0.5rem;\r\n\r\n\t.product-info-line {\r\n\t\tdisplay: flex;\r\n\t\tflex: 0;\r\n\t\talign-items: center;\r\n\t\tflex-direction: row;\r\n\t\tmargin-bottom: 0.25rem;\r\n\t}\r\n}\r\n\r\n@media print {\r\n\t.product-icons-wrapper {\r\n\t\talign-content: flex-start;\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./columnTrainingInfo.vue?vue&type=template&id=16aae665&scoped=true&ts=true\"\nimport script from \"./columnTrainingInfo.vue?vue&type=script&lang=ts\"\nexport * from \"./columnTrainingInfo.vue?vue&type=script&lang=ts\"\n\nimport \"./columnTrainingInfo.vue?vue&type=style&index=0&id=16aae665&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-16aae665\"]])\n\nexport default __exports__","/* Auto Generated */\r\n\r\nexport enum LocalTrainingType {\r\n\topenRoster = 229380005,\r\n\tcompanyTrainingLocal = 229380017,\r\n\tcompanyTrainingRemote = 229380018,\r\n\teLearning = 229380019,\r\n\tmodular = 229380020,\r\n}\r\n","import { render } from \"./cartTrainingTable.vue?vue&type=template&id=e628c2b4&scoped=true&ts=true\"\nimport script from \"./cartTrainingTable.vue?vue&type=script&lang=ts\"\nexport * from \"./cartTrainingTable.vue?vue&type=script&lang=ts\"\n\nimport \"./cartTrainingTable.vue?vue&type=style&index=0&id=e628c2b4&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-e628c2b4\"]])\n\nexport default __exports__","import { render } from \"./cartOverview.vue?vue&type=template&id=0f3271df&ts=true\"\nimport script from \"./cartOverview.vue?vue&type=script&lang=ts\"\nexport * from \"./cartOverview.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","/* Auto Generated */\r\n\r\nexport enum PaymentMethod {\r\n\tideal,\r\n\tbancontactMrCash,\r\n\tpaypal,\r\n\tcreditcard,\r\n\tonAccount,\r\n\tsofort,\r\n}\r\n","import { render } from \"./orderSummary.vue?vue&type=template&id=c1044918&ts=true\"\nimport script from \"./orderSummary.vue?vue&type=script&lang=ts\"\nexport * from \"./orderSummary.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveDirective as _resolveDirective, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-74e9a663\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"row\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"col-12 mb-2 cashback-container\"\n}\nconst _hoisted_3 = { class: \"cashback-title\" }\nconst _hoisted_4 = {\n alt: \"loyalty cashback icon\",\n class: \"wallet-icon\"\n}\nconst _hoisted_5 = { class: \"wallet-title\" }\nconst _hoisted_6 = { class: \"cashback-block\" }\nconst _hoisted_7 = { class: \"cashback-block-title\" }\nconst _hoisted_8 = { class: \"cashback-block-check\" }\nconst _hoisted_9 = {\n class: \"ml-1 mb-0\",\n for: \"applyLoyalty\"\n}\nconst _hoisted_10 = { class: \"col-12 mb-2\" }\nconst _hoisted_11 = { class: \"mb-1 mr-1 icon-payment-option\" }\nconst _hoisted_12 = [\"xlink:href\"]\nconst _hoisted_13 = { class: \"d-flex flex-column p-2\" }\nconst _hoisted_14 = { class: \"mb-0\" }\nconst _hoisted_15 = { class: \"font-italic\" }\nconst _hoisted_16 = { class: \"lead text-muted\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Checkbox = _resolveComponent(\"Checkbox\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_Dropdown = _resolveComponent(\"Dropdown\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (this.maxAutodeskWalletToSpend > 0 && this.vm.canUseCadacLoyaltyCashback)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _withDirectives(_createElementVNode(\"img\", _hoisted_4, null, 512), [\n [_directive_lazy, '/Static/images/autodesk-coin.png']\n ]),\n _createElementVNode(\"div\", _hoisted_5, _toDisplayString(_ctx.$t(\"checkout.cashback.title\")), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, _toDisplayString(_ctx.$t(\"checkout.cashback.text\")), 1),\n _createElementVNode(\"div\", _hoisted_8, [\n _createVNode(_component_Checkbox, {\n onChange: _cache[0] || (_cache[0] = ($event: any) => (_ctx.toggleLoyalty())),\n inputId: \"applyLoyalty\",\n modelValue: _ctx.applyLoyalty,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.applyLoyalty) = $event)),\n binary: true\n }, null, 8, [\"modelValue\"]),\n _createElementVNode(\"label\", _hoisted_9, _toDisplayString(_ctx.$t(\"checkout.cashback.checkbox\", { amount: _ctx.formatCurrency(Math.min(this.maxAutodeskWalletToSpend, this.vm.cartClient.subtotalWithoutVat)) })), 1)\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.$t(\"checkout.titleSelectPaymentMethod\")), 1),\n (!_ctx.hasPaymentOptions)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"checkout.message.noPaymentMethodsAvailable\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.hasPaymentOptions)\n ? (_openBlock(), _createBlock(_component_DataTable, {\n key: 1,\n selection: _ctx.selectedPaymentMethod,\n \"onUpdate:selection\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.selectedPaymentMethod) = $event)),\n \"responsive-layout\": \"stack\",\n \"selection-mode\": \"single\",\n value: _ctx.paymentOptions,\n onRowSelect: _cache[4] || (_cache[4] = ($event: any) => (_ctx.onPaymentMethodSelected($event)))\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Column, {\n class: \"text-lg-center\",\n \"selection-mode\": \"single\",\n style: {\"width\":\"5%\",\"padding\":\"1rem\",\"overflow\":\"hidden\"}\n }),\n _createVNode(_component_Column, { style: {\"width\":\"20%\",\"overflow\":\"hidden\"} }, {\n body: _withCtx((item) => [\n (_openBlock(), _createElementBlock(\"svg\", _hoisted_11, [\n _createElementVNode(\"use\", {\n \"xlink:href\": item.data.icon\n }, null, 8, _hoisted_12)\n ]))\n ]),\n _: 1\n }),\n _createVNode(_component_Column, { style: {\"width\":\"75%\"} }, {\n body: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"h4\", _hoisted_14, [\n _createTextVNode(_toDisplayString(item.data.title) + \" \", 1),\n _createElementVNode(\"small\", _hoisted_15, _toDisplayString(item.data.cost), 1)\n ]),\n _createElementVNode(\"p\", _hoisted_16, _toDisplayString(item.data.subtitle), 1),\n (item.data.options?.length > 0)\n ? (_openBlock(), _createBlock(_component_Dropdown, {\n key: 0,\n modelValue: _ctx.vm.checkoutForm.selectedPaymentProvider,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.vm.checkoutForm.selectedPaymentProvider) = $event)),\n \"option-label\": \"label\",\n \"option-value\": \"value\",\n options: item.data.options,\n placeholder: _ctx.$t('checkout.paymentMethod.selectProvider_placeholder'),\n onChange: ($event: any) => (_ctx.onPaymentMethodOptionSelected(item))\n }, null, 8, [\"modelValue\", \"options\", \"placeholder\", \"onChange\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"selection\", \"value\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}","<template>\r\n\t<div class=\"row\">\r\n\t\t<div v-if=\"this.maxAutodeskWalletToSpend > 0 && this.vm.canUseCadacLoyaltyCashback\" class=\"col-12 mb-2 cashback-container\">\r\n\t\t\t<div class=\"cashback-title\">\r\n\t\t\t\t<img v-lazy=\"'/Static/images/autodesk-coin.png'\"\r\n\t\t\t\t\t alt=\"loyalty cashback icon\"\r\n\t\t\t\t\t class=\"wallet-icon\" />\r\n\t\t\t\t<div class=\"wallet-title\">\r\n\t\t\t\t\t{{$t(\"checkout.cashback.title\")}}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"cashback-block\">\r\n\t\t\t\t<div class=\"cashback-block-title\">\r\n\t\t\t\t\t{{$t(\"checkout.cashback.text\")}}\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"cashback-block-check\">\r\n\t\t\t\t\t<Checkbox @change=\"toggleLoyalty()\" inputId=\"applyLoyalty\" v-model=\"applyLoyalty\" :binary=\"true\" />\r\n\t\t\t\t\t<label class=\"ml-1 mb-0\" for=\"applyLoyalty\">\r\n\t\t\t\t\t\t{{$t(\"checkout.cashback.checkbox\", { amount: formatCurrency(Math.min(this.maxAutodeskWalletToSpend, this.vm.cartClient.subtotalWithoutVat)) })}}\r\n\t\t\t\t\t</label>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"col-12 mb-2\">\r\n\t\t\t<h3>{{ $t(\"checkout.titleSelectPaymentMethod\") }}</h3>\r\n\t\t\t<Message v-if=\"!hasPaymentOptions\" :closable=\"false\" severity=\"warn\">\r\n\t\t\t\t{{ $t(\"checkout.message.noPaymentMethodsAvailable\") }}\r\n\t\t\t</Message>\r\n\t\t\t<DataTable\r\n\t\t\t\tv-if=\"hasPaymentOptions\"\r\n\t\t\t\tv-model:selection=\"selectedPaymentMethod\"\r\n\t\t\t\tresponsive-layout=\"stack\"\r\n\t\t\t\tselection-mode=\"single\"\r\n\t\t\t\t:value=\"paymentOptions\"\r\n\t\t\t\t@row-select=\"onPaymentMethodSelected($event)\"\r\n\t\t\t>\r\n\t\t\t\t<Column\r\n\t\t\t\t\tclass=\"text-lg-center\"\r\n\t\t\t\t\tselection-mode=\"single\"\r\n\t\t\t\t\tstyle=\"width: 5%; padding: 1rem; overflow: hidden\"\r\n\t\t\t\t/>\r\n\t\t\t\t<Column style=\"width: 20%; overflow: hidden\">\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<svg class=\"mb-1 mr-1 icon-payment-option\">\r\n\t\t\t\t\t\t\t<use :xlink:href=\"item.data.icon\" />\r\n\t\t\t\t\t\t</svg>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\t\t\t\t<Column style=\"width: 75%\">\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<div class=\"d-flex flex-column p-2\">\r\n\t\t\t\t\t\t\t<h4 class=\"mb-0\">\r\n\t\t\t\t\t\t\t\t{{ item.data.title }}\r\n\t\t\t\t\t\t\t\t<small class=\"font-italic\">{{ item.data.cost }}</small>\r\n\t\t\t\t\t\t\t</h4>\r\n\t\t\t\t\t\t\t<p class=\"lead text-muted\">{{ item.data.subtitle }}</p>\r\n\t\t\t\t\t\t\t<Dropdown\r\n\t\t\t\t\t\t\t\tv-if=\"item.data.options?.length > 0\"\r\n\t\t\t\t\t\t\t\tv-model=\"vm.checkoutForm.selectedPaymentProvider\"\r\n\t\t\t\t\t\t\t\toption-label=\"label\"\r\n\t\t\t\t\t\t\t\toption-value=\"value\"\r\n\t\t\t\t\t\t\t\t:options=\"item.data.options\"\r\n\t\t\t\t\t\t\t\t:placeholder=\"$t('checkout.paymentMethod.selectProvider_placeholder')\"\r\n\t\t\t\t\t\t\t\t@change=\"onPaymentMethodOptionSelected(item)\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\t\t\t</DataTable>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component } from \"vue-facing-decorator\";\r\nimport { ICheckout } from \"@/types/viewModels/commerce/checkoutViewModel\";\r\nimport { IDropdownItem } from \"@/types/models/common/dropdownItem.interface\";\r\nimport { PaymentMethod } from \"@/types/enum/paymentMethod\";\r\nimport { useCheckoutStore } from \"@/store/commerce/checkoutStore\";\r\nimport Checkbox from \"primevue/checkbox\";\r\n\r\nexport interface IPaymentMethodOption {\r\n\tid: string;\r\n\tpaymentMethod: PaymentMethod;\r\n\ticon: string;\r\n\ttitle: string;\r\n\tsubtitle: string;\r\n\tcost?: string;\r\n\toptions?: IDropdownItem[];\r\n}\r\n\r\n@Component({ components: { Checkbox\t} })\r\nexport default class PaymentMethodSelection extends BaseComponent {\r\n\tpaymentOptions: IPaymentMethodOption[] = [];\r\n\tselectedPaymentMethod!: IPaymentMethodOption;\r\n\tcheckoutStore = useCheckoutStore();\r\n\r\n\tapplyLoyalty = false;\r\n\tmaxAutodeskWalletToSpend = 0;\r\n\r\n\tget vm(): ICheckout {\r\n\t\treturn this.checkoutStore.vm as ICheckout;\r\n\t}\r\n\r\n\tget hasPaymentOptions(): boolean {\r\n\t\treturn !!this.paymentOptions?.length;\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.paymentOptions = this.vm.availablePaymentMethods.map(({ key, value }) => ({\r\n\t\t\tid: key,\r\n\t\t\tpaymentMethod: value,\r\n\t\t\ttitle: this.$t(`enum.paymentMethod.${value}`),\r\n\t\t\tsubtitle: this.getSubtitleForPaymentMethod(value),\r\n\t\t\ticon: this.getIconForPaymentMethod(value),\r\n\t\t\tcost: this.getCostForPaymentMethod(value),\r\n\t\t\toptions: this.getOptionsForPaymentMethod(value),\r\n\t\t}));\r\n\t\tthis.selectedPaymentMethod = this.paymentOptions.find(\r\n\t\t\t(x) => x.id === this.vm.checkoutForm.paymentMethod\r\n\t\t) as IPaymentMethodOption;\r\n\r\n\t\t// Max to spend, is the lowest of the two: [your current autodeskloyaltycashback and max you can spend on this order (= subtotalWithoutVat, since we cannot spend T3 on VAT)]\r\n this.maxAutodeskWalletToSpend = Math.min(this.vm?.mainLayout?.currentUser?.company?.walletBalance?.autodeskWalletAmount, this.vm.cartClient.subtotalWithoutVat)\t\t\r\n\r\n\t\t// preset checkbox applyLoyalty boolean\r\n\t\tthis.applyLoyalty = this.vm.checkoutForm.applyAutodeskWallet;\r\n\t}\r\n\r\n\ttoggleLoyalty() {\r\n\t\tthis.checkoutStore.toggleApplyAutodeskWallet(this.applyLoyalty, this.maxAutodeskWalletToSpend);\r\n\t}\r\n\r\n\tonPaymentMethodSelected({ data }: { data: IPaymentMethodOption }): void {\r\n\t\t// Make sure the payment method stays selected (on mobile viewport it will deselect)\r\n\t\tsetTimeout(() => (this.selectedPaymentMethod = data), 10);\r\n\t\tthis.checkoutStore.setPaymentMethod(data.id);\r\n\t}\r\n\r\n\tonPaymentMethodOptionSelected({ data }: { data: IPaymentMethodOption }): void {\r\n\t\tdata.icon = this.getIconForPaymentMethod(data.paymentMethod);\r\n\t\tthis.checkoutStore.setPaymentMethod(data.id);\r\n\t\tthis.checkoutStore.setSelectedPaymentProvider(this.vm.checkoutForm.selectedPaymentProvider);\r\n\t}\r\n\r\n\tisPaymentOptionValid(): boolean {\r\n\t\tconst { selectedPaymentProvider, selectedPaymentMethod } = this.vm.checkoutForm;\r\n\t\tconst paymentMethodOption = this.paymentOptions.find((x) => x.paymentMethod === selectedPaymentMethod);\r\n\t\tif (!paymentMethodOption) return false;\r\n\t\tif (paymentMethodOption?.options?.length) {\r\n\t\t\treturn paymentMethodOption.options.findIndex((x) => x.value === selectedPaymentProvider) < 0;\r\n\t\t}\r\n\t\treturn true;\r\n\t}\r\n\r\n\tprivate getIconForPaymentMethod(paymentMethod: PaymentMethod): string {\r\n\t\tswitch (paymentMethod) {\r\n\t\t\tcase PaymentMethod.ideal:\r\n\t\t\t\treturn `#payment-ideal`;\r\n\t\t\tcase PaymentMethod.bancontactMrCash:\r\n\t\t\t\treturn `#payment-bancontactmrcash`;\r\n\t\t\tcase PaymentMethod.paypal:\r\n\t\t\t\treturn `#payment-paypal`;\r\n\t\t\tcase PaymentMethod.creditcard:\r\n\t\t\t\treturn this.vm.creditCardMethods.findIndex(\r\n\t\t\t\t\t(x) => x.key === this.vm.checkoutForm.selectedPaymentProvider\r\n\t\t\t\t) > -1\r\n\t\t\t\t\t? `#payment-${this.vm.checkoutForm.selectedPaymentProvider}`\r\n\t\t\t\t\t: `#payment-creditcard`;\r\n\t\t\tcase PaymentMethod.onAccount:\r\n\t\t\t\treturn `#payment-onaccount`;\r\n\t\t\tcase PaymentMethod.sofort:\r\n\t\t\t\treturn `#payment-sofort`;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate getSubtitleForPaymentMethod(paymentMethod: PaymentMethod): string {\r\n\t\tswitch (paymentMethod) {\r\n\t\t\tcase PaymentMethod.sofort:\r\n\t\t\t\treturn this.$t(`checkout.paymentMethod.subtitle_sofort`);\r\n\t\t\tcase PaymentMethod.ideal:\r\n\t\t\t\treturn this.$t(`checkout.paymentMethod.subtitle_ideal`);\r\n\t\t\tcase PaymentMethod.bancontactMrCash:\r\n\t\t\t\treturn this.$t(`checkout.paymentMethod.subtitle_mrcash`);\r\n\t\t\tcase PaymentMethod.paypal:\r\n\t\t\t\treturn this.$t(`checkout.paymentMethod.subtitle_paypal`);\r\n\t\t\tcase PaymentMethod.creditcard:\r\n\t\t\t\treturn this.$t(`checkout.paymentMethod.subtitle_creditcard`, [\r\n\t\t\t\t\tthis.getOptionsForPaymentMethod(paymentMethod)\r\n\t\t\t\t\t\t.map((x) => x.label)\r\n\t\t\t\t\t\t.join(\", \"),\r\n\t\t\t\t]);\r\n\t\t\tcase PaymentMethod.onAccount:\r\n\t\t\t\treturn this.$t(\r\n\t\t\t\t\t`checkout.paymentMethod.paymentCondition.${this.vm.checkoutForm.invoicePaymentConditionCode}`\r\n\t\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate getCostForPaymentMethod(paymentMethod: PaymentMethod): string {\r\n\t\tswitch (paymentMethod) {\r\n\t\t\tcase PaymentMethod.sofort:\r\n\t\t\tcase PaymentMethod.ideal:\r\n\t\t\tcase PaymentMethod.bancontactMrCash:\r\n\t\t\tcase PaymentMethod.paypal:\r\n\t\t\tcase PaymentMethod.onAccount:\r\n\t\t\t\treturn this.$t(`common.free`);\r\n\t\t\tcase PaymentMethod.creditcard:\r\n\t\t\t\treturn `+${this.$t(\"common.priceSummary.creditCardSurcharge\", [this.vm.creditCardSurtaxPercentage])}`;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate getOptionsForPaymentMethod(paymentMethod: PaymentMethod): IDropdownItem[] {\r\n\t\tswitch (paymentMethod) {\r\n\t\t\tcase PaymentMethod.bancontactMrCash:\r\n\t\t\tcase PaymentMethod.sofort:\r\n\t\t\tcase PaymentMethod.paypal:\r\n\t\t\tcase PaymentMethod.onAccount:\r\n\t\t\t\treturn [];\r\n\t\t\tcase PaymentMethod.ideal:\r\n\t\t\t\treturn this.vm.idealIssuers.map((x) => ({ value: x.key, label: x.value }));\r\n\t\t\tcase PaymentMethod.creditcard:\r\n\t\t\t\treturn this.vm.creditCardMethods.map((x) => ({ value: x.key, label: x.value }));\r\n\t\t}\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.icon-payment-option {\r\n\ttransform: scale(0.65);\r\n\tdisplay: block;\r\n\twidth: 100%;\r\n}\r\n\r\n.text-payment-option {\r\n\tflex: 3;\r\n}\r\n\r\n.cashback-title {\r\n\tdisplay: flex;\r\n\tpadding-bottom: 2rem;\r\n}\r\n\r\n.wallet-icon {\r\n width: 3rem;\r\n height: 3rem; \r\n margin-right: 1rem;\r\n}\r\n\r\n.wallet-title {\r\n font-size: 2rem;\r\n font-weight: 500;\r\n\tline-height: 42px;\r\n}\r\n\r\n.cashback-block {\r\n\tbackground-color: #FEF4F7;\t\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tmin-height: 150px;\r\n\tpadding: 2rem;\r\n}\r\n\r\n.cashback-block-title {\r\n\tfont-size: 1.5rem;\r\n\tfont-weight: 450;\r\n\tline-height: 26px;\r\n\tpadding-bottom: 1rem;\r\n}\r\n\r\n.cashback-block-check label {\r\n\tfont-size: 1rem;\r\n\tfont-weight: 400;\r\n\tline-height: 26px;\r\n}\r\n\r\n::v-deep(.p-datatable) {\r\n\t.p-datatable-tbody > tr > td {\r\n\t\tpadding: 0 0.25rem;\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./paymentMethodSelection.vue?vue&type=template&id=74e9a663&scoped=true&ts=true\"\nimport script from \"./paymentMethodSelection.vue?vue&type=script&lang=ts\"\nexport * from \"./paymentMethodSelection.vue?vue&type=script&lang=ts\"\n\nimport \"./paymentMethodSelection.vue?vue&type=style&index=0&id=74e9a663&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-74e9a663\"]])\n\nexport default __exports__","import { render } from \"./checkoutSteps.vue?vue&type=template&id=8d1d6390&ts=true\"\nimport script from \"./checkoutSteps.vue?vue&type=script&lang=ts\"\nexport * from \"./checkoutSteps.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { CheckoutStep } from '@/components/commerce/checkout/checkoutSteps.vue';\r\nimport { ICheckout } from '@/types/viewModels/commerce/checkoutViewModel';\r\nimport { PaymentMethod } from '@/types/enum/paymentMethod';\r\nimport { cloneDeep } from 'lodash';\r\nimport { defineStore } from 'pinia';\r\n\r\ninterface CheckoutStoreState {\r\n\tvm: ICheckout;\r\n\tactiveStep: CheckoutStep;\r\n\tisDetailStepValid: boolean;\r\n\tisOverviewStepValid: boolean;\r\n}\r\n\r\nexport const useCheckoutStore = defineStore('checkout', {\r\n\tstate: () =>\r\n\t\t({\r\n\t\t\tvm: {},\r\n\t\t\tactiveStep: -1,\r\n\t\t\tisDetailStepValid: false,\r\n\t\t\tisOverviewStepValid: false,\r\n\t\t}) as CheckoutStoreState,\r\n\tgetters: {\r\n\t\tcanGoToStep(state): (step: CheckoutStep) => boolean {\r\n\t\t\treturn (step: CheckoutStep) => {\r\n\t\t\t\tswitch (step) {\r\n\t\t\t\t\tcase CheckoutStep.Details:\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\tcase CheckoutStep.PaymentMethod:\r\n\t\t\t\t\t\treturn state.isDetailStepValid;\r\n\t\t\t\t\tcase CheckoutStep.Overview:\r\n\t\t\t\t\t\treturn state.isDetailStepValid && this.isValidPaymentOptionSelected;\r\n\t\t\t\t\tcase CheckoutStep.Confirmation:\r\n\t\t\t\t\t\treturn !!state.vm?.allowPlaceOrder && state.isOverviewStepValid;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t},\r\n\t\tisValidPaymentOptionSelected(state: CheckoutStoreState) {\r\n\t\t\tif (!state.vm?.checkoutForm) return false;\r\n\t\t\tconst { selectedPaymentProvider, selectedPaymentMethod, paymentMethod } = state.vm.checkoutForm;\r\n\t\t\tif (!state.vm.availablePaymentMethods.map((x) => x.value).includes(selectedPaymentMethod))\r\n\t\t\t\treturn false;\r\n\t\t\tif (selectedPaymentMethod === PaymentMethod.creditcard) {\r\n\t\t\t\treturn state.vm.creditCardMethods.findIndex((x) => x.key === selectedPaymentProvider) > -1;\r\n\t\t\t} else if (selectedPaymentMethod === PaymentMethod.ideal) {\r\n\t\t\t\treturn state.vm.idealIssuers.findIndex((x) => x.key === selectedPaymentProvider) > -1;\r\n\t\t\t}\r\n\r\n\t\t\treturn !!paymentMethod;\r\n\t\t},\r\n\t\tselectedPaymentMethod(state: CheckoutStoreState): string {\r\n\t\t\treturn state.vm.checkoutForm?.selectedPaymentMethod;\r\n\t\t},\r\n\t},\r\n\tactions: {\r\n\t\tsetSelectedPaymentProvider(paymentProvider: string): void {\r\n\t\t\tif (this.vm?.checkoutForm) {\r\n\t\t\t\tthis.vm.checkoutForm.selectedPaymentProvider = paymentProvider;\r\n\t\t\t\tthis.vm = cloneDeep(this.vm);\r\n\t\t\t}\r\n\t\t},\r\n\t\tsetPaymentMethod(methodName: string): void {\r\n\t\t\tif (this.vm?.checkoutForm) {\r\n\t\t\t\tthis.vm.checkoutForm.paymentMethod = methodName;\r\n\t\t\t\tthis.vm.checkoutForm.selectedPaymentMethod = this.vm.availablePaymentMethods.find(\r\n\t\t\t\t\t(x) => x.key === methodName\r\n\t\t\t\t)?.value as PaymentMethod;\r\n\t\t\t\tthis.vm = cloneDeep(this.vm);\r\n\t\t\t}\r\n\t\t},\r\n\t\ttoggleApplyAutodeskWallet(applyLoyalty: boolean, maxAutodeskWalletToSpend: number): void {\r\n\t\t\tif (this.vm?.checkoutForm) {\r\n\t\t\t\tthis.vm.checkoutForm.applyAutodeskWallet = (applyLoyalty && maxAutodeskWalletToSpend > 0);\r\n\t\t\t\tthis.vm.checkoutForm.maxAutodeskWalletToSpend = maxAutodeskWalletToSpend; \r\n\t\t\t\tthis.vm = cloneDeep(this.vm);\r\n\t\t\t}\r\n\t\t},\r\n\t},\r\n});\r\n","import { render } from \"./cartPageSummary.vue?vue&type=template&id=a8b2488c&scoped=true&ts=true\"\nimport script from \"./cartPageSummary.vue?vue&type=script&lang=ts\"\nexport * from \"./cartPageSummary.vue?vue&type=script&lang=ts\"\n\nimport \"./cartPageSummary.vue?vue&type=style&index=0&id=a8b2488c&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-a8b2488c\"]])\n\nexport default __exports__","export enum BuckarooStatus {\r\n\tSUCCESS,\r\n\tFAILED,\r\n\tPENDING,\r\n\tREJECTED,\r\n\tCANCELLED,\r\n}\r\n","import { render } from \"./checkout.vue?vue&type=template&id=42fa7329&scoped=true&ts=true\"\nimport script from \"./checkout.vue?vue&type=script&lang=ts\"\nexport * from \"./checkout.vue?vue&type=script&lang=ts\"\n\nimport \"./checkout.vue?vue&type=style&index=0&id=42fa7329&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-42fa7329\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-68fb0956\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"container\" }\nconst _hoisted_2 = { class: \"row mt-3 pb-3\" }\nconst _hoisted_3 = { class: \"col-lg-8\" }\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = { key: 0 }\nconst _hoisted_6 = [\"innerHTML\"]\nconst _hoisted_7 = {\n key: 1,\n class: \"mt-3\"\n}\nconst _hoisted_8 = { key: 0 }\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1))\nconst _hoisted_10 = {\n class: \"\",\n height: \"48\",\n width: \"48\"\n}\nconst _hoisted_11 = [\"xlink:href\"]\nconst _hoisted_12 = [\"innerHTML\"]\nconst _hoisted_13 = [\"innerHTML\"]\nconst _hoisted_14 = [\"innerHTML\"]\nconst _hoisted_15 = [\"innerHTML\"]\nconst _hoisted_16 = [\"innerHTML\"]\nconst _hoisted_17 = [\"innerHTML\"]\nconst _hoisted_18 = {\n key: 2,\n class: \"mt-3\"\n}\nconst _hoisted_19 = { key: 0 }\nconst _hoisted_20 = { class: \"col-lg-4\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Timeline = _resolveComponent(\"Timeline\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_SupportCard = _resolveComponent(\"SupportCard\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (!_ctx.vm.error)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n (_ctx.vm.pageTitle)\n ? (_openBlock(), _createElementBlock(\"h1\", _hoisted_5, _toDisplayString(_ctx.vm.pageTitle), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"p\", {\n class: \"lead\",\n innerHTML: _ctx.vm.pageIntro\n }, null, 8, _hoisted_6)\n ]))\n : _createCommentVNode(\"\", true),\n (!_ctx.vm.error)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n (_ctx.vm.stepsTitle)\n ? (_openBlock(), _createElementBlock(\"h3\", _hoisted_8, _toDisplayString(_ctx.vm.stepsTitle), 1))\n : _createCommentVNode(\"\", true),\n _hoisted_9,\n _createVNode(_component_Timeline, {\n class: \"mb-3\",\n value: _ctx.timeLineSteps\n }, {\n marker: _withCtx((slotProps) => [\n (_openBlock(), _createElementBlock(\"svg\", _hoisted_10, [\n _createElementVNode(\"use\", {\n \"xlink:href\": slotProps.item.icon\n }, null, 8, _hoisted_11)\n ]))\n ]),\n content: _withCtx((slotProps) => [\n _createElementVNode(\"h5\", null, _toDisplayString(slotProps.item.title), 1),\n _createElementVNode(\"p\", {\n innerHTML: slotProps.item.content\n }, null, 8, _hoisted_12)\n ]),\n _: 1\n }, 8, [\"value\"]),\n (_ctx.vm.hasSoftware)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: \"mb-2 text-break\",\n innerHTML: _ctx.vm.softwareInstructions\n }, null, 8, _hoisted_13))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.hasTrainings)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 2,\n class: \"mb-2 text-break\",\n innerHTML: _ctx.vm.trainingInstructions\n }, null, 8, _hoisted_14))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.hasExperts)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 3,\n class: \"mb-2 text-break\",\n innerHTML: _ctx.vm.expertInstructions\n }, null, 8, _hoisted_15))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.hasSupport)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 4,\n class: \"mb-2 text-break\",\n innerHTML: _ctx.vm.supportInstructions\n }, null, 8, _hoisted_16))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.hasServicePasses)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 5,\n class: \"mb-2 text-break\",\n innerHTML: _ctx.vm.servicePassInstructions\n }, null, 8, _hoisted_17))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Button, {\n class: \"p-button-success p-button-lg p-button-raised mb-2\",\n icon: \"pi pi-arrow-right\",\n \"icon-pos\": \"right\",\n label: _ctx.$t('checkout.button.goToMyCadac'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => {\r\n\t\t\t\t\t\t\t_ctx.goToMyCadac();\r\n\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t})\n }, null, 8, [\"label\"])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_18, [\n _createElementVNode(\"h1\", null, _toDisplayString(_ctx.$t(\"checkout.titleOrderFailed\")), 1),\n _createVNode(_component_Message, {\n closable: false,\n severity: \"error\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_i18n_t, { keypath: \"checkout.message.orderFailed\" }, {\n default: _withCtx(() => [\n (_ctx.vm.orderNumber)\n ? (_openBlock(), _createElementBlock(\"b\", _hoisted_19, \"#\" + _toDisplayString(_ctx.vm.orderNumber), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]))\n ]),\n _createElementVNode(\"div\", _hoisted_20, [\n _createVNode(_component_SupportCard, {\n \"support-page-url\": _ctx.vm.supportPageUrl\n }, null, 8, [\"support-page-url\"])\n ])\n ])\n ]))\n}","<template>\r\n\t<div class=\"container\">\r\n\t\t<div class=\"row mt-3 pb-3\">\r\n\t\t\t<div class=\"col-lg-8\">\r\n\t\t\t\t<div v-if=\"!vm.error\">\r\n\t\t\t\t\t<h1 v-if=\"vm.pageTitle\">{{ vm.pageTitle }}</h1>\r\n\t\t\t\t\t<p class=\"lead\" v-html=\"vm.pageIntro\" />\r\n\t\t\t\t</div>\r\n\t\t\t\t<!-- Checkout Success -->\r\n\t\t\t\t<div v-if=\"!vm.error\" class=\"mt-3\">\r\n\t\t\t\t\t<h3 v-if=\"vm.stepsTitle\">{{ vm.stepsTitle }}</h3>\r\n\t\t\t\t\t<hr />\r\n\t\t\t\t\t<Timeline class=\"mb-3\" :value=\"timeLineSteps\">\r\n\t\t\t\t\t\t<template #marker=\"slotProps\">\r\n\t\t\t\t\t\t\t<svg class=\"\" height=\"48\" width=\"48\">\r\n\t\t\t\t\t\t\t\t<use :xlink:href=\"slotProps.item.icon\" />\r\n\t\t\t\t\t\t\t</svg>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<template #content=\"slotProps\">\r\n\t\t\t\t\t\t\t<h5>\r\n\t\t\t\t\t\t\t\t{{ slotProps.item.title }}\r\n\t\t\t\t\t\t\t</h5>\r\n\t\t\t\t\t\t\t<p v-html=\"slotProps.item.content\"></p>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</Timeline>\r\n\t\t\t\t\t<div v-if=\"vm.hasSoftware\" class=\"mb-2 text-break\" v-html=\"vm.softwareInstructions\"></div>\r\n\t\t\t\t\t<div v-if=\"vm.hasTrainings\" class=\"mb-2 text-break\" v-html=\"vm.trainingInstructions\"></div>\r\n\t\t\t\t\t<div v-if=\"vm.hasExperts\" class=\"mb-2 text-break\" v-html=\"vm.expertInstructions\"></div>\r\n\t\t\t\t\t<div v-if=\"vm.hasSupport\" class=\"mb-2 text-break\" v-html=\"vm.supportInstructions\"></div>\r\n\t\t\t\t\t<div\r\n\t\t\t\t\t\tv-if=\"vm.hasServicePasses\"\r\n\t\t\t\t\t\tclass=\"mb-2 text-break\"\r\n\t\t\t\t\t\tv-html=\"vm.servicePassInstructions\"\r\n\t\t\t\t\t></div>\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\tclass=\"p-button-success p-button-lg p-button-raised mb-2\"\r\n\t\t\t\t\t\ticon=\"pi pi-arrow-right\"\r\n\t\t\t\t\t\ticon-pos=\"right\"\r\n\t\t\t\t\t\t:label=\"$t('checkout.button.goToMyCadac')\"\r\n\t\t\t\t\t\t@click=\"\r\n\t\t\t\t\t\t\tgoToMyCadac();\r\n\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t\t<!-- Checkout Failed -->\r\n\t\t\t\t<div v-else class=\"mt-3\">\r\n\t\t\t\t\t<h1>{{ $t(\"checkout.titleOrderFailed\") }}</h1>\r\n\t\t\t\t\t<Message :closable=\"false\" severity=\"error\">\r\n\t\t\t\t\t\t<i18n-t keypath=\"checkout.message.orderFailed\">\r\n\t\t\t\t\t\t\t<b v-if=\"vm.orderNumber\">#{{ vm.orderNumber }}</b>\r\n\t\t\t\t\t\t</i18n-t>\r\n\t\t\t\t\t</Message>\r\n\t\t\t\t\t<!-- <Button\r\n\t\t\t\t\t\tclass=\"p-button-success p-button-lg p-button-raised mb-2\"\r\n\t\t\t\t\t\ticon=\"pi pi-arrow-right\"\r\n\t\t\t\t\t\ticon-pos=\"right\"\r\n\t\t\t\t\t\t:label=\"$t('checkout.button.goToSoftwareOverview')\"\r\n\t\t\t\t\t\t@click=\"\r\n\t\t\t\t\t\t\tgoToSoftwareOverview();\r\n\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t/> -->\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"col-lg-4\">\r\n\t\t\t\t<SupportCard :support-page-url=\"vm.supportPageUrl\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport CheckoutSteps, { CheckoutStep } from \"@/components/commerce/checkout/checkoutSteps.vue\";\r\nimport SupportCard from \"@/components/commerce/supportCard.vue\";\r\nimport Timeline from \"primevue/timeline\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { ICheckoutComplete } from \"@/types/viewModels/commerce/checkoutCompleteViewModel\";\r\nimport { PropType } from \"vue\";\r\nimport { useCheckoutStore } from \"@/store/commerce/checkoutStore\";\r\n\r\nexport interface CheckoutTimelineStep {\r\n\ticon: string;\r\n\ttitle: string;\r\n\tcontent: string;\r\n}\r\n\r\n@Component({ components: { SupportCard, CheckoutSteps, Timeline } })\r\nexport default class CheckoutComplete extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<ICheckoutComplete>, required: true, default: {} }) vm!: ICheckoutComplete;\r\n\r\n\ttimeLineSteps: CheckoutTimelineStep[] = [];\r\n\tcheckoutStore = useCheckoutStore();\r\n\r\n\tcreated(): void {\r\n\t\tthis.timeLineSteps = [\r\n\t\t\t{\r\n\t\t\t\ticon: `#checkout-step-1`,\r\n\t\t\t\ttitle: this.$t(\"common.step\", [1]),\r\n\t\t\t\tcontent: this.vm.step1,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ticon: `#checkout-step-2`,\r\n\t\t\t\ttitle: this.$t(\"common.step\", [2]),\r\n\t\t\t\tcontent: this.vm.step2,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ticon: `#checkout-step-3`,\r\n\t\t\t\ttitle: this.$t(\"common.step\", [3]),\r\n\t\t\t\tcontent: this.vm.step3,\r\n\t\t\t},\r\n\t\t];\r\n\r\n\t\tthis.checkoutStore.activeStep = CheckoutStep.Confirmation;\r\n\r\n const datalayer = sessionStorage.getItem(\"purchase-datalayer\");\r\n const persistedDataLayer = datalayer ? JSON.parse(datalayer) : null;\r\n\r\n\t\tif (!persistedDataLayer) return;\r\n\r\n\t\tsessionStorage.removeItem(\"purchase-datalayer\");\r\n\r\n\t\tif (this.vm.orderImpression) {\r\n\t\t\tconst orderDataDataLayer = {\r\n\t\t\t\t...persistedDataLayer.orderDataDataLayer,\r\n\t\t\t\ttransaction_id: this.vm.orderNumber,\r\n\t\t\t};\r\n\r\n\t\t\tthis.setDataLayer.purchase(persistedDataLayer.eCommerceDataLayer, orderDataDataLayer);\r\n\t\t}\r\n\t}\r\n\r\n\tgoToMyCadac(): void {\r\n\t\tthis.openUrl(this.vm.myCadacPageUrl);\r\n\t}\r\n\r\n\tgoToSoftwareOverview(): void {\r\n\t\tthis.openUrl(this.vm.softwareOverviewPageUrl);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n::v-deep(.p-timeline-event) {\r\n\tmin-height: 100px;\r\n\r\n\t.p-timeline-event-opposite {\r\n\t\tdisplay: none;\r\n\t}\r\n}\r\n</style>\r\n","import { toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveDirective as _resolveDirective, withDirectives as _withDirectives, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7777e1c3\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"support-summary\" }\nconst _hoisted_2 = { class: \"support-text\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"text-bold\"\n}\nconst _hoisted_4 = [\"href\"]\nconst _hoisted_5 = { class: \"mb-1\" }\nconst _hoisted_6 = [\"href\"]\nconst _hoisted_7 = { class: \"d-block\" }\nconst _hoisted_8 = {\n alt: \"Cadac Group\",\n class: \"support-img\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_Card = _resolveComponent(\"Card\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"common.support.anyQuestions\")), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n (_ctx.supportPageUrl)\n ? (_openBlock(), _createElementBlock(\"h5\", _hoisted_3, [\n _createVNode(_component_i18n_t, { keypath: \"common.support.visitOurSupportPage\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"a\", { href: _ctx.supportPageUrl }, _toDisplayString(_ctx.$t(\"common.support.visitOurSupportPage_link\")), 9, _hoisted_4)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"small\", _hoisted_5, [\n _createVNode(_component_i18n_t, {\n keypath: \r\n\t\t\t\t\t\t\t\t_ctx.supportPageUrl ? 'common.support.orContactUsAt' : 'common.support.contactUsAt'\r\n\t\t\t\t\t\t\t\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"a\", {\n href: 'tel:' + _ctx.$t('common.support.phoneNumber')\n }, _toDisplayString(_ctx.$t(\"common.support.phoneNumber\")), 9, _hoisted_6)\n ]),\n _: 1\n }, 8, [\"keypath\"])\n ]),\n _createElementVNode(\"small\", _hoisted_7, _toDisplayString(_ctx.$t(\"common.support.officeHours\")), 1)\n ]),\n _withDirectives(_createElementVNode(\"img\", _hoisted_8, null, 512), [\n [_directive_lazy, '/Static/images/support.png']\n ])\n ]),\n _: 1\n })\n ]))\n}","<template>\r\n\t<div class=\"support-summary\">\r\n\t\t<Card>\r\n\t\t\t<template #title>\r\n\t\t\t\t{{ $t(\"common.support.anyQuestions\") }}\r\n\t\t\t</template>\r\n\t\t\t<template #content>\r\n\t\t\t\t<div class=\"support-text\">\r\n\t\t\t\t\t<h5 v-if=\"supportPageUrl\" class=\"text-bold\">\r\n\t\t\t\t\t\t<i18n-t keypath=\"common.support.visitOurSupportPage\">\r\n\t\t\t\t\t\t\t<a :href=\"supportPageUrl\">\r\n\t\t\t\t\t\t\t\t{{ $t(\"common.support.visitOurSupportPage_link\") }}\r\n\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t</i18n-t>\r\n\t\t\t\t\t</h5>\r\n\t\t\t\t\t<small class=\"mb-1\">\r\n\t\t\t\t\t\t<i18n-t\r\n\t\t\t\t\t\t\t:keypath=\"\r\n\t\t\t\t\t\t\t\tsupportPageUrl ? 'common.support.orContactUsAt' : 'common.support.contactUsAt'\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<a :href=\"'tel:' + $t('common.support.phoneNumber')\">\r\n\t\t\t\t\t\t\t\t{{ $t(\"common.support.phoneNumber\") }}\r\n\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t</i18n-t>\r\n\t\t\t\t\t</small>\r\n\t\t\t\t\t<small class=\"d-block\">{{ $t(\"common.support.officeHours\") }}</small>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<img v-lazy=\"'/Static/images/support.png'\" alt=\"Cadac Group\" class=\"support-img\" />\r\n\t\t\t</template>\r\n\t\t</Card>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\n\r\n@Component\r\nexport default class SupportCard extends BaseComponent {\r\n\t@Prop({ required: false, default: \"\" }) supportPageUrl!: string;\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n:deep(.p-card) {\r\n\t.p-card-body {\r\n\t\tposition: relative;\r\n\t}\r\n\r\n\t.support-img {\r\n\t\tposition: absolute;\r\n\t\tbottom: 0;\r\n\t\tright: 0.5rem;\r\n\t\twidth: 135px;\r\n\t}\r\n\r\n\t.support-text {\r\n\t\tpadding-right: 135px;\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./supportCard.vue?vue&type=template&id=7777e1c3&scoped=true&ts=true\"\nimport script from \"./supportCard.vue?vue&type=script&lang=ts\"\nexport * from \"./supportCard.vue?vue&type=script&lang=ts\"\n\nimport \"./supportCard.vue?vue&type=style&index=0&id=7777e1c3&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7777e1c3\"]])\n\nexport default __exports__","import { render } from \"./checkoutComplete.vue?vue&type=template&id=68fb0956&scoped=true&ts=true\"\nimport script from \"./checkoutComplete.vue?vue&type=script&lang=ts\"\nexport * from \"./checkoutComplete.vue?vue&type=script&lang=ts\"\n\nimport \"./checkoutComplete.vue?vue&type=style&index=0&id=68fb0956&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-68fb0956\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveDirective as _resolveDirective, withDirectives as _withDirectives, renderSlot as _renderSlot, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-76db787f\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"container\" }\nconst _hoisted_2 = { class: \"row my-4 gap-y-2\" }\nconst _hoisted_3 = { class: \"col-12\" }\nconst _hoisted_4 = { class: \"col-md-8 col-xl-9 mx-auto\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"display-4\"\n}\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", { class: \"mb-0 mt-2\" }, null, -1))\nconst _hoisted_7 = { class: \"text-color-secondary text-right mb-2\" }\nconst _hoisted_8 = [\"innerHTML\"]\nconst _hoisted_9 = [\"alt\"]\nconst _hoisted_10 = [\"innerHTML\"]\nconst _hoisted_11 = {\n key: 2,\n class: \"article-block\"\n}\nconst _hoisted_12 = {\n key: 0,\n class: \"col-md-4 col-xl-3\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_BackButton = _resolveComponent(\"BackButton\")!\n const _component_AuthorBlock = _resolveComponent(\"AuthorBlock\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_BackButton, {\n label: _ctx.$t('common.back')\n }, null, 8, [\"label\"])\n ]),\n _createElementVNode(\"article\", _hoisted_4, [\n (_ctx.vm.title)\n ? (_openBlock(), _createElementBlock(\"h1\", _hoisted_5, _toDisplayString(_ctx.vm.title), 1))\n : _createCommentVNode(\"\", true),\n _hoisted_6,\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"small\", null, _toDisplayString(_ctx.formatLongDate(_ctx.vm.publishedOn)), 1)\n ]),\n _createElementVNode(\"p\", {\n class: \"lead\",\n innerHTML: _ctx.vm.intro\n }, null, 8, _hoisted_8),\n (_ctx.vm.image)\n ? _withDirectives((_openBlock(), _createElementBlock(\"img\", {\n key: 1,\n alt: _ctx.vm.image?.alt,\n class: \"content-image\"\n }, null, 8, _hoisted_9)), [\n [_directive_lazy, _ctx.vm.image?.url]\n ])\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"p\", {\n class: \"rte\",\n innerHTML: _ctx.vm?.body\n }, null, 8, _hoisted_10),\n (_ctx.$slots.default)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _renderSlot(_ctx.$slots, \"default\", {}, undefined, true)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.vm.author)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ 'sticky-sidebar': !_ctx.isSmallScreen })\n }, [\n _createVNode(_component_AuthorBlock, {\n vm: _ctx.vm.author\n }, null, 8, [\"vm\"])\n ], 2)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}","<template>\r\n\t<div class=\"container\">\r\n\t\t<div class=\"row my-4 gap-y-2\">\r\n\t\t\t<div class=\"col-12\">\r\n\t\t\t\t<BackButton :label=\"$t('common.back')\" />\r\n\t\t\t</div>\r\n\t\t\t<article class=\"col-md-8 col-xl-9 mx-auto\">\r\n\t\t\t\t<h1 v-if=\"vm.title\" class=\"display-4\">{{ vm.title }}</h1>\r\n\t\t\t\t<hr class=\"mb-0 mt-2\" />\r\n\t\t\t\t<div class=\"text-color-secondary text-right mb-2\">\r\n\t\t\t\t\t<small>{{ formatLongDate(vm.publishedOn) }}</small>\r\n\t\t\t\t</div>\r\n\t\t\t\t<p class=\"lead\" v-html=\"vm.intro\"></p>\r\n\t\t\t\t<img v-if=\"vm.image\" v-lazy=\"vm.image?.url\" :alt=\"vm.image?.alt\" class=\"content-image\" />\r\n\t\t\t\t<p class=\"rte\" v-html=\"vm?.body\" />\r\n\t\t\t\t<div v-if=\"$slots.default\" class=\"article-block\">\r\n\t\t\t\t\t<slot />\r\n\t\t\t\t</div>\r\n\t\t\t</article>\r\n\t\t\t<div v-if=\"vm.author\" class=\"col-md-4 col-xl-3\">\r\n\t\t\t\t<div :class=\"{ 'sticky-sidebar': !isSmallScreen }\">\r\n\t\t\t\t\t<AuthorBlock :vm=\"vm.author\" />\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { PropType } from \"vue\";\r\nimport { ContentCategoryDetailPageViewModel } from \"@/types/viewModels/general/contentCategoryDetailPageViewModel\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport AuthorBlock from \"@/views/blocks/authorBlock.vue\";\r\n\r\n@Component({\r\n\tcomponents: { AuthorBlock },\r\n})\r\nexport default class ContentCategoryDetail extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<ContentCategoryDetailPageViewModel>, required: true, default: {} })\r\n\tvm!: ContentCategoryDetailPageViewModel;\r\n\r\n\tcreated(): void {\r\n\t\tLog.info(\"ContentCategoryDetail\", this.vm);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.sticky-sidebar {\r\n\tposition: sticky;\r\n\ttop: calc(var(--navbarHeightInPx) + 2rem);\r\n}\r\n\r\n.content-image {\r\n\twidth: 100%;\r\n\tmargin: 1.5rem 0;\r\n}\r\n\r\n::v-deep(.content-body) {\r\n\th1,\r\n\th2,\r\n\th3,\r\n\th4,\r\n\th5,\r\n\th6 {\r\n\t\tline-height: 0;\r\n\t}\r\n}\r\n\r\n::v-deep(.article-block) {\r\n\tmargin-top: 3rem;\r\n\t.container,\r\n\t.block {\r\n\t\tmargin: 0;\r\n\t\tpadding: 0;\r\n\t}\r\n}\r\n</style>\r\n","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7d3e8a4a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"d-flex flex-column justify-content-center align-items-center flex-wrap gap-1\" }\nconst _hoisted_2 = [\"alt\", \"src\"]\nconst _hoisted_3 = { class: \"d-flex flex-column justify-content-center justify-content-sm-start\" }\nconst _hoisted_4 = { class: \"m-0 text-muted\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"text-primary text-center text-sm-left mb-0\"\n}\nconst _hoisted_6 = { class: \"m-0\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_LinkButton = _resolveComponent(\"LinkButton\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createBlock(_component_Card, { class: \"mb-3\" }, {\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createVNode(_component_Avatar, {\n class: \"author-image\",\n shape: \"circle\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"img\", {\n alt: _ctx.vm.image?.alt,\n class: \"\",\n src: _ctx.vm.image?.url\n }, null, 8, _hoisted_2)\n ]),\n _: 1\n }),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"small\", _hoisted_4, _toDisplayString(_ctx.vm.company), 1),\n (_ctx.vm.name)\n ? (_openBlock(), _createElementBlock(\"h3\", _hoisted_5, _toDisplayString(_ctx.vm.name), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"p\", _hoisted_6, _toDisplayString(_ctx.vm.function), 1)\n ]),\n (_ctx.vm.linkItem)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 0,\n class: _normalizeClass([\"w-100 mt-2\", {\r\n\t\t\t\t\t\t[_ctx.ctaButtonClass(_ctx.vm.linkStyle)]: _ctx.ctaButtonClass(_ctx.vm.linkStyle),\r\n\t\t\t\t\t\t'p-button-success p-button-raised p-button-arrow': !_ctx.ctaButtonClass(_ctx.vm.linkStyle),\r\n\t\t\t\t\t}]),\n label: _ctx.vm.linkItem.text,\n target: _ctx.vm.linkItem.target,\n title: _ctx.vm.linkItem.title,\n url: _ctx.vm.linkItem.url\n }, null, 8, [\"class\", \"label\", \"target\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n }))\n}","<template>\r\n\t<Card class=\"mb-3\">\r\n\t\t<template #content>\r\n\t\t\t<div class=\"d-flex flex-column justify-content-center align-items-center flex-wrap gap-1\">\r\n\t\t\t\t<Avatar class=\"author-image\" shape=\"circle\">\r\n\t\t\t\t\t<img :alt=\"vm.image?.alt\" class=\"\" :src=\"vm.image?.url\" />\r\n\t\t\t\t</Avatar>\r\n\t\t\t\t<div class=\"d-flex flex-column justify-content-center justify-content-sm-start\">\r\n\t\t\t\t\t<small class=\"m-0 text-muted\">{{ vm.company }}</small>\r\n\t\t\t\t\t<h3 v-if=\"vm.name\" class=\"text-primary text-center text-sm-left mb-0\">{{ vm.name }}</h3>\r\n\t\t\t\t\t<p class=\"m-0\">{{ vm.function }}</p>\r\n\t\t\t\t</div>\r\n\t\t\t\t<LinkButton\r\n\t\t\t\t\tv-if=\"vm.linkItem\"\r\n\t\t\t\t\tclass=\"w-100 mt-2\"\r\n\t\t\t\t\t:class=\"{\r\n\t\t\t\t\t\t[ctaButtonClass(vm.linkStyle)]: ctaButtonClass(vm.linkStyle),\r\n\t\t\t\t\t\t'p-button-success p-button-raised p-button-arrow': !ctaButtonClass(vm.linkStyle),\r\n\t\t\t\t\t}\"\r\n\t\t\t\t\t:label=\"vm.linkItem.text\"\r\n\t\t\t\t\t:target=\"vm.linkItem.target\"\r\n\t\t\t\t\t:title=\"vm.linkItem.title\"\r\n\t\t\t\t\t:url=\"vm.linkItem.url\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t</Card>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseBlock from \"@/components/base/baseBlock.vue\";\r\nimport { AuthorBlockViewModel } from \"@/types/viewModels/blocks/authorBlockViewModel\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\n\r\n@Component\r\nexport default class AuthorBlock extends BaseBlock {\r\n\t@Prop({ type: Object as PropType<AuthorBlockViewModel>, required: true, default: {} })\r\n\tvm!: AuthorBlockViewModel;\r\n\r\n\tcreated(): void {\r\n\t\tLog.info(\"AuthorBlock\", this.vm);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.author-image {\r\n\theight: 100%;\r\n\twidth: fit-content;\r\n\r\n\timg {\r\n\t\twidth: 90px;\r\n\t\theight: 90px;\r\n\t\tobject-fit: cover;\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./authorBlock.vue?vue&type=template&id=7d3e8a4a&scoped=true&ts=true\"\nimport script from \"./authorBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./authorBlock.vue?vue&type=script&lang=ts\"\n\nimport \"./authorBlock.vue?vue&type=style&index=0&id=7d3e8a4a&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7d3e8a4a\"]])\n\nexport default __exports__","import { render } from \"./contentCategoryDetail.vue?vue&type=template&id=76db787f&scoped=true&ts=true\"\nimport script from \"./contentCategoryDetail.vue?vue&type=script&lang=ts\"\nexport * from \"./contentCategoryDetail.vue?vue&type=script&lang=ts\"\n\nimport \"./contentCategoryDetail.vue?vue&type=style&index=0&id=76db787f&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-76db787f\"]])\n\nexport default __exports__","import { renderSlot as _renderSlot, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, withCtx as _withCtx, createBlock as _createBlock, createVNode as _createVNode, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2acf896b\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"container-fluid product-overview-bg pb-2\" }\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = { class: \"pt-3 pb-lg-1\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"mb-2\"\n}\nconst _hoisted_5 = { class: \"lead\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", { class: \"my-1 my-lg-2\" }, null, -1))\nconst _hoisted_7 = { class: \"d-flex flex-wrap justify-content-between flex-1\" }\nconst _hoisted_8 = { class: \"header-left justify-content-start justify-content-lg-start\" }\nconst _hoisted_9 = { key: 0 }\nconst _hoisted_10 = { key: 1 }\nconst _hoisted_11 = {\n key: 0,\n class: \"header-right\"\n}\nconst _hoisted_12 = { class: \"col-12 col-md-6 col-lg-4 col-xxl-3\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_MultiSelect = _resolveComponent(\"MultiSelect\")!\n const _component_Dropdown = _resolveComponent(\"Dropdown\")!\n const _component_DataViewLayoutOptions = _resolveComponent(\"DataViewLayoutOptions\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_ContentCategoryOverviewItemListCard = _resolveComponent(\"ContentCategoryOverviewItemListCard\")!\n const _component_ContentCategoryOverviewItemSkeletonCard = _resolveComponent(\"ContentCategoryOverviewItemSkeletonCard\")!\n const _component_ContentCategoryOverviewItemGridCard = _resolveComponent(\"ContentCategoryOverviewItemGridCard\")!\n const _component_DataView = _resolveComponent(\"DataView\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _renderSlot(_ctx.$slots, \"breadcrumbs\", {}, undefined, true),\n (_ctx.vm.gridViewTitle)\n ? (_openBlock(), _createElementBlock(\"h1\", _hoisted_4, _toDisplayString(_ctx.vm.gridViewTitle), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"p\", _hoisted_5, _toDisplayString(_ctx.vm.subtitle), 1),\n _hoisted_6\n ]),\n _createVNode(_component_DataView, {\n class: \"w-100\",\n layout: _ctx.viewLayout,\n lazy: true,\n paginator: true,\n rows: _ctx.filterStore.filter.pageSize,\n \"total-records\": _ctx.filterStore.filter.totalItems,\n value: _ctx.filterStore.overviewItems,\n onPage: _ctx.onPageChange\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.activeFilters, (filter, index) => {\n return (_openBlock(), _createBlock(_component_MultiSelect, {\n key: index,\n modelValue: _ctx.filterStore.filter[filter.model],\n \"onUpdate:modelValue\": ($event: any) => ((_ctx.filterStore.filter[filter.model]) = $event),\n \"append-to\": \"self\",\n class: \"flex-grow-1 flex-lg-grow-0\",\n \"option-value\": \"value\",\n options: filter.tags,\n placeholder: filter.placeholder,\n \"scroll-height\": \"400px\",\n \"show-toggle-all\": false,\n onChange: _cache[0] || (_cache[0] = ($event: any) => (_ctx.filterStore.updateFilters()))\n }, {\n value: _withCtx((slotProps) => [\n (slotProps.value?.length === 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"span\", null, _toDisplayString(filter.tags.find((x) => x.value === slotProps.value[0])\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t?.label), 1)\n ]))\n : (slotProps.value?.length > 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(\"contentCategory.lblOptionSelected\", {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tn: slotProps.value?.length,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t})), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n option: _withCtx((slotProps) => [\n _createElementVNode(\"span\", null, _toDisplayString(slotProps.option.label), 1)\n ]),\n _: 2\n }, 1032, [\"modelValue\", \"onUpdate:modelValue\", \"options\", \"placeholder\"]))\n }), 128))\n ]),\n (!_ctx.isSmallScreen)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createVNode(_component_Dropdown, {\n modelValue: _ctx.filterStore.sortType,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.filterStore.sortType) = $event)),\n \"option-label\": \"label\",\n \"option-value\": \"value\",\n options: _ctx.filterStore.sortOptions,\n \"show-toggle-all\": false,\n onChange: _cache[2] || (_cache[2] = ($event: any) => (_ctx.filterStore.onSortChange()))\n }, null, 8, [\"modelValue\", \"options\"]),\n (!_ctx.isMobile)\n ? (_openBlock(), _createBlock(_component_DataViewLayoutOptions, {\n key: 0,\n modelValue: _ctx.viewLayout,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.viewLayout) = $event)),\n class: \"ml-1\"\n }, null, 8, [\"modelValue\"]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n empty: _withCtx(() => [\n _createVNode(_component_Message, {\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"product.message.noOverviewItems\")), 1)\n ]),\n _: 1\n })\n ]),\n list: _withCtx((item) => [\n (!_ctx.isSpinnerVisible('contentCategory'))\n ? (_openBlock(), _createBlock(_component_ContentCategoryOverviewItemListCard, {\n key: 0,\n item: item.data\n }, null, 8, [\"item\"]))\n : (_openBlock(), _createBlock(_component_ContentCategoryOverviewItemSkeletonCard, {\n key: 1,\n type: \"list\"\n }))\n ]),\n grid: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_12, [\n (!_ctx.isSpinnerVisible('contentCategory'))\n ? (_openBlock(), _createBlock(_component_ContentCategoryOverviewItemGridCard, {\n key: 0,\n item: item.data\n }, null, 8, [\"item\"]))\n : (_openBlock(), _createBlock(_component_ContentCategoryOverviewItemSkeletonCard, {\n key: 1,\n type: \"grid\"\n }))\n ])\n ]),\n _: 1\n }, 8, [\"layout\", \"rows\", \"total-records\", \"value\", \"onPage\"])\n ])\n ]))\n}","<template>\r\n\t<div class=\"container-fluid product-overview-bg pb-2\">\r\n\t\t<div class=\"container\">\r\n\t\t\t<div class=\"pt-3 pb-lg-1\">\r\n\t\t\t\t<slot name=\"breadcrumbs\" />\r\n\t\t\t\t<h1 v-if=\"vm.gridViewTitle\" class=\"mb-2\">{{ vm.gridViewTitle }}</h1>\r\n\t\t\t\t<p class=\"lead\">{{ vm.subtitle }}</p>\r\n\t\t\t\t<hr class=\"my-1 my-lg-2\" />\r\n\t\t\t</div>\r\n\r\n\t\t\t<DataView\r\n\t\t\t\tclass=\"w-100\"\r\n\t\t\t\t:layout=\"viewLayout\"\r\n\t\t\t\t:lazy=\"true\"\r\n\t\t\t\t:paginator=\"true\"\r\n\t\t\t\t:rows=\"filterStore.filter.pageSize\"\r\n\t\t\t\t:total-records=\"filterStore.filter.totalItems\"\r\n\t\t\t\t:value=\"filterStore.overviewItems\"\r\n\t\t\t\t@page=\"onPageChange\"\r\n\t\t\t>\r\n\t\t\t\t<template #header>\r\n\t\t\t\t\t<div class=\"d-flex flex-wrap justify-content-between flex-1\">\r\n\t\t\t\t\t\t<div class=\"header-left justify-content-start justify-content-lg-start\">\r\n\t\t\t\t\t\t\t<template v-for=\"(filter, index) in activeFilters\" :key=\"index\">\r\n\t\t\t\t\t\t\t\t<MultiSelect\r\n\t\t\t\t\t\t\t\t\tv-model=\"filterStore.filter[filter.model]\"\r\n\t\t\t\t\t\t\t\t\tappend-to=\"self\"\r\n\t\t\t\t\t\t\t\t\tclass=\"flex-grow-1 flex-lg-grow-0\"\r\n\t\t\t\t\t\t\t\t\toption-value=\"value\"\r\n\t\t\t\t\t\t\t\t\t:options=\"filter.tags\"\r\n\t\t\t\t\t\t\t\t\t:placeholder=\"filter.placeholder\"\r\n\t\t\t\t\t\t\t\t\tscroll-height=\"400px\"\r\n\t\t\t\t\t\t\t\t\t:show-toggle-all=\"false\"\r\n\t\t\t\t\t\t\t\t\t@change=\"filterStore.updateFilters()\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<template #value=\"slotProps\">\r\n\t\t\t\t\t\t\t\t\t\t<template v-if=\"slotProps.value?.length === 1\">\r\n\t\t\t\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilter.tags.find((x) => x.value === slotProps.value[0])\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t?.label\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t</template>\r\n\r\n\t\t\t\t\t\t\t\t\t\t<div v-else-if=\"slotProps.value?.length > 1\">\r\n\t\t\t\t\t\t\t\t\t\t\t<span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t$t(\"contentCategory.lblOptionSelected\", {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tn: slotProps.value?.length,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</template>\r\n\r\n\t\t\t\t\t\t\t\t\t<template #option=\"slotProps\">\r\n\t\t\t\t\t\t\t\t\t\t<span>{{ slotProps.option.label }}</span>\r\n\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t</MultiSelect>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t<div v-if=\"!isSmallScreen\" class=\"header-right\">\r\n\t\t\t\t\t\t\t<Dropdown\r\n\t\t\t\t\t\t\t\tv-model=\"filterStore.sortType\"\r\n\t\t\t\t\t\t\t\toption-label=\"label\"\r\n\t\t\t\t\t\t\t\toption-value=\"value\"\r\n\t\t\t\t\t\t\t\t:options=\"filterStore.sortOptions\"\r\n\t\t\t\t\t\t\t\t:show-toggle-all=\"false\"\r\n\t\t\t\t\t\t\t\t@change=\"filterStore.onSortChange()\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<DataViewLayoutOptions v-if=\"!isMobile\" v-model=\"viewLayout\" class=\"ml-1\" />\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template #empty>\r\n\t\t\t\t\t<Message :closable=\"false\" severity=\"warn\">\r\n\t\t\t\t\t\t{{ $t(\"product.message.noOverviewItems\") }}\r\n\t\t\t\t\t</Message>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template #list=\"item\">\r\n\t\t\t\t\t<ContentCategoryOverviewItemListCard\r\n\t\t\t\t\t\tv-if=\"!isSpinnerVisible('contentCategory')\"\r\n\t\t\t\t\t\t:item=\"item.data\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<ContentCategoryOverviewItemSkeletonCard v-else type=\"list\" />\r\n\t\t\t\t</template>\r\n\t\t\t\t<template #grid=\"item\">\r\n\t\t\t\t\t<div class=\"col-12 col-md-6 col-lg-4 col-xxl-3\">\r\n\t\t\t\t\t\t<ContentCategoryOverviewItemGridCard\r\n\t\t\t\t\t\t\tv-if=\"!isSpinnerVisible('contentCategory')\"\r\n\t\t\t\t\t\t\t:item=\"item.data\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<ContentCategoryOverviewItemSkeletonCard v-else type=\"grid\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</DataView>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport ContentCategoryOverviewItemGridCard from \"@/components/general/contentCategoryOverviewItemGridCard.vue\";\r\nimport ContentCategoryOverviewItemListCard from \"@/components/general/contentCategoryOverviewItemListCard.vue\";\r\nimport ContentCategoryOverviewItemSkeletonCard from \"@/components/general/contentCategoryOverviewItemSkeletonCard.vue\";\r\nimport DataView from \"primevue/dataview\";\r\nimport DataViewLayoutOptions from \"primevue/dataviewlayoutoptions\";\r\nimport MultiSelect from \"primevue/multiselect\";\r\nimport VirtualScroller from \"primevue/virtualscroller\";\r\nimport { Component, Prop, Watch } from \"vue-facing-decorator\";\r\nimport { ContentCategoryOverviewViewModel } from \"@/types/viewModels/general/contentCategoryOverviewViewModel\";\r\nimport { IDropdownItem } from \"@/types/models/common/dropdownItem.interface\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { useContentCategoryOverviewFilterStore } from \"@/store/common/contentCategoryOverviewFilterStore\";\r\nimport { ScrollHelper } from \"../../types/helpers/scrollHelper\";\r\n\r\nexport type OverviewLayoutType = \"grid\" | \"list\";\r\n\r\ninterface activeFilterType {\r\n\tplaceholder: string;\r\n\tmodel: string;\r\n\ttags: IDropdownItem[] | null;\r\n}\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tContentCategoryOverviewItemGridCard,\r\n\t\tContentCategoryOverviewItemListCard,\r\n\t\tContentCategoryOverviewItemSkeletonCard,\r\n\t\tDataView,\r\n\t\tDataViewLayoutOptions,\r\n\t\tMultiSelect,\r\n\t\tVirtualScroller,\r\n\t},\r\n})\r\nexport default class ContentCategoryOverview extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<ContentCategoryOverviewViewModel>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: ContentCategoryOverviewViewModel;\r\n\toverviewItems!: unknown[];\r\n\tviewLayout!: OverviewLayoutType;\r\n\r\n\tfilterStore = useContentCategoryOverviewFilterStore();\r\n\tactiveFilters: Array<activeFilterType> = [];\r\n\r\n\t@Watch(\"viewLayout\") onLayoutChanged(value: OverviewLayoutType): void {\r\n\t\tif (!this.isSmallScreen) sessionStorage.setItem(this.overviewLayoutStorageKey, value);\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tLog.info(\"ContentCategoryOverview\", this.vm);\r\n\r\n\t\tthis.filterStore.init(this.vm);\r\n\r\n\t\tif (this.filterStore.hasAuthorTags) {\r\n\t\t\tconst authorTagFilter = {\r\n\t\t\t\tplaceholder: this.vm.authorFilterText,\r\n\t\t\t\tmodel: \"authorTags\",\r\n\t\t\t\ttags: this.filterStore.authorTags,\r\n\t\t\t};\r\n\t\t\tthis.activeFilters.push(authorTagFilter);\r\n\t\t}\r\n\t\tif (this.filterStore.hasThemeTags) {\r\n\t\t\tconst themeTagFilter = {\r\n\t\t\t\tplaceholder: this.vm.themeFilterText,\r\n\t\t\t\tmodel: \"themeTags\",\r\n\t\t\t\ttags: this.filterStore.themeTags,\r\n\t\t\t};\r\n\t\t\tthis.activeFilters.push(themeTagFilter);\r\n\t\t}\r\n\t\tif (this.filterStore.hasBranchTags) {\r\n\t\t\tconst branchTagFilter = {\r\n\t\t\t\tplaceholder: this.vm.branchFilterText,\r\n\t\t\t\tmodel: \"branchTags\",\r\n\t\t\t\ttags: this.filterStore.branchTags,\r\n\t\t\t};\r\n\t\t\tthis.activeFilters.push(branchTagFilter);\r\n\t\t}\r\n\t}\r\n\r\n\tmounted(): void {\r\n\t\tthis.viewLayout = this.isSmallScreen\r\n\t\t\t? \"grid\"\r\n\t\t\t: (sessionStorage.getItem(this.overviewLayoutStorageKey) as OverviewLayoutType) || \"list\";\r\n\t}\r\n\r\n\tonPageChange({ page }: { page: number }): void {\r\n ScrollHelper.scrollTo('.content-list-item', +this.layoutStore.navBarHeight);\r\n\t\tthis.filterStore.onPageChange(page);\r\n\t}\r\n\r\n\tget overviewLayoutStorageKey(): string {\r\n\t\treturn `CDC_OverviewLayout_ContentCategories`;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n::v-deep(.p-dataview) {\r\n\t.p-dataview-header {\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: space-between;\r\n\t\tflex-wrap: wrap;\r\n\t\tbackground: var(--surface-a);\r\n\t\tborder: none !important;\r\n\t\tposition: sticky;\r\n\t\ttop: 0;\r\n\t\tz-index: 10;\r\n\t\tpadding: 0.75rem 0;\r\n\r\n\t\t.header-left {\r\n\t\t\tdisplay: flex;\r\n\t\t\tflex-wrap: wrap;\r\n\t\t\tmargin: 0.5rem 0;\r\n\t\t\tgap: 0.5rem;\r\n\t\t}\r\n\r\n\t\t.header-right {\r\n\t\t\tdisplay: flex;\r\n\t\t\tjustify-content: flex-end;\r\n\t\t\talign-items: center;\r\n\r\n\t\t\t.p-dataview-layout-options {\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\tflex-direction: row;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.header-search {\r\n\t\t\tflex-grow: 1;\r\n\t\t}\r\n\t}\r\n\r\n\t.p-button.p-button-icon-only {\r\n\t\tpadding: 0.75rem 0;\r\n\t}\r\n\r\n\t.p-button-outlined {\r\n\t\t.p-badge {\r\n\t\t\tcolor: #fff;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n::v-deep(.p-dataview-grid) {\r\n\t.grid {\r\n\t\tdisplay: flex;\r\n\t\tflex-wrap: wrap;\r\n\r\n\t\tmargin-right: -0.5rem;\r\n\t\tmargin-left: -0.5rem;\r\n\r\n\t\t//> .col,\r\n\t\t//> [class*=\"col-\"] {\r\n\t\t//\tpadding: 0;\r\n\t\t//}\r\n\t}\r\n}\r\n</style>\r\n","import { resolveDirective as _resolveDirective, createElementVNode as _createElementVNode, withDirectives as _withDirectives, resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-a5a2abde\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"content-list-item content-grid-card-item\" }\nconst _hoisted_2 = [\"href\"]\nconst _hoisted_3 = { class: \"image-container\" }\nconst _hoisted_4 = [\"alt\"]\nconst _hoisted_5 = { class: \"contentcategory-tag\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"title\"\n}\nconst _hoisted_7 = { class: \"d-flex flex-row justify-content-between align-items-center\" }\nconst _hoisted_8 = { class: \"d-flex flex-column flex-sm-row\" }\nconst _hoisted_9 = { key: 0 }\nconst _hoisted_10 = { class: \"text-muted\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Tag = _resolveComponent(\"Tag\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Card = _resolveComponent(\"Card\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"a\", {\n href: _ctx.item?.url,\n style: {\"text-decoration\":\"none\"}\n }, [\n _createVNode(_component_Card, { class: \"flex-1\" }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_3, [\n _withDirectives(_createElementVNode(\"img\", {\n alt: _ctx.item.image?.alt,\n class: \"image\"\n }, null, 8, _hoisted_4), [\n [_directive_lazy, _ctx.item.image?.url]\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createVNode(_component_Tag, {\n value: _ctx.$t('contentCategory.lblCategoryTags.' + _ctx.item.contentCategory)\n }, null, 8, [\"value\"])\n ])\n ])\n ]),\n content: _withCtx(() => [\n (_ctx.item.title)\n ? (_openBlock(), _createElementBlock(\"h3\", _hoisted_6, _toDisplayString(_ctx.item.title), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n (_ctx.showUpcomingEventTag)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createVNode(_component_Tag, {\n class: \"mr-1\",\n severity: \"success\",\n value: _ctx.$t('contentCategory.lblUpcomingTag')\n }, null, 8, [\"value\"])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"small\", _hoisted_10, _toDisplayString(_ctx.contentDate), 1)\n ]),\n _createVNode(_component_Button, {\n class: \"overlay p-button-link p-button-arrow\",\n label: _ctx.$t('contentCategory.lblContinueReading')\n }, null, 8, [\"label\"])\n ])\n ]),\n _: 1\n })\n ], 8, _hoisted_2)\n ]))\n}","<template>\r\n\t<div class=\"content-list-item content-grid-card-item\">\r\n\t\t<a :href=\"item?.url\" style=\"text-decoration: none\">\r\n\t\t\t<Card class=\"flex-1\">\r\n\t\t\t\t<template #header>\r\n\t\t\t\t\t<div class=\"image-container\">\r\n\t\t\t\t\t\t<img v-lazy=\"item.image?.url\" :alt=\"item.image?.alt\" class=\"image\" />\r\n\t\t\t\t\t\t<div class=\"contentcategory-tag\">\r\n\t\t\t\t\t\t\t<Tag :value=\"$t('contentCategory.lblCategoryTags.' + item.contentCategory)\" />\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template #content>\r\n\t\t\t\t\t<h3 v-if=\"item.title\" class=\"title\">{{ item.title }}</h3>\r\n\t\t\t\t\t<div class=\"d-flex flex-row justify-content-between align-items-center\">\r\n\t\t\t\t\t\t<div class=\"d-flex flex-column flex-sm-row\">\r\n\t\t\t\t\t\t\t<div v-if=\"showUpcomingEventTag\">\r\n\t\t\t\t\t\t\t\t<Tag\r\n\t\t\t\t\t\t\t\t\tclass=\"mr-1\"\r\n\t\t\t\t\t\t\t\t\tseverity=\"success\"\r\n\t\t\t\t\t\t\t\t\t:value=\"$t('contentCategory.lblUpcomingTag')\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t<small class=\"text-muted\">\r\n\t\t\t\t\t\t\t\t{{ contentDate }}\r\n\t\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\tclass=\"overlay p-button-link p-button-arrow\"\r\n\t\t\t\t\t\t\t:label=\"$t('contentCategory.lblContinueReading')\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</Card>\r\n\t\t</a>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { PropType } from \"vue\";\r\nimport { ContentCategoryOverviewItemViewModel } from \"@/types/viewModels/general/contentCategoryOverviewItemViewModel\";\r\nimport Tag from \"primevue/tag\";\r\nimport { ContentCategory } from \"@/types/enum/contentCategory\";\r\nimport { isFuture, isToday } from \"date-fns\";\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tTag,\r\n\t},\r\n})\r\nexport default class ContentCategoryOverviewItemGridCard extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<ContentCategoryOverviewItemViewModel>, required: true, default: {} })\r\n\titem!: ContentCategoryOverviewItemViewModel;\r\n\r\n\tget contentDate(): string {\r\n\t\treturn this.formatLongDate(\r\n\t\t\tthis.item.contentCategory === ContentCategory.Event ? this.item.relatedDate : this.item.dateCreated\r\n\t\t);\r\n\t}\r\n\r\n\tget showUpcomingEventTag(): boolean {\r\n\t\treturn (\r\n\t\t\tthis.item.contentCategory === ContentCategory.Event &&\r\n\t\t\t!!this.item.relatedDate &&\r\n\t\t\t(isFuture(this.toDate(this.item.relatedDate)) || isToday(this.toDate(this.item.relatedDate)))\r\n\t\t);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.content-grid-card-item {\r\n\tposition: relative;\r\n\tborder-radius: 4px;\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\tflex-wrap: wrap;\r\n\ttop: 0;\r\n\tz-index: 1;\r\n\ttransition: all 0.4s;\r\n\tcursor: pointer;\r\n\r\n\t::v-deep(.p-card) {\r\n\t\tbox-shadow: none;\r\n\r\n\t\t.p-card-body {\r\n\t\t\tpadding: 0;\r\n\t\t}\r\n\t}\r\n\r\n\t.title {\r\n\t\tmargin-bottom: 0.5rem;\r\n\t}\r\n\r\n\t.p-card-content {\r\n\t\tmargin-bottom: 0;\r\n\t}\r\n\r\n\t.overlay {\r\n\t\ttransition: 0.5s ease;\r\n\t\topacity: 0;\r\n\t}\r\n\r\n\t&:hover {\r\n\t\t.image {\r\n\t\t\ttransform: scale(1.03);\r\n\t\t}\r\n\r\n\t\t.overlay {\r\n\t\t\tcursor: pointer;\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n.image-container {\r\n\tposition: relative;\r\n\toverflow: hidden;\r\n\tborder-radius: 4px;\r\n\r\n\t.image {\r\n\t\topacity: 1;\r\n\t\tdisplay: block;\r\n\t\taspect-ratio: 16 / 9;\r\n\t\ttransition: 0.5s ease;\r\n\t\tbackface-visibility: hidden;\r\n\t\tobject-fit: cover;\r\n\t}\r\n\r\n\t.contentcategory-tag {\r\n\t\tposition: absolute;\r\n\t\ttop: 0;\r\n\t\tright: 0;\r\n\t\tpadding: 0.5rem;\r\n\t}\r\n}\r\n</style>\r\n","export enum ContentCategory {\r\n\tCase,\r\n\tEvent,\r\n\tNews,\r\n\tBlog,\r\n\tDownload,\r\n}\r\n","import { render } from \"./contentCategoryOverviewItemGridCard.vue?vue&type=template&id=a5a2abde&scoped=true&ts=true\"\nimport script from \"./contentCategoryOverviewItemGridCard.vue?vue&type=script&lang=ts\"\nexport * from \"./contentCategoryOverviewItemGridCard.vue?vue&type=script&lang=ts\"\n\nimport \"./contentCategoryOverviewItemGridCard.vue?vue&type=style&index=0&id=a5a2abde&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-a5a2abde\"]])\n\nexport default __exports__","import { resolveDirective as _resolveDirective, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, createTextVNode as _createTextVNode, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7c70c21c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = [\"href\"]\nconst _hoisted_2 = { class: \"image-container\" }\nconst _hoisted_3 = [\"alt\"]\nconst _hoisted_4 = { class: \"d-flex content-list-item-right col-8\" }\nconst _hoisted_5 = { class: \"d-flex flex-column justify-content-between h-100\" }\nconst _hoisted_6 = { class: \"item-content\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"mb-0 mr-5\"\n}\nconst _hoisted_8 = { class: \"text-muted\" }\nconst _hoisted_9 = [\"innerHTML\"]\nconst _hoisted_10 = { class: \"\" }\nconst _hoisted_11 = { class: \"contentcategory-tag\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Tag = _resolveComponent(\"Tag\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(\"a\", {\n class: \"content-list-item content-list-card-item row text-decoration-none\",\n href: _ctx.item?.url\n }, [\n _createElementVNode(\"div\", _hoisted_2, [\n _withDirectives(_createElementVNode(\"img\", {\n alt: _ctx.item.image?.alt,\n class: \"image\"\n }, null, 8, _hoisted_3), [\n [_directive_lazy, _ctx.item.image?.url]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n (_ctx.item.title)\n ? (_openBlock(), _createElementBlock(\"h3\", _hoisted_7, _toDisplayString(_ctx.item.title), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.showUpcomingEventTag)\n ? (_openBlock(), _createBlock(_component_Tag, {\n key: 1,\n class: \"mr-1\",\n severity: \"success\",\n value: _ctx.$t('contentCategory.lblUpcomingTag')\n }, null, 8, [\"value\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"small\", _hoisted_8, _toDisplayString(_ctx.contentDate), 1),\n _createElementVNode(\"p\", {\n class: \"lead mt-2\",\n innerHTML: _ctx.item.intro\n }, null, 8, _hoisted_9)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createVNode(_component_Button, { class: \"overlay p-button-link p-button-arrow\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"contentCategory.lblContinueReading\")), 1)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createVNode(_component_Tag, {\n value: _ctx.$t('contentCategory.lblCategoryTags.' + _ctx.item.contentCategory)\n }, null, 8, [\"value\"])\n ])\n ], 8, _hoisted_1))\n}","<template>\r\n\t<a class=\"content-list-item content-list-card-item row text-decoration-none\" :href=\"item?.url\">\r\n\t\t<div class=\"image-container\">\r\n\t\t\t<img v-lazy=\"item.image?.url\" :alt=\"item.image?.alt\" class=\"image\" />\r\n\t\t</div>\r\n\r\n\t\t<div class=\"d-flex content-list-item-right col-8\">\r\n\t\t\t<div class=\"d-flex flex-column justify-content-between h-100\">\r\n\t\t\t\t<div class=\"item-content\">\r\n\t\t\t\t\t<h3 v-if=\"item.title\" class=\"mb-0 mr-5\">{{ item.title }}</h3>\r\n\t\t\t\t\t<Tag\r\n\t\t\t\t\t\tv-if=\"showUpcomingEventTag\"\r\n\t\t\t\t\t\tclass=\"mr-1\"\r\n\t\t\t\t\t\tseverity=\"success\"\r\n\t\t\t\t\t\t:value=\"$t('contentCategory.lblUpcomingTag')\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<small class=\"text-muted\">{{ contentDate }}</small>\r\n\t\t\t\t\t<p class=\"lead mt-2\" v-html=\"item.intro\"></p>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"\">\r\n\t\t\t<Button class=\"overlay p-button-link p-button-arrow\">\r\n\t\t\t\t{{ $t(\"contentCategory.lblContinueReading\") }}\r\n\t\t\t</Button>\r\n\t\t</div>\r\n\t\t<div class=\"contentcategory-tag\">\r\n\t\t\t<Tag :value=\"$t('contentCategory.lblCategoryTags.' + item.contentCategory)\" />\r\n\t\t</div>\r\n\t</a>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { PropType } from \"vue\";\r\nimport { ContentCategoryOverviewItemViewModel } from \"@/types/viewModels/general/contentCategoryOverviewItemViewModel\";\r\nimport Tag from \"primevue/tag\";\r\nimport { ContentCategory } from \"@/types/enum/contentCategory\";\r\nimport { isFuture, isToday } from \"date-fns\";\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tTag,\r\n\t},\r\n})\r\nexport default class ContentCategoryOverviewItemListCard extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<ContentCategoryOverviewItemViewModel>, required: true, default: {} })\r\n\titem!: ContentCategoryOverviewItemViewModel;\r\n\r\n\tget contentDate(): string {\r\n\t\treturn this.formatLongDate(\r\n\t\t\tthis.item.contentCategory === ContentCategory.Event ? this.item.relatedDate : this.item.dateCreated\r\n\t\t);\r\n\t}\r\n\r\n\tget showUpcomingEventTag(): boolean {\r\n\t\treturn (\r\n\t\t\tthis.item.contentCategory === ContentCategory.Event &&\r\n\t\t\t!!this.item.relatedDate &&\r\n\t\t\t(isFuture(this.toDate(this.item.relatedDate)) || isToday(this.toDate(this.item.relatedDate)))\r\n\t\t);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.content-list-card-item {\r\n\ttransition: all 0.4s;\r\n\tbox-shadow:\r\n\t\t0px 2px 1px -1px rgb(0 0 0 / 20%),\r\n\t\t0px 1px 1px 0px rgb(0 0 0 / 14%),\r\n\t\t0px 1px 3px 0px rgb(0 0 0 / 12%);\r\n\tborder-radius: 3px;\r\n\tmargin: 0 0 1.5rem 0;\r\n\toverflow: hidden;\r\n\tposition: relative;\r\n\tcolor: var(--text-color);\r\n\r\n\t&:hover {\r\n\t\tcolor: var(--text-color);\r\n\t}\r\n\r\n\t.contentcategory-tag {\r\n\t\tposition: absolute;\r\n\t\ttop: 0;\r\n\t\tright: 0;\r\n\t\tpadding: 1.5rem;\r\n\t}\r\n\r\n\t.content-list-item-right {\r\n\t\tmax-height: 270px;\r\n\t\tpadding: 1rem 1.5rem;\r\n\t}\r\n\r\n\t.image-container {\r\n\t\tposition: relative;\r\n\t\toverflow: hidden;\r\n\t\twidth: 33%;\r\n\t\theight: 270px;\r\n\r\n\t\t.image {\r\n\t\t\topacity: 1;\r\n\t\t\tdisplay: block;\r\n\t\t\theight: 100%;\r\n\t\t\twidth: 100%;\r\n\t\t\taspect-ratio: 16 / 9;\r\n\t\t\ttransition: 0.5s ease;\r\n\t\t\tbackface-visibility: hidden;\r\n\t\t\tobject-fit: cover;\r\n\t\t}\r\n\t}\r\n\r\n\t&:hover {\r\n\t\tbox-shadow:\r\n\t\t\t4px 4px 2px 0 rgb(0 0 0 / 20%),\r\n\t\t\t0 1px 4px 0 rgb(0 0 0 / 14%),\r\n\t\t\t0 2px 8px 0 rgb(0 0 0 / 12%);\r\n\t\tcursor: pointer;\r\n\t}\r\n\r\n\t.item-content {\r\n\t\tdisplay: -webkit-box;\r\n\t\t-webkit-line-clamp: 5;\r\n\t\t-webkit-box-orient: vertical;\r\n\t\toverflow: hidden;\r\n\t}\r\n\r\n\t.overlay {\r\n\t\ttransition: 0.5s ease;\r\n\t\topacity: 0;\r\n\t\tposition: absolute;\r\n\t\tbottom: 0%;\r\n\t\tright: 0%;\r\n\t\tpadding: 1.5rem;\r\n\r\n\t\tbutton {\r\n\t\t\tbackground-color: var(--primary-color);\r\n\t\t\tcolor: var(--primary-color-text);\r\n\t\t\tfont-size: 16px;\r\n\t\t\tpadding: 16px 32px;\r\n\t\t}\r\n\t}\r\n\r\n\t&:hover {\r\n\t\t.image {\r\n\t\t\ttransform: scale(1.03);\r\n\t\t}\r\n\r\n\t\t.overlay {\r\n\t\t\topacity: 1;\r\n\t\t\tcursor: pointer;\r\n\t\t}\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./contentCategoryOverviewItemListCard.vue?vue&type=template&id=7c70c21c&scoped=true&ts=true\"\nimport script from \"./contentCategoryOverviewItemListCard.vue?vue&type=script&lang=ts\"\nexport * from \"./contentCategoryOverviewItemListCard.vue?vue&type=script&lang=ts\"\n\nimport \"./contentCategoryOverviewItemListCard.vue?vue&type=style&index=0&id=7c70c21c&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7c70c21c\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = {\n key: 0,\n class: \"d-flex p-2 m-2 flex-shrink-0 surface-a\"\n}\nconst _hoisted_2 = { class: \"d-flex flex-column ml-1 w-75\" }\nconst _hoisted_3 = { class: \"\" }\nconst _hoisted_4 = {\n key: 1,\n class: \"w-100\"\n}\nconst _hoisted_5 = { class: \"p-2 m-2 surface-a\" }\nconst _hoisted_6 = { class: \"d-flex flex-column mt-2\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Skeleton = _resolveComponent(\"Skeleton\")!\n\n return (!_ctx.isGridLayout)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Skeleton, {\n height: \"222px\",\n width: \"400px\"\n }),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_Skeleton, {\n class: \"mb-1\",\n height: \"1.4rem\",\n width: \"20%\"\n }),\n _createVNode(_component_Skeleton, {\n class: \"mb-1\",\n height: \".75rem\",\n width: \"100%\"\n }),\n _createVNode(_component_Skeleton, {\n class: \"mb-1\",\n height: \".75rem\",\n width: \"90%\"\n }),\n _createVNode(_component_Skeleton, {\n class: \"mb-1\",\n height: \".75rem\",\n width: \"95%\"\n }),\n _createVNode(_component_Skeleton, {\n height: \".75rem\",\n width: \"80%\"\n })\n ])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createVNode(_component_Skeleton, {\n height: \"225px\",\n width: \"100%\"\n }),\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(_component_Skeleton, {\n class: \"mb-1\",\n height: \"1.25rem\",\n width: \"40%\"\n })\n ])\n ])\n ]))\n}","<template>\r\n\t<div v-if=\"!isGridLayout\" class=\"d-flex p-2 m-2 flex-shrink-0 surface-a\">\r\n\t\t<Skeleton height=\"222px\" width=\"400px\" />\r\n\r\n\t\t<div class=\"d-flex flex-column ml-1 w-75\">\r\n\t\t\t<div class=\"\">\r\n\t\t\t\t<Skeleton class=\"mb-1\" height=\"1.4rem\" width=\"20%\" />\r\n\t\t\t\t<Skeleton class=\"mb-1\" height=\".75rem\" width=\"100%\" />\r\n\t\t\t\t<Skeleton class=\"mb-1\" height=\".75rem\" width=\"90%\" />\r\n\t\t\t\t<Skeleton class=\"mb-1\" height=\".75rem\" width=\"95%\" />\r\n\t\t\t\t<Skeleton height=\".75rem\" width=\"80%\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div v-else class=\"w-100\">\r\n\t\t<!--\t\tGrid layout-->\r\n\t\t<div class=\"p-2 m-2 surface-a\">\r\n\t\t\t<Skeleton height=\"225px\" width=\"100%\" />\r\n\t\t\t<div class=\"d-flex flex-column mt-2\">\r\n\t\t\t\t<Skeleton class=\"mb-1\" height=\"1.25rem\" width=\"40%\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Skeleton from \"primevue/skeleton\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { OverviewLayoutType } from \"@/views/layout/productOverviewLayout.vue\";\r\nimport { PropType } from \"vue\";\r\n\r\n@Component({ components: { Skeleton } })\r\nexport default class ContentCategoryOverviewItemSkeletonCard extends BaseComponent {\r\n\t@Prop({ type: String as PropType<OverviewLayoutType>, required: true, default: \"grid\" })\r\n\ttype!: OverviewLayoutType;\r\n\r\n\tget isGridLayout(): boolean {\r\n\t\treturn this.type === \"grid\";\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { render } from \"./contentCategoryOverviewItemSkeletonCard.vue?vue&type=template&id=f37a1792&ts=true\"\nimport script from \"./contentCategoryOverviewItemSkeletonCard.vue?vue&type=script&lang=ts\"\nexport * from \"./contentCategoryOverviewItemSkeletonCard.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","export enum OverviewSortType {\r\n\tDefault,\r\n\tCategory,\r\n\tNameAsc,\r\n\tNameDesc,\r\n\tPriceAsc,\r\n\tPriceDesc,\r\n\tLocation,\r\n\tAvailability,\r\n\tScore,\r\n}\r\n","import httpClient from '@/types/helpers/apiHelper';\r\nimport i18n from '@/types/utils/i18n';\r\nimport { ContentCategoryOverviewViewModel } from '@/types/viewModels/general/contentCategoryOverviewViewModel';\r\nimport { OverviewSortType } from '@/types/enum/overviewSortType';\r\nimport { defineStore } from 'pinia';\r\nimport { useLayoutStore } from '@/store/common/layoutStore';\r\nimport { IDropdownItem } from '@/types/models/common/dropdownItem.interface';\r\nimport { useLoadingStore } from '@/store/common/loadingStore';\r\nimport { PagedList } from '@/types/models/common/pagedList.interface';\r\nimport { ContentCategoryOverviewItemViewModel } from '@/types/viewModels/general/contentCategoryOverviewItemViewModel';\r\nimport { ContentCategory } from '@/types/enum/contentCategory';\r\n\r\ninterface contentCategoryOverviewFilterState {\r\n\tfilter: any;\r\n\tsortOptions: IDropdownItem[] | null;\r\n\tauthorTags: IDropdownItem[] | null;\r\n\tbranchTags: IDropdownItem[] | null;\r\n\tthemeTags: IDropdownItem[] | null;\r\n\tcontentCategories: number[];\r\n\tcurrentContentCategory: ContentCategory | null;\r\n\toverviewItems: unknown[];\r\n\tsortType: OverviewSortType;\r\n}\r\n\r\nexport const useContentCategoryOverviewFilterStore = defineStore('contentCategoryOverviewFilters', {\r\n\tstate: () =>\r\n\t\t({\r\n\t\t\tfilter: {},\r\n\t\t\tsortOptions: null,\r\n\t\t\tauthorTags: null,\r\n\t\t\tbranchTags: null,\r\n\t\t\tthemeTags: null,\r\n\t\t\tsortType: 0,\r\n\t\t\toverviewItems: [],\r\n\t\t\tcontentCategories: [],\r\n\t\t\tcurrentContentCategory: null,\r\n\t\t}) as contentCategoryOverviewFilterState,\r\n\tgetters: {\r\n\t\thasAuthorTags(): boolean {\r\n\t\t\treturn !!this.authorTags?.length;\r\n\t\t},\r\n\t\thasBranchTags(): boolean {\r\n\t\t\treturn !!this.branchTags?.length;\r\n\t\t},\r\n\t\thasThemeTags(): boolean {\r\n\t\t\treturn !!this.themeTags?.length;\r\n\t\t},\r\n\t\thasSelectedAuthorTags(): boolean {\r\n\t\t\treturn !!this.filter.authorTags?.length;\r\n\t\t},\r\n\t\thasSelectedBranchTags(): boolean {\r\n\t\t\treturn !!this.filter.branchTags?.length;\r\n\t\t},\r\n\t\thasSelectedThemeTags(): boolean {\r\n\t\t\treturn !!this.filter.themeTags?.length;\r\n\t\t},\r\n\t\thasPage(): boolean {\r\n\t\t\treturn this.filter.page;\r\n\t\t},\r\n\t},\r\n\tactions: {\r\n\t\tasync init(vm: ContentCategoryOverviewViewModel): Promise<void> {\r\n\t\t\tuseLoadingStore().showSpinner('contentCategory');\r\n\t\t\tconst remap = (x) =>\r\n\t\t\t\tx?.map((x) => {\r\n\t\t\t\t\tx.label = x.text;\r\n\t\t\t\t\tdelete x.text;\r\n\t\t\t\t\treturn x;\r\n\t\t\t\t});\r\n\r\n\t\t\tthis.filter = vm.filter;\r\n\r\n\t\t\tthis.filter.totalItems = vm.pagedItems.totalItems;\r\n\t\t\tthis.filter.pageSize = 12;\r\n\r\n\t\t\tthis.currentContentCategory = this.filter.contentCategories;\r\n\r\n\t\t\tthis.authorTags = remap(vm.authorTags);\r\n\t\t\tthis.branchTags = remap(vm.branchTags);\r\n\t\t\tthis.themeTags = remap(vm.themeTags);\r\n\t\t\tthis.sortOptions = [\r\n\t\t\t\t{ label: i18n.global.t('common.sortDefault'), value: OverviewSortType.Default },\r\n\t\t\t\t{ label: i18n.global.t('common.sortNameAsc'), value: OverviewSortType.NameAsc },\r\n\t\t\t\t{ label: i18n.global.t('common.sortNameDesc'), value: OverviewSortType.NameDesc },\r\n\t\t\t];\r\n\r\n\t\t\tawait this.updateFilters();\r\n\t\t},\r\n\t\tasync updateFilters(): Promise<PagedList<ContentCategoryOverviewItemViewModel>> {\r\n\t\t\tuseLoadingStore().showSpinner('contentCategory');\r\n\t\t\tconst payload = { ...this.filter };\r\n\r\n\t\t\tconst result = await httpClient.get<PagedList<ContentCategoryOverviewItemViewModel>>(\r\n\t\t\t\t`/api/${useLayoutStore().vm.localizationPrefix}/contentcategory/filter`,\r\n\t\t\t\t{\r\n\t\t\t\t\tparams: { ...payload },\r\n\t\t\t\t\tdata: {},\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t\tthis.overviewItems = result.data.items;\r\n\t\t\tthis.filter.totalItems = result.data.totalItems;\r\n\t\t\tthis.filter.pages = Math.ceil(this.filter.totalItems / this.filter.pageSize);\r\n\r\n\t\t\tthis.updateQueryParams();\r\n\t\t\tuseLoadingStore().hideSpinner('contentCategory');\r\n\t\t\treturn result.data;\r\n\t\t},\r\n\r\n\t\tonSortChange(): void {\r\n\t\t\tswitch (this.sortType) {\r\n\t\t\t\tcase OverviewSortType.Default:\r\n\t\t\t\t\tif (this.currentContentCategory === ContentCategory.Event)\r\n\t\t\t\t\t\tthis.overviewItems.sort((a: any, b: any) => b.dateCreated.localeCompare(a.relatedDate));\r\n\t\t\t\t\telse this.overviewItems.sort((a: any, b: any) => b.dateCreated.localeCompare(a.dateCreated));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase OverviewSortType.NameAsc:\r\n\t\t\t\t\tthis.overviewItems.sort((a: any, b: any) => {\r\n\t\t\t\t\t\tif (a.title < b.title) {\r\n\t\t\t\t\t\t\treturn -1;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (a.title > b.title) {\r\n\t\t\t\t\t\t\treturn 1;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t});\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase OverviewSortType.NameDesc:\r\n\t\t\t\t\tthis.overviewItems.sort((a: any, b: any) => {\r\n\t\t\t\t\t\tif (a.title < b.title) {\r\n\t\t\t\t\t\t\treturn 1;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (a.title > b.title) {\r\n\t\t\t\t\t\t\treturn -1;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t});\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tthis.overviewItems.sort((a: any, b: any) => b.dateCreated.localeCompare(a.dateCreated));\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tupdateQueryParams(): void {\r\n\t\t\tconst queryParams = new URLSearchParams('');\r\n\r\n\t\t\tif (this.hasPage) {\r\n\t\t\t\tqueryParams.append('page', this.filter.page);\r\n\t\t\t}\r\n\r\n\t\t\tif (this.hasSelectedBranchTags) {\r\n\t\t\t\tqueryParams.append('branchTag', this.filter.branchTags.map((x) => x).join(','));\r\n\t\t\t}\r\n\r\n\t\t\tif (this.hasSelectedAuthorTags) {\r\n\t\t\t\tqueryParams.append('authorTag', this.filter.authorTags.map((x) => x).join(','));\r\n\t\t\t}\r\n\r\n\t\t\tif (this.hasSelectedThemeTags) {\r\n\t\t\t\tqueryParams.append('themeTag', this.filter.themeTags.map((x) => x).join(','));\r\n\t\t\t}\r\n\r\n\t\t\tconst url = new URL(window.location.href);\r\n\t\t\turl.search = queryParams.toString();\r\n\r\n\t\t\tif (window.history.replaceState) {\r\n\t\t\t\twindow.history.replaceState({}, document.title, url.toString());\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tasync onPageChange(page: number) {\r\n\t\t\tthis.filter.page = page + 1;\r\n\t\t\tawait this.updateFilters();\r\n\t\t},\r\n\t\t// resetFilters(): void {\r\n\t\t// \tthis.filters.forEach((x) => {\r\n\t\t// \t\tx.props = {} as FilterPropsViewModel;\r\n\t\t// \t\tx.isActive = false;\r\n\t\t// \t\tx.options.forEach((y) => (y.isActive = false));\r\n\t\t// \t});\r\n\t\t// },\r\n\t},\r\n});\r\n","export class ScrollHelper {\r\n\tstatic scrollTo(selector = 'body', margin: number | string = 0): void {\r\n\t\tconst element = document.querySelector(selector)?.getBoundingClientRect()?.top;\r\n\t\telement && window.scrollTo({ top: element + (isNaN(+margin) ? +margin : 0), behavior: 'smooth' });\r\n\t}\r\n}\r\n","import { render } from \"./contentCategoryOverview.vue?vue&type=template&id=2acf896b&scoped=true&ts=true\"\nimport script from \"./contentCategoryOverview.vue?vue&type=script&lang=ts\"\nexport * from \"./contentCategoryOverview.vue?vue&type=script&lang=ts\"\n\nimport \"./contentCategoryOverview.vue?vue&type=style&index=0&id=2acf896b&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2acf896b\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, Fragment as _Fragment, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"mb-0\" }\nconst _hoisted_2 = { class: \"text-muted lead\" }\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"hr\", { class: \"mt-1\" }, null, -1)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_BackButton = _resolveComponent(\"BackButton\")!\n const _component_ContractDetailTable = _resolveComponent(\"ContractDetailTable\")!\n const _component_ContractDetailChangeCard = _resolveComponent(\"ContractDetailChangeCard\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_BackButton, {\n label: _ctx.$t('myCadac.contractDetail.button.back')\n }, null, 8, [\"label\"]),\n _createElementVNode(\"h1\", _hoisted_1, _toDisplayString(_ctx.vm.editing ? _ctx.$t(\"myCadac.contractDetail.titleChange\") : _ctx.$t(\"myCadac.contractDetail.titleView\")), 1),\n _createElementVNode(\"p\", _hoisted_2, _toDisplayString(_ctx.$t(\"myCadac.contractDetail.contractNumber\", {\r\n\t\t\t\tcontractNumber: _ctx.vm.contract.contractId,\r\n\t\t\t})), 1),\n _hoisted_3,\n _createVNode(_component_ContractDetailTable, {\n contracts: [_ctx.vm.contract],\n vm: _ctx.vm\n }, null, 8, [\"contracts\", \"vm\"]),\n (_ctx.vm.contract.contractLines.length)\n ? (_openBlock(), _createBlock(_component_ContractDetailChangeCard, {\n key: 0,\n vm: _ctx.vm\n }, null, 8, [\"vm\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<BackButton :label=\"$t('myCadac.contractDetail.button.back')\" />\r\n\r\n\t<h1 class=\"mb-0\">\r\n\t\t{{ vm.editing ? $t(\"myCadac.contractDetail.titleChange\") : $t(\"myCadac.contractDetail.titleView\") }}\r\n\t</h1>\r\n\t<p class=\"text-muted lead\">\r\n\t\t{{\r\n\t\t\t$t(\"myCadac.contractDetail.contractNumber\", {\r\n\t\t\t\tcontractNumber: vm.contract.contractId,\r\n\t\t\t})\r\n\t\t}}\r\n\t</p>\r\n\r\n\t<hr class=\"mt-1\" />\r\n\r\n\t<ContractDetailTable :contracts=\"[vm.contract]\" :vm=\"vm\" />\r\n\t<ContractDetailChangeCard v-if=\"vm.contract.contractLines.length\" :vm=\"vm\" />\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BackButton from \"@/components/common/backButton.vue\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport ContractDetailChangeCard from \"@/components/contracts/contractDetailChangeCard.vue\";\r\nimport ContractDetailTable from \"@/components/contracts/contractDetailTable.vue\";\r\nimport MyCadacMenu from \"@/components/common/menu/myCadacMenu.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { IContractDetail } from \"@/types/viewModels/myCadac/contractDetailViewModel\";\r\nimport { PropType } from \"vue\";\r\n\r\n@Component({ components: { BackButton, ContractDetailChangeCard, ContractDetailTable, MyCadacMenu } })\r\nexport default class ContractDetail extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IContractDetail>, required: true, default: {} })\r\n\tvm!: IContractDetail;\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped></style>\r\n","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, withCtx as _withCtx, createVNode as _createVNode, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, resolveDirective as _resolveDirective, withDirectives as _withDirectives, createSlots as _createSlots } from \"vue\"\n\nconst _hoisted_1 = { class: \"d-flex justify-content-between\" }\nconst _hoisted_2 = { class: \"mb-0\" }\nconst _hoisted_3 = { class: \"d-flex align-items-center ml-1 ml-lg-0\" }\nconst _hoisted_4 = { class: \"d-flex flex-column\" }\nconst _hoisted_5 = { class: \"mb-0 text-muted d-block\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"mb-0 text-bold\"\n}\nconst _hoisted_7 = [\"href\", \"title\"]\nconst _hoisted_8 = {\n key: 1,\n class: \"mb-0 text-bold\"\n}\nconst _hoisted_9 = { key: 1 }\nconst _hoisted_10 = { key: 1 }\nconst _hoisted_11 = { key: 0 }\nconst _hoisted_12 = {\n key: 0,\n class: \"d-block text-muted\"\n}\nconst _hoisted_13 = {\n key: 1,\n class: \"d-block text-success prefix-min\"\n}\nconst _hoisted_14 = { key: 1 }\nconst _hoisted_15 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-spin pi-spinner\" }, null, -1)\nconst _hoisted_16 = [\n _hoisted_15\n]\nconst _hoisted_17 = { class: \"col-md-10 col-lg-8 col-xl-6 ml-auto pr-2\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_InputNumber = _resolveComponent(\"InputNumber\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n const _component_PriceSummary = _resolveComponent(\"PriceSummary\")!\n const _component_Card = _resolveComponent(\"Card\")!\n const _directive_debounce = _resolveDirective(\"debounce\")!\n\n return (_openBlock(), _createBlock(_component_Card, null, _createSlots({\n title: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"h4\", _hoisted_2, _toDisplayString(_ctx.vm.editing\r\n\t\t\t\t\t\t\t? _ctx.$t(\"myCadac.contractDetail.card.titleChange\")\r\n\t\t\t\t\t\t\t: _ctx.$t(\"myCadac.contractDetail.card.titleView\")), 1),\n (_ctx.vm.supportProductUrl && _ctx.vm.contract.isSupportContract)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-success\",\n label: _ctx.$t('myCadac.contractDetail.button.addProduct'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => {\r\n\t\t\t\t\t\t_ctx.openUrl(_ctx.vm.supportProductUrl);\r\n\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t})\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n content: _withCtx(() => [\n _createVNode(_component_DataTable, {\n \"auto-layout\": \"\",\n \"data-key\": \"serialNumber\",\n \"edit-mode\": _ctx.vm.editing ? 'cell' : '',\n \"responsive-layout\": \"stack\",\n value: _ctx.editingContractLines,\n onCellEditComplete: _ctx.onCellEditComplete\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Column, {\n field: \"productName\",\n header: _ctx.$t('myCadac.contractDetail.table.colProductName')\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_3, [\n (item.data.icon)\n ? (_openBlock(), _createBlock(_component_Avatar, {\n key: 0,\n alt: item.data.iconAlt,\n class: \"mr-1 bg-transparent flex-shrink-0\",\n image: item.data.icon,\n shape: \"square\",\n size: \"large\",\n title: item.productName\n }, null, 8, [\"alt\", \"image\", \"title\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"small\", _hoisted_5, _toDisplayString(item.data.productBrand), 1),\n (_ctx.userProfile?.isCadacSales || _ctx.userProfile?.isImpersonated)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_6, [\n _createElementVNode(\"a\", {\n href: item.data.crmUrl,\n target: \"_blank\",\n title: _ctx.$t('common.goToCrm')\n }, _toDisplayString(_ctx.formatProductName(item.data.productName, item.data.productBrand)), 9, _hoisted_7)\n ]))\n : (_openBlock(), _createElementBlock(\"p\", _hoisted_8, _toDisplayString(_ctx.formatProductName(item.data.productName, item.data.productBrand)), 1))\n ])\n ])\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n class: _normalizeClass({ 'text-right': _ctx.isSupportContract }),\n field: \"serialNumber\",\n header: _ctx.$t('myCadac.contractDetail.table.colProductSerialNumber')\n }, null, 8, [\"class\", \"header\"]),\n (!_ctx.isSupportContract)\n ? (_openBlock(), _createBlock(_component_Column, {\n key: 0,\n field: \"deployment\",\n header: _ctx.$t('myCadac.contractDetail.table.colProductLicenceType')\n }, {\n body: _withCtx((item) => [\n _createTextVNode(_toDisplayString(_ctx.$t(`enum.deployment.${item.data.deployment}`)), 1)\n ]),\n _: 1\n }, 8, [\"header\"]))\n : _createCommentVNode(\"\", true),\n (!_ctx.isSupportContract)\n ? (_openBlock(), _createBlock(_component_Column, {\n key: 1,\n field: \"seats\",\n header: _ctx.$t('myCadac.contractDetail.table.colProductSeats')\n }, {\n editor: _withCtx((item) => [\n (_ctx.vm.editing && item.data.canAddSeats)\n ? _withDirectives((_openBlock(), _createBlock(_component_InputNumber, {\n key: 0,\n modelValue: item.data.seats,\n \"onUpdate:modelValue\": ($event: any) => ((item.data.seats) = $event),\n disabled: _ctx.showSpinner[item.index] || _ctx.isLoading,\n max: 999,\n min: item.data.seatsMinimal,\n \"show-buttons\": \"\"\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"disabled\", \"min\"])), [\n [_directive_debounce, _ctx.onInputChanged, \"300ms\"]\n ])\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_9, _toDisplayString(item.data.seats), 1))\n ]),\n body: _withCtx((item) => [\n (_ctx.vm.editing && item.data.canAddSeats)\n ? (_openBlock(), _createBlock(_component_InputNumber, {\n key: 0,\n disabled: _ctx.showSpinner[item.index] || _ctx.isLoading,\n \"model-value\": item.data.seats,\n readonly: \"\",\n \"show-buttons\": \"\"\n }, null, 8, [\"disabled\", \"model-value\"]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_10, _toDisplayString(item.data.seats), 1))\n ]),\n _: 1\n }, 8, [\"header\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.editing && !_ctx.isSupportContract && (_ctx.isLoading || _ctx.priceChanged))\n ? (_openBlock(), _createBlock(_component_Column, {\n key: 2,\n class: \"text-right pr-2\",\n header: _ctx.$t('myCadac.contractDetail.table.colProductPrice')\n }, {\n body: _withCtx((item) => [\n (\r\n\t\t\t\t\t\t\t\t!_ctx.showSpinner[item.index] &&\r\n\t\t\t\t\t\t\t\titem.data.canAddSeats &&\r\n\t\t\t\t\t\t\t\titem.data.price > 0 &&\r\n\t\t\t\t\t\t\t\t_ctx.seatsChangedForItem(item.data)\r\n\t\t\t\t\t\t\t)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n (item.data.priceBase !== item.data.price)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_12, [\n _createElementVNode(\"s\", null, _toDisplayString(_ctx.formatCurrency(item.data.priceBase)), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (item.data.discount > 0)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_13, _toDisplayString(_ctx.formatCurrency(item.data.discount)), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.formatCurrency(item.data.price)), 1)\n ]))\n : (_ctx.showSpinner[item.index])\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, _hoisted_16))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"header\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"edit-mode\", \"value\", \"onCellEditComplete\"])\n ]),\n _: 2\n }, [\n (_ctx.vm.editing && _ctx.priceChanged)\n ? {\n name: \"footer\",\n fn: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_17, [\n _createVNode(_component_PriceSummary, { vm: _ctx.priceSummary }, null, 8, [\"vm\"]),\n _createVNode(_component_Button, {\n class: \"p-button-success p-button-raised p-button-lg d-block ml-auto\",\n disabled: !_ctx.canCheckout,\n label: _ctx.$t('myCadac.contractDetail.button.goToCheckout'),\n loading: _ctx.isLoading,\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onCheckoutClick()))\n }, null, 8, [\"disabled\", \"label\", \"loading\"])\n ])\n ]),\n key: \"0\"\n }\n : undefined\n ]), 1024))\n}","<template>\r\n\t<Card>\r\n\t\t<template #title>\r\n\t\t\t<div class=\"d-flex justify-content-between\">\r\n\t\t\t\t<h4 class=\"mb-0\">\r\n\t\t\t\t\t{{\r\n\t\t\t\t\t\tvm.editing\r\n\t\t\t\t\t\t\t? $t(\"myCadac.contractDetail.card.titleChange\")\r\n\t\t\t\t\t\t\t: $t(\"myCadac.contractDetail.card.titleView\")\r\n\t\t\t\t\t}}\r\n\t\t\t\t</h4>\r\n\t\t\t\t<Button\r\n\t\t\t\t\tv-if=\"vm.supportProductUrl && vm.contract.isSupportContract\"\r\n\t\t\t\t\tclass=\"p-button-success\"\r\n\t\t\t\t\t:label=\"$t('myCadac.contractDetail.button.addProduct')\"\r\n\t\t\t\t\t@click=\"\r\n\t\t\t\t\t\topenUrl(vm.supportProductUrl);\r\n\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t\t<template #content>\r\n\t\t\t<DataTable\r\n\t\t\t\tauto-layout\r\n\t\t\t\tdata-key=\"serialNumber\"\r\n\t\t\t\t:edit-mode=\"vm.editing ? 'cell' : ''\"\r\n\t\t\t\tresponsive-layout=\"stack\"\r\n\t\t\t\t:value=\"editingContractLines\"\r\n\t\t\t\t@cellEditComplete=\"onCellEditComplete\"\r\n\t\t\t>\r\n\t\t\t\t<Column field=\"productName\" :header=\"$t('myCadac.contractDetail.table.colProductName')\">\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<div class=\"d-flex align-items-center ml-1 ml-lg-0\">\r\n\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\tv-if=\"item.data.icon\"\r\n\t\t\t\t\t\t\t\t:alt=\"item.data.iconAlt\"\r\n\t\t\t\t\t\t\t\tclass=\"mr-1 bg-transparent flex-shrink-0\"\r\n\t\t\t\t\t\t\t\t:image=\"item.data.icon\"\r\n\t\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\t\tsize=\"large\"\r\n\t\t\t\t\t\t\t\t:title=\"item.productName\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t</Avatar>\r\n\t\t\t\t\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t\t\t\t\t<small class=\"mb-0 text-muted d-block\">\r\n\t\t\t\t\t\t\t\t\t{{ item.data.productBrand }}\r\n\t\t\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t\t\t<p\r\n\t\t\t\t\t\t\t\t\tv-if=\"userProfile?.isCadacSales || userProfile?.isImpersonated\"\r\n\t\t\t\t\t\t\t\t\tclass=\"mb-0 text-bold\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<a :href=\"item.data.crmUrl\" target=\"_blank\" :title=\"$t('common.goToCrm')\">\r\n\t\t\t\t\t\t\t\t\t\t{{ formatProductName(item.data.productName, item.data.productBrand) }}\r\n\t\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t<p v-else class=\"mb-0 text-bold\">\r\n\t\t\t\t\t\t\t\t\t{{ formatProductName(item.data.productName, item.data.productBrand) }}\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\t\t\t\t<Column\r\n\t\t\t\t\t:class=\"{ 'text-right': isSupportContract }\"\r\n\t\t\t\t\tfield=\"serialNumber\"\r\n\t\t\t\t\t:header=\"$t('myCadac.contractDetail.table.colProductSerialNumber')\"\r\n\t\t\t\t/>\r\n\t\t\t\t<Column\r\n\t\t\t\t\tv-if=\"!isSupportContract\"\r\n\t\t\t\t\tfield=\"deployment\"\r\n\t\t\t\t\t:header=\"$t('myCadac.contractDetail.table.colProductLicenceType')\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t{{ $t(`enum.deployment.${item.data.deployment}`) }}\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\t\t\t\t<Column\r\n\t\t\t\t\tv-if=\"!isSupportContract\"\r\n\t\t\t\t\tfield=\"seats\"\r\n\t\t\t\t\t:header=\"$t('myCadac.contractDetail.table.colProductSeats')\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #editor=\"item\">\r\n\t\t\t\t\t\t<InputNumber\r\n\t\t\t\t\t\t\tv-if=\"vm.editing && item.data.canAddSeats\"\r\n\t\t\t\t\t\t\tv-model=\"item.data.seats\"\r\n\t\t\t\t\t\t\tv-debounce:300ms=\"onInputChanged\"\r\n\t\t\t\t\t\t\t:disabled=\"showSpinner[item.index] || isLoading\"\r\n\t\t\t\t\t\t\t:max=\"999\"\r\n\t\t\t\t\t\t\t:min=\"item.data.seatsMinimal\"\r\n\t\t\t\t\t\t\tshow-buttons\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<span v-else>{{ item.data.seats }}</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<InputNumber\r\n\t\t\t\t\t\t\tv-if=\"vm.editing && item.data.canAddSeats\"\r\n\t\t\t\t\t\t\t:disabled=\"showSpinner[item.index] || isLoading\"\r\n\t\t\t\t\t\t\t:model-value=\"item.data.seats\"\r\n\t\t\t\t\t\t\treadonly\r\n\t\t\t\t\t\t\tshow-buttons\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<span v-else>{{ item.data.seats }}</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\t\t\t\t<Column\r\n\t\t\t\t\tv-if=\"vm.editing && !isSupportContract && (isLoading || priceChanged)\"\r\n\t\t\t\t\tclass=\"text-right pr-2\"\r\n\t\t\t\t\t:header=\"$t('myCadac.contractDetail.table.colProductPrice')\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\tv-if=\"\r\n\t\t\t\t\t\t\t\t!showSpinner[item.index] &&\r\n\t\t\t\t\t\t\t\titem.data.canAddSeats &&\r\n\t\t\t\t\t\t\t\titem.data.price > 0 &&\r\n\t\t\t\t\t\t\t\tseatsChangedForItem(item.data)\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<small v-if=\"item.data.priceBase !== item.data.price\" class=\"d-block text-muted\">\r\n\t\t\t\t\t\t\t\t<s>{{ formatCurrency(item.data.priceBase) }}</s>\r\n\t\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t\t<small v-if=\"item.data.discount > 0\" class=\"d-block text-success prefix-min\">\r\n\t\t\t\t\t\t\t\t{{ formatCurrency(item.data.discount) }}\r\n\t\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t\t<b>{{ formatCurrency(item.data.price) }}</b>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div v-else-if=\"showSpinner[item.index]\">\r\n\t\t\t\t\t\t\t<i class=\"pi pi-spin pi-spinner\" />\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\t\t\t</DataTable>\r\n\t\t</template>\r\n\t\t<template v-if=\"vm.editing && priceChanged\" #footer>\r\n\t\t\t<div class=\"col-md-10 col-lg-8 col-xl-6 ml-auto pr-2\">\r\n\t\t\t\t<PriceSummary :vm=\"priceSummary\" />\r\n\t\t\t\t<Button\r\n\t\t\t\t\tclass=\"p-button-success p-button-raised p-button-lg d-block ml-auto\"\r\n\t\t\t\t\t:disabled=\"!canCheckout\"\r\n\t\t\t\t\t:label=\"$t('myCadac.contractDetail.button.goToCheckout')\"\r\n\t\t\t\t\t:loading=\"isLoading\"\r\n\t\t\t\t\t@click=\"onCheckoutClick()\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t</Card>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport PriceSummary from \"@/components/common/priceSummary.vue\";\r\nimport { Component, Prop, Watch } from \"vue-facing-decorator\";\r\nimport { ContractAddToCart } from \"@/types/generated/Api/contractAddToCart\";\r\nimport { ContractAddToCartLine } from \"@/types/generated/Api/contractAddToCartLine\";\r\nimport { ContractClient } from \"@/types/generated/Api/contractClient\";\r\nimport { ContractLineClient } from \"@/types/generated/Api/contractLineClient\";\r\nimport { IContractDetail } from \"@/types/viewModels/myCadac/contractDetailViewModel\";\r\nimport { IPriceSummary } from \"@/types/models/common/priceSummary.interface\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { reduce } from \"lodash\";\r\n\r\n@Component({ components: { PriceSummary } })\r\nexport default class ContractDetailChangeCard extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<IContractDetail>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: IContractDetail;\r\n\r\n\tshowSpinner: { [number: string]: boolean } = {};\r\n\tisLoading = false;\r\n\teditingContractLines: ContractLineClient[] = [];\r\n\tcontractId = \"\";\r\n\r\n\t@Watch(\"isLoading\") onLoadingChanged(loading: boolean): void {\r\n\t\tif (!loading)\r\n\t\t\tfor (let key in this.showSpinner) {\r\n\t\t\t\tthis.showSpinner[key] = false;\r\n\t\t\t}\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.editingContractLines = this.vm.contract.contractLines;\r\n\t\tthis.contractId = this.vm.contract.contractId;\r\n\t}\r\n\r\n\tget isSupportContract(): boolean {\r\n\t\treturn this.vm.contract.isSupportContract;\r\n\t}\r\n\r\n\tget contractUpdateData(): ContractAddToCart {\r\n\t\treturn {\r\n\t\t\tcontractId: this.contractId,\r\n\t\t\tcontractLines: reduce(\r\n\t\t\t\tthis.editingContractLines.filter((x) => x.canAddSeats),\r\n\t\t\t\t(result, value) => {\r\n\t\t\t\t\tresult.push({\r\n\t\t\t\t\t\tchecked: value.checked,\r\n\t\t\t\t\t\taddSeatVariationCode: value.addSeatVariationCode,\r\n\t\t\t\t\t\trenewVariationCode: value.renewVariationCode,\r\n\t\t\t\t\t\tserialNumber: value.serialNumber,\r\n\t\t\t\t\t\tseats: value.seats,\r\n\t\t\t\t\t\tswitchDuration: 0,\r\n\t\t\t\t\t\tswitchRenewVariationCode: \"\",\r\n\t\t\t\t\t\tswitchSeats: 0,\r\n\t\t\t\t\t});\r\n\t\t\t\t\treturn result;\r\n\t\t\t\t},\r\n\t\t\t\t[] as ContractAddToCartLine[]\r\n\t\t\t),\r\n\t\t};\r\n\t}\r\n\r\n\tget priceSummary(): IPriceSummary {\r\n\t\tconst { vatPercentage } = this.vm.contract;\r\n\t\treturn reduce(\r\n\t\t\tthis.editingContractLines.filter((x) => x.canAddSeats),\r\n\t\t\t(result, contractLine) => {\r\n\t\t\t\tconst vatAmount = contractLine.price * (vatPercentage / 100);\r\n\t\t\t\tconst totalPrice = contractLine.price + vatAmount;\r\n\t\t\t\tresult.vatAmount = result.vatAmount ? result.vatAmount + vatAmount : vatAmount;\r\n\t\t\t\tresult.totalDiscount = result.totalDiscount\r\n\t\t\t\t\t? result.totalDiscount + contractLine.discount\r\n\t\t\t\t\t: contractLine.discount;\r\n\t\t\t\tresult.totalPersonalPrice = result.totalPersonalPrice\r\n\t\t\t\t\t? result.totalPersonalPrice + contractLine.price\r\n\t\t\t\t\t: contractLine.price;\r\n\t\t\t\tresult.totalBasePrice = result.totalBasePrice\r\n\t\t\t\t\t? result.totalBasePrice + contractLine.priceBase\r\n\t\t\t\t\t: contractLine.priceBase;\r\n\t\t\t\tresult.totalPrice = result.totalPrice ? result.totalPrice + totalPrice : totalPrice;\r\n\t\t\t\treturn result;\r\n\t\t\t},\r\n\t\t\t{ vatPercentage: vatPercentage } as IPriceSummary\r\n\t\t);\r\n\t}\r\n\r\n\tget priceChanged(): boolean {\r\n\t\treturn this.editingContractLines.some(\r\n\t\t\t(x, index) => x.price !== this.vm.contract.contractLines[index].price && x.price > 0\r\n\t\t);\r\n\t}\r\n\r\n\tget seatsChanged(): boolean {\r\n\t\treturn this.editingContractLines.some(\r\n\t\t\t(x, index) => x.seats !== this.vm.contract.contractLines[index].seatsOriginal\r\n\t\t);\r\n\t}\r\n\r\n\tget canCheckout(): boolean {\r\n\t\treturn (\r\n\t\t\t!!(this.userProfile?.isEmailVerified || this.userProfile?.isImpersonated) &&\r\n\t\t\tthis.priceChanged &&\r\n\t\t\tthis.seatsChanged\r\n\t\t);\r\n\t}\r\n\r\n\tseatsChangedForItem(contractLineClient: ContractLineClient): boolean {\r\n\t\treturn contractLineClient.seats !== contractLineClient.seatsOriginal;\r\n\t}\r\n\r\n\tonCheckoutClick(): void {\r\n\t\tthis.addContractChangeToCart();\r\n\t}\r\n\r\n\tonCellEditComplete(event: { data: ContractLineClient; newData: ContractLineClient; index: number }): void {\r\n\t\tif (event.newData.seats === event.data.seats) return;\r\n\t\tthis.editingContractLines[event.index].seats = event.newData.seats;\r\n\t\tthis.showSpinner[event.index] = true;\r\n\t\tthis.recalculatePrices();\r\n\t}\r\n\r\n\tonInputChanged(event: { value: number }, index: number): void {\r\n\t\tif (event.value === this.editingContractLines[index].seats) return;\r\n\t\tthis.editingContractLines[index].seats = event.value;\r\n\t\tthis.showSpinner[index] = true;\r\n\t\tthis.recalculatePrices();\r\n\t}\r\n\r\n\trecalculatePrices(): void {\r\n\t\tif (this.isLoading) return;\r\n\t\tthis.isLoading = true;\r\n\t\tconst updateData: ContractAddToCart = this.contractUpdateData;\r\n\t\tthis.axios\r\n\t\t\t.post(\"/api/contract/change/recalculate\", updateData)\r\n\t\t\t.then(({ data }: { data: ContractClient }) => {\r\n\t\t\t\tthis.editingContractLines = [...data.contractLines];\r\n\t\t\t})\r\n\t\t\t.catch((err) => Log.error(err))\r\n\t\t\t.finally(() => (this.isLoading = false));\r\n\t}\r\n\r\n\taddContractChangeToCart(): void {\r\n\t\tthis.isLoading = true;\r\n\t\tconst updateData = this.contractUpdateData;\r\n\t\tthis.axios\r\n\t\t\t.post(\"/api/cart/add-assets\", updateData)\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.openUrl(this.vm.checkoutPageUrl);\r\n\t\t\t})\r\n\t\t\t.catch((err) => Log.error(err))\r\n\t\t\t.finally(() => (this.isLoading = false));\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { render } from \"./contractDetailChangeCard.vue?vue&type=template&id=719544aa&ts=true\"\nimport script from \"./contractDetailChangeCard.vue?vue&type=script&lang=ts\"\nexport * from \"./contractDetailChangeCard.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createTextVNode as _createTextVNode, vShow as _vShow, withDirectives as _withDirectives, normalizeClass as _normalizeClass, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-762aa9b2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"mb-0 text-bold\"\n}\nconst _hoisted_2 = [\"href\", \"title\"]\nconst _hoisted_3 = {\n key: 1,\n class: \"mb-0 text-bold\"\n}\nconst _hoisted_4 = {\n key: 0,\n class: \"d-flex align-items-center\"\n}\nconst _hoisted_5 = { class: \"pi pi-spin pi-spinner\" }\nconst _hoisted_6 = {\n key: 1,\n class: \"d-flex align-items-center\"\n}\nconst _hoisted_7 = {\n key: 0,\n class: \"text-danger\"\n}\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"ml-1 pi pi-exclamation-circle\" }, null, -1))\nconst _hoisted_9 = { key: 1 }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_InputSwitch = _resolveComponent(\"InputSwitch\")!\n const _component_PopoverIcon = _resolveComponent(\"PopoverIcon\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n\n return (_ctx.contracts.length)\n ? (_openBlock(), _createBlock(_component_DataTable, {\n key: 0,\n \"auto-layout\": \"\",\n class: \"mb-3\",\n \"data-key\": \"contractNumber\",\n \"responsive-layout\": \"stack\",\n value: _ctx.contracts\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Column, {\n key: \"contractManager\",\n field: \"contractManager\",\n header: _ctx.$t('myCadac.contractDetail.table.colContractManager'),\n sortable: false\n }, {\n body: _withCtx((item) => [\n (_ctx.userProfile?.isCadacSales || _ctx.userProfile?.isImpersonated)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_1, [\n _createElementVNode(\"a\", {\n href: item.data.contractManagerCrmUrl,\n target: \"_blank\",\n title: _ctx.$t('common.goToCrm')\n }, _toDisplayString(item.data.contractManager), 9, _hoisted_2)\n ]))\n : (_openBlock(), _createElementBlock(\"p\", _hoisted_3, _toDisplayString(item.data.contractNumber), 1))\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"duration\",\n field: \"duration\",\n header: _ctx.$t('myCadac.contractDetail.table.colDuration'),\n sortable: false\n }, {\n body: _withCtx((item) => [\n _createTextVNode(_toDisplayString(_ctx.$tc(\"myCadac.contractDetail.table.duration\", item.data.duration)), 1)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"contractType\",\n field: \"contractType\",\n header: _ctx.$t('myCadac.contractDetail.table.colContractType'),\n sortable: false\n }, null, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"automaticRenewal\",\n field: \"automaticRenewal\",\n header: _ctx.$t('myCadac.contractDetail.table.colAutomaticRenewal'),\n sortable: false\n }, {\n body: _withCtx((item) => [\n (!item.data.isDatechAutoRenewal && _ctx.vm.editing)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, [\n _withDirectives(_createElementVNode(\"span\", null, [\n _createVNode(_component_InputSwitch, {\n modelValue: item.data.automaticRenewal,\n \"onUpdate:modelValue\": ($event: any) => ((item.data.automaticRenewal) = $event),\n onClick: ($event: any) => (_ctx.changeAutoRenewal(item.data))\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"onClick\"])\n ], 512), [\n [_vShow, !_ctx.isLoading]\n ]),\n _withDirectives(_createElementVNode(\"i\", _hoisted_5, null, 512), [\n [_vShow, _ctx.isLoading]\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_6, [\n _createElementVNode(\"i\", {\n class: _normalizeClass(\r\n\t\t\t\t\t\t\titem.data.automaticRenewal\r\n\t\t\t\t\t\t\t\t? 'pi pi-check text-success mr-1'\r\n\t\t\t\t\t\t\t\t: 'pi pi-times text-danger mr-1'\r\n\t\t\t\t\t\t)\n }, null, 2),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.getAutomaticRenewalText(item.data.automaticRenewal)), 1)\n ]))\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"endDate\",\n field: \"endDate\",\n header: _ctx.$t('myCadac.contractDetail.table.colExpiresOn'),\n sortable: false\n }, {\n body: _withCtx((item) => [\n (_ctx.shouldShowContractExpirationWarning(item.data))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_7, [\n _createTextVNode(_toDisplayString(_ctx.formatDate(item.data.endDate)) + \" \", 1),\n _createVNode(_component_PopoverIcon, {\n class: \"d-inline-flex\",\n content: \r\n\t\t\t\t\t\t\t_ctx.$tc('myCadac.contractDetail.table.contractExpirationWarning', {\r\n\t\t\t\t\t\t\t\tcount: item.data.remainingDays,\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\n }, {\n default: _withCtx(() => [\n _hoisted_8\n ]),\n _: 2\n }, 1032, [\"content\"])\n ]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_9, _toDisplayString(_ctx.formatDate(item.data.endDate)), 1))\n ]),\n _: 1\n }, 8, [\"header\"])\n ]),\n _: 1\n }, 8, [\"value\"]))\n : _createCommentVNode(\"\", true)\n}","<template>\r\n\t<DataTable\r\n\t\tv-if=\"contracts.length\"\r\n\t\tauto-layout\r\n\t\tclass=\"mb-3\"\r\n\t\tdata-key=\"contractNumber\"\r\n\t\tresponsive-layout=\"stack\"\r\n\t\t:value=\"contracts\"\r\n\t>\r\n\t\t<Column\r\n\t\t\tkey=\"contractManager\"\r\n\t\t\tfield=\"contractManager\"\r\n\t\t\t:header=\"$t('myCadac.contractDetail.table.colContractManager')\"\r\n\t\t\t:sortable=\"false\"\r\n\t\t>\r\n\t\t\t<template #body=\"item\">\r\n\t\t\t\t<p v-if=\"userProfile?.isCadacSales || userProfile?.isImpersonated\" class=\"mb-0 text-bold\">\r\n\t\t\t\t\t<a :href=\"item.data.contractManagerCrmUrl\" target=\"_blank\" :title=\"$t('common.goToCrm')\">\r\n\t\t\t\t\t\t{{ item.data.contractManager }}\r\n\t\t\t\t\t</a>\r\n\t\t\t\t</p>\r\n\t\t\t\t<p v-else class=\"mb-0 text-bold\">\r\n\t\t\t\t\t{{ item.data.contractNumber }}\r\n\t\t\t\t</p>\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\t\t<Column\r\n\t\t\tkey=\"duration\"\r\n\t\t\tfield=\"duration\"\r\n\t\t\t:header=\"$t('myCadac.contractDetail.table.colDuration')\"\r\n\t\t\t:sortable=\"false\"\r\n\t\t>\r\n\t\t\t<template #body=\"item\">\r\n\t\t\t\t{{ $tc(\"myCadac.contractDetail.table.duration\", item.data.duration) }}\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\t\t<Column\r\n\t\t\tkey=\"contractType\"\r\n\t\t\tfield=\"contractType\"\r\n\t\t\t:header=\"$t('myCadac.contractDetail.table.colContractType')\"\r\n\t\t\t:sortable=\"false\"\r\n\t\t/>\r\n\t\t<Column\r\n\t\t\tkey=\"automaticRenewal\"\r\n\t\t\tfield=\"automaticRenewal\"\r\n\t\t\t:header=\"$t('myCadac.contractDetail.table.colAutomaticRenewal')\"\r\n\t\t\t:sortable=\"false\"\r\n\t\t>\r\n\t\t\t<template #body=\"item\">\r\n\t\t\t\t<span v-if=\"!item.data.isDatechAutoRenewal && vm.editing\" class=\"d-flex align-items-center\">\r\n\t\t\t\t\t<span v-show=\"!isLoading\">\r\n\t\t\t\t\t\t<InputSwitch v-model=\"item.data.automaticRenewal\" @click=\"changeAutoRenewal(item.data)\" />\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<i v-show=\"isLoading\" class=\"pi pi-spin pi-spinner\" />\r\n\t\t\t\t</span>\r\n\t\t\t\t<span v-else class=\"d-flex align-items-center\">\r\n\t\t\t\t\t<i\r\n\t\t\t\t\t\t:class=\"\r\n\t\t\t\t\t\t\titem.data.automaticRenewal\r\n\t\t\t\t\t\t\t\t? 'pi pi-check text-success mr-1'\r\n\t\t\t\t\t\t\t\t: 'pi pi-times text-danger mr-1'\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<span>{{ getAutomaticRenewalText(item.data.automaticRenewal) }}</span>\r\n\t\t\t\t</span>\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\t\t<Column\r\n\t\t\tkey=\"endDate\"\r\n\t\t\tfield=\"endDate\"\r\n\t\t\t:header=\"$t('myCadac.contractDetail.table.colExpiresOn')\"\r\n\t\t\t:sortable=\"false\"\r\n\t\t>\r\n\t\t\t<template #body=\"item\">\r\n\t\t\t\t<span v-if=\"shouldShowContractExpirationWarning(item.data)\" class=\"text-danger\">\r\n\t\t\t\t\t{{ formatDate(item.data.endDate) }}\r\n\t\t\t\t\t<PopoverIcon\r\n\t\t\t\t\t\tclass=\"d-inline-flex\"\r\n\t\t\t\t\t\t:content=\"\r\n\t\t\t\t\t\t\t$tc('myCadac.contractDetail.table.contractExpirationWarning', {\r\n\t\t\t\t\t\t\t\tcount: item.data.remainingDays,\r\n\t\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\t<i class=\"ml-1 pi pi-exclamation-circle\" />\r\n\t\t\t\t\t</PopoverIcon>\r\n\t\t\t\t</span>\r\n\t\t\t\t<span v-else>{{ formatDate(item.data.endDate) }}</span>\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\t</DataTable>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { Contract } from \"@/types/generated/contract\";\r\nimport { ContractClient } from \"@/types/generated/Api/contractClient\";\r\nimport { IContractDetail } from \"@/types/viewModels/myCadac/contractDetailViewModel\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { isAfter } from \"date-fns\";\r\n\r\n@Component({ emits: [\"change-auto-renewal\"] })\r\nexport default class ContractDetailTable extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IContractDetail>, required: true, default: {} })\r\n\tvm!: IContractDetail;\r\n\t@Prop({ type: Object as PropType<ContractClient[]>, required: true, default: {} })\r\n\tcontracts!: ContractClient[];\r\n\r\n\tisLoading = false;\r\n\r\n\tgetAutomaticRenewalText(automaticRenewal: boolean): string {\r\n\t\treturn automaticRenewal ? this.$t(\"common.on\") : this.$t(\"common.off\");\r\n\t}\r\n\r\n\tchangeAutoRenewal(contract: ContractClient): void {\r\n\t\tconst newValue = !contract.automaticRenewal;\r\n\t\tthis.isLoading = true;\r\n\t\tthis.axios\r\n\t\t\t.put(\r\n\t\t\t\t`/api/contract/change/renewal\r\n\t\t\t\t\t?contractnumber=${contract.contractId}\r\n\t\t\t\t\t&automatic=${newValue}`\r\n\t\t\t)\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"success\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleSuccess\"),\r\n\t\t\t\t\tdetail: newValue\r\n\t\t\t\t\t\t? this.$t(\"myCadac.contractDetail.toast.contractEnableRenewalSuccess\")\r\n\t\t\t\t\t\t: this.$t(\"myCadac.contractDetail.toast.contractDisableRenewalSuccess\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"common.messages.error.genericException\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.finally(() => (this.isLoading = false));\r\n\t}\r\n\r\n\tshouldShowContractExpirationWarning(contract: Contract): boolean {\r\n\t\treturn contract.supportsProlongation && contract.remainingDays > 0;\r\n\t}\r\n\r\n\tisContractExpired(contract: Contract): boolean {\r\n\t\treturn isAfter(new Date(), new Date(contract.endDate));\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n::v-deep(.p-datatable-table) {\r\n\t.p-datatable-tbody {\r\n\t\ttr > td {\r\n\t\t\tborder: none;\r\n\t\t\tpadding: 0.125rem;\r\n\t\t}\r\n\t}\r\n\r\n\t.p-datatable-thead {\r\n\t\tborder: none;\r\n\r\n\t\ttr > th {\r\n\t\t\tborder: none;\r\n\t\t\tpadding: 0.125rem;\r\n\t\t}\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./contractDetailTable.vue?vue&type=template&id=762aa9b2&scoped=true&ts=true\"\nimport script from \"./contractDetailTable.vue?vue&type=script&lang=ts\"\nexport * from \"./contractDetailTable.vue?vue&type=script&lang=ts\"\n\nimport \"./contractDetailTable.vue?vue&type=style&index=0&id=762aa9b2&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-762aa9b2\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, resolveComponent as _resolveComponent, withCtx as _withCtx, createBlock as _createBlock, createVNode as _createVNode, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-695c8ce8\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"myCadacMenu\" }\nconst _hoisted_2 = { class: \"menu-title\" }\nconst _hoisted_3 = [\"onClick\"]\nconst _hoisted_4 = { class: \"p-panel-title menu-main-item\" }\nconst _hoisted_5 = { class: \"mycadac-menu-items\" }\nconst _hoisted_6 = [\"href\", \"title\"]\nconst _hoisted_7 = {\n key: 0,\n class: \"mycadac-menu-items\"\n}\nconst _hoisted_8 = [\"href\", \"title\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Panel = _resolveComponent(\"Panel\")!\n const _component_Divider = _resolveComponent(\"Divider\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"h3\", _hoisted_2, _toDisplayString(_ctx.$t(\"myCadac.menuTitle\")), 1),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.mainCategories, (item, i) => {\n return (_openBlock(), _createBlock(_component_Panel, {\n collapsed: _ctx.panelCollapse[i],\n \"onUpdate:collapsed\": ($event: any) => ((_ctx.panelCollapse[i]) = $event),\n key: i,\n class: \"mb-1\"\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", {\n class: \"d-flex align-items-center\",\n onClick: ($event: any) => (_ctx.panelCollapse[i] = !_ctx.panelCollapse[i])\n }, [\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t(`enum.myCadacCategory.${item.category}`)), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"p-panel-header-icon\", _ctx.panelCollapse[i] ? 'pi pi-chevron-left' : 'pi pi-chevron-down'])\n }, null, 2)\n ], 8, _hoisted_3)\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"ul\", _hoisted_5, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(item.items, (menuItem) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: menuItem,\n class: _normalizeClass([\"\", { active: menuItem.isActive }])\n }, [\n _createElementVNode(\"a\", {\n href: menuItem.url,\n title: menuItem.title\n }, _toDisplayString(menuItem.label), 9, _hoisted_6)\n ], 2))\n }), 128))\n ])\n ]),\n _: 2\n }, 1032, [\"collapsed\", \"onUpdate:collapsed\"]))\n }), 128)),\n _createVNode(_component_Divider),\n (_ctx.miscCategory)\n ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_7, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.miscCategory.items, (menuItem) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: menuItem,\n class: _normalizeClass([\"\", { active: menuItem.isActive }])\n }, [\n _createElementVNode(\"a\", {\n href: menuItem.url,\n title: menuItem.title\n }, _toDisplayString(menuItem.label), 9, _hoisted_8)\n ], 2))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}","<template>\r\n\t<div class=\"myCadacMenu\">\r\n\t\t<h3 class=\"menu-title\">{{ $t(\"myCadac.menuTitle\") }}</h3>\r\n\t\t<Panel v-for=\"(item, i) in mainCategories\" v-model:collapsed=\"panelCollapse[i]\" :key=\"i\" class=\"mb-1\">\r\n\t\t\t<template #header>\r\n\t\t\t\t<div class=\"d-flex align-items-center\" @click=\"panelCollapse[i] = !panelCollapse[i]\">\r\n\t\t\t\t\t<span class=\"p-panel-title menu-main-item\">{{ $t(`enum.myCadacCategory.${item.category}`) }}</span>\r\n\t\t\t\t\t<i\r\n\t\t\t\t\t\tclass=\"p-panel-header-icon\"\r\n\t\t\t\t\t\t:class=\"panelCollapse[i] ? 'pi pi-chevron-left' : 'pi pi-chevron-down'\"\r\n\t\t\t\t\t></i>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t\t<ul class=\"mycadac-menu-items\">\r\n\t\t\t\t<li v-for=\"menuItem in item.items\" :key=\"menuItem\" class=\"\" :class=\"{ active: menuItem.isActive }\">\r\n\t\t\t\t\t<a :href=\"menuItem.url\" :title=\"menuItem.title\"> {{ menuItem.label }}</a>\r\n\t\t\t\t</li>\r\n\t\t\t</ul>\r\n\t\t</Panel>\r\n\t\t<Divider />\r\n\t\t<ul v-if=\"miscCategory\" class=\"mycadac-menu-items\">\r\n\t\t\t<li\r\n\t\t\t\tv-for=\"menuItem in miscCategory.items\"\r\n\t\t\t\t:key=\"menuItem\"\r\n\t\t\t\tclass=\"\"\r\n\t\t\t\t:class=\"{ active: menuItem.isActive }\"\r\n\t\t\t>\r\n\t\t\t\t<a :href=\"menuItem.url\" :title=\"menuItem.title\"> {{ menuItem.label }}</a>\r\n\t\t\t</li>\r\n\t\t</ul>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { PropType } from \"vue\";\r\nimport { MyCadacMenuItemViewModel } from \"@/types/models/menu/myCadacMenuItemViewModel\";\r\nimport { MyCadacCategory } from \"@/types/enum/myCadacCategory\";\r\nimport Divider from \"primevue/divider\";\r\n\r\n@Component({ components: { Divider } })\r\nexport default class MyCadacMenu extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<MyCadacMenuItemViewModel[]>, required: true, default: [] })\r\n\tmenuItems!: MyCadacMenuItemViewModel[];\r\n\tpanelCollapse: { [index: number]: boolean } = {};\r\n\r\n\tmounted(): void {\r\n\t\tthis.mainCategories.forEach((_x, i) => {\r\n\t\t\tthis.panelCollapse[i] = this.isMobile as any;\r\n\t\t});\r\n\t}\r\n\r\n\tget mainCategories() {\r\n\t\treturn this.menuItems.filter((x) => x.category !== MyCadacCategory.Miscellaneous);\r\n\t}\r\n\r\n\tget miscCategory() {\r\n\t\treturn this.menuItems.find((x) => x.category === MyCadacCategory.Miscellaneous);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n ::v-deep(.p-panel) {\r\n .p-panel-content {\r\n padding: 0.5rem 0;\r\n }\r\n\r\n .p-panel-header {\r\n border-bottom: none;\r\n padding-bottom: 0;\r\n justify-content: flex-start;\r\n cursor: pointer;\r\n padding-top: 1.5rem;\r\n\r\n .p-panel-title {\r\n margin-right: 0.5rem;\r\n color: var(--text-color-secondary);\r\n font-weight: 300; \r\n }\r\n\r\n .p-panel-header-icon {\r\n width: 0.9rem;\r\n height: 0.9rem;\r\n font-size: 0.8rem;\r\n margin-top: 0.25rem;\r\n color: #fff;\r\n\r\n @media(min-width: 991px) {\r\n color: #444;\r\n }\r\n }\r\n }\r\n }\r\n\r\n .mycadac-menu-items {\r\n margin-bottom: 0;\r\n\r\n li {\r\n a {\r\n font-size: 1rem;\r\n\r\n @media(min-width: 991px) {\r\n font-size: 1.25rem;\r\n }\r\n\r\n font-weight: 300;\r\n color: var(--text-color);\r\n position: relative;\r\n cursor: pointer;\r\n text-decoration: none;\r\n\r\n &:hover {\r\n color: #000 !important;\r\n }\r\n }\r\n }\r\n\r\n li.active {\r\n a {\r\n font-weight: 500;\r\n color: #fff !important;\r\n text-decoration: underline;\r\n\r\n @media(min-width: 991px) {\r\n color: #000 !important;\r\n text-decoration: initial;\r\n }\r\n\r\n\r\n &:hover {\r\n color: #000 !important;\r\n }\r\n }\r\n }\r\n }\r\n\r\n .myCadacMenu {\r\n position: sticky;\r\n top: calc(1rem + var(--navbarHeightInPx));\r\n margin-bottom: 2rem;\r\n background: #91004b;\r\n color: #fff !important;\r\n padding: 2rem;\r\n\r\n @media(min-width: 991px) {\r\n background: initial;\r\n color: initial !important;\r\n padding: 0;\r\n }\r\n\r\n .menu-title {\r\n color: #fff;\r\n margin: 0;\r\n\r\n @media(min-width: 991px) {\r\n color: #000;\r\n }\r\n }\r\n\r\n .menu-main-item {\r\n color: #fff !important;\r\n font-size: 1rem;\r\n\r\n @media(min-width: 991px) {\r\n color: #91004B !important;\r\n font-size: 1.3rem !important;\r\n }\r\n }\r\n\r\n .mycadac-menu-items {\r\n a {\r\n color: #fff !important;\r\n\r\n @media(min-width: 991px) {\r\n color: #5C5C5A !important;\r\n }\r\n }\r\n }\r\n\r\n\r\n * {\r\n background: #91004b;\r\n color: #fff;\r\n\r\n @media(min-width: 991px) {\r\n background: initial;\r\n }\r\n }\r\n }\r\n</style>\r\n","export enum MyCadacCategory {\r\n\tMiscellaneous,\r\n\tGeneral,\r\n\tSoftware,\r\n\tTrainings,\r\n\tExperts,\r\n\tSupport,\r\n\tWallet,\r\n}\r\n","import { render } from \"./myCadacMenu.vue?vue&type=template&id=695c8ce8&scoped=true&ts=true\"\nimport script from \"./myCadacMenu.vue?vue&type=script&lang=ts\"\nexport * from \"./myCadacMenu.vue?vue&type=script&lang=ts\"\n\nimport \"./myCadacMenu.vue?vue&type=style&index=0&id=695c8ce8&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-695c8ce8\"]])\n\nexport default __exports__","import { render } from \"./contractDetail.vue?vue&type=template&id=568a18f0&ts=true\"\nimport script from \"./contractDetail.vue?vue&type=script&lang=ts\"\nexport * from \"./contractDetail.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, createBlock as _createBlock, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = {\n key: 0,\n class: \"mb-0\"\n}\nconst _hoisted_2 = { class: \"text-muted lead\" }\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"hr\", { class: \"mt-1\" }, null, -1)\nconst _hoisted_4 = { key: 1 }\nconst _hoisted_5 = [\"innerHTML\"]\nconst _hoisted_6 = [\"innerHTML\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_BackButton = _resolveComponent(\"BackButton\")!\n const _component_ContractDetailTable = _resolveComponent(\"ContractDetailTable\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_ContractDetailSwitchCard = _resolveComponent(\"ContractDetailSwitchCard\")!\n const _component_ContractDetailExtendCard = _resolveComponent(\"ContractDetailExtendCard\")!\n const _component_ContractExtendModal = _resolveComponent(\"ContractExtendModal\")!\n const _component_ContractSwitchModal = _resolveComponent(\"ContractSwitchModal\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_BackButton, {\n label: _ctx.$t('myCadac.contractDetail.button.back')\n }, null, 8, [\"label\"]),\n (_ctx.vm.pageTitle)\n ? (_openBlock(), _createElementBlock(\"h1\", _hoisted_1, _toDisplayString(_ctx.vm.pageTitle), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"p\", _hoisted_2, _toDisplayString(_ctx.$t(\"myCadac.contractDetail.contractNumber\", {\r\n\t\t\t\tcontractNumber: _ctx.vm.contract.contractId,\r\n\t\t\t})), 1),\n _hoisted_3,\n _createVNode(_component_ContractDetailTable, {\n contracts: [_ctx.vm.contract],\n vm: _ctx.vm\n }, null, 8, [\"contracts\", \"vm\"]),\n (_ctx.vm.yourProlongOptionsText)\n ? (_openBlock(), _createElementBlock(\"h3\", _hoisted_4, _toDisplayString(_ctx.vm.yourProlongOptionsText), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.canCoTerm)\n ? (_openBlock(), _createElementBlock(\"p\", {\n key: 2,\n innerHTML: _ctx.vm.switchCoTermText\n }, null, 8, _hoisted_5))\n : _createCommentVNode(\"\", true),\n (_ctx.canTradeIn)\n ? (_openBlock(), _createElementBlock(\"p\", {\n key: 3,\n innerHTML: _ctx.vm.switchTradeInText\n }, null, 8, _hoisted_6))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.contract.renewMultiYearMaintenanceContractForOneYear)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 4,\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.contractDetail.message.prolongOnly12months\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (!_ctx.contractStore.isExtendingContract)\n ? (_openBlock(), _createBlock(_component_ContractDetailSwitchCard, {\n key: 5,\n vm: _ctx.vm\n }, null, 8, [\"vm\"]))\n : (_openBlock(), _createBlock(_component_ContractDetailExtendCard, {\n key: 6,\n \"prolongation-options\": _ctx.contractStore.prolongationOptions,\n vm: _ctx.vm\n }, null, 8, [\"prolongation-options\", \"vm\"])),\n (_ctx.contractStore.isExtendModalVisible)\n ? (_openBlock(), _createBlock(_component_ContractExtendModal, {\n key: 7,\n \"prolongation-options\": _ctx.contractStore.prolongationOptions,\n vm: _ctx.vm,\n onCancelExtend: _ctx.onExtendCancelled,\n onConfirmExtend: _ctx.onExtendConfirmed\n }, null, 8, [\"prolongation-options\", \"vm\", \"onCancelExtend\", \"onConfirmExtend\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.contractStore.isTradeInModalVisible)\n ? (_openBlock(), _createBlock(_component_ContractSwitchModal, {\n key: 8,\n \"contract-line\": _ctx.contractStore.selectedTradeInContractLine,\n vm: _ctx.vm,\n onCancelTradeIn: _ctx.onTradeInCancelled,\n onConfirmTradeIn: _ctx.onTradeInConfirmed\n }, null, 8, [\"contract-line\", \"vm\", \"onCancelTradeIn\", \"onConfirmTradeIn\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<BackButton :label=\"$t('myCadac.contractDetail.button.back')\" />\r\n\r\n\t<h1 v-if=\"vm.pageTitle\" class=\"mb-0\">{{ vm.pageTitle }}</h1>\r\n\t<p class=\"text-muted lead\">\r\n\t\t{{\r\n\t\t\t$t(\"myCadac.contractDetail.contractNumber\", {\r\n\t\t\t\tcontractNumber: vm.contract.contractId,\r\n\t\t\t})\r\n\t\t}}\r\n\t</p>\r\n\r\n\t<hr class=\"mt-1\" />\r\n\r\n\t<ContractDetailTable :contracts=\"[vm.contract]\" :vm=\"vm\" />\r\n\r\n\t<h3 v-if=\"vm.yourProlongOptionsText\">{{ vm.yourProlongOptionsText }}</h3>\r\n\t<p v-if=\"canCoTerm\" v-html=\"vm.switchCoTermText\" />\r\n\t<p v-if=\"canTradeIn\" v-html=\"vm.switchTradeInText\" />\r\n\r\n\t<Message v-if=\"vm.contract.renewMultiYearMaintenanceContractForOneYear\" :closable=\"false\" severity=\"warn\">\r\n\t\t{{ $t(\"myCadac.contractDetail.message.prolongOnly12months\") }}\r\n\t</Message>\r\n\r\n\t<!-- Prolong/Switch Card -->\r\n\t<ContractDetailSwitchCard v-if=\"!contractStore.isExtendingContract\" :vm=\"vm\" />\r\n\t<!--\tCard for Extend/Co-term-->\r\n\t<ContractDetailExtendCard v-else :prolongation-options=\"contractStore.prolongationOptions\" :vm=\"vm\" />\r\n\r\n\t<!--\tCo-term / Extend dialog -->\r\n\t<ContractExtendModal\r\n\t\tv-if=\"contractStore.isExtendModalVisible\"\r\n\t\t:prolongation-options=\"contractStore.prolongationOptions\"\r\n\t\t:vm=\"vm\"\r\n\t\t@cancel-extend=\"onExtendCancelled\"\r\n\t\t@confirm-extend=\"onExtendConfirmed\"\r\n\t/>\r\n\t<!--\tTrade-in dialog-->\r\n\t<ContractSwitchModal\r\n\t\tv-if=\"contractStore.isTradeInModalVisible\"\r\n\t\t:contract-line=\"contractStore.selectedTradeInContractLine\"\r\n\t\t:vm=\"vm\"\r\n\t\t@cancel-trade-in=\"onTradeInCancelled\"\r\n\t\t@confirm-trade-in=\"onTradeInConfirmed\"\r\n\t/>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BackButton from \"@/components/common/backButton.vue\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport ContractDetailExtendCard from \"@/components/contracts/contractDetailExtendCard.vue\";\r\nimport ContractDetailSwitchCard from \"@/components/contracts/contractDetailSwitchCard.vue\";\r\nimport ContractDetailTable from \"@/components/contracts/contractDetailTable.vue\";\r\nimport ContractExtendModal from \"@/components/contracts/contractExtendModal.vue\";\r\nimport ContractSwitchModal from \"@/components/contracts/contractSwitchModal.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { ContractProlongationOption } from \"@/types/generated/Api/contractProlongationOption\";\r\nimport { ContractProlongationOptionType } from \"@/types/enum/contractProlongationOptionType\";\r\nimport { IContractExtend } from \"@/types/viewModels/myCadac/contractExtendViewModel\";\r\nimport { ProductVariationClient } from \"@/types/generated/Api/productVariationClient\";\r\nimport { PropType } from \"vue\";\r\nimport { SwitchProductClient } from \"@/types/generated/Api/switchProductClient\";\r\nimport { useContractStore } from \"@/store/software/contractStore\";\r\nimport MyCadacMenu from \"@/components/common/menu/myCadacMenu.vue\";\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tBackButton,\r\n\t\tContractDetailSwitchCard,\r\n\t\tContractSwitchModal,\r\n\t\tContractDetailExtendCard,\r\n\t\tContractExtendModal,\r\n\t\tContractDetailTable,\r\n\t\tMyCadacMenu,\r\n\t},\r\n})\r\nexport default class ContractExtend extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IContractExtend>, required: true, default: {} })\r\n\tvm!: IContractExtend;\r\n\r\n\tcontractStore = useContractStore();\r\n\r\n\tget canCoTerm(): boolean {\r\n\t\treturn this.contractStore.prolongationOptions.some(\r\n\t\t\t(x) => x.type === ContractProlongationOptionType.coterm\r\n\t\t);\r\n\t}\r\n\r\n\tget canTradeIn(): boolean {\r\n\t\treturn this.vm.contract.contractLines.some((x) => x.switchProducts.length > 0);\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.contractStore.fetchProlongationOptions(this.vm.contract);\r\n\t}\r\n\r\n\tonExtendCancelled(): void {\r\n\t\tthis.contractStore.cancelExtend();\r\n\t}\r\n\r\n\tonExtendConfirmed(selectedOption: ContractProlongationOption): void {\r\n\t\tif (!selectedOption) return;\r\n\t\tthis.contractStore.confirmExtend(selectedOption);\r\n\t}\r\n\r\n\tonTradeInCancelled(): void {\r\n\t\tthis.contractStore.cancelTradeIn();\r\n\t}\r\n\r\n\tonTradeInConfirmed(switchProduct: SwitchProductClient): void {\r\n\t\tif (!this.contractStore.selectedTradeInContractLine) return;\r\n\t\tconst selectedVariation: ProductVariationClient = switchProduct.switchVariations[0];\r\n\t\tconst totalBasePrice = switchProduct.renewSeats * selectedVariation.basePrice;\r\n\t\tconst totalPrice = switchProduct.renewSeats * selectedVariation.customerPrice;\r\n\t\tconst totalDiscount = totalBasePrice - totalPrice;\r\n\t\tconst newContractLine = {\r\n\t\t\t...this.contractStore.selectedTradeInContractLine,\r\n\t\t\tselectedSwitchSeats: switchProduct.renewSeats,\r\n\t\t\tselectedSwitchSku: selectedVariation?.sku,\r\n\t\t\tselectedSwitchDuration: selectedVariation?.duration,\r\n\t\t\tswitchProducts: [switchProduct],\r\n\t\t\tpriceBase: totalBasePrice,\r\n\t\t\tprice: totalPrice,\r\n\t\t\tdiscount: totalDiscount,\r\n\t\t\tdeployment: selectedVariation.licenseAudience,\r\n\t\t};\r\n\t\tthis.contractStore.confirmTradeIn(newContractLine);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, createTextVNode as _createTextVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"d-flex justify-content-between\" }\nconst _hoisted_2 = { class: \"mb-0\" }\nconst _hoisted_3 = { class: \"d-flex flex-wrap\" }\nconst _hoisted_4 = { class: \"d-flex align-items-center ml-1 ml-lg-0\" }\nconst _hoisted_5 = { class: \"d-flex flex-column\" }\nconst _hoisted_6 = { class: \"mb-0 text-muted d-block\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"mb-0 text-bold\"\n}\nconst _hoisted_8 = [\"href\", \"title\"]\nconst _hoisted_9 = {\n key: 1,\n class: \"mb-0 text-bold\"\n}\nconst _hoisted_10 = { class: \"text-right\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"d-block text-muted\"\n}\nconst _hoisted_12 = { class: \"col-md-10 col-lg-8 col-xl-6 ml-auto pr-2\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_ContractSummary = _resolveComponent(\"ContractSummary\")!\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n const _component_PriceSummary = _resolveComponent(\"PriceSummary\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createBlock(_component_Card, { class: \"my-3\" }, {\n title: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"h4\", _hoisted_2, _toDisplayString(_ctx.$t(\"myCadac.contractDetail.card.titleExtend\")), 1),\n _createVNode(_component_Button, {\n class: \"p-button-text\",\n label: _ctx.$t('common.cancel'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.onExtendCancelled()))\n }, null, 8, [\"label\"])\n ])\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_ContractSummary, {\n class: \"mb-1\",\n title: _ctx.$t('myCadac.contractDetail.card.lblCurrentContract'),\n vm: _ctx.currentContractSummary\n }, null, 8, [\"title\", \"vm\"]),\n _createVNode(_component_ContractSummary, {\n title: _ctx.$t('myCadac.contractDetail.card.lblCoTermContract'),\n vm: _ctx.selectedContractSummary\n }, null, 8, [\"title\", \"vm\"])\n ]),\n _createVNode(_component_Message, {\n class: \"mt-0\",\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_i18n_t, { keypath: \"myCadac.contractDetail.message.newExpirationDateDurationChange\" }, {\n date: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.formatDate(_ctx.newEndDate)), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n _createVNode(_component_DataTable, {\n \"auto-layout\": \"\",\n \"data-key\": \"serialNumber\",\n \"responsive-layout\": \"stack\",\n value: _ctx.prolongableContractLines\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Column, {\n field: \"productName\",\n header: _ctx.$t('myCadac.contractDetail.table.colProductName'),\n sortable: false\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_4, [\n (item.data.icon)\n ? (_openBlock(), _createBlock(_component_Avatar, {\n key: 0,\n alt: item.data.iconAlt,\n class: \"mr-1 bg-transparent flex-shrink-0\",\n image: item.data.icon,\n shape: \"square\",\n size: \"large\",\n title: item.productName\n }, null, 8, [\"alt\", \"image\", \"title\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"small\", _hoisted_6, _toDisplayString(item.data.productBrand), 1),\n (_ctx.userProfile?.isCadacSales || _ctx.userProfile?.isImpersonated)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_7, [\n _createElementVNode(\"a\", {\n href: item.data.crmUrl,\n target: \"_blank\",\n title: _ctx.$t('common.goToCrm')\n }, _toDisplayString(_ctx.formatProductName(item.data.productName, item.data.productBrand)), 9, _hoisted_8)\n ]))\n : (_openBlock(), _createElementBlock(\"p\", _hoisted_9, _toDisplayString(_ctx.formatProductName(item.data.productName, item.data.productBrand)), 1))\n ])\n ])\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n field: \"deployment\",\n header: _ctx.$t('myCadac.contractDetail.table.colProductLicenceType'),\n sortable: false\n }, {\n body: _withCtx((item) => [\n _createTextVNode(_toDisplayString(_ctx.$t(`enum.deployment.${item.data.deployment}`)), 1)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n field: \"seats\",\n header: _ctx.$t('myCadac.contractDetail.table.colProductSeats'),\n sortable: false\n }, null, 8, [\"header\"]),\n _createVNode(_component_Column, {\n field: \"endDate\",\n header: _ctx.$t('myCadac.contractDetail.table.colRemainingDuration'),\n sortable: false\n }, {\n body: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$tc(\r\n\t\t\t\t\t\t\t\t\"myCadac.contractDetail.table.duration\",\r\n\t\t\t\t\t\t\t\t_ctx.selectedExtendContract?.remainingMonthsForOrder\r\n\t\t\t\t\t\t\t)), 1)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n class: \"text-lg-right\",\n header: _ctx.$t('myCadac.contractDetail.table.colProductPrice'),\n sortable: false\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_10, [\n (item.data.priceBase !== item.data.price)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_11, [\n _createElementVNode(\"s\", null, _toDisplayString(_ctx.formatCurrency(_ctx.calcProRatePrice(item.data.priceBase, _ctx.vm.contract.duration))), 1)\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.formatCurrency(_ctx.calcProRatePrice(item.data.price, _ctx.vm.contract.duration))), 1)\n ])\n ]),\n _: 1\n }, 8, [\"header\"])\n ]),\n _: 1\n }, 8, [\"value\"])\n ]),\n footer: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_12, [\n _createVNode(_component_PriceSummary, { vm: _ctx.priceSummary }, null, 8, [\"vm\"]),\n _createVNode(_component_Button, {\n class: \"p-button-success p-button-raised p-button-lg d-block ml-auto\",\n disabled: !_ctx.canCheckout,\n label: _ctx.$t('myCadac.contractDetail.button.goToCheckout'),\n loading: _ctx.isLoading,\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onCheckoutClick()))\n }, null, 8, [\"disabled\", \"label\", \"loading\"])\n ])\n ]),\n _: 1\n }))\n}","<template>\r\n\t<Card class=\"my-3\">\r\n\t\t<template #title>\r\n\t\t\t<div class=\"d-flex justify-content-between\">\r\n\t\t\t\t<h4 class=\"mb-0\">\r\n\t\t\t\t\t{{ $t(\"myCadac.contractDetail.card.titleExtend\") }}\r\n\t\t\t\t</h4>\r\n\t\t\t\t<Button class=\"p-button-text\" :label=\"$t('common.cancel')\" @click=\"onExtendCancelled()\" />\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t\t<template #content>\r\n\t\t\t<div class=\"d-flex flex-wrap\">\r\n\t\t\t\t<ContractSummary\r\n\t\t\t\t\tclass=\"mb-1\"\r\n\t\t\t\t\t:title=\"$t('myCadac.contractDetail.card.lblCurrentContract')\"\r\n\t\t\t\t\t:vm=\"currentContractSummary\"\r\n\t\t\t\t/>\r\n\t\t\t\t<ContractSummary\r\n\t\t\t\t\t:title=\"$t('myCadac.contractDetail.card.lblCoTermContract')\"\r\n\t\t\t\t\t:vm=\"selectedContractSummary\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t\t<Message class=\"mt-0\" :closable=\"false\" severity=\"warn\">\r\n\t\t\t\t<i18n-t keypath=\"myCadac.contractDetail.message.newExpirationDateDurationChange\">\r\n\t\t\t\t\t<template #date>\r\n\t\t\t\t\t\t<b>{{ formatDate(newEndDate) }}</b>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</i18n-t>\r\n\t\t\t</Message>\r\n\t\t\t<DataTable\r\n\t\t\t\tauto-layout\r\n\t\t\t\tdata-key=\"serialNumber\"\r\n\t\t\t\tresponsive-layout=\"stack\"\r\n\t\t\t\t:value=\"prolongableContractLines\"\r\n\t\t\t>\r\n\t\t\t\t<Column\r\n\t\t\t\t\tfield=\"productName\"\r\n\t\t\t\t\t:header=\"$t('myCadac.contractDetail.table.colProductName')\"\r\n\t\t\t\t\t:sortable=\"false\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<div class=\"d-flex align-items-center ml-1 ml-lg-0\">\r\n\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\tv-if=\"item.data.icon\"\r\n\t\t\t\t\t\t\t\t:alt=\"item.data.iconAlt\"\r\n\t\t\t\t\t\t\t\tclass=\"mr-1 bg-transparent flex-shrink-0\"\r\n\t\t\t\t\t\t\t\t:image=\"item.data.icon\"\r\n\t\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\t\tsize=\"large\"\r\n\t\t\t\t\t\t\t\t:title=\"item.productName\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t</Avatar>\r\n\t\t\t\t\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t\t\t\t\t<small class=\"mb-0 text-muted d-block\">\r\n\t\t\t\t\t\t\t\t\t{{ item.data.productBrand }}\r\n\t\t\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t\t\t<p\r\n\t\t\t\t\t\t\t\t\tv-if=\"userProfile?.isCadacSales || userProfile?.isImpersonated\"\r\n\t\t\t\t\t\t\t\t\tclass=\"mb-0 text-bold\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<a :href=\"item.data.crmUrl\" target=\"_blank\" :title=\"$t('common.goToCrm')\">\r\n\t\t\t\t\t\t\t\t\t\t{{ formatProductName(item.data.productName, item.data.productBrand) }}\r\n\t\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t<p v-else class=\"mb-0 text-bold\">\r\n\t\t\t\t\t\t\t\t\t{{ formatProductName(item.data.productName, item.data.productBrand) }}\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\t\t\t\t<Column\r\n\t\t\t\t\tfield=\"deployment\"\r\n\t\t\t\t\t:header=\"$t('myCadac.contractDetail.table.colProductLicenceType')\"\r\n\t\t\t\t\t:sortable=\"false\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t{{ $t(`enum.deployment.${item.data.deployment}`) }}\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\t\t\t\t<Column\r\n\t\t\t\t\tfield=\"seats\"\r\n\t\t\t\t\t:header=\"$t('myCadac.contractDetail.table.colProductSeats')\"\r\n\t\t\t\t\t:sortable=\"false\"\r\n\t\t\t\t/>\r\n\t\t\t\t<Column\r\n\t\t\t\t\tfield=\"endDate\"\r\n\t\t\t\t\t:header=\"$t('myCadac.contractDetail.table.colRemainingDuration')\"\r\n\t\t\t\t\t:sortable=\"false\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #body>\r\n\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t$tc(\r\n\t\t\t\t\t\t\t\t\"myCadac.contractDetail.table.duration\",\r\n\t\t\t\t\t\t\t\tselectedExtendContract?.remainingMonthsForOrder\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\t\t\t\t<Column\r\n\t\t\t\t\tclass=\"text-lg-right\"\r\n\t\t\t\t\t:header=\"$t('myCadac.contractDetail.table.colProductPrice')\"\r\n\t\t\t\t\t:sortable=\"false\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<div class=\"text-right\">\r\n\t\t\t\t\t\t\t<small v-if=\"item.data.priceBase !== item.data.price\" class=\"d-block text-muted\">\r\n\t\t\t\t\t\t\t\t<s>{{\r\n\t\t\t\t\t\t\t\t\tformatCurrency(calcProRatePrice(item.data.priceBase, vm.contract.duration))\r\n\t\t\t\t\t\t\t\t}}</s>\r\n\t\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t\t<b>{{ formatCurrency(calcProRatePrice(item.data.price, vm.contract.duration)) }}</b>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\t\t\t</DataTable>\r\n\t\t</template>\r\n\t\t<template #footer>\r\n\t\t\t<div class=\"col-md-10 col-lg-8 col-xl-6 ml-auto pr-2\">\r\n\t\t\t\t<PriceSummary :vm=\"priceSummary\" />\r\n\t\t\t\t<Button\r\n\t\t\t\t\tclass=\"p-button-success p-button-raised p-button-lg d-block ml-auto\"\r\n\t\t\t\t\t:disabled=\"!canCheckout\"\r\n\t\t\t\t\t:label=\"$t('myCadac.contractDetail.button.goToCheckout')\"\r\n\t\t\t\t\t:loading=\"isLoading\"\r\n\t\t\t\t\t@click=\"onCheckoutClick()\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t</Card>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport ContractSummary, { IContractSummary } from \"@/components/common/contractSummary.vue\";\r\nimport PriceSummary from \"@/components/common/priceSummary.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { ContractAddToCart } from \"@/types/generated/Api/contractAddToCart\";\r\nimport { ContractAddToCartLine } from \"@/types/generated/Api/contractAddToCartLine\";\r\nimport { ContractClient } from \"@/types/generated/Api/contractClient\";\r\nimport { ContractLineClient } from \"@/types/generated/Api/contractLineClient\";\r\nimport { ContractProlongationOption } from \"@/types/generated/Api/contractProlongationOption\";\r\nimport { ContractProlongationOptionType } from \"@/types/enum/contractProlongationOptionType\";\r\nimport { IContractExtend } from \"@/types/viewModels/myCadac/contractExtendViewModel\";\r\nimport { IPriceSummary } from \"@/types/models/common/priceSummary.interface\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { add, isBefore, set } from \"date-fns\";\r\nimport { reduce } from \"lodash\";\r\nimport { useContractStore } from \"@/store/software/contractStore\";\r\n\r\n@Component({ components: { ContractSummary, PriceSummary } })\r\nexport default class ContractDetailExtendCard extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<IContractExtend>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: IContractExtend;\r\n\r\n\t@Prop()\r\n\tprolongationOptions!: ContractProlongationOption[];\r\n\r\n\teditingContractLines: ContractLineClient[] = [];\r\n\tcontractStore = useContractStore();\r\n\r\n\tget selectedExtendContract(): ContractProlongationOption | null {\r\n\t\treturn this.contractStore.selectedProlongationOption;\r\n\t}\r\n\r\n\tget canCheckout(): boolean {\r\n\t\treturn (\r\n\t\t\t(!!this.userProfile?.isEmailVerified || !!this.userProfile?.isImpersonated) &&\r\n\t\t\t!!this.selectedExtendContract\r\n\t\t);\r\n\t}\r\n\r\n\tget priceSummary(): IPriceSummary {\r\n\t\tconst { vatPercentage, duration } = this.vm.contract;\r\n\t\treturn reduce(\r\n\t\t\tthis.prolongableContractLines,\r\n\t\t\t(result: IPriceSummary, contractLine: ContractLineClient) => {\r\n\t\t\t\tconst proRatePrice = this.calcProRatePrice(contractLine.price, duration);\r\n\t\t\t\tconst proRatePriceBase = this.calcProRatePrice(contractLine.priceBase, duration);\r\n\t\t\t\tconst proRateDiscount = this.calcProRatePrice(contractLine.discount, duration);\r\n\t\t\t\tconst vatAmount = proRatePrice * (vatPercentage / 100);\r\n\t\t\t\tconst totalPrice = proRatePrice + vatAmount;\r\n\t\t\t\tresult.totalPersonalPrice = result.totalPersonalPrice\r\n\t\t\t\t\t? result.totalPersonalPrice + proRatePrice\r\n\t\t\t\t\t: proRatePrice;\r\n\t\t\t\tresult.totalBasePrice = result.totalBasePrice\r\n\t\t\t\t\t? result.totalBasePrice + proRatePriceBase\r\n\t\t\t\t\t: proRatePriceBase;\r\n\t\t\t\tresult.totalDiscount = result.totalDiscount\r\n\t\t\t\t\t? result.totalDiscount + proRateDiscount\r\n\t\t\t\t\t: proRateDiscount;\r\n\t\t\t\tresult.totalPrice = result.totalPrice ? result.totalPrice + totalPrice : totalPrice;\r\n\t\t\t\tresult.vatAmount = result.vatAmount ? result.vatAmount + vatAmount : vatAmount;\r\n\t\t\t\treturn result;\r\n\t\t\t},\r\n\t\t\t{ vatPercentage, useZeroPercentVAT: this.vm.useZeroPercentVAT } as IPriceSummary\r\n\t\t);\r\n\t}\r\n\r\n\tget currentContractSummary(): IContractSummary {\r\n\t\treturn {\r\n\t\t\tcontractEndDate: this.vm.contract.endDate,\r\n\t\t\tcontractNumber: this.vm.contract.contractId,\r\n\t\t\tcontractType: this.vm.contract.contractType,\r\n\t\t};\r\n\t}\r\n\r\n\tget selectedContractSummary(): IContractSummary {\r\n\t\tif (!this.selectedExtendContract) return {} as IContractSummary;\r\n\t\treturn {\r\n\t\t\tcontractEndDate: this.selectedExtendContract.endDate,\r\n\t\t\tcontractNumber: this.selectedExtendContract.contractNumber,\r\n\t\t\tcontractType: this.selectedExtendContract.contractClient.contractType,\r\n\t\t};\r\n\t}\r\n\r\n\tget newEndDate(): Date {\r\n\t\tconst currentEndDate = this.toDate(this.vm.contract.endDate);\r\n\t\t// When extending or co-terming use the extend contract's endDate, else the current endDate.\r\n\t\tlet newEndDate = this.selectedExtendContract\r\n\t\t\t? this.toDate(this.selectedExtendContract.endDate)\r\n\t\t\t: currentEndDate;\r\n\t\t// If extending only the month/day of the chosen contract should be synced with the current endDate, but it cannot be in the past.\r\n\t\tif (this.selectedExtendContract?.type === ContractProlongationOptionType.extend) {\r\n\t\t\tnewEndDate = set(newEndDate, { year: currentEndDate.getFullYear() });\r\n\t\t\tif (isBefore(newEndDate, currentEndDate)) {\r\n\t\t\t\tnewEndDate = add(newEndDate, { years: 1 });\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn newEndDate;\r\n\t}\r\n\r\n\tget prolongableContractLines(): ContractLineClient[] {\r\n\t\treturn this.vm.contract.contractLines.filter((x) => x.canProlong);\r\n\t}\r\n\r\n\tget contractUpdateData(): ContractAddToCart {\r\n\t\treturn {\r\n\t\t\tcontractId: this.vm.contract.contractId,\r\n\t\t\tendDateToUseForCotermExtend: this.newEndDate,\r\n\t\t\tcontractLines: reduce(\r\n\t\t\t\tthis.editingContractLines,\r\n\t\t\t\t(result, value) => {\r\n\t\t\t\t\tresult.push({\r\n\t\t\t\t\t\tchecked: value.checked,\r\n\t\t\t\t\t\taddSeatVariationCode: value.addSeatVariationCode,\r\n\t\t\t\t\t\trenewVariationCode: value.renewVariationCode,\r\n\t\t\t\t\t\tserialNumber: value.serialNumber,\r\n\t\t\t\t\t\tseats: value.seats,\r\n\t\t\t\t\t\tswitchDuration: 0,\r\n\t\t\t\t\t\tswitchRenewVariationCode: \"\",\r\n\t\t\t\t\t\tswitchSeats: 0,\r\n\t\t\t\t\t});\r\n\t\t\t\t\treturn result;\r\n\t\t\t\t},\r\n\t\t\t\t[] as ContractAddToCartLine[]\r\n\t\t\t),\r\n\t\t};\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.editingContractLines = this.prolongableContractLines;\r\n\t}\r\n\r\n\tonExtendCancelled(): void {\r\n\t\tthis.contractStore.cancelExtend();\r\n\t}\r\n\r\n\tcalcProRatePrice(price: number, contractDuration: number): number {\r\n\t\tconst pricePerMonth = price / contractDuration;\r\n\t\treturn pricePerMonth * (this.selectedExtendContract?.remainingMonthsForOrder || 0);\r\n\t}\r\n\r\n\tonCheckoutClick(): void {\r\n\t\tthis.addContractProlongationToCart();\r\n\t}\r\n\r\n\taddContractProlongationToCart(): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tconst updateData = this.contractUpdateData;\r\n\t\tthis.axios\r\n\t\t\t.post(\"/api/cart/add-prolongation\", updateData)\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.openUrl(this.vm.checkoutPageUrl);\r\n\t\t\t})\r\n\t\t\t.catch((err) => Log.error(err))\r\n\t\t\t.finally(() => this.loadingStore.decreaseLoadingCount());\r\n\t}\r\n\r\n\trecalculatePrices(): void {\r\n\t\tif (this.loadingStore.isBusy) return;\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tconst updateData: ContractAddToCart = this.contractUpdateData;\r\n\t\tthis.axios\r\n\t\t\t.post(\"/api/contract/recalculate\", updateData)\r\n\t\t\t.then(({ data }: { data: ContractClient }) => {\r\n\t\t\t\tthis.editingContractLines = [...data.contractLines];\r\n\t\t\t})\r\n\t\t\t.catch((err) => Log.error(err))\r\n\t\t\t.finally(() => this.loadingStore.decreaseLoadingCount());\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","/* Auto Generated */\r\n\r\nexport enum ContractProlongationOptionType {\r\n\tcoterm = 1,\r\n\textend = 2,\r\n}\r\n","import axios from '@/types/helpers/apiHelper';\r\nimport { AxiosResponse } from 'axios';\r\nimport { ContractClient } from '@/types/generated/Api/contractClient';\r\nimport { ContractLineClient } from '@/types/generated/Api/contractLineClient';\r\nimport { ContractProlongationOption } from '@/types/generated/Api/contractProlongationOption';\r\nimport { defineStore } from 'pinia';\r\nimport { remove } from 'lodash';\r\n\r\ninterface ContractStoreState {\r\n\tisExtendingContract: boolean;\r\n\tisSwitchingContract: boolean;\r\n\tisExtendModalVisible: boolean;\r\n\tisTradeInModalVisible: boolean;\r\n\tprolongationOptions: ContractProlongationOption[];\r\n\tselectedProlongationOption: ContractProlongationOption | null;\r\n\tselectedTradeInContractLine: ContractLineClient | null;\r\n\tswitchingContractLines: ContractLineClient[];\r\n}\r\n\r\nexport type ContractModalType = 'Extend' | 'TradeIn';\r\n\r\nexport const useContractStore = defineStore('contract', {\r\n\tstate: () =>\r\n\t\t({\r\n\t\t\tisExtendingContract: false,\r\n\t\t\tisSwitchingContract: false,\r\n\t\t\tisExtendModalVisible: false,\r\n\t\t\tisTradeInModalVisible: false,\r\n\t\t\tprolongationOptions: [],\r\n\t\t\tselectedProlongationOption: null,\r\n\t\t\tselectedTradeInContractLine: null,\r\n\t\t\tswitchingContractLines: [],\r\n\t\t}) as ContractStoreState,\r\n\tgetters: {},\r\n\tactions: {\r\n\t\tasync fetchProlongationOptions(contract: ContractClient) {\r\n\t\t\tconst response: AxiosResponse = await axios.get(\r\n\t\t\t\t`/api/contract/prolongationoptions/${contract.contractId}`\r\n\t\t\t);\r\n\t\t\tthis.prolongationOptions = response.data as ContractProlongationOption[];\r\n\t\t\treturn response;\r\n\t\t},\r\n\t\taddSwitchContract(contractLineClient: ContractLineClient): void {\r\n\t\t\tif (\r\n\t\t\t\tthis.switchingContractLines.findIndex((x) => x.serialNumber === contractLineClient.serialNumber) >\r\n\t\t\t\t-1\r\n\t\t\t)\r\n\t\t\t\treturn;\r\n\t\t\tthis.switchingContractLines.push(contractLineClient);\r\n\t\t},\r\n\t\tremoveSwitchContract(contractLineClient: ContractLineClient): void {\r\n\t\t\tremove(this.switchingContractLines, (x) => x.serialNumber === contractLineClient?.serialNumber);\r\n\t\t},\r\n\t\tstartTradeIn(contractLineClient: ContractLineClient): void {\r\n\t\t\tthis.selectedTradeInContractLine = contractLineClient;\r\n\t\t\tthis.showModal('TradeIn');\r\n\t\t},\r\n\t\tcancelTradeIn(): void {\r\n\t\t\tthis.hideModal('TradeIn');\r\n\t\t\tthis.selectedTradeInContractLine = null;\r\n\t\t},\r\n\t\tremoveTradeIn(contractLineClient: ContractLineClient): void {\r\n\t\t\tthis.removeSwitchContract(contractLineClient);\r\n\t\t\tthis.selectedTradeInContractLine = null;\r\n\t\t\tthis.hideModal('TradeIn');\r\n\t\t},\r\n\t\tconfirmTradeIn(contractLineClient: ContractLineClient): void {\r\n\t\t\tthis.addSwitchContract(contractLineClient);\r\n\t\t\tthis.selectedTradeInContractLine = null;\r\n\t\t\tthis.hideModal('TradeIn');\r\n\t\t},\r\n\t\tcancelExtend(): void {\r\n\t\t\tthis.selectedProlongationOption = null;\r\n\t\t\tthis.isExtendingContract = false;\r\n\t\t\tthis.hideModal('Extend');\r\n\t\t},\r\n\t\tconfirmExtend(selectedOption: ContractProlongationOption): void {\r\n\t\t\tthis.selectedProlongationOption = selectedOption;\r\n\t\t\tthis.isExtendingContract = true;\r\n\t\t\tthis.hideModal('Extend');\r\n\t\t},\r\n\t\tshowModal(type: ContractModalType) {\r\n\t\t\tswitch (type) {\r\n\t\t\t\tcase 'Extend':\r\n\t\t\t\t\tthis.isExtendModalVisible = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'TradeIn':\r\n\t\t\t\t\tthis.isTradeInModalVisible = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t},\r\n\t\thideModal(type: ContractModalType) {\r\n\t\t\tswitch (type) {\r\n\t\t\t\tcase 'Extend':\r\n\t\t\t\t\tthis.isExtendModalVisible = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'TradeIn':\r\n\t\t\t\t\tthis.isTradeInModalVisible = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t},\r\n\t},\r\n});\r\n","import { render } from \"./contractDetailExtendCard.vue?vue&type=template&id=e601fc20&ts=true\"\nimport script from \"./contractDetailExtendCard.vue?vue&type=script&lang=ts\"\nexport * from \"./contractDetailExtendCard.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, withCtx as _withCtx, createVNode as _createVNode, createElementBlock as _createElementBlock, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-08a18e4f\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"d-flex justify-content-between\" }\nconst _hoisted_2 = { class: \"mb-0\" }\nconst _hoisted_3 = { class: \"d-flex align-items-center\" }\nconst _hoisted_4 = { class: \"d-flex flex-column\" }\nconst _hoisted_5 = { class: \"mb-0 text-muted d-block\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"mb-0 text-bold\"\n}\nconst _hoisted_7 = [\"href\", \"title\"]\nconst _hoisted_8 = {\n key: 1,\n class: \"mb-0 text-bold\"\n}\nconst _hoisted_9 = {\n key: 2,\n class: \"text-success text-bold\"\n}\nconst _hoisted_10 = {\n key: 3,\n class: \"text-info text-bold\"\n}\nconst _hoisted_11 = {\n key: 0,\n class: \"text-danger text-bold\"\n}\nconst _hoisted_12 = {\n key: 1,\n class: \"text-right\"\n}\nconst _hoisted_13 = {\n key: 0,\n class: \"d-block text-muted\"\n}\nconst _hoisted_14 = { key: 1 }\nconst _hoisted_15 = { class: \"d-flex flex-column\" }\nconst _hoisted_16 = { class: \"d-flex flex-column\" }\nconst _hoisted_17 = { class: \"row-expansion-content\" }\nconst _hoisted_18 = { class: \"text-bold\" }\nconst _hoisted_19 = { class: \"d-flex align-items-center ml-1 ml-lg-0\" }\nconst _hoisted_20 = { class: \"d-flex flex-column\" }\nconst _hoisted_21 = { class: \"mb-0 text-muted d-block\" }\nconst _hoisted_22 = { class: \"mb-0 text-bold\" }\nconst _hoisted_23 = { class: \"text-right\" }\nconst _hoisted_24 = {\n key: 0,\n class: \"d-block text-muted\"\n}\nconst _hoisted_25 = { class: \"col-md-10 col-lg-8 col-xl-6 ml-auto pr-2\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n const _component_PriceSummary = _resolveComponent(\"PriceSummary\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createBlock(_component_Card, { class: \"my-3\" }, {\n title: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"h4\", _hoisted_2, _toDisplayString(_ctx.$t(\"myCadac.contractDetail.card.titleProlong\")), 1),\n (_ctx.canChangeContractDuration && !_ctx.isSwitchingContract)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-primary\",\n label: _ctx.$t('myCadac.contractDetail.button.changeDuration'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.showExtendOptions()))\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n content: _withCtx(() => [\n (_ctx.isChangingDuration)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n class: \"mt-0 mb-1\",\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_i18n_t, { keypath: \"myCadac.contractDetail.message.newExpirationDateDurationChange\" }, {\n date: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.newEndDate), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n : (_ctx.prolongableContractLines.length && _ctx.selectedContractLines?.length)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 1,\n class: \"mt-0 mb-1\",\n closable: false,\n severity: \"info\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_i18n_t, { keypath: \"myCadac.contractDetail.message.newExpirationDate\" }, {\n date: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.newEndDate), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.visibleContractLines?.length)\n ? (_openBlock(), _createBlock(_component_DataTable, {\n key: 2,\n \"expanded-rows\": _ctx.expandedRows,\n \"onUpdate:expandedRows\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.expandedRows) = $event)),\n selection: _ctx.selectedContractLines,\n \"onUpdate:selection\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.selectedContractLines) = $event)),\n \"auto-layout\": \"\",\n class: \"mt-2\",\n \"data-key\": \"serialNumber\",\n \"responsive-layout\": \"stack\",\n \"row-class\": _ctx.rowClass,\n value: _ctx.visibleContractLines\n }, {\n expansion: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"p\", _hoisted_18, _toDisplayString(_ctx.$tc(\"myCadac.contractDetail.titleLicenseTradeInOverview\", _ctx.isSwitchingContract)), 1),\n _createVNode(_component_DataTable, {\n \"auto-layout\": \"\",\n \"data-key\": \"serialNumber\",\n \"responsive-layout\": \"stack\",\n value: _ctx.getSwitchingContractLine(item.data)\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Column, {\n field: \"productName\",\n header: _ctx.$t('myCadac.contractDetail.table.colLicenses'),\n sortable: false\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_19, [\n (_ctx.getSwitchProduct(item.data).productIcon)\n ? (_openBlock(), _createBlock(_component_Avatar, {\n key: 0,\n alt: _ctx.getSwitchProduct(item.data).productName,\n class: \"mr-1 bg-transparent flex-shrink-0\",\n image: _ctx.getSwitchProduct(item.data).productIcon,\n shape: \"square\",\n size: \"large\",\n title: item.productName\n }, null, 8, [\"alt\", \"image\", \"title\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"small\", _hoisted_21, _toDisplayString(_ctx.getSwitchProduct(item.data).productBrand), 1),\n _createElementVNode(\"p\", _hoisted_22, _toDisplayString(_ctx.formatProductName(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t_ctx.getSwitchProduct(item.data).productName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t_ctx.getSwitchProduct(item.data).productBrand\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)), 1)\n ])\n ])\n ]),\n _: 2\n }, 1032, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"duration\",\n field: \"duration\",\n header: _ctx.$t('myCadac.contractDetail.table.colDuration'),\n sortable: false\n }, {\n body: _withCtx((item) => [\n _createTextVNode(_toDisplayString(_ctx.$tc(\r\n\t\t\t\t\t\t\t\t\t\t\t\"myCadac.contractDetail.table.duration\",\r\n\t\t\t\t\t\t\t\t\t\t\titem.data.selectedSwitchDuration\r\n\t\t\t\t\t\t\t\t\t\t)), 1)\n ]),\n _: 2\n }, 1032, [\"header\"]),\n _createVNode(_component_Column, {\n field: \"deployment\",\n header: _ctx.$t('myCadac.contractDetail.table.colProductLicenceType'),\n sortable: false\n }, {\n body: _withCtx((item) => [\n _createTextVNode(_toDisplayString(_ctx.$t(`enum.deployment.${item.data.deployment}`)), 1)\n ]),\n _: 2\n }, 1032, [\"header\"]),\n _createVNode(_component_Column, {\n field: \"selectedSwitchSeats\",\n header: _ctx.$t('myCadac.contractDetail.table.colProductSeats'),\n sortable: false\n }, null, 8, [\"header\"]),\n _createVNode(_component_Column, {\n \"body-class\": \"text-right pr-2\",\n header: _ctx.$t('myCadac.contractDetail.table.colProductPrice'),\n \"header-class\": \"text-right pr-2\",\n sortable: false\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_23, [\n (item.data.priceBase !== item.data.price)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_24, [\n _createElementVNode(\"s\", null, _toDisplayString(_ctx.formatCurrency(item.data.priceBase)), 1)\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.formatCurrency(item.data.price)), 1)\n ])\n ]),\n _: 2\n }, 1032, [\"header\"])\n ]),\n _: 2\n }, 1032, [\"value\"])\n ])\n ]),\n default: _withCtx(() => [\n _createVNode(_component_Column, {\n \"body-style\": \"width:2rem\",\n class: \"text-lg-center\",\n header: _ctx.$t('myCadac.contractDetail.table.colProductName'),\n \"selection-mode\": \"multiple\"\n }, null, 8, [\"header\"]),\n _createVNode(_component_Column, {\n field: \"productName\",\n sortable: false\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_3, [\n (item.data.icon)\n ? (_openBlock(), _createBlock(_component_Avatar, {\n key: 0,\n alt: item.data.iconAlt,\n class: \"mr-1 bg-transparent\",\n image: item.data.icon,\n shape: \"square\",\n size: \"large\",\n title: item.productName\n }, null, 8, [\"alt\", \"image\", \"title\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"small\", _hoisted_5, _toDisplayString(item.data.productBrand), 1),\n (_ctx.userProfile?.isCadacSales || _ctx.userProfile?.isImpersonated)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_6, [\n _createElementVNode(\"a\", {\n href: item.data.crmUrl,\n target: \"_blank\",\n title: _ctx.$t('common.goToCrm')\n }, _toDisplayString(_ctx.formatProductName(item.data.productName, item.data.productBrand)), 9, _hoisted_7)\n ]))\n : (_openBlock(), _createElementBlock(\"p\", _hoisted_8, _toDisplayString(_ctx.formatProductName(item.data.productName, item.data.productBrand)), 1)),\n (_ctx.isSwitching(item.data))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_9, _toDisplayString(_ctx.$t(\"myCadac.contractDetail.table.productTradeInMessage\")), 1))\n : _createCommentVNode(\"\", true),\n (!_ctx.isSwitching(item.data) && item.data.isSwitched)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_10, _toDisplayString(_ctx.$t(\"myCadac.contractDetail.table.productSwitchedMessage\")), 1))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n _: 1\n }),\n _createVNode(_component_Column, {\n field: \"deployment\",\n header: _ctx.$t('myCadac.contractDetail.table.colProductLicenceType'),\n sortable: false\n }, {\n body: _withCtx((item) => [\n _createTextVNode(_toDisplayString(_ctx.$t(`enum.deployment.${item.data.deployment}`)), 1)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n field: \"seats\",\n header: _ctx.$t('myCadac.contractDetail.table.colProductSeats'),\n sortable: false\n }, null, 8, [\"header\"]),\n _createVNode(_component_Column, {\n class: \"text-lg-right pr-lg-2\",\n header: _ctx.$t('myCadac.contractDetail.table.colProductPrice'),\n sortable: false\n }, {\n body: _withCtx((item) => [\n (_ctx.isRowDisabled(item.data))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_11, _toDisplayString(_ctx.$t(\"myCadac.contractDetail.table.productNotProlongableMessage\")), 1))\n : (!_ctx.isSwitching(item.data) && _ctx.isRowSelected(item.data))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_12, [\n (item.data.priceBase !== item.data.price)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_13, [\n _createElementVNode(\"s\", null, _toDisplayString(_ctx.formatCurrency(item.data.priceBase)), 1)\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.formatCurrency(item.data.price)), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n class: \"text-center\",\n sortable: false\n }, {\n body: _withCtx((item) => [\n (_ctx.canSwitch(item.data))\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-raised p-button-primary p-button-text p-button-sm\",\n label: _ctx.$t('myCadac.contractDetail.button.tradeIn'),\n onClick: ($event: any) => (_ctx.showTradeInOptions(item.data))\n }, null, 8, [\"label\", \"onClick\"]))\n : (_ctx.isSwitching(item.data))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", _hoisted_16, [\n _createVNode(_component_Button, {\n class: \"p-button-link text-primary p-button-sm ml-1\",\n label: _ctx.$t('common.cancel'),\n onClick: ($event: any) => (_ctx.removeTradeIn(item.data))\n }, null, 8, [\"label\", \"onClick\"]),\n _createVNode(_component_Button, {\n class: \"p-button-raised p-button-primary p-button-text p-button-sm ml-1\",\n label: _ctx.$t('common.change'),\n onClick: ($event: any) => (_ctx.showTradeInOptions(item.data))\n }, null, 8, [\"label\", \"onClick\"])\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"expanded-rows\", \"selection\", \"row-class\", \"value\"]))\n : _createCommentVNode(\"\", true)\n ]),\n footer: _withCtx(() => [\n (_ctx.prolongableContractLines.length && !_ctx.selectedContractLines?.length)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.contractDetail.message.cancelContract\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_25, [\n _createVNode(_component_PriceSummary, { vm: _ctx.priceSummary }, null, 8, [\"vm\"]),\n _createVNode(_component_Button, {\n class: \"p-button-success p-button-raised p-button-lg d-block ml-auto\",\n disabled: !_ctx.canCheckout,\n label: _ctx.$t('myCadac.contractDetail.button.goToCheckout'),\n loading: _ctx.loadingStore.isBusy,\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.onCheckoutClick()))\n }, null, 8, [\"disabled\", \"label\", \"loading\"])\n ])\n ]),\n _: 1\n }))\n}","<template>\r\n\t<Card class=\"my-3\">\r\n\t\t<template #title>\r\n\t\t\t<div class=\"d-flex justify-content-between\">\r\n\t\t\t\t<h4 class=\"mb-0\">\r\n\t\t\t\t\t{{ $t(\"myCadac.contractDetail.card.titleProlong\") }}\r\n\t\t\t\t</h4>\r\n\t\t\t\t<Button\r\n\t\t\t\t\tv-if=\"canChangeContractDuration && !isSwitchingContract\"\r\n\t\t\t\t\tclass=\"p-button-primary\"\r\n\t\t\t\t\t:label=\"$t('myCadac.contractDetail.button.changeDuration')\"\r\n\t\t\t\t\t@click=\"showExtendOptions()\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t\t<template #content>\r\n\t\t\t<Message v-if=\"isChangingDuration\" class=\"mt-0 mb-1\" :closable=\"false\" severity=\"warn\">\r\n\t\t\t\t<i18n-t keypath=\"myCadac.contractDetail.message.newExpirationDateDurationChange\">\r\n\t\t\t\t\t<template #date>\r\n\t\t\t\t\t\t<b>{{ newEndDate }}</b>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</i18n-t>\r\n\t\t\t</Message>\r\n\t\t\t<Message\r\n\t\t\t\tv-else-if=\"prolongableContractLines.length && selectedContractLines?.length\"\r\n\t\t\t\tclass=\"mt-0 mb-1\"\r\n\t\t\t\t:closable=\"false\"\r\n\t\t\t\tseverity=\"info\"\r\n\t\t\t>\r\n\t\t\t\t<i18n-t keypath=\"myCadac.contractDetail.message.newExpirationDate\">\r\n\t\t\t\t\t<template #date>\r\n\t\t\t\t\t\t<b>{{ newEndDate }}</b>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</i18n-t>\r\n\t\t\t</Message>\r\n\t\t\t<DataTable\r\n\t\t\t\tv-if=\"visibleContractLines?.length\"\r\n\t\t\t\tv-model:expanded-rows=\"expandedRows\"\r\n\t\t\t\tv-model:selection=\"selectedContractLines\"\r\n\t\t\t\tauto-layout\r\n\t\t\t\tclass=\"mt-2\"\r\n\t\t\t\tdata-key=\"serialNumber\"\r\n\t\t\t\tresponsive-layout=\"stack\"\r\n\t\t\t\t:row-class=\"rowClass\"\r\n\t\t\t\t:value=\"visibleContractLines\"\r\n\t\t\t>\r\n\t\t\t\t<Column\r\n\t\t\t\t\tbody-style=\"width:2rem\"\r\n\t\t\t\t\tclass=\"text-lg-center\"\r\n\t\t\t\t\t:header=\"$t('myCadac.contractDetail.table.colProductName')\"\r\n\t\t\t\t\tselection-mode=\"multiple\"\r\n\t\t\t\t/>\r\n\t\t\t\t<Column field=\"productName\" :sortable=\"false\">\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\tv-if=\"item.data.icon\"\r\n\t\t\t\t\t\t\t\t:alt=\"item.data.iconAlt\"\r\n\t\t\t\t\t\t\t\tclass=\"mr-1 bg-transparent\"\r\n\t\t\t\t\t\t\t\t:image=\"item.data.icon\"\r\n\t\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\t\tsize=\"large\"\r\n\t\t\t\t\t\t\t\t:title=\"item.productName\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t</Avatar>\r\n\t\t\t\t\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t\t\t\t\t<small class=\"mb-0 text-muted d-block\">\r\n\t\t\t\t\t\t\t\t\t{{ item.data.productBrand }}\r\n\t\t\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t\t\t<p\r\n\t\t\t\t\t\t\t\t\tv-if=\"userProfile?.isCadacSales || userProfile?.isImpersonated\"\r\n\t\t\t\t\t\t\t\t\tclass=\"mb-0 text-bold\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<a :href=\"item.data.crmUrl\" target=\"_blank\" :title=\"$t('common.goToCrm')\">\r\n\t\t\t\t\t\t\t\t\t\t{{ formatProductName(item.data.productName, item.data.productBrand) }}\r\n\t\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t<p v-else class=\"mb-0 text-bold\">\r\n\t\t\t\t\t\t\t\t\t{{ formatProductName(item.data.productName, item.data.productBrand) }}\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t<small v-if=\"isSwitching(item.data)\" class=\"text-success text-bold\">\r\n\t\t\t\t\t\t\t\t\t{{ $t(\"myCadac.contractDetail.table.productTradeInMessage\") }}\r\n\t\t\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t\t\t<small\r\n\t\t\t\t\t\t\t\t\tv-if=\"!isSwitching(item.data) && item.data.isSwitched\"\r\n\t\t\t\t\t\t\t\t\tclass=\"text-info text-bold\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t{{ $t(\"myCadac.contractDetail.table.productSwitchedMessage\") }}\r\n\t\t\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\t\t\t\t<Column\r\n\t\t\t\t\tfield=\"deployment\"\r\n\t\t\t\t\t:header=\"$t('myCadac.contractDetail.table.colProductLicenceType')\"\r\n\t\t\t\t\t:sortable=\"false\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t{{ $t(`enum.deployment.${item.data.deployment}`) }}\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\t\t\t\t<Column\r\n\t\t\t\t\tfield=\"seats\"\r\n\t\t\t\t\t:header=\"$t('myCadac.contractDetail.table.colProductSeats')\"\r\n\t\t\t\t\t:sortable=\"false\"\r\n\t\t\t\t/>\r\n\r\n\t\t\t\t<Column\r\n\t\t\t\t\tclass=\"text-lg-right pr-lg-2\"\r\n\t\t\t\t\t:header=\"$t('myCadac.contractDetail.table.colProductPrice')\"\r\n\t\t\t\t\t:sortable=\"false\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<small v-if=\"isRowDisabled(item.data)\" class=\"text-danger text-bold\">\r\n\t\t\t\t\t\t\t{{ $t(\"myCadac.contractDetail.table.productNotProlongableMessage\") }}\r\n\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t<span v-else-if=\"!isSwitching(item.data) && isRowSelected(item.data)\" class=\"text-right\">\r\n\t\t\t\t\t\t\t<small v-if=\"item.data.priceBase !== item.data.price\" class=\"d-block text-muted\">\r\n\t\t\t\t\t\t\t\t<s>{{ formatCurrency(item.data.priceBase) }}</s>\r\n\t\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t\t<b>{{ formatCurrency(item.data.price) }}</b>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\t\t\t\t<Column class=\"text-center\" :sortable=\"false\">\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\tv-if=\"canSwitch(item.data)\"\r\n\t\t\t\t\t\t\tclass=\"p-button-raised p-button-primary p-button-text p-button-sm\"\r\n\t\t\t\t\t\t\t:label=\"$t('myCadac.contractDetail.button.tradeIn')\"\r\n\t\t\t\t\t\t\t@click=\"showTradeInOptions(item.data)\"\r\n\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t<div v-else-if=\"isSwitching(item.data)\">\r\n\t\t\t\t\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t\t\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\t\tclass=\"p-button-link text-primary p-button-sm ml-1\"\r\n\t\t\t\t\t\t\t\t\t\t:label=\"$t('common.cancel')\"\r\n\t\t\t\t\t\t\t\t\t\t@click=\"removeTradeIn(item.data)\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\t\tclass=\"p-button-raised p-button-primary p-button-text p-button-sm ml-1\"\r\n\t\t\t\t\t\t\t\t\t\t:label=\"$t('common.change')\"\r\n\t\t\t\t\t\t\t\t\t\t@click=\"showTradeInOptions(item.data)\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\t\t\t\t<template #expansion=\"item\">\r\n\t\t\t\t\t<div class=\"row-expansion-content\">\r\n\t\t\t\t\t\t<p class=\"text-bold\">\r\n\t\t\t\t\t\t\t{{ $tc(\"myCadac.contractDetail.titleLicenseTradeInOverview\", isSwitchingContract) }}\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t<DataTable\r\n\t\t\t\t\t\t\tauto-layout\r\n\t\t\t\t\t\t\tdata-key=\"serialNumber\"\r\n\t\t\t\t\t\t\tresponsive-layout=\"stack\"\r\n\t\t\t\t\t\t\t:value=\"getSwitchingContractLine(item.data)\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<Column\r\n\t\t\t\t\t\t\t\tfield=\"productName\"\r\n\t\t\t\t\t\t\t\t:header=\"$t('myCadac.contractDetail.table.colLicenses')\"\r\n\t\t\t\t\t\t\t\t:sortable=\"false\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"d-flex align-items-center ml-1 ml-lg-0\">\r\n\t\t\t\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\t\t\t\tv-if=\"getSwitchProduct(item.data).productIcon\"\r\n\t\t\t\t\t\t\t\t\t\t\t:alt=\"getSwitchProduct(item.data).productName\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"mr-1 bg-transparent flex-shrink-0\"\r\n\t\t\t\t\t\t\t\t\t\t\t:image=\"getSwitchProduct(item.data).productIcon\"\r\n\t\t\t\t\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\t\t\t\t\tsize=\"large\"\r\n\t\t\t\t\t\t\t\t\t\t\t:title=\"item.productName\"\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t</Avatar>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t\t\t\t\t\t\t\t<small class=\"mb-0 text-muted d-block\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ getSwitchProduct(item.data).productBrand }}\r\n\t\t\t\t\t\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t\t\t\t\t\t<p class=\"mb-0 text-bold\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tformatProductName(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tgetSwitchProduct(item.data).productName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tgetSwitchProduct(item.data).productBrand\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</Column>\r\n\t\t\t\t\t\t\t<Column\r\n\t\t\t\t\t\t\t\tkey=\"duration\"\r\n\t\t\t\t\t\t\t\tfield=\"duration\"\r\n\t\t\t\t\t\t\t\t:header=\"$t('myCadac.contractDetail.table.colDuration')\"\r\n\t\t\t\t\t\t\t\t:sortable=\"false\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t$tc(\r\n\t\t\t\t\t\t\t\t\t\t\t\"myCadac.contractDetail.table.duration\",\r\n\t\t\t\t\t\t\t\t\t\t\titem.data.selectedSwitchDuration\r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</Column>\r\n\t\t\t\t\t\t\t<Column\r\n\t\t\t\t\t\t\t\tfield=\"deployment\"\r\n\t\t\t\t\t\t\t\t:header=\"$t('myCadac.contractDetail.table.colProductLicenceType')\"\r\n\t\t\t\t\t\t\t\t:sortable=\"false\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t\t\t\t{{ $t(`enum.deployment.${item.data.deployment}`) }}\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</Column>\r\n\t\t\t\t\t\t\t<Column\r\n\t\t\t\t\t\t\t\tfield=\"selectedSwitchSeats\"\r\n\t\t\t\t\t\t\t\t:header=\"$t('myCadac.contractDetail.table.colProductSeats')\"\r\n\t\t\t\t\t\t\t\t:sortable=\"false\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<Column\r\n\t\t\t\t\t\t\t\tbody-class=\"text-right pr-2\"\r\n\t\t\t\t\t\t\t\t:header=\"$t('myCadac.contractDetail.table.colProductPrice')\"\r\n\t\t\t\t\t\t\t\theader-class=\"text-right pr-2\"\r\n\t\t\t\t\t\t\t\t:sortable=\"false\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"text-right\">\r\n\t\t\t\t\t\t\t\t\t\t<small\r\n\t\t\t\t\t\t\t\t\t\t\tv-if=\"item.data.priceBase !== item.data.price\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"d-block text-muted\"\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t<s>{{ formatCurrency(item.data.priceBase) }}</s>\r\n\t\t\t\t\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t\t\t\t\t<b>{{ formatCurrency(item.data.price) }}</b>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</Column>\r\n\t\t\t\t\t\t</DataTable>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</DataTable>\r\n\t\t</template>\r\n\t\t<template #footer>\r\n\t\t\t<Message\r\n\t\t\t\tv-if=\"prolongableContractLines.length && !selectedContractLines?.length\"\r\n\t\t\t\t:closable=\"false\"\r\n\t\t\t\tseverity=\"warn\"\r\n\t\t\t>\r\n\t\t\t\t{{ $t(\"myCadac.contractDetail.message.cancelContract\") }}\r\n\t\t\t</Message>\r\n\t\t\t<div class=\"col-md-10 col-lg-8 col-xl-6 ml-auto pr-2\">\r\n\t\t\t\t<PriceSummary :vm=\"priceSummary\" />\r\n\t\t\t\t<Button\r\n\t\t\t\t\tclass=\"p-button-success p-button-raised p-button-lg d-block ml-auto\"\r\n\t\t\t\t\t:disabled=\"!canCheckout\"\r\n\t\t\t\t\t:label=\"$t('myCadac.contractDetail.button.goToCheckout')\"\r\n\t\t\t\t\t:loading=\"loadingStore.isBusy\"\r\n\t\t\t\t\t@click=\"onCheckoutClick()\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t</Card>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Prop, Watch } from \"vue-facing-decorator\";\r\nimport { ContractAddToCart } from \"@/types/generated/Api/contractAddToCart\";\r\nimport { ContractAddToCartLine } from \"@/types/generated/Api/contractAddToCartLine\";\r\nimport { ContractClient } from \"@/types/generated/Api/contractClient\";\r\nimport { ContractLineClient } from \"@/types/generated/Api/contractLineClient\";\r\nimport { ContractProlongationOptionType } from \"@/types/enum/contractProlongationOptionType\";\r\nimport { Deployment } from \"@/types/enum/deployment\";\r\nimport { IContractExtend } from \"@/types/viewModels/myCadac/contractExtendViewModel\";\r\nimport { IPriceSummary } from \"@/types/models/common/priceSummary.interface\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { ProductVariationClient } from \"@/types/generated/Api/productVariationClient\";\r\nimport { PropType } from \"vue\";\r\nimport { SwitchProductClient } from \"@/types/generated/Api/switchProductClient\";\r\nimport { addMonths } from \"date-fns\";\r\nimport { max, reduce, sortBy, unionBy } from \"lodash\";\r\nimport { useContractStore } from \"@/store/software/contractStore\";\r\nimport toFixed from \"accounting-js/lib/toFixed.js\";\r\nimport { ProductCategoryType } from \"@/types/enum/productCategoryType\";\r\nimport { GaEvent } from \"@/types/models/googleAnalytics/enum/gaEvent\";\r\n\r\n@Component\r\nexport default class ContractDetailSwitchCard extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<IContractExtend>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: IContractExtend;\r\n\r\n\tcontractStore = useContractStore();\r\n\r\n\texpandedRows: ContractLineClient[] = [];\r\n\tselectedContractLines: ContractLineClient[] = [];\r\n\teditingContractLines: ContractLineClient[] = [];\r\n\tvisibleContractLines: ContractLineClient[] = [];\r\n\r\n\tget prolongableContractLines(): ContractLineClient[] {\r\n\t\treturn this.vm.contract.contractLines.filter((x) => x.canProlong);\r\n\t}\r\n\r\n\tget nonProlongableContractLines(): ContractLineClient[] {\r\n\t\treturn this.vm.contract.contractLines.filter((x) => !x.canProlong);\r\n\t}\r\n\r\n\tget mergedSwitchingAndSelectedContractLines(): ContractLineClient[] {\r\n\t\treturn unionBy(this.contractStore.switchingContractLines, this.selectedContractLines, \"serialNumber\");\r\n\t}\r\n\r\n\tget newContractDuration(): number {\r\n\t\treturn this.editingContractLines.length === 1\r\n\t\t\t? max(this.contractStore.switchingContractLines.map((x) => x.selectedSwitchDuration)) ||\r\n\t\t\t\t\tthis.vm.contract.duration\r\n\t\t\t: this.vm.contract.duration;\r\n\t}\r\n\r\n\tget priceSummary(): IPriceSummary {\r\n\t\tconst { vatPercentage } = this.vm.contract;\r\n\t\treturn reduce(\r\n\t\t\tthis.editingContractLines,\r\n\t\t\t(result, contractLine) => {\r\n\t\t\t\tconst vatAmount = contractLine.price * (vatPercentage / 100);\r\n\t\t\t\tconst totalPrice = contractLine.price + vatAmount;\r\n\t\t\t\tresult.vatAmount = result.vatAmount ? result.vatAmount + vatAmount : vatAmount;\r\n\t\t\t\tresult.totalDiscount = result.totalDiscount\r\n\t\t\t\t\t? result.totalDiscount + contractLine.discount\r\n\t\t\t\t\t: contractLine.discount;\r\n\t\t\t\tresult.totalPersonalPrice = result.totalPersonalPrice\r\n\t\t\t\t\t? result.totalPersonalPrice + contractLine.price\r\n\t\t\t\t\t: contractLine.price;\r\n\t\t\t\tresult.totalBasePrice = result.totalBasePrice\r\n\t\t\t\t\t? result.totalBasePrice + contractLine.priceBase\r\n\t\t\t\t\t: contractLine.priceBase;\r\n\t\t\t\tresult.totalPrice = result.totalPrice ? result.totalPrice + totalPrice : totalPrice;\r\n\t\t\t\treturn result;\r\n\t\t\t},\r\n\t\t\t{ vatPercentage: vatPercentage } as IPriceSummary\r\n\t\t);\r\n\t}\r\n\r\n\tget contractUpdateData(): ContractAddToCart {\r\n\t\treturn {\r\n\t\t\tcontractId: this.vm.contract.contractId,\r\n\t\t\tcontractLines: reduce(\r\n\t\t\t\tthis.editingContractLines,\r\n\t\t\t\t(result, value) => {\r\n\t\t\t\t\tresult.push({\r\n\t\t\t\t\t\tchecked: value.checked,\r\n\t\t\t\t\t\taddSeatVariationCode: value.addSeatVariationCode,\r\n\t\t\t\t\t\trenewVariationCode: value.renewVariationCode,\r\n\t\t\t\t\t\tserialNumber: value.serialNumber,\r\n\t\t\t\t\t\tseats: value.seats,\r\n\t\t\t\t\t\tswitchDuration: value.selectedSwitchDuration,\r\n\t\t\t\t\t\tswitchRenewVariationCode: value.selectedSwitchSku,\r\n\t\t\t\t\t\tswitchSeats: value.selectedSwitchSeats,\r\n\t\t\t\t\t});\r\n\t\t\t\t\treturn result;\r\n\t\t\t\t},\r\n\t\t\t\t[] as ContractAddToCartLine[]\r\n\t\t\t),\r\n\t\t};\r\n\t}\r\n\r\n\tget newEndDate(): string {\r\n\t\treturn this.isChangingDuration\r\n\t\t\t? this.formatDate(addMonths(this.toDate(this.vm.contract.endDate), this.newContractDuration))\r\n\t\t\t: this.formatDate(this.toDate(this.vm.contract.newProlongationDate));\r\n\t}\r\n\r\n\tget isChangingDuration(): boolean {\r\n\t\treturn this.newContractDuration !== this.vm.contract.duration;\r\n\t}\r\n\r\n\tget canCheckout(): boolean {\r\n\t\treturn (\r\n\t\t\t!!(this.userProfile?.isEmailVerified || this.userProfile?.isImpersonated) &&\r\n\t\t\tthis.mergedSwitchingAndSelectedContractLines.length > 0\r\n\t\t);\r\n\t}\r\n\r\n\tget canChangeContractDuration(): boolean {\r\n\t\treturn this.canCoTerm || this.canExtend;\r\n\t}\r\n\r\n\tget canCoTerm(): boolean {\r\n\t\treturn this.contractStore.prolongationOptions.some(\r\n\t\t\t(x) => x.type === ContractProlongationOptionType.coterm\r\n\t\t);\r\n\t}\r\n\r\n\tget canExtend(): boolean {\r\n\t\treturn (\r\n\t\t\t!!(this.userProfile?.isCadacSales || this.userProfile?.isImpersonated) &&\r\n\t\t\tthis.contractStore.prolongationOptions.some((x) => x.type === ContractProlongationOptionType.extend)\r\n\t\t);\r\n\t}\r\n\r\n\tget isSwitchingContract(): boolean {\r\n\t\treturn this.contractStore.switchingContractLines?.length > 0;\r\n\t}\r\n\r\n\t// On trade-in added / removed\r\n\t@Watch(\"contractStore.switchingContractLines\", { deep: true })\r\n\tonContractSwitch(switchingContractLines: ContractLineClient[]): void {\r\n\t\tthis.expandedRows = [...switchingContractLines];\r\n\t\tthis.editingContractLines = this.mergedSwitchingAndSelectedContractLines;\r\n\t\tthis.recalculatePrices();\r\n\t}\r\n\r\n\t@Watch(\"selectedContractLines\", { deep: true })\r\n\tonContractLineSelectionChanged(): void {\r\n\t\tthis.editingContractLines = this.mergedSwitchingAndSelectedContractLines;\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.selectedContractLines = this.prolongableContractLines;\r\n\t\tthis.editingContractLines = this.mergedSwitchingAndSelectedContractLines;\r\n\t\tthis.visibleContractLines = sortBy(this.vm.contract.contractLines, \"canProlong\");\r\n\r\n\t\tconst checkoutDataLayer = this.constructCheckoutData(0, \"shopping_cart\", 4);\r\n\t\tconst eCommerceDataLayer = this.constructECommerceDataLayer(\r\n\t\t\tGaEvent.ViewCart,\r\n\t\t\ttoFixed(this.priceSummary.totalPersonalPrice, 2) || null,\r\n\t\t\tthis.editingContractLines.map((item) => ({\r\n\t\t\t\tid: item.renewVariationCode || item.addSeatVariationCode || \"0000-0000-0000-0000\",\r\n\t\t\t\tname: item.productName,\r\n\t\t\t\tproductCategory: ProductCategoryType.Product,\r\n\t\t\t\tbasePrice: item.priceBase,\r\n\t\t\t\tpersonalPrice: item.price,\r\n\t\t\t\tbrand: item.productBrand,\r\n\t\t\t\tamount: item.seats,\r\n\t\t\t}))\r\n\t\t);\r\n\t\tthis.setDataLayer.viewCart(eCommerceDataLayer, checkoutDataLayer);\r\n\t}\r\n\r\n\tgetSwitchProduct(contractLine: ContractLineClient): SwitchProductClient {\r\n\t\treturn (contractLine.switchProducts as SwitchProductClient[]).find(\r\n\t\t\t(product) =>\r\n\t\t\t\t(product.switchVariations as ProductVariationClient[]).findIndex(\r\n\t\t\t\t\t(variation) => variation.sku === contractLine.selectedSwitchSku\r\n\t\t\t\t) > -1\r\n\t\t) as SwitchProductClient;\r\n\t}\r\n\r\n\tgetSwitchingContractLine(contractLine: ContractLineClient): ContractLineClient[] {\r\n\t\treturn this.contractStore.switchingContractLines.filter(\r\n\t\t\t(x) => x.serialNumber === contractLine.serialNumber\r\n\t\t);\r\n\t}\r\n\r\n\tcanSwitch(contractLine: ContractLineClient): boolean {\r\n\t\treturn (\r\n\t\t\tcontractLine.switchProducts.length > 0 &&\r\n\t\t\t!this.isSwitching(contractLine) &&\r\n\t\t\t(this.isPerpetualAndMultiUserContractLine(contractLine) || !this.vm.contract.isPerpetual)\r\n\t\t);\r\n\t}\r\n\r\n\tisPerpetualAndMultiUserContractLine(contractLine: ContractLineClient): boolean {\r\n\t\treturn this.vm.contract.isPerpetual && contractLine.deployment == Deployment.multiUser;\r\n\t}\r\n\r\n\tisSwitching(contractLine: ContractLineClient): boolean {\r\n\t\treturn (\r\n\t\t\tthis.contractStore.switchingContractLines.findIndex(\r\n\t\t\t\t(x) => x.serialNumber === contractLine.serialNumber\r\n\t\t\t) > -1 || contractLine.serialNumber === this.contractStore.selectedTradeInContractLine?.serialNumber\r\n\t\t);\r\n\t}\r\n\r\n\tisRowExpanded(contract: ContractLineClient): boolean {\r\n\t\treturn this.expandedRows.findIndex((x) => x.serialNumber === contract.serialNumber) > -1;\r\n\t}\r\n\r\n\tisRowDisabled(contract: ContractLineClient): boolean {\r\n\t\treturn !contract.canProlong;\r\n\t}\r\n\r\n\tisRowSelected(contract: ContractLineClient): boolean {\r\n\t\treturn this.selectedContractLines.findIndex((x) => x.serialNumber === contract.serialNumber) > -1;\r\n\t}\r\n\r\n\trowClass(contract: ContractLineClient): string {\r\n\t\treturn this.isRowDisabled(contract) && !this.canSwitch(contract) && !this.isSwitching(contract)\r\n\t\t\t? \"disabled\"\r\n\t\t\t: this.isRowDisabled(contract) && (this.canSwitch(contract) || this.isSwitching(contract))\r\n\t\t\t\t? \"disabled-checkbox\"\r\n\t\t\t\t: this.isRowExpanded(contract)\r\n\t\t\t\t\t? \"highlight\"\r\n\t\t\t\t\t: \"\";\r\n\t}\r\n\r\n\tshowExtendOptions(): void {\r\n\t\tthis.contractStore.showModal(\"Extend\");\r\n\t}\r\n\r\n\tshowTradeInOptions(contractLineClient: ContractLineClient): void {\r\n\t\tthis.selectContractLine(contractLineClient);\r\n\t\tthis.contractStore.startTradeIn(contractLineClient);\r\n\t}\r\n\r\n\tremoveTradeIn(contractLine: ContractLineClient): void {\r\n\t\tthis.contractStore.removeTradeIn(contractLine);\r\n\t}\r\n\r\n\tselectContractLine(contractLineClient: ContractLineClient): void {\r\n\t\tconst originalContractLine = this.prolongableContractLines.find(\r\n\t\t\t(x) => x.serialNumber === contractLineClient.serialNumber\r\n\t\t);\r\n\t\t// Select the row if it was not selected yet\r\n\t\tif (\r\n\t\t\toriginalContractLine &&\r\n\t\t\tthis.selectedContractLines.findIndex((x) => x.serialNumber === contractLineClient.serialNumber) === -1\r\n\t\t) {\r\n\t\t\tthis.selectedContractLines.push(originalContractLine);\r\n\t\t\t// Reassign the array to trigger view change.\r\n\t\t\tthis.selectedContractLines = [...this.selectedContractLines];\r\n\t\t}\r\n\t}\r\n\r\n\tonCheckoutClick(): void {\r\n\t\tthis.addContractProlongationToCart();\r\n\t}\r\n\r\n\taddContractProlongationToCart(): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tconst data: ContractAddToCart = this.contractUpdateData;\r\n\t\tthis.axios\r\n\t\t\t.post(\"/api/cart/add-prolongation\", data)\r\n\t\t\t.then(() => {\r\n\t\t\t\tconst checkoutDataLayer = this.constructCheckoutData(0, \"begin_checkout\", 4);\r\n\t\t\t\tconst eCommerceDataLayer = this.constructECommerceDataLayer(\r\n\t\t\t\t\tGaEvent.BeginCheckout,\r\n\t\t\t\t\ttoFixed(this.priceSummary.totalPersonalPrice, 2) || null,\r\n\t\t\t\t\tthis.editingContractLines.map((item) => ({\r\n\t\t\t\t\t\tid: item.renewVariationCode || item.addSeatVariationCode || \"0000-0000-0000-0000\", // sku missing here in data\r\n\t\t\t\t\t\tname: item.productName,\r\n\t\t\t\t\t\tproductCategory: ProductCategoryType.Product,\r\n\t\t\t\t\t\tbasePrice: item.priceBase,\r\n\t\t\t\t\t\tpersonalPrice: item.price,\r\n\t\t\t\t\t\tbrand: item.productBrand,\r\n\t\t\t\t\t\tamount: item.seats,\r\n\t\t\t\t\t}))\r\n\t\t\t\t);\r\n\t\t\t\tthis.setDataLayer.beginCheckout(eCommerceDataLayer, checkoutDataLayer, {});\r\n\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tthis.openUrl(this.vm.checkoutPageUrl);\r\n\t\t\t\t}, 100);\r\n\t\t\t})\r\n\t\t\t.catch((err) => Log.error(err))\r\n\t\t\t.finally(() => this.loadingStore.decreaseLoadingCount());\r\n\t}\r\n\r\n\trecalculatePrices(): void {\r\n\t\tif (this.loadingStore.isBusy) return;\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tconst updateData: ContractAddToCart = this.contractUpdateData;\r\n\t\tthis.axios\r\n\t\t\t.post(\"/api/contract/recalculate\", updateData)\r\n\t\t\t.then(({ data }: { data: ContractClient }) => {\r\n\t\t\t\tthis.editingContractLines = [...data.contractLines];\r\n\t\t\t})\r\n\t\t\t.catch((err) => Log.error(err))\r\n\t\t\t.finally(() => this.loadingStore.decreaseLoadingCount());\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n::v-deep(.p-datatable .p-column-header-content) {\r\n\t.p-checkbox {\r\n\t\tdisplay: none;\r\n\t}\r\n}\r\n\r\n::v-deep(.disabled-checkbox) {\r\n\t.p-selection-column {\r\n\t\t.p-checkbox {\r\n\t\t\tdisplay: none !important;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n::v-deep(.p-datatable-table) {\r\n\t.p-datatable-tbody {\r\n\t\t> tr.p-highlight {\r\n\t\t\tbackground: var(--surface-a);\r\n\t\t}\r\n\r\n\t\t> tr.highlight {\r\n\t\t\tbackground: var(--surface-c);\r\n\r\n\t\t\t.p-checkbox {\r\n\t\t\t\tpointer-events: none;\r\n\t\t\t\tfilter: grayscale(100%);\r\n\r\n\t\t\t\t&:hover {\r\n\t\t\t\t\tcursor: not-allowed;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t> tr.disabled {\r\n\t\t\t.p-checkbox {\r\n\t\t\t\tpointer-events: none;\r\n\t\t\t\tfilter: grayscale(100%);\r\n\r\n\t\t\t\t&:hover {\r\n\t\t\t\t\tcursor: not-allowed;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n</style>\r\n","/* Auto Generated */\r\n\r\nexport enum Deployment {\r\n\tsingleUser,\r\n\tmultiUser,\r\n\tunknown,\r\n}\r\n","import { render } from \"./contractDetailSwitchCard.vue?vue&type=template&id=08a18e4f&scoped=true&ts=true\"\nimport script from \"./contractDetailSwitchCard.vue?vue&type=script&lang=ts\"\nexport * from \"./contractDetailSwitchCard.vue?vue&type=script&lang=ts\"\n\nimport \"./contractDetailSwitchCard.vue?vue&type=style&index=0&id=08a18e4f&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-08a18e4f\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, createBlock as _createBlock, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-9563cbde\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"mb-0\" }\nconst _hoisted_2 = { class: \"contract-info\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"mb-0 text-bold\"\n}\nconst _hoisted_4 = [\"title\", \"onClick\"]\nconst _hoisted_5 = {\n key: 0,\n class: \"d-block text-muted\"\n}\nconst _hoisted_6 = {\n key: 1,\n class: \"mb-0 text-bold\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_AvatarGroup = _resolveComponent(\"AvatarGroup\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Dialog = _resolveComponent(\"Dialog\")!\n\n return (_openBlock(), _createBlock(_component_Dialog, {\n visible: _ctx.isVisible,\n \"onUpdate:visible\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.isVisible) = $event)),\n breakpoints: { '1600px': '50vw', '1200px': '60vw', '992px': '70vw', '768px': '80vw', '576px': '90vw' },\n modal: true,\n style: { width: '40vw' },\n onHide: _cache[4] || (_cache[4] = ($event: any) => (_ctx.cancelExtend()))\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"h3\", _hoisted_1, _toDisplayString(_ctx.$t(\"myCadac.contractDetail.extendModal.title\")), 1)\n ]),\n footer: _withCtx(() => [\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-plain\",\n label: _ctx.$t('common.cancel'),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.cancelExtend()))\n }, null, 8, [\"label\"]),\n _createVNode(_component_Button, {\n disabled: !_ctx.canSubmit,\n label: _ctx.$t('common.confirm'),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.confirmExtend()))\n }, null, 8, [\"disabled\", \"label\"])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"h5\", null, _toDisplayString(_ctx.$t(\"myCadac.contractDetail.extendModal.currentContract\")), 1),\n _createElementVNode(\"dl\", _hoisted_2, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"myCadac.contractDetail.extendModal.colContractNumber\")), 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.vm.contract.contractId), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"myCadac.contractDetail.extendModal.colDuration\")), 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.vm.contract.duration), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"myCadac.contractDetail.extendModal.colRemainingDuration\")), 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$tc(\"myCadac.contractDetail.table.duration\", _ctx.vm.contract.remainingMonths)), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"myCadac.contractDetail.extendModal.colExpiresOn\")), 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.formatDate(_ctx.vm.contract.endDate)), 1)\n ])\n ]),\n _createElementVNode(\"h5\", null, _toDisplayString(_ctx.$t(\"myCadac.contractDetail.extendModal.chooseContract\")), 1),\n (_ctx.extendOptions.length)\n ? (_openBlock(), _createBlock(_component_DataTable, {\n key: 0,\n selection: _ctx.selectedProlongationOption,\n \"onUpdate:selection\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.selectedProlongationOption) = $event)),\n \"auto-layout\": \"\",\n \"data-key\": \"contractNumber\",\n \"row-class\": _ctx.rowClass,\n \"selection-mode\": \"single\",\n value: _ctx.extendOptions\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Column, {\n key: \"contractNumber\",\n field: \"contractNumber\",\n header: _ctx.$t('myCadac.contractDetail.extendModal.colContractNumber')\n }, {\n body: _withCtx((item) => [\n (_ctx.userProfile?.isCadacSales || _ctx.userProfile?.isImpersonated)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_3, [\n _createElementVNode(\"a\", {\n href: \"javascript:void(0);\",\n title: _ctx.$t('common.goToCrm'),\n onClick: ($event: any) => (_ctx.openUrl(item.data.contractClient.crmUrl, '_blank'))\n }, _toDisplayString(item.data.contractNumber), 9, _hoisted_4),\n (item.data.contractClient.crmBusinessUnit)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_5, _toDisplayString(_ctx.$t(\"myCadac.contractDetail.extendModal.lblCrmBusinessUnit\", {\r\n\t\t\t\t\t\t\t\t\tname: item.data.contractClient.crmBusinessUnit.name,\r\n\t\t\t\t\t\t\t\t})), 1))\n : _createCommentVNode(\"\", true)\n ]))\n : (_openBlock(), _createElementBlock(\"p\", _hoisted_6, _toDisplayString(item.data.contractNumber), 1))\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"products\",\n header: _ctx.$t('myCadac.contractDetail.extendModal.colProducts')\n }, {\n body: _withCtx((item) => [\n _createVNode(_component_AvatarGroup, null, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(item.data.contractClient?.contractLines?.slice(\r\n\t\t\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\t\t_ctx.maxContractAssetsToShow\r\n\t\t\t\t\t\t\t), (asset, index) => {\n return (_openBlock(), _createBlock(_component_Avatar, {\n key: index,\n alt: asset.iconAlt,\n class: \"ml-0 bg-transparent\",\n image: asset.icon,\n shape: \"square\",\n size: \"small\",\n title: asset.productName\n }, null, 8, [\"alt\", \"image\", \"title\"]))\n }), 128)),\n (item.data.contractClient?.contractLines?.length > _ctx.maxContractAssetsToShow)\n ? (_openBlock(), _createBlock(_component_Avatar, {\n key: 0,\n class: \"text-bold ml-0\",\n label: `+${item.data.contractClient?.contractLines?.length - _ctx.maxContractAssetsToShow}`,\n shape: \"square\",\n size: \"small\"\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 2\n }, 1024)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"renewalTerm\",\n field: \"duration\",\n header: _ctx.$t('myCadac.contractDetail.extendModal.colDuration')\n }, null, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"endDate\",\n field: \"endDate\",\n header: _ctx.$t('myCadac.contractDetail.extendModal.colExpiresOn')\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.formatDate(item.data.endDate)), 1)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"remainingTerm\",\n header: _ctx.$t('myCadac.contractDetail.table.colRemainingDuration')\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$tc(\"myCadac.contractDetail.table.duration\", item.data.remainingMonthsForOrder)), 1)\n ]),\n _: 1\n }, 8, [\"header\"])\n ]),\n _: 1\n }, 8, [\"selection\", \"row-class\", \"value\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.isRowDisabled(_ctx.selectedProlongationOption))\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 1,\n class: \"mb-0\",\n closable: false,\n severity: \"error\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.contractDetail.message.selectedOptionNotAvailable\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"visible\"]))\n}","<template>\r\n\t<Dialog\r\n\t\tv-model:visible=\"isVisible\"\r\n\t\t:breakpoints=\"{ '1600px': '50vw', '1200px': '60vw', '992px': '70vw', '768px': '80vw', '576px': '90vw' }\"\r\n\t\t:modal=\"true\"\r\n\t\t:style=\"{ width: '40vw' }\"\r\n\t\t@hide=\"cancelExtend()\"\r\n\t>\r\n\t\t<template #header>\r\n\t\t\t<h3 class=\"mb-0\">{{ $t(\"myCadac.contractDetail.extendModal.title\") }}</h3>\r\n\t\t</template>\r\n\t\t<h5>{{ $t(\"myCadac.contractDetail.extendModal.currentContract\") }}</h5>\r\n\t\t<dl class=\"contract-info\">\r\n\t\t\t<div>\r\n\t\t\t\t<dt>{{ $t(\"myCadac.contractDetail.extendModal.colContractNumber\") }}</dt>\r\n\t\t\t\t<dd>{{ vm.contract.contractId }}</dd>\r\n\t\t\t</div>\r\n\t\t\t<div>\r\n\t\t\t\t<dt>{{ $t(\"myCadac.contractDetail.extendModal.colDuration\") }}</dt>\r\n\t\t\t\t<dd>{{ vm.contract.duration }}</dd>\r\n\t\t\t</div>\r\n\t\t\t<div>\r\n\t\t\t\t<dt>{{ $t(\"myCadac.contractDetail.extendModal.colRemainingDuration\") }}</dt>\r\n\t\t\t\t<dd>\r\n\t\t\t\t\t{{ $tc(\"myCadac.contractDetail.table.duration\", vm.contract.remainingMonths) }}\r\n\t\t\t\t</dd>\r\n\t\t\t</div>\r\n\t\t\t<div>\r\n\t\t\t\t<dt>{{ $t(\"myCadac.contractDetail.extendModal.colExpiresOn\") }}</dt>\r\n\t\t\t\t<dd>{{ formatDate(vm.contract.endDate) }}</dd>\r\n\t\t\t</div>\r\n\t\t</dl>\r\n\t\t<h5>{{ $t(\"myCadac.contractDetail.extendModal.chooseContract\") }}</h5>\r\n\t\t<DataTable\r\n\t\t\tv-if=\"extendOptions.length\"\r\n\t\t\tv-model:selection=\"selectedProlongationOption\"\r\n\t\t\tauto-layout\r\n\t\t\tdata-key=\"contractNumber\"\r\n\t\t\t:row-class=\"rowClass\"\r\n\t\t\tselection-mode=\"single\"\r\n\t\t\t:value=\"extendOptions\"\r\n\t\t>\r\n\t\t\t<Column\r\n\t\t\t\tkey=\"contractNumber\"\r\n\t\t\t\tfield=\"contractNumber\"\r\n\t\t\t\t:header=\"$t('myCadac.contractDetail.extendModal.colContractNumber')\"\r\n\t\t\t>\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<p v-if=\"userProfile?.isCadacSales || userProfile?.isImpersonated\" class=\"mb-0 text-bold\">\r\n\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\thref=\"javascript:void(0);\"\r\n\t\t\t\t\t\t\t:title=\"$t('common.goToCrm')\"\r\n\t\t\t\t\t\t\t@click=\"openUrl(item.data.contractClient.crmUrl, '_blank')\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{{ item.data.contractNumber }}\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t<small v-if=\"item.data.contractClient.crmBusinessUnit\" class=\"d-block text-muted\">\r\n\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t$t(\"myCadac.contractDetail.extendModal.lblCrmBusinessUnit\", {\r\n\t\t\t\t\t\t\t\t\tname: item.data.contractClient.crmBusinessUnit.name,\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t</small>\r\n\t\t\t\t\t</p>\r\n\t\t\t\t\t<p v-else class=\"mb-0 text-bold\">\r\n\t\t\t\t\t\t{{ item.data.contractNumber }}\r\n\t\t\t\t\t</p>\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\t\t\t<Column key=\"products\" :header=\"$t('myCadac.contractDetail.extendModal.colProducts')\">\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<AvatarGroup>\r\n\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\tv-for=\"(asset, index) in item.data.contractClient?.contractLines?.slice(\r\n\t\t\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\t\tmaxContractAssetsToShow\r\n\t\t\t\t\t\t\t)\"\r\n\t\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\t\t:alt=\"asset.iconAlt\"\r\n\t\t\t\t\t\t\tclass=\"ml-0 bg-transparent\"\r\n\t\t\t\t\t\t\t:image=\"asset.icon\"\r\n\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\t:title=\"asset.productName\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t</Avatar>\r\n\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\tv-if=\"item.data.contractClient?.contractLines?.length > maxContractAssetsToShow\"\r\n\t\t\t\t\t\t\tclass=\"text-bold ml-0\"\r\n\t\t\t\t\t\t\t:label=\"`+${item.data.contractClient?.contractLines?.length - maxContractAssetsToShow}`\"\r\n\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t</Avatar>\r\n\t\t\t\t\t</AvatarGroup>\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\t\t\t<Column\r\n\t\t\t\tkey=\"renewalTerm\"\r\n\t\t\t\tfield=\"duration\"\r\n\t\t\t\t:header=\"$t('myCadac.contractDetail.extendModal.colDuration')\"\r\n\t\t\t/>\r\n\t\t\t<Column key=\"endDate\" field=\"endDate\" :header=\"$t('myCadac.contractDetail.extendModal.colExpiresOn')\">\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t{{ formatDate(item.data.endDate) }}\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\t\t\t<Column key=\"remainingTerm\" :header=\"$t('myCadac.contractDetail.table.colRemainingDuration')\">\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t{{ $tc(\"myCadac.contractDetail.table.duration\", item.data.remainingMonthsForOrder) }}\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\t\t</DataTable>\r\n\t\t<Message v-if=\"isRowDisabled(selectedProlongationOption)\" class=\"mb-0\" :closable=\"false\" severity=\"error\">\r\n\t\t\t{{ $t(\"myCadac.contractDetail.message.selectedOptionNotAvailable\") }}\r\n\t\t</Message>\r\n\t\t<template #footer>\r\n\t\t\t<Button class=\"p-button-text p-button-plain\" :label=\"$t('common.cancel')\" @click=\"cancelExtend()\" />\r\n\t\t\t<Button :disabled=\"!canSubmit\" :label=\"$t('common.confirm')\" @click=\"confirmExtend()\" />\r\n\t\t</template>\r\n\t</Dialog>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Emit, Prop } from \"vue-facing-decorator\";\r\nimport { ContractClient } from \"@/types/generated/Api/contractClient\";\r\nimport { ContractLineClient } from \"@/types/generated/Api/contractLineClient\";\r\nimport { ContractProlongationOption } from \"@/types/generated/Api/contractProlongationOption\";\r\nimport { ContractProlongationOptionType } from \"@/types/enum/contractProlongationOptionType\";\r\nimport { IContractDetail } from \"@/types/viewModels/myCadac/contractDetailViewModel\";\r\nimport { PropType } from \"vue\";\r\nimport { add, isBefore, set } from \"date-fns\";\r\n\r\n@Component\r\nexport default class ContractExtendModal extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IContractDetail>, required: true, default: {} })\r\n\tvm!: IContractDetail;\r\n\t@Prop()\r\n\tprolongationOptions!: ContractProlongationOption[];\r\n\tisVisible = true;\r\n\tmaxContractAssetsToShow = 3;\r\n\tselectedProlongationOption: ContractProlongationOption | null = null;\r\n\r\n\tget extendOptions(): ContractProlongationOption[] {\r\n\t\treturn this.userProfile?.isCadacSales || this.userProfile?.isImpersonated\r\n\t\t\t? this.prolongationOptions\r\n\t\t\t: this.prolongationOptions.filter((x) => x.type === 1);\r\n\t}\r\n\r\n\tget canSubmit(): boolean {\r\n\t\treturn !!this.selectedProlongationOption && !this.isRowDisabled(this.selectedProlongationOption);\r\n\t}\r\n\r\n\t@Emit()\r\n\tcancelExtend(): boolean {\r\n\t\treturn false;\r\n\t}\r\n\r\n\t@Emit()\r\n\tconfirmExtend(): ContractProlongationOption | null {\r\n\t\treturn this.selectedProlongationOption;\r\n\t}\r\n\r\n\tisRowDisabled(_contract: ContractProlongationOption): boolean {\r\n\t\treturn _contract?.type === ContractProlongationOptionType.extend;\r\n\t}\r\n\r\n\trowClass(contract: ContractProlongationOption): string {\r\n\t\treturn this.isRowDisabled(contract) ? \"disabled\" : \"\";\r\n\t}\r\n\r\n\tcalculateNewEndDate(contract: ContractClient | ContractLineClient | ContractProlongationOption): Date {\r\n\t\tconst currentEndDate = this.toDate(this.vm.contract.endDate);\r\n\t\t// When extending or co-terming use the extend contract's endDate, else the current endDate.\r\n\t\tlet newEndDate = contract ? this.toDate(contract.endDate) : currentEndDate;\r\n\t\t// If extending only the month/day of the chosen contract should be synced with the current endDate, but it cannot be in the past.\r\n\t\tif ((contract as ContractProlongationOption)?.type === ContractProlongationOptionType.extend) {\r\n\t\t\tnewEndDate = set(newEndDate, { year: currentEndDate.getFullYear() });\r\n\t\t\tif (isBefore(newEndDate, currentEndDate)) {\r\n\t\t\t\tnewEndDate = add(newEndDate, { years: 1 });\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn newEndDate;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.contract-info {\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\tpadding: 0.5rem;\r\n\tmargin-bottom: 2rem;\r\n\tbackground: var(--surface-b);\r\n\r\n\tdt {\r\n\t\tcolor: var(--text-color);\r\n\t}\r\n\r\n\tdd {\r\n\t\tcolor: var(--text-color-secondary);\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./contractExtendModal.vue?vue&type=template&id=9563cbde&scoped=true&ts=true\"\nimport script from \"./contractExtendModal.vue?vue&type=script&lang=ts\"\nexport * from \"./contractExtendModal.vue?vue&type=script&lang=ts\"\n\nimport \"./contractExtendModal.vue?vue&type=style&index=0&id=9563cbde&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-9563cbde\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, normalizeClass as _normalizeClass, createBlock as _createBlock, withCtx as _withCtx, createVNode as _createVNode, createTextVNode as _createTextVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"mb-0\" }\nconst _hoisted_2 = [\"innerHTML\"]\nconst _hoisted_3 = { class: \"mb-2\" }\nconst _hoisted_4 = { class: \"d-flex align-items-center\" }\nconst _hoisted_5 = { class: \"d-flex flex-column\" }\nconst _hoisted_6 = { class: \"mb-0 text-muted d-block\" }\nconst _hoisted_7 = { class: \"mb-0 text-bold\" }\nconst _hoisted_8 = { class: \"col-md-10 col-lg-8 col-xl-6 ml-auto pr-2 pb-1\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n const _component_PriceSummary = _resolveComponent(\"PriceSummary\")!\n const _component_Dialog = _resolveComponent(\"Dialog\")!\n\n return (_openBlock(), _createBlock(_component_Dialog, {\n visible: _ctx.isVisible,\n \"onUpdate:visible\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.isVisible) = $event)),\n breakpoints: { '1600px': '50vw', '1200px': '60vw', '992px': '70vw', '768px': '80vw', '576px': '90vw' },\n modal: true,\n style: { width: '40vw' },\n onHide: _cache[4] || (_cache[4] = ($event: any) => (_ctx.cancelTradeIn()))\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"h3\", _hoisted_1, _toDisplayString(_ctx.$t(\"myCadac.contractDetail.switchModal.title\")), 1)\n ]),\n footer: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_8, [\n (_ctx.priceSummary)\n ? (_openBlock(), _createBlock(_component_PriceSummary, {\n key: 0,\n vm: _ctx.priceSummary\n }, null, 8, [\"vm\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-plain\",\n label: _ctx.$t('common.cancel'),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.cancelTradeIn()))\n }, null, 8, [\"label\"]),\n _createVNode(_component_Button, {\n disabled: !_ctx.canSubmit,\n label: _ctx.$t('common.confirm'),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.confirmTradeIn()))\n }, null, 8, [\"disabled\", \"label\"])\n ]),\n default: _withCtx(() => [\n (_ctx.vm.switchTradeInText)\n ? (_openBlock(), _createElementBlock(\"p\", {\n key: 0,\n class: \"mb-2\",\n innerHTML: _ctx.vm.switchTradeInText\n }, null, 8, _hoisted_2))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"h5\", null, _toDisplayString(_ctx.$t(\"myCadac.contractDetail.switchModal.changeDuration\")), 1),\n _createElementVNode(\"div\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.switchDurationOptions, (option) => {\n return (_openBlock(), _createBlock(_component_Button, {\n key: option,\n class: _normalizeClass([\"p-button-secondary mr-2\", { 'p-button-outlined': _ctx.selectedDuration !== option }]),\n label: _ctx.$t('myCadac.contractDetail.switchModal.btnDuration', { duration: option }),\n onClick: ($event: any) => (_ctx.onDurationChange(option))\n }, null, 8, [\"class\", \"label\", \"onClick\"]))\n }), 128))\n ]),\n _createElementVNode(\"h5\", null, _toDisplayString(_ctx.$t(\"myCadac.contractDetail.switchModal.chooseContract\")), 1),\n (_ctx.tradeInOptions.length)\n ? (_openBlock(), _createBlock(_component_DataTable, {\n key: 1,\n selection: _ctx.selectedProduct,\n \"onUpdate:selection\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.selectedProduct) = $event)),\n \"auto-layout\": \"\",\n \"data-key\": \"productName\",\n \"selection-mode\": \"single\",\n value: _ctx.tradeInOptions\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Column, {\n field: \"productName\",\n header: _ctx.$t('myCadac.contractDetail.table.colProductName'),\n sortable: false\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_4, [\n (item.data.icon)\n ? (_openBlock(), _createBlock(_component_Avatar, {\n key: 0,\n alt: item.data.iconAlt,\n class: \"mr-1 bg-transparent\",\n image: item.data.icon,\n shape: \"square\",\n size: \"large\",\n title: item.productName\n }, null, 8, [\"alt\", \"image\", \"title\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"small\", _hoisted_6, _toDisplayString(item.data.productBrand), 1),\n _createElementVNode(\"p\", _hoisted_7, _toDisplayString(_ctx.formatProductName(item.data.productName, item.data.productBrand)), 1)\n ])\n ])\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n field: \"deployment\",\n header: _ctx.$t('myCadac.contractDetail.table.colProductLicenceType'),\n style: {\"width\":\"15%\"}\n }, {\n body: _withCtx((item) => [\n _createTextVNode(_toDisplayString(_ctx.$t(`enum.deployment.${_ctx.getProductVariation(item.data).licenseAudience}`)), 1)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n field: \"renewSeats\",\n header: _ctx.$t('myCadac.contractDetail.table.colProductSeats'),\n style: {\"width\":\"15%\"}\n }, null, 8, [\"header\"]),\n _createVNode(_component_Column, {\n \"body-class\": \"text-lg-right pr-2\",\n header: _ctx.$t('myCadac.contractDetail.table.colProductPrice'),\n \"header-class\": \"text-lg-right pr-2\",\n style: {\"width\":\"15%\"}\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.formatCurrency(_ctx.getPricePerSeat(_ctx.getProductVariation(item.data).price, item.data.renewSeats))), 1)\n ]),\n _: 1\n }, 8, [\"header\"])\n ]),\n _: 1\n }, 8, [\"selection\", \"value\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"visible\"]))\n}","<template>\r\n\t<Dialog\r\n\t\tv-model:visible=\"isVisible\"\r\n\t\t:breakpoints=\"{ '1600px': '50vw', '1200px': '60vw', '992px': '70vw', '768px': '80vw', '576px': '90vw' }\"\r\n\t\t:modal=\"true\"\r\n\t\t:style=\"{ width: '40vw' }\"\r\n\t\t@hide=\"cancelTradeIn()\"\r\n\t>\r\n\t\t<template #header>\r\n\t\t\t<h3 class=\"mb-0\">{{ $t(\"myCadac.contractDetail.switchModal.title\") }}</h3>\r\n\t\t</template>\r\n\t\t<p v-if=\"vm.switchTradeInText\" class=\"mb-2\" v-html=\"vm.switchTradeInText\"></p>\r\n\t\t<h5>{{ $t(\"myCadac.contractDetail.switchModal.changeDuration\") }}</h5>\r\n\t\t<div class=\"mb-2\">\r\n\t\t\t<Button\r\n\t\t\t\tv-for=\"option in switchDurationOptions\"\r\n\t\t\t\t:key=\"option\"\r\n\t\t\t\tclass=\"p-button-secondary mr-2\"\r\n\t\t\t\t:class=\"{ 'p-button-outlined': selectedDuration !== option }\"\r\n\t\t\t\t:label=\"$t('myCadac.contractDetail.switchModal.btnDuration', { duration: option })\"\r\n\t\t\t\t@click=\"onDurationChange(option)\"\r\n\t\t\t>\r\n\t\t\t</Button>\r\n\t\t</div>\r\n\t\t<h5>{{ $t(\"myCadac.contractDetail.switchModal.chooseContract\") }}</h5>\r\n\t\t<DataTable\r\n\t\t\tv-if=\"tradeInOptions.length\"\r\n\t\t\tv-model:selection=\"selectedProduct\"\r\n\t\t\tauto-layout\r\n\t\t\tdata-key=\"productName\"\r\n\t\t\tselection-mode=\"single\"\r\n\t\t\t:value=\"tradeInOptions\"\r\n\t\t>\r\n\t\t\t<Column\r\n\t\t\t\tfield=\"productName\"\r\n\t\t\t\t:header=\"$t('myCadac.contractDetail.table.colProductName')\"\r\n\t\t\t\t:sortable=\"false\"\r\n\t\t\t>\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\tv-if=\"item.data.icon\"\r\n\t\t\t\t\t\t\t:alt=\"item.data.iconAlt\"\r\n\t\t\t\t\t\t\tclass=\"mr-1 bg-transparent\"\r\n\t\t\t\t\t\t\t:image=\"item.data.icon\"\r\n\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\tsize=\"large\"\r\n\t\t\t\t\t\t\t:title=\"item.productName\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t</Avatar>\r\n\t\t\t\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t\t\t\t<small class=\"mb-0 text-muted d-block\">\r\n\t\t\t\t\t\t\t\t{{ item.data.productBrand }}\r\n\t\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t\t<p class=\"mb-0 text-bold\">\r\n\t\t\t\t\t\t\t\t{{ formatProductName(item.data.productName, item.data.productBrand) }}\r\n\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\t\t\t<Column\r\n\t\t\t\tfield=\"deployment\"\r\n\t\t\t\t:header=\"$t('myCadac.contractDetail.table.colProductLicenceType')\"\r\n\t\t\t\tstyle=\"width: 15%\"\r\n\t\t\t>\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t{{ $t(`enum.deployment.${getProductVariation(item.data).licenseAudience}`) }}\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\t\t\t<Column\r\n\t\t\t\tfield=\"renewSeats\"\r\n\t\t\t\t:header=\"$t('myCadac.contractDetail.table.colProductSeats')\"\r\n\t\t\t\tstyle=\"width: 15%\"\r\n\t\t\t/>\r\n\t\t\t<Column\r\n\t\t\t\tbody-class=\"text-lg-right pr-2\"\r\n\t\t\t\t:header=\"$t('myCadac.contractDetail.table.colProductPrice')\"\r\n\t\t\t\theader-class=\"text-lg-right pr-2\"\r\n\t\t\t\tstyle=\"width: 15%\"\r\n\t\t\t>\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<b>{{\r\n\t\t\t\t\t\tformatCurrency(getPricePerSeat(getProductVariation(item.data).price, item.data.renewSeats))\r\n\t\t\t\t\t}}</b>\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\t\t</DataTable>\r\n\t\t<template #footer>\r\n\t\t\t<div class=\"col-md-10 col-lg-8 col-xl-6 ml-auto pr-2 pb-1\">\r\n\t\t\t\t<PriceSummary v-if=\"priceSummary\" :vm=\"priceSummary\" />\r\n\t\t\t</div>\r\n\t\t\t<Button class=\"p-button-text p-button-plain\" :label=\"$t('common.cancel')\" @click=\"cancelTradeIn()\" />\r\n\t\t\t<Button :disabled=\"!canSubmit\" :label=\"$t('common.confirm')\" @click=\"confirmTradeIn()\" />\r\n\t\t</template>\r\n\t</Dialog>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { PropType } from \"vue\";\r\nimport { Component, Emit, Prop } from \"vue-facing-decorator\";\r\n\r\nimport { IContractDetail } from \"@/types/viewModels/myCadac/contractDetailViewModel\";\r\nimport { ContractLineClient } from \"@/types/generated/Api/contractLineClient\";\r\nimport { SwitchProductClient } from \"@/types/generated/Api/switchProductClient\";\r\nimport { reduce, uniq } from \"lodash\";\r\nimport { ProductVariationClient } from \"@/types/generated/Api/productVariationClient\";\r\nimport { addMonths } from \"date-fns\";\r\nimport { FormatHelper } from \"@/types/helpers/formatHelper\";\r\nimport { IPriceSummary } from \"@/types/models/common/priceSummary.interface\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\n\r\n@Component({ emits: [\"cancel-trade-in\", \"confirm-trade-in\"] })\r\nexport default class ContractSwitchModal extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IContractDetail>, required: true, default: {} })\r\n\tvm!: IContractDetail;\r\n\t@Prop()\r\n\tcontractLine!: ContractLineClient;\r\n\tisVisible = true;\r\n\tselectedDuration = 12;\r\n\tselectedProduct: SwitchProductClient | null = null;\r\n\r\n\tget tradeInOptions(): SwitchProductClient[] {\r\n\t\treturn reduce(\r\n\t\t\tthis.contractLine?.switchProducts as SwitchProductClient[],\r\n\t\t\t(result, value) => {\r\n\t\t\t\tconst switchProduct = {\r\n\t\t\t\t\t...value,\r\n\t\t\t\t\tswitchVariations: value.switchVariations.filter(\r\n\t\t\t\t\t\t(variation) => variation.duration === this.selectedDuration\r\n\t\t\t\t\t),\r\n\t\t\t\t};\r\n\t\t\t\tif (switchProduct.switchVariations.length) result.push(value);\r\n\t\t\t\treturn result;\r\n\t\t\t},\r\n\t\t\t[] as SwitchProductClient[]\r\n\t\t);\r\n\t}\r\n\r\n\tget switchDurationOptions(): number[] {\r\n\t\treturn reduce(\r\n\t\t\tthis.contractLine?.switchProducts as SwitchProductClient[],\r\n\t\t\t(result, value) => {\r\n\t\t\t\tconst durations = value.switchVariations.map((x) => x.duration);\r\n\t\t\t\tresult.push(...durations);\r\n\t\t\t\treturn uniq(result);\r\n\t\t\t},\r\n\t\t\t[] as number[]\r\n\t\t);\r\n\t}\r\n\r\n\tget selectedProductVariation(): ProductVariationClient {\r\n\t\treturn this.selectedProduct?.switchVariations.find((x) => x.duration === this.selectedDuration);\r\n\t}\r\n\r\n\tget priceSummary(): IPriceSummary | null {\r\n\t\tif (!this.selectedProductVariation) return null;\r\n\t\tconst { basePrice, customerPrice } = this.selectedProductVariation;\r\n\t\tconst seats = this.selectedProduct?.renewSeats || 0;\r\n\t\tconst totalBasePrice = this.getPricePerSeat(basePrice, seats);\r\n\t\tconst totalPersonalPrice = this.getPricePerSeat(customerPrice, seats);\r\n\t\tconst totalDiscount = totalBasePrice - totalPersonalPrice;\r\n\r\n\t\treturn {\r\n\t\t\ttotalBasePrice: totalBasePrice,\r\n\t\t\ttotalPersonalPrice: totalPersonalPrice,\r\n\t\t\ttotalDiscount: totalDiscount,\r\n\t\t} as IPriceSummary;\r\n\t}\r\n\r\n\tget newEndDate(): string {\r\n\t\treturn FormatHelper.formatDateString(\r\n\t\t\taddMonths(new Date(), this.vm.contract.duration).toISOString(),\r\n\t\t\tthis.$i18n.locale\r\n\t\t);\r\n\t}\r\n\r\n\tget canSubmit(): boolean {\r\n\t\treturn !!this.selectedProduct;\r\n\t}\r\n\r\n\t@Emit()\r\n\tcancelTradeIn(): boolean {\r\n\t\treturn false;\r\n\t}\r\n\r\n\t@Emit()\r\n\tconfirmTradeIn(): SwitchProductClient | null {\r\n\t\tconst product = this.selectedProduct;\r\n\t\tif (!product) return null;\r\n\t\tproduct.switchVariations = [this.selectedProductVariation];\r\n\t\treturn product;\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.selectedDuration = this.switchDurationOptions.includes(this.vm.contract.duration)\r\n\t\t\t? this.vm.contract.duration\r\n\t\t\t: this.switchDurationOptions[0];\r\n\t}\r\n\r\n\tgetProductVariation(switchProduct: SwitchProductClient): ProductVariationClient {\r\n\t\treturn switchProduct.switchVariations.find((x) => x.duration === this.selectedDuration);\r\n\t}\r\n\r\n\tgetPricePerSeat(price: number, seats: number): number {\r\n\t\treturn price * seats;\r\n\t}\r\n\r\n\tonDurationChange(newDuration: number): void {\r\n\t\tthis.selectedDuration = newDuration;\r\n\t\tthis.selectedProduct = null;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { render } from \"./contractSwitchModal.vue?vue&type=template&id=5130cebe&ts=true\"\nimport script from \"./contractSwitchModal.vue?vue&type=script&lang=ts\"\nexport * from \"./contractSwitchModal.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./contractExtend.vue?vue&type=template&id=24916874&ts=true\"\nimport script from \"./contractExtend.vue?vue&type=script&lang=ts\"\nexport * from \"./contractExtend.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"row\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"col-12 mb-5\"\n}\nconst _hoisted_3 = { class: \"d-flex flex-column w-100 contract-table-panel\" }\nconst _hoisted_4 = { class: \"mb-1\" }\nconst _hoisted_5 = { class: \"col-12 mb-5\" }\nconst _hoisted_6 = { class: \"d-flex justify-content-between w-100 contract-table-panel\" }\nconst _hoisted_7 = { class: \"d-flex flex-column\" }\nconst _hoisted_8 = { class: \"mb-1\" }\nconst _hoisted_9 = { class: \"col-12 mb-3\" }\nconst _hoisted_10 = { class: \"d-flex justify-content-between w-100 contract-table-panel\" }\nconst _hoisted_11 = { class: \"d-flex flex-column\" }\nconst _hoisted_12 = { class: \"mb-1\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ContractOverviewTable = _resolveComponent(\"ContractOverviewTable\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_SubscriptionOverviewTable = _resolveComponent(\"SubscriptionOverviewTable\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_ctx.hasSupportAssets)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"h3\", _hoisted_4, _toDisplayString(_ctx.$t(\"myCadac.contractOverview.supportContracts.title\")), 1)\n ]),\n _createVNode(_component_ContractOverviewTable, {\n contracts: _ctx.supportContracts,\n type: _ctx.contractTypeEnum.support,\n vm: _ctx.vm,\n onCancelContract: _ctx.confirmCancelContract\n }, null, 8, [\"contracts\", \"type\", \"vm\", \"onCancelContract\"])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"h3\", _hoisted_8, _toDisplayString(_ctx.$t(\"myCadac.contractOverview.contracts.title\")), 1)\n ]),\n (_ctx.vm.licenceManagementOverviewPageUrl)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n label: _ctx.$t('myCadac.contractOverview.button.manageLicences'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.confirmManageLicences()))\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createVNode(_component_ContractOverviewTable, {\n contracts: _ctx.softwareContracts,\n type: _ctx.contractTypeEnum.software,\n vm: _ctx.vm,\n onCancelContract: ($event: any) => ([])\n }, null, 8, [\"contracts\", \"type\", \"vm\"])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"h3\", _hoisted_12, _toDisplayString(_ctx.$t(\"myCadac.contractOverview.subscriptions.title\")), 1)\n ])\n ]),\n _createVNode(_component_SubscriptionOverviewTable, {\n subscriptions: _ctx.autoDeskSubscriptions,\n vm: _ctx.vm\n }, null, 8, [\"subscriptions\", \"vm\"])\n ])\n ]))\n}","<template>\r\n\t<div class=\"row\">\r\n\t\t<div v-if=\"hasSupportAssets\" class=\"col-12 mb-5\">\r\n\t\t\t<div class=\"d-flex flex-column w-100 contract-table-panel\">\r\n\t\t\t\t<h3 class=\"mb-1\">{{ $t(\"myCadac.contractOverview.supportContracts.title\") }}</h3>\r\n\t\t\t</div>\r\n\t\t\t<ContractOverviewTable :contracts=\"supportContracts\"\r\n\t\t\t\t\t\t\t\t :type=\"contractTypeEnum.support\"\r\n\t\t\t\t\t\t\t\t :vm=\"vm\"\r\n\t\t\t\t\t\t\t\t @cancel-contract=\"confirmCancelContract\" />\r\n\r\n\t\t</div>\r\n\t\t<div class=\"col-12 mb-5\">\r\n\t\t\t<div class=\"d-flex justify-content-between w-100 contract-table-panel\">\r\n\t\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t\t<h3 class=\"mb-1\">{{ $t(\"myCadac.contractOverview.contracts.title\") }}</h3>\r\n\t\t\t\t</div>\r\n\t\t\t\t<Button v-if=\"vm.licenceManagementOverviewPageUrl\"\r\n\t\t\t\t\t\t:label=\"$t('myCadac.contractOverview.button.manageLicences')\"\r\n\t\t\t\t\t\t@click=\"confirmManageLicences()\" />\r\n\t\t\t</div>\r\n\t\t\t<ContractOverviewTable :contracts=\"softwareContracts\"\r\n\t\t\t\t\t\t\t\t :type=\"contractTypeEnum.software\"\r\n\t\t\t\t\t\t\t\t :vm=\"vm\"\r\n\t\t\t\t\t\t\t\t @cancel-contract=\"[]\" />\r\n\t\t</div>\r\n\t\t<div class=\"col-12 mb-3\">\r\n\t\t\t<div class=\"d-flex justify-content-between w-100 contract-table-panel\">\r\n\t\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t\t<h3 class=\"mb-1\">{{ $t(\"myCadac.contractOverview.subscriptions.title\") }}</h3>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<SubscriptionOverviewTable :subscriptions=\"autoDeskSubscriptions\" :vm=\"vm\" />\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport ContractOverviewTable from \"@/components/contracts/contractOverviewTable.vue\";\r\nimport SubscriptionOverviewTable from \"@/components/contracts/subscriptionOverviewTable.vue\"; \r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { Contract } from \"@/types/generated/contract\";\r\nimport { ContractAsset } from \"@/types/generated/contractAsset\";\r\nimport { ContractType } from \"@/types/enum/contractType\";\r\nimport { IContractOverview } from \"@/types/viewModels/myCadac/contractOverviewViewModel\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { Subscription } from \"../../types/models/subscriptions/subscription\";\r\n\r\n@Component({ components: { ContractOverviewTable, SubscriptionOverviewTable } })\r\nexport default class ContractOverview extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<IContractOverview>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: IContractOverview;\r\n\r\n\tget contractTypeEnum(): typeof ContractType {\r\n\t\treturn ContractType;\r\n\t}\r\n\r\n\tget softwareContracts(): Contract[] {\r\n return this.vm?.cadacContracts || [];\r\n\t}\r\n\r\n\tget supportContracts(): Contract[] {\r\n const supportContracts = this.vm?.cadacSupportContracts;\r\n\t\t// Filter out support ticket contract\r\n\t\tsupportContracts?.map(\r\n\t\t\t(contract: Contract) =>\r\n\t\t\t\t(contract.contractSupportAssets = contract.contractSupportAssets.filter(\r\n\t\t\t\t\t(x: ContractAsset) => !x.isSupportTicketVariation\r\n\t\t\t\t))\r\n\t\t);\r\n\t\treturn supportContracts || [];\r\n\t}\r\n\r\n\tget autoDeskSubscriptions(): Subscription[] {\r\n return this.vm?.autodeskSubscriptions || [];\r\n }\r\n\r\n\tget hasSupportAssets(): boolean {\r\n\t\treturn this.supportContracts.some((x) => x.contractSupportAssets.length);\r\n\t}\r\n\r\n\r\n\tconfirmCancelContract(contract: Contract): void {\r\n\t\tthis.$confirm.require({\r\n\t\t\theader: this.$t(\"myCadac.contractOverview.dialog.confirmCancelTitle\"),\r\n\t\t\tacceptLabel: this.$t(\"myCadac.contractOverview.button.cancelContract\"),\r\n\t\t\trejectLabel: this.$t(\"common.no\"),\r\n\t\t\taccept: () => {\r\n\t\t\t\tthis.axios\r\n\t\t\t\t\t.get(`/api/contract/cancel/${contract.contractNumber}`)\r\n\t\t\t\t\t.then(() => {\r\n\t\t\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\t\t\tseverity: \"success\",\r\n\t\t\t\t\t\t\tsummary: this.$t(\"common.messages.titleSuccess\"),\r\n\t\t\t\t\t\t\tdetail: this.$t(\"myCadac.contractOverview.toast.contractCancelSuccess\"),\r\n\t\t\t\t\t\t\tlife: 3000,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((err) => {\r\n\t\t\t\t\t\tLog.error(err);\r\n\t\t\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\t\t\tdetail: this.$t(\"common.messages.error.genericException\"),\r\n\t\t\t\t\t\t\tlife: 3000,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t},\r\n\t\t});\r\n\t}\r\n\r\n\tconfirmManageLicences(): void {\r\n\t\t// Confirm dialog with reverse buttons\r\n\t\tthis.$confirm.require({\r\n\t\t\theader: this.$t(\"myCadac.licenceManagementOverview.dialog.confirmUnlockLicencesTitle\"),\r\n\t\t\tmessage: this.$t(\"myCadac.licenceManagementOverview.dialog.confirmUnlockLicencesMessage\"),\r\n\t\t\trejectLabel: this.$t(\"common.yes\"),\r\n\t\t\tacceptLabel: this.$t(\"common.no\"),\r\n\t\t\treject: () => {\r\n\t\t\t\tthis.openUrl(this.vm.licenceManagementOverviewPageUrl as string);\r\n\t\t\t},\r\n\t\t});\r\n\t}\r\n}\r\n</script>\r\n<style lang=\"scss\">\r\n .contract-table-panel {\r\n margin: 1rem 0;\r\n\r\n @media(min-width: 991px) {\r\n margin: 0 0 2rem;\r\n }\r\n }\r\n\r\n</style>\r\n","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, withCtx as _withCtx, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, withModifiers as _withModifiers } from \"vue\"\n\nconst _hoisted_1 = {\n key: 0,\n class: \"mb-0 text-bold\"\n}\nconst _hoisted_2 = [\"href\", \"title\"]\nconst _hoisted_3 = {\n key: 0,\n class: \"d-block text-muted\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"mb-0 text-bold\"\n}\nconst _hoisted_5 = { class: \"d-flex align-items-center\" }\nconst _hoisted_6 = { style: {\"line-height\":\"1.25rem\"} }\nconst _hoisted_7 = {\n key: 0,\n class: \"text-danger d-flex flex-nowrap overflow-hidden\"\n}\nconst _hoisted_8 = { class: \"text-nowrap mr-1\" }\nconst _hoisted_9 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-exclamation-circle\" }, null, -1)\nconst _hoisted_10 = {\n key: 0,\n class: \"text-bold\"\n}\nconst _hoisted_11 = { key: 1 }\nconst _hoisted_12 = { class: \"d-flex justify-content-end flex-grow-1\" }\nconst _hoisted_13 = { class: \"row-expansion-content\" }\nconst _hoisted_14 = { class: \"d-flex align-items-center ml-1 ml-lg-0\" }\nconst _hoisted_15 = { class: \"d-flex flex-column\" }\nconst _hoisted_16 = { class: \"mb-0 text-muted d-block\" }\nconst _hoisted_17 = {\n key: 0,\n class: \"mb-0 text-bold\"\n}\nconst _hoisted_18 = [\"href\", \"title\"]\nconst _hoisted_19 = {\n key: 1,\n class: \"mb-0 text-bold\"\n}\nconst _hoisted_20 = {\n key: 2,\n class: \"badge badge-primary multi-user-badge\"\n}\nconst _hoisted_21 = {\n key: 3,\n class: \"text-info text-bold\"\n}\nconst _hoisted_22 = { key: 0 }\nconst _hoisted_23 = { key: 1 }\nconst _hoisted_24 = {\n key: 0,\n class: \"mb-0 text-bold\"\n}\nconst _hoisted_25 = [\"href\", \"title\"]\nconst _hoisted_26 = {\n key: 1,\n class: \"mb-0 text-bold\"\n}\nconst _hoisted_27 = { class: \"lead\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_AvatarGroup = _resolveComponent(\"AvatarGroup\")!\n const _component_PopoverIcon = _resolveComponent(\"PopoverIcon\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (_ctx.contracts.length)\n ? (_openBlock(), _createBlock(_component_DataTable, {\n key: 0,\n \"expanded-rows\": _ctx.expandedRows,\n \"onUpdate:expandedRows\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.expandedRows) = $event)),\n \"auto-layout\": \"\",\n \"data-key\": \"contractNumber\",\n \"responsive-layout\": \"stack\",\n \"row-class\": _ctx.highlightRow,\n \"row-hover\": true,\n value: _ctx.contracts,\n class: \"contract-table\",\n breakpoint: \"991px\",\n onRowClick: _withModifiers(_ctx.onRowClick, [\"self\"])\n }, {\n expansion: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_13, [\n (_ctx.getContractAssets(item.data).length)\n ? (_openBlock(), _createBlock(_component_DataTable, {\n key: 0,\n \"auto-layout\": \"\",\n \"responsive-layout\": \"stack\",\n value: _ctx.getContractAssets(item.data)\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Column, {\n field: \"productName\",\n header: _ctx.$t('myCadac.contractOverview.table.colProductName'),\n sortable: false\n }, {\n body: _withCtx((asset) => [\n _createElementVNode(\"div\", _hoisted_14, [\n _createVNode(_component_Avatar, {\n alt: asset.data.productIconAlt,\n class: \"mr-1 bg-transparent flex-shrink-0\",\n image: asset.data.productIconUrl,\n shape: \"square\",\n size: \"large\",\n title: asset.data.productName\n }, null, 8, [\"alt\", \"image\", \"title\"]),\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"small\", _hoisted_16, _toDisplayString(asset.data.productBrand), 1),\n (_ctx.userProfile?.isCadacSales || _ctx.userProfile?.isImpersonated)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_17, [\n _createElementVNode(\"a\", {\n href: asset.data.productCrmUrl,\n target: \"_blank\",\n title: _ctx.$t('common.goToCrm')\n }, _toDisplayString(_ctx.formatProductName(asset.data.productName, asset.data.productBrand)), 9, _hoisted_18)\n ]))\n : (_openBlock(), _createElementBlock(\"p\", _hoisted_19, _toDisplayString(_ctx.formatProductName(asset.data.productName, asset.data.productBrand)), 1)),\n (asset.data.isMultiSizeProduct)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_20, _toDisplayString(asset.data.multiSizeUnitString), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.isAssetSwitched(asset.data))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_21, _toDisplayString(_ctx.$t(\"myCadac.contractDetail.table.productSwitchedMessage\")), 1))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n field: \"serialNumber\",\n header: _ctx.$t('myCadac.contractOverview.table.colProductSerialNumber'),\n sortable: false,\n style: {\"width\":\"20%\"}\n }, {\n body: _withCtx((asset) => [\n (_ctx.isContractExpired(item.data))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_22, _toDisplayString(_ctx.$t(\"common.notApplicable\")), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_23, [\n (_ctx.userProfile?.isCadacSales || _ctx.userProfile?.isImpersonated)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_24, [\n _createElementVNode(\"a\", {\n href: asset.data.crmUrl,\n target: \"_blank\",\n title: _ctx.$t('common.goToCrm')\n }, _toDisplayString(asset.data.serialNumber || _ctx.$t(\"common.notApplicable\")), 9, _hoisted_25)\n ]))\n : (_openBlock(), _createElementBlock(\"p\", _hoisted_26, _toDisplayString(asset.data.serialNumber || _ctx.$t(\"common.notApplicable\")), 1))\n ]))\n ]),\n _: 2\n }, 1032, [\"header\"]),\n _createVNode(_component_Column, {\n field: \"deployment\",\n header: _ctx.$t('myCadac.contractOverview.table.colProductLicenceType'),\n hidden: _ctx.isSupportContractTable,\n sortable: false,\n style: {\"width\":\"20%\"}\n }, {\n body: _withCtx((asset) => [\n _createTextVNode(_toDisplayString(_ctx.$t(`enum.deployment.${asset.data.deployment}`)), 1)\n ]),\n _: 1\n }, 8, [\"header\", \"hidden\"]),\n _createVNode(_component_Column, {\n field: \"seats\",\n header: _ctx.$t('myCadac.contractOverview.table.colProductSeats'),\n hidden: _ctx.isSupportContractTable,\n sortable: false,\n style: {\"width\":\"20%\"}\n }, null, 8, [\"header\", \"hidden\"])\n ]),\n _: 2\n }, 1032, [\"value\"]))\n : (_openBlock(), _createBlock(_component_Message, {\n key: 1,\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.contractOverview.message.noContractAssets\")), 1)\n ]),\n _: 1\n }))\n ])\n ]),\n default: _withCtx(() => [\n (!_ctx.isSmallScreen)\n ? (_openBlock(), _createBlock(_component_Column, {\n key: 0,\n expander: \"\",\n \"header-style\": \"width:1.75rem\"\n }))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Column, {\n key: \"contractNumber\",\n field: \"contractNumber\",\n header: _ctx.$t('myCadac.contractOverview.table.colContractNumber'),\n sortable: false\n }, {\n body: _withCtx((item) => [\n (_ctx.userProfile?.isCadacSales || _ctx.userProfile?.isImpersonated)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_1, [\n _createElementVNode(\"a\", {\n href: item.data.crmUrl,\n target: \"_blank\",\n title: _ctx.$t('common.goToCrm')\n }, _toDisplayString(item.data.contractNumber), 9, _hoisted_2),\n (item.data.crmBusinessUnit)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_3, _toDisplayString(_ctx.$t(\"myCadac.contractOverview.table.lblCrmBusinessUnit\", {\r\n\t\t\t\t\t\t\t\tname: item.data.crmBusinessUnit.name,\r\n\t\t\t\t\t\t\t})), 1))\n : _createCommentVNode(\"\", true)\n ]))\n : (_openBlock(), _createElementBlock(\"p\", _hoisted_4, _toDisplayString(item.data.contractNumber), 1))\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"products\",\n field: \"products\",\n header: _ctx.$t('myCadac.contractOverview.table.colProducts'),\n sortable: false\n }, {\n body: _withCtx((item) => [\n _createVNode(_component_AvatarGroup, null, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.getSortedContractAssets(item.data).slice(\r\n\t\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\t_ctx.maxContractAssetsToShow\r\n\t\t\t\t\t\t), (asset, index) => {\n return (_openBlock(), _createBlock(_component_Avatar, {\n key: index,\n alt: asset.productIconAlt,\n class: \"ml-0 bg-transparent\",\n image: asset.productIconUrl,\n shape: \"square\",\n size: \"small\",\n title: asset.productName\n }, null, 8, [\"alt\", \"image\", \"title\"]))\n }), 128)),\n (_ctx.getContractAssets(item.data).length > _ctx.maxContractAssetsToShow)\n ? (_openBlock(), _createBlock(_component_Avatar, {\n key: 0,\n class: \"text-bold ml-0\",\n label: `+${_ctx.getContractAssets(item.data).length - _ctx.maxContractAssetsToShow}`,\n shape: \"square\",\n size: \"small\"\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 2\n }, 1024)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"renewalTerm\",\n field: \"renewalTerm\",\n header: _ctx.$t('myCadac.contractOverview.table.colDuration'),\n sortable: false\n }, null, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"automaticRenewal\",\n field: \"automaticRenewal\",\n header: _ctx.$t('myCadac.contractOverview.table.colAutomaticRenewal'),\n sortable: false\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"i\", {\n class: _normalizeClass(\r\n\t\t\t\t\t\t\titem.data.automaticRenewal\r\n\t\t\t\t\t\t\t\t? 'pi pi-check text-success mr-1'\r\n\t\t\t\t\t\t\t\t: 'pi pi-times text-danger mr-1'\r\n\t\t\t\t\t\t)\n }, null, 2),\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(_ctx.getAutomaticRenewalText(item.data.automaticRenewal)), 1)\n ])\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"endDate\",\n field: \"endDate\",\n header: _ctx.$t('myCadac.contractOverview.table.colExpiresOn'),\n sortable: false\n }, {\n body: _withCtx((item) => [\n (_ctx.shouldShowContractExpirationWarning(item.data))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.formatDate(item.data.endDate)), 1),\n _createVNode(_component_PopoverIcon, {\n class: \"d-inline-flex\",\n style: {\"line-height\":\"1.75rem\"}\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.$tc(\"myCadac.contractOverview.table.contractExpirationWarning\", {\r\n\t\t\t\t\t\t\t\t\t\tcount: item.data.remainingDays,\r\n\t\t\t\t\t\t\t\t\t})), 1),\n (\r\n\t\t\t\t\t\t\t\t\t(_ctx.userProfile?.isCadacSales || _ctx.userProfile?.isImpersonatedByCadacSales) &&\r\n\t\t\t\t\t\t\t\t\titem.data.contractFaultRemarks\r\n\t\t\t\t\t\t\t\t)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_10, _toDisplayString(item.data.contractFaultRemarks), 1))\n : _createCommentVNode(\"\", true)\n ]),\n default: _withCtx(() => [\n _hoisted_9\n ]),\n _: 2\n }, 1024)\n ]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_11, _toDisplayString(_ctx.formatDate(item.data.endDate)), 1))\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"actions\",\n style: {\"width\":\"25%\"}\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_12, [\n (_ctx.canExtendOrRenewContract(item.data) && item.data.isPerpetual)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-success p-button-sm mr-auto mr-lg-1 flex-grow-lg-1\",\n label: _ctx.$t('myCadac.contractOverview.button.switchContractOptions'),\n onClick: ($event: any) => {\r\n\t\t\t\t\t\t\t_ctx.openUrl(`${_ctx.vm.contractDetailPageUrl}?contractnumber=${item.data.contractNumber}`);\r\n\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t}\n }, null, 8, [\"label\", \"onClick\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.canExtendOrRenewContract(item.data) && !item.data.isPerpetual)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-success p-button-sm mr-auto mr-lg-1 flex-grow-lg-1\",\n label: _ctx.$t('myCadac.contractOverview.button.renewContract'),\n onClick: ($event: any) => {\r\n\t\t\t\t\t\t\t_ctx.openUrl(`${_ctx.vm.contractDetailPageUrl}?contractnumber=${item.data.contractNumber}`);\r\n\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t}\n }, null, 8, [\"label\", \"onClick\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Button, {\n class: \"p-button-primary p-button-icon p-button-rounded p-button-raised p-button-text ml-1 flex-shrink-0\",\n icon: _ctx.canEditContract(item.data) ? 'pi pi-pencil' : 'pi pi-eye',\n label: \r\n\t\t\t\t\t\t\t_ctx.isSmallScreen\r\n\t\t\t\t\t\t\t\t? _ctx.canEditContract(item.data)\r\n\t\t\t\t\t\t\t\t\t? _ctx.$t('myCadac.contractOverview.button.changeContract')\r\n\t\t\t\t\t\t\t\t\t: _ctx.$t('common.view')\r\n\t\t\t\t\t\t\t\t: ''\r\n\t\t\t\t\t\t,\n title: \r\n\t\t\t\t\t\t\t_ctx.canEditContract(item.data)\r\n\t\t\t\t\t\t\t\t? _ctx.$t('myCadac.contractOverview.button.changeContract')\r\n\t\t\t\t\t\t\t\t: _ctx.$t('common.view')\r\n\t\t\t\t\t\t,\n onClick: ($event: any) => {\r\n\t\t\t\t\t\t\t_ctx.openUrl(\r\n\t\t\t\t\t\t\t\t`${_ctx.vm.contractChangePageUrl}?contractnumber=${\r\n\t\t\t\t\t\t\t\t\titem.data.contractNumber\r\n\t\t\t\t\t\t\t\t}&edit=${_ctx.canEditContract(item.data)}`\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t}\n }, null, 8, [\"icon\", \"label\", \"title\", \"onClick\"]),\n (_ctx.canCancelContract(item.data))\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 2,\n class: \"p-button-primary p-button-icon p-button-rounded p-button-raised p-button-text ml-1 flex-shrink-0\",\n icon: \"pi pi-times\",\n label: _ctx.isSmallScreen ? _ctx.$t('myCadac.contractOverview.button.cancelContract') : '',\n title: _ctx.$t('myCadac.contractOverview.button.cancelContract'),\n onClick: ($event: any) => (_ctx.cancelContract(item.data))\n }, null, 8, [\"label\", \"title\", \"onClick\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"expanded-rows\", \"row-class\", \"value\", \"onRowClick\"]))\n : _createCommentVNode(\"\", true),\n (!_ctx.contracts.length)\n ? (_openBlock(), _createBlock(_component_Card, {\n key: 1,\n class: \"mx-auto mt-2\"\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"p\", _hoisted_27, _toDisplayString(_ctx.isSupportContractTable || !_ctx.contracts.length\r\n\t\t\t\t\t\t? _ctx.$t(\"myCadac.contractOverview.card.noSupportContracts\")\r\n\t\t\t\t\t\t: _ctx.$t(\"myCadac.contractOverview.card.noContracts\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<DataTable\r\n\t\tv-if=\"contracts.length\"\r\n\t\tv-model:expanded-rows=\"expandedRows\"\r\n\t\tauto-layout\r\n\t\tdata-key=\"contractNumber\"\r\n\t\tresponsive-layout=\"stack\"\r\n\t\t:row-class=\"highlightRow\"\r\n\t\t:row-hover=\"true\"\r\n\t\t:value=\"contracts\"\r\n\t\tclass=\"contract-table\"\r\n\t\tbreakpoint=\"991px\"\r\n\t\t@row-click.self=\"onRowClick\"\r\n\t>\r\n\t\t<Column v-if=\"!isSmallScreen\" expander header-style=\"width:1.75rem\" />\r\n\t\t<Column\r\n\t\t\tkey=\"contractNumber\"\r\n\t\t\tfield=\"contractNumber\"\r\n\t\t\t:header=\"$t('myCadac.contractOverview.table.colContractNumber')\"\r\n\t\t\t:sortable=\"false\"\r\n\t\t>\r\n\t\t\t<template #body=\"item\">\r\n\t\t\t\t<p v-if=\"userProfile?.isCadacSales || userProfile?.isImpersonated\" class=\"mb-0 text-bold\">\r\n\t\t\t\t\t<a :href=\"item.data.crmUrl\" target=\"_blank\" :title=\"$t('common.goToCrm')\">\r\n\t\t\t\t\t\t{{ item.data.contractNumber }}\r\n\t\t\t\t\t</a>\r\n\t\t\t\t\t<small v-if=\"item.data.crmBusinessUnit\" class=\"d-block text-muted\">\r\n\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t$t(\"myCadac.contractOverview.table.lblCrmBusinessUnit\", {\r\n\t\t\t\t\t\t\t\tname: item.data.crmBusinessUnit.name,\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t</small>\r\n\t\t\t\t</p>\r\n\t\t\t\t<p v-else class=\"mb-0 text-bold\">\r\n\t\t\t\t\t{{ item.data.contractNumber }}\r\n\t\t\t\t</p>\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\t\t<Column\r\n\t\t\tkey=\"products\"\r\n\t\t\tfield=\"products\"\r\n\t\t\t:header=\"$t('myCadac.contractOverview.table.colProducts')\"\r\n\t\t\t:sortable=\"false\"\r\n\t\t>\r\n\t\t\t<template #body=\"item\">\r\n\t\t\t\t<AvatarGroup>\r\n\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\tv-for=\"(asset, index) in getSortedContractAssets(item.data).slice(\r\n\t\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\tmaxContractAssetsToShow\r\n\t\t\t\t\t\t)\"\r\n\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\t:alt=\"asset.productIconAlt\"\r\n\t\t\t\t\t\tclass=\"ml-0 bg-transparent\"\r\n\t\t\t\t\t\t:image=\"asset.productIconUrl\"\r\n\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t:title=\"asset.productName\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t</Avatar>\r\n\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\tv-if=\"getContractAssets(item.data).length > maxContractAssetsToShow\"\r\n\t\t\t\t\t\tclass=\"text-bold ml-0\"\r\n\t\t\t\t\t\t:label=\"`+${getContractAssets(item.data).length - maxContractAssetsToShow}`\"\r\n\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t</Avatar>\r\n\t\t\t\t</AvatarGroup>\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\t\t<Column\r\n\t\t\tkey=\"renewalTerm\"\r\n\t\t\tfield=\"renewalTerm\"\r\n\t\t\t:header=\"$t('myCadac.contractOverview.table.colDuration')\"\r\n\t\t\t:sortable=\"false\"\r\n\t\t/>\r\n\t\t<Column\r\n\t\t\tkey=\"automaticRenewal\"\r\n\t\t\tfield=\"automaticRenewal\"\r\n\t\t\t:header=\"$t('myCadac.contractOverview.table.colAutomaticRenewal')\"\r\n\t\t\t:sortable=\"false\"\r\n\t\t>\r\n\t\t\t<template #body=\"item\">\r\n\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t<i\r\n\t\t\t\t\t\t:class=\"\r\n\t\t\t\t\t\t\titem.data.automaticRenewal\r\n\t\t\t\t\t\t\t\t? 'pi pi-check text-success mr-1'\r\n\t\t\t\t\t\t\t\t: 'pi pi-times text-danger mr-1'\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<span style=\"line-height: 1.25rem\">{{\r\n\t\t\t\t\t\tgetAutomaticRenewalText(item.data.automaticRenewal)\r\n\t\t\t\t\t}}</span>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\t\t<Column\r\n\t\t\tkey=\"endDate\"\r\n\t\t\tfield=\"endDate\"\r\n\t\t\t:header=\"$t('myCadac.contractOverview.table.colExpiresOn')\"\r\n\t\t\t:sortable=\"false\"\r\n\t\t>\r\n\t\t\t<template #body=\"item\">\r\n\t\t\t\t<div\r\n\t\t\t\t\tv-if=\"shouldShowContractExpirationWarning(item.data)\"\r\n\t\t\t\t\tclass=\"text-danger d-flex flex-nowrap overflow-hidden\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<span class=\"text-nowrap mr-1\">{{ formatDate(item.data.endDate) }}</span>\r\n\t\t\t\t\t<PopoverIcon class=\"d-inline-flex\" style=\"line-height: 1.75rem\">\r\n\t\t\t\t\t\t<i class=\"pi pi-exclamation-circle\" />\r\n\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t<p>\r\n\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t$tc(\"myCadac.contractOverview.table.contractExpirationWarning\", {\r\n\t\t\t\t\t\t\t\t\t\tcount: item.data.remainingDays,\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t<small\r\n\t\t\t\t\t\t\t\tv-if=\"\r\n\t\t\t\t\t\t\t\t\t(userProfile?.isCadacSales || userProfile?.isImpersonatedByCadacSales) &&\r\n\t\t\t\t\t\t\t\t\titem.data.contractFaultRemarks\r\n\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\tclass=\"text-bold\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{{ item.data.contractFaultRemarks }}\r\n\t\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</PopoverIcon>\r\n\t\t\t\t</div>\r\n\t\t\t\t<span v-else>{{ formatDate(item.data.endDate) }}</span>\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\t\t<Column key=\"actions\" style=\"width: 25%\">\r\n\t\t\t<template #body=\"item\">\r\n\t\t\t\t<div class=\"d-flex justify-content-end flex-grow-1\">\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\tv-if=\"canExtendOrRenewContract(item.data) && item.data.isPerpetual\"\r\n\t\t\t\t\t\tclass=\"p-button-success p-button-sm mr-auto mr-lg-1 flex-grow-lg-1\"\r\n\t\t\t\t\t\t:label=\"$t('myCadac.contractOverview.button.switchContractOptions')\"\r\n\t\t\t\t\t\t@click=\"\r\n\t\t\t\t\t\t\topenUrl(`${vm.contractDetailPageUrl}?contractnumber=${item.data.contractNumber}`);\r\n\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\tv-if=\"canExtendOrRenewContract(item.data) && !item.data.isPerpetual\"\r\n\t\t\t\t\t\tclass=\"p-button-success p-button-sm mr-auto mr-lg-1 flex-grow-lg-1\"\r\n\t\t\t\t\t\t:label=\"$t('myCadac.contractOverview.button.renewContract')\"\r\n\t\t\t\t\t\t@click=\"\r\n\t\t\t\t\t\t\topenUrl(`${vm.contractDetailPageUrl}?contractnumber=${item.data.contractNumber}`);\r\n\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\tclass=\"p-button-primary p-button-icon p-button-rounded p-button-raised p-button-text ml-1 flex-shrink-0\"\r\n\t\t\t\t\t\t:icon=\"canEditContract(item.data) ? 'pi pi-pencil' : 'pi pi-eye'\"\r\n\t\t\t\t\t\t:label=\"\r\n\t\t\t\t\t\t\tisSmallScreen\r\n\t\t\t\t\t\t\t\t? canEditContract(item.data)\r\n\t\t\t\t\t\t\t\t\t? $t('myCadac.contractOverview.button.changeContract')\r\n\t\t\t\t\t\t\t\t\t: $t('common.view')\r\n\t\t\t\t\t\t\t\t: ''\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t:title=\"\r\n\t\t\t\t\t\t\tcanEditContract(item.data)\r\n\t\t\t\t\t\t\t\t? $t('myCadac.contractOverview.button.changeContract')\r\n\t\t\t\t\t\t\t\t: $t('common.view')\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t@click=\"\r\n\t\t\t\t\t\t\topenUrl(\r\n\t\t\t\t\t\t\t\t`${vm.contractChangePageUrl}?contractnumber=${\r\n\t\t\t\t\t\t\t\t\titem.data.contractNumber\r\n\t\t\t\t\t\t\t\t}&edit=${canEditContract(item.data)}`\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\tv-if=\"canCancelContract(item.data)\"\r\n\t\t\t\t\t\tclass=\"p-button-primary p-button-icon p-button-rounded p-button-raised p-button-text ml-1 flex-shrink-0\"\r\n\t\t\t\t\t\ticon=\"pi pi-times\"\r\n\t\t\t\t\t\t:label=\"isSmallScreen ? $t('myCadac.contractOverview.button.cancelContract') : ''\"\r\n\t\t\t\t\t\t:title=\"$t('myCadac.contractOverview.button.cancelContract')\"\r\n\t\t\t\t\t\t@click=\"cancelContract(item.data)\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\t\t<template #expansion=\"item\">\r\n\t\t\t<div class=\"row-expansion-content\">\r\n\t\t\t\t<DataTable\r\n\t\t\t\t\tv-if=\"getContractAssets(item.data).length\"\r\n\t\t\t\t\tauto-layout\r\n\t\t\t\t\tresponsive-layout=\"stack\"\r\n\t\t\t\t\t:value=\"getContractAssets(item.data)\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<Column\r\n\t\t\t\t\t\tfield=\"productName\"\r\n\t\t\t\t\t\t:header=\"$t('myCadac.contractOverview.table.colProductName')\"\r\n\t\t\t\t\t\t:sortable=\"false\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<template #body=\"asset\">\r\n\t\t\t\t\t\t\t<div class=\"d-flex align-items-center ml-1 ml-lg-0\">\r\n\t\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\t\t:alt=\"asset.data.productIconAlt\"\r\n\t\t\t\t\t\t\t\t\tclass=\"mr-1 bg-transparent flex-shrink-0\"\r\n\t\t\t\t\t\t\t\t\t:image=\"asset.data.productIconUrl\"\r\n\t\t\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\t\t\tsize=\"large\"\r\n\t\t\t\t\t\t\t\t\t:title=\"asset.data.productName\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t</Avatar>\r\n\t\t\t\t\t\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t\t\t\t\t\t<small class=\"mb-0 text-muted d-block\">\r\n\t\t\t\t\t\t\t\t\t\t{{ asset.data.productBrand }}\r\n\t\t\t\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t\t\t\t<p\r\n\t\t\t\t\t\t\t\t\t\tv-if=\"userProfile?.isCadacSales || userProfile?.isImpersonated\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"mb-0 text-bold\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\t\t\t\t\t:href=\"asset.data.productCrmUrl\"\r\n\t\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\r\n\t\t\t\t\t\t\t\t\t\t\t:title=\"$t('common.goToCrm')\"\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\tformatProductName(asset.data.productName, asset.data.productBrand)\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t\t</p>\r\n\r\n\t\t\t\t\t\t\t\t\t<p v-else class=\"mb-0 text-bold\">\r\n\t\t\t\t\t\t\t\t\t\t{{ formatProductName(asset.data.productName, asset.data.productBrand) }}\r\n\t\t\t\t\t\t\t\t\t</p>\r\n\r\n\t\t\t\t\t\t\t\t\t<span\r\n\t\t\t\t\t\t\t\t\t\tv-if=\"asset.data.isMultiSizeProduct\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"badge badge-primary multi-user-badge\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{{ asset.data.multiSizeUnitString }}\r\n\t\t\t\t\t\t\t\t\t</span>\r\n\r\n\t\t\t\t\t\t\t\t\t<small v-if=\"isAssetSwitched(asset.data)\" class=\"text-info text-bold\">\r\n\t\t\t\t\t\t\t\t\t\t{{ $t(\"myCadac.contractDetail.table.productSwitchedMessage\") }}\r\n\t\t\t\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</Column>\r\n\t\t\t\t\t<Column\r\n\t\t\t\t\t\tfield=\"serialNumber\"\r\n\t\t\t\t\t\t:header=\"$t('myCadac.contractOverview.table.colProductSerialNumber')\"\r\n\t\t\t\t\t\t:sortable=\"false\"\r\n\t\t\t\t\t\tstyle=\"width: 20%\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<template #body=\"asset\">\r\n\t\t\t\t\t\t\t<div v-if=\"isContractExpired(item.data)\">{{ $t(\"common.notApplicable\") }}</div>\r\n\t\t\t\t\t\t\t<div v-else>\r\n\t\t\t\t\t\t\t\t<p\r\n\t\t\t\t\t\t\t\t\tv-if=\"userProfile?.isCadacSales || userProfile?.isImpersonated\"\r\n\t\t\t\t\t\t\t\t\tclass=\"mb-0 text-bold\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<a :href=\"asset.data.crmUrl\" target=\"_blank\" :title=\"$t('common.goToCrm')\">\r\n\t\t\t\t\t\t\t\t\t\t{{ asset.data.serialNumber || $t(\"common.notApplicable\") }}\r\n\t\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t<p v-else class=\"mb-0 text-bold\">\r\n\t\t\t\t\t\t\t\t\t{{ asset.data.serialNumber || $t(\"common.notApplicable\") }}\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</Column>\r\n\t\t\t\t\t<Column\r\n\t\t\t\t\t\tfield=\"deployment\"\r\n\t\t\t\t\t\t:header=\"$t('myCadac.contractOverview.table.colProductLicenceType')\"\r\n\t\t\t\t\t\t:hidden=\"isSupportContractTable\"\r\n\t\t\t\t\t\t:sortable=\"false\"\r\n\t\t\t\t\t\tstyle=\"width: 20%\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<template #body=\"asset\">\r\n\t\t\t\t\t\t\t{{ $t(`enum.deployment.${asset.data.deployment}`) }}\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</Column>\r\n\t\t\t\t\t<Column\r\n\t\t\t\t\t\tfield=\"seats\"\r\n\t\t\t\t\t\t:header=\"$t('myCadac.contractOverview.table.colProductSeats')\"\r\n\t\t\t\t\t\t:hidden=\"isSupportContractTable\"\r\n\t\t\t\t\t\t:sortable=\"false\"\r\n\t\t\t\t\t\tstyle=\"width: 20%\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</DataTable>\r\n\t\t\t\t<Message v-else :closable=\"false\" severity=\"warn\">\r\n\t\t\t\t\t{{ $t(\"myCadac.contractOverview.message.noContractAssets\") }}\r\n\t\t\t\t</Message>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t</DataTable>\r\n\t<Card v-if=\"!contracts.length\" class=\"mx-auto mt-2\">\r\n\t\t<template #content>\r\n\t\t\t<p class=\"lead\">\r\n\t\t\t\t{{\r\n\t\t\t\t\tisSupportContractTable || !contracts.length\r\n\t\t\t\t\t\t? $t(\"myCadac.contractOverview.card.noSupportContracts\")\r\n\t\t\t\t\t\t: $t(\"myCadac.contractOverview.card.noContracts\")\r\n\t\t\t\t}}\r\n\t\t\t</p>\r\n\t\t</template>\r\n\t</Card>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Emit, Prop } from \"vue-facing-decorator\";\r\nimport { Contract } from \"@/types/generated/contract\";\r\nimport { ContractAsset } from \"@/types/generated/contractAsset\";\r\nimport { IContractOverview } from \"@/types/viewModels/myCadac/contractOverviewViewModel\";\r\nimport { PropType } from \"vue\";\r\nimport { SwitchStatus } from \"@/types/enum/switchStatus\";\r\nimport { isAfter } from \"date-fns\";\r\nimport { reduce } from \"lodash\";\r\nimport { ContractType } from \"@/types/enum/contractType\";\r\n\r\n@Component({ emits: [\"cancel-contract\"] })\r\nexport default class ContractOverviewTable extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IContractOverview>, required: true, default: {} })\r\n\tvm!: IContractOverview;\r\n\t@Prop({ type: Object as PropType<Contract[]>, required: true, default: {} })\r\n\tcontracts!: Contract[];\r\n\t@Prop({ type: Number as PropType<ContractType>, required: true, default: 0 })\r\n\ttype!: ContractType;\r\n\r\n\t@Emit() cancelContract(contract: Contract): Contract {\r\n\t\treturn contract;\r\n\t}\r\n\r\n\tmaxContractAssetsToShow = 3;\r\n\texpandedRows: Contract[] = [];\r\n\r\n\tget isSupportContractTable(): boolean {\r\n\t\treturn this.type === ContractType.support;\r\n\t}\r\n\r\n\tonRowClick(event: { data: Contract; index: number }): void {\r\n\t\tconst existingRowIndex = this.expandedRows.findIndex(\r\n\t\t\t(x) => x.contractNumber === event.data.contractNumber\r\n\t\t);\r\n\r\n\t\tif (existingRowIndex > -1) {\r\n\t\t\tthis.expandedRows.splice(existingRowIndex, 1);\r\n\t\t} else {\r\n\t\t\tthis.expandedRows.push(event.data);\r\n\t\t}\r\n\t\tthis.expandedRows = [...this.expandedRows];\r\n\t}\r\n\r\n\thighlightRow(contract: Contract): string {\r\n\t\tconst isRowExpanded =\r\n\t\t\tthis.expandedRows.findIndex((x) => x.contractNumber === contract.contractNumber) > -1;\r\n\t\treturn isRowExpanded ? \"highlight\" : \"\";\r\n\t}\r\n\r\n\tgetAutomaticRenewalText(automaticRenewal: boolean): string {\r\n\t\treturn automaticRenewal ? this.$t(\"common.on\") : this.$t(\"common.off\");\r\n\t}\r\n\r\n\tgetContractAssets(contract: Contract): ContractAsset[] {\r\n\t\treturn contract.isSupportContract ? contract.contractSupportAssets : contract.contractAssets;\r\n\t}\r\n\r\n\tgetSortedContractAssets(contract: Contract): ContractAsset[] {\r\n\t\tconst otherAssets: ContractAsset[] = [];\r\n\t\tconst uniqueIconAssets = reduce(\r\n\t\t\tthis.getContractAssets(contract),\r\n\t\t\t(result: ContractAsset[], value: ContractAsset) => {\r\n\t\t\t\tif (result.findIndex((x) => x.productName === value.productName) === -1) {\r\n\t\t\t\t\tresult.push(value);\r\n\t\t\t\t} else {\r\n\t\t\t\t\totherAssets.push(value);\r\n\t\t\t\t}\r\n\t\t\t\treturn result;\r\n\t\t\t},\r\n\t\t\t[] as ContractAsset[]\r\n\t\t);\r\n\t\treturn [...uniqueIconAssets, ...otherAssets];\r\n\t}\r\n\r\n\tisAssetSwitched(contractAsset: ContractAsset): boolean {\r\n\t\treturn contractAsset.switchStatus !== SwitchStatus.notSwitched.valueOf();\r\n\t}\r\n\r\n\tshouldShowContractExpirationWarning(contract: Contract): boolean {\r\n\t\treturn (\r\n\t\t\t(contract.supportsProlongation && contract.remainingDays > 0) ||\r\n\t\t\tcontract.partialContractWarning ||\r\n\t\t\tcontract.prolongationDisabledDueToPendingOrder\r\n\t\t);\r\n\t}\r\n\r\n\tcanExtendOrRenewContract(contract: Contract): boolean {\r\n\t\treturn (\r\n\t\t\tcontract.supportsProlongation &&\r\n\t\t\t!contract.isDatechAutoRenewal &&\r\n\t\t\t!!this.vm.contractDetailPageUrl &&\r\n\t\t\t(!this.isContractExpired(contract) || !contract.prolongationDisabledDueToPendingOrder)\r\n\t\t);\r\n\t}\r\n\r\n\tcanEditContract(contract: Contract): boolean {\r\n\t\treturn (\r\n\t\t\tcontract.supportsChanges &&\r\n\t\t\t!contract.prolongationDisabledDueToPendingOrder &&\r\n\t\t\t!!this.vm.contractChangePageUrl &&\r\n\t\t\t!contract.isDatechAutoRenewalCancelled\r\n\t\t);\r\n\t}\r\n\r\n\tcanCancelContract(contract: Contract): boolean {\r\n\t\treturn contract.isDatechAutoRenewal && contract.isAllowedToCancelDatechAutoRenewal;\r\n\t}\r\n\r\n\tisContractExpired(contract: Contract): boolean {\r\n\t\treturn isAfter(new Date(), this.toDate(contract.endDate));\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n .contract-table {\r\n font-size: 80%;\r\n\r\n @media (min-width: 991px) {\r\n font-size: 100%;\r\n }\r\n }\r\n</style>\r\n","/* Auto Generated */\r\n\r\nexport enum SwitchStatus {\r\n\tswitchIsFinal,\r\n\tswitchIsRequested,\r\n\tnotSwitched,\r\n}\r\n","export enum ContractType {\r\n\tsupport,\r\n\tsoftware,\r\n}\r\n","import { render } from \"./contractOverviewTable.vue?vue&type=template&id=3b4addd6&ts=true\"\nimport script from \"./contractOverviewTable.vue?vue&type=script&lang=ts\"\nexport * from \"./contractOverviewTable.vue?vue&type=script&lang=ts\"\n\nimport \"./contractOverviewTable.vue?vue&type=style&index=0&id=3b4addd6&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, renderList as _renderList, Fragment as _Fragment, createBlock as _createBlock, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1014bbfe\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { key: 0 }\nconst _hoisted_2 = { class: \"\" }\nconst _hoisted_3 = { class: \"mb-2\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"text-danger d-flex flex-nowrap overflow-hidden\"\n}\nconst _hoisted_5 = { class: \"text-nowrap mr-1\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-exclamation-circle\" }, null, -1))\nconst _hoisted_7 = { key: 1 }\nconst _hoisted_8 = { class: \"spacing-column\" }\nconst _hoisted_9 = { class: \"my-1 text-bold text-right text-lg-left\" }\nconst _hoisted_10 = { class: \"d-flex align-items-center\" }\nconst _hoisted_11 = { style: {\"line-height\":\"1.25rem\"} }\nconst _hoisted_12 = { class: \"d-flex justify-content-end flex-grow-1\" }\nconst _hoisted_13 = { class: \"row-expansion-content\" }\nconst _hoisted_14 = { class: \"d-flex align-items-center product-name-wrapper\" }\nconst _hoisted_15 = { class: \"d-flex flex-column align-items-end align-items-lg-start\" }\nconst _hoisted_16 = {\n key: 0,\n class: \"mb-0 text-bold text-right text-lg-left\"\n}\nconst _hoisted_17 = [\"href\", \"title\"]\nconst _hoisted_18 = {\n key: 1,\n class: \"mb-0 text-bold text-right text-lg-left\"\n}\nconst _hoisted_19 = { class: \"badge badge-primary multi-user-badge\" }\nconst _hoisted_20 = { class: \"my-1 text-bold text-right text-lg-left\" }\nconst _hoisted_21 = { class: \"lead\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_PopoverIcon = _resolveComponent(\"PopoverIcon\")!\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_AvatarGroup = _resolveComponent(\"AvatarGroup\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (_ctx.shouldShowTopLevelContractExpirationWarning)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"h6\", _hoisted_2, _toDisplayString(_ctx.$t(\"myCadac.contractOverview.subscription.expirationWarning.title\")), 1),\n _createElementVNode(\"p\", _hoisted_3, _toDisplayString(_ctx.$t('myCadac.contractOverview.subscription.expirationWarning.text')), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.subscriptions.length)\n ? (_openBlock(), _createBlock(_component_DataTable, {\n key: 1,\n \"auto-layout\": \"\",\n \"expanded-rows\": _ctx.expandedRows,\n \"onUpdate:expandedRows\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.expandedRows) = $event)),\n \"responsive-layout\": \"stack\",\n breakpoint: \"991px\",\n \"row-class\": _ctx.highlightRow,\n value: _ctx.subscriptions,\n class: \"subscription-table\"\n }, {\n expansion: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_13, [\n (item?.data?.autodeskContractAssets?.length)\n ? (_openBlock(), _createBlock(_component_DataTable, {\n key: 0,\n value: item?.data?.autodeskContractAssets\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Column, {\n field: \"productName\",\n class: \"name-column\",\n header: _ctx.$t('myCadac.contractOverview.table.colProductName'),\n sortable: false\n }, {\n body: _withCtx((asset) => [\n _createElementVNode(\"div\", _hoisted_14, [\n _createVNode(_component_Avatar, {\n alt: asset.data.productIconAlt,\n class: \"mr-1 bg-transparent flex-shrink-0 d-none d-lg-block\",\n image: asset.data.productIconUrl,\n shape: \"square\",\n size: \"large\",\n title: asset.data.productName\n }, null, 8, [\"alt\", \"image\", \"title\"]),\n _createElementVNode(\"div\", _hoisted_15, [\n (_ctx.userProfile?.isCadacSales || _ctx.userProfile?.isImpersonated)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_16, [\n _createElementVNode(\"a\", {\n href: asset.data.productCrmUrl,\n target: \"_blank\",\n title: _ctx.$t('common.goToCrm')\n }, _toDisplayString(_ctx.formatProductName(asset.data.productName, asset.data.productBrand)), 9, _hoisted_17)\n ]))\n : (_openBlock(), _createElementBlock(\"p\", _hoisted_18, _toDisplayString(_ctx.formatProductName(asset.data.productName, asset.data.productBrand)), 1)),\n _createElementVNode(\"span\", _hoisted_19, _toDisplayString(asset.data.multiSizeUnitString), 1)\n ])\n ])\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n style: {\"width\":\"15%\"},\n field: \"seats\",\n header: _ctx.$t('myCadac.contractOverview.table.colProductSeats'),\n sortable: false\n }, {\n body: _withCtx((asset) => [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"p\", _hoisted_20, _toDisplayString(asset.data.seats), 1)\n ])\n ]),\n _: 1\n }, 8, [\"header\"])\n ]),\n _: 2\n }, 1032, [\"value\"]))\n : (_openBlock(), _createBlock(_component_Message, {\n key: 1,\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.contractOverview.message.noContractAssets\")), 1)\n ]),\n _: 1\n }))\n ])\n ]),\n default: _withCtx(() => [\n _createVNode(_component_Column, { expander: \"\" }),\n _createVNode(_component_Column, {\n key: \"endDate\",\n field: \"endDate\",\n class: \"end-date-column\",\n style: {\"width\":\"25%\"},\n header: _ctx.$t('myCadac.contractOverview.table.colExpiresOn'),\n sortable: false\n }, {\n body: _withCtx((item) => [\n (_ctx.shouldShowContractExpirationWarning(item.data))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"span\", _hoisted_5, _toDisplayString(_ctx.formatDate(item.data.endDate)), 1),\n _createVNode(_component_PopoverIcon, {\n class: \"d-inline-flex\",\n style: {\"line-height\":\"1.75rem\"}\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.$tc(\"myCadac.contractOverview.table.contractExpirationWarning\", {\r\n\t\t\t\t\t\t\t\t\t\tcount: item.data.remainingDays,\r\n\t\t\t\t\t\t\t\t\t})), 1)\n ]),\n default: _withCtx(() => [\n _hoisted_6\n ]),\n _: 2\n }, 1024)\n ]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_7, _toDisplayString(_ctx.formatDate(item.data.endDate)), 1))\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"products\",\n field: \"products\",\n style: {\"width\":\"25%\"},\n header: _ctx.$t('myCadac.contractOverview.table.colProducts'),\n sortable: false\n }, {\n body: _withCtx((item) => [\n _createVNode(_component_AvatarGroup, null, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.getSortedSubscriptionAsset(item.data)?.slice(\r\n\t\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\t_ctx.maxContractAssetsToShow\r\n\t\t\t\t\t\t), (asset, index) => {\n return (_openBlock(), _createBlock(_component_Avatar, {\n key: index,\n alt: asset.productIconAlt,\n class: \"ml-0 bg-transparent\",\n image: asset.productIconUrl,\n shape: \"square\",\n size: \"small\",\n title: asset.productName\n }, null, 8, [\"alt\", \"image\", \"title\"]))\n }), 128)),\n (item.data.autodeskContractAssets?.length > _ctx.maxContractAssetsToShow)\n ? (_openBlock(), _createBlock(_component_Avatar, {\n key: 0,\n class: \"text-bold ml-0\",\n label: `+${item.data.autodeskContractAssets?.length - _ctx.maxContractAssetsToShow}`,\n shape: \"square\",\n size: \"small\"\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 2\n }, 1024)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"renewalTerm\",\n field: \"duration\",\n style: {\"width\":\"15%\"},\n header: _ctx.$t('myCadac.contractOverview.table.colDuration'),\n sortable: false\n }, {\n body: _withCtx((assetDuration) => [\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"p\", _hoisted_9, _toDisplayString(assetDuration.data.duration), 1)\n ])\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"automaticRenewal\",\n field: \"automaticRenewal\",\n style: {\"width\":\"15%\"},\n header: _ctx.$t('myCadac.contractOverview.table.colAutomaticRenewal'),\n sortable: false\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"i\", {\n class: _normalizeClass(item.data.automaticRenewal\r\n\t\t\t\t\t\t? 'pi pi-check text-success mr-1'\r\n\t\t\t\t\t\t: 'pi pi-times text-danger mr-1'\r\n\t\t\t\t\t\t)\n }, null, 2),\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.getAutomaticRenewalText(item.data.automaticRenewal)), 1)\n ])\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"actions\",\n style: {\"width\":\"20%\"}\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_12, [\n (_ctx.shouldShowContractExpirationWarning(item.data))\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-success p-button-sm mt-1\",\n label: _ctx.$t('myCadac.contractOverview.subscription.expirationWarning.buttonText'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => {_ctx.openUrl(_ctx.vm.contactPageUrl, '_blank');\r\n $event.target.disabled = true;})\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"expanded-rows\", \"row-class\", \"value\"]))\n : _createCommentVNode(\"\", true),\n (!_ctx.subscriptions.length)\n ? (_openBlock(), _createBlock(_component_Card, {\n key: 2,\n class: \"mx-auto mt-2\"\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"p\", _hoisted_21, _toDisplayString(_ctx.$t(\"myCadac.contractOverview.card.noContracts\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n <div v-if=\"shouldShowTopLevelContractExpirationWarning\">\r\n <h6 class=\"\">{{ $t(\"myCadac.contractOverview.subscription.expirationWarning.title\") }}</h6>\r\n <p class=\"mb-2\">{{ $t('myCadac.contractOverview.subscription.expirationWarning.text') }}</p>\r\n </div>\r\n <DataTable v-if=\"subscriptions.length\"\r\n auto-layout\r\n v-model:expanded-rows=\"expandedRows\"\r\n responsive-layout=\"stack\"\r\n breakpoint=\"991px\"\r\n :row-class=\"highlightRow\"\r\n :value=\"subscriptions\"\r\n class=\"subscription-table\">\r\n <Column expander />\r\n <Column key=\"endDate\" field=\"endDate\" class=\"end-date-column\" style=\"width: 25%\"\r\n :header=\"$t('myCadac.contractOverview.table.colExpiresOn')\" :sortable=\"false\">\r\n <template #body=\"item\">\r\n <div v-if=\"shouldShowContractExpirationWarning(item.data)\"\r\n class=\"text-danger d-flex flex-nowrap overflow-hidden\">\r\n <span class=\"text-nowrap mr-1\">{{ formatDate(item.data.endDate) }}</span>\r\n <PopoverIcon class=\"d-inline-flex\" style=\"line-height: 1.75rem\">\r\n <i class=\"pi pi-exclamation-circle\" />\r\n <template #content>\r\n <p>\r\n {{\r\n\t\t\t\t\t\t\t\t\t$tc(\"myCadac.contractOverview.table.contractExpirationWarning\", {\r\n\t\t\t\t\t\t\t\t\t\tcount: item.data.remainingDays,\r\n\t\t\t\t\t\t\t\t\t})\r\n }}\r\n </p>\r\n </template>\r\n </PopoverIcon>\r\n </div>\r\n <span v-else>{{ formatDate(item.data.endDate) }}</span>\r\n </template>\r\n </Column>\r\n <Column key=\"products\"\r\n field=\"products\"\r\n style=\"width: 25%\"\r\n :header=\"$t('myCadac.contractOverview.table.colProducts')\"\r\n :sortable=\"false\">\r\n <template #body=\"item\">\r\n <AvatarGroup>\r\n <Avatar v-for=\"(asset, index) in getSortedSubscriptionAsset(item.data)?.slice(\r\n\t\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\tmaxContractAssetsToShow\r\n\t\t\t\t\t\t)\"\r\n :key=\"index\"\r\n :alt=\"asset.productIconAlt\"\r\n class=\"ml-0 bg-transparent\"\r\n :image=\"asset.productIconUrl\"\r\n shape=\"square\"\r\n size=\"small\"\r\n :title=\"asset.productName\">\r\n </Avatar>\r\n <Avatar v-if=\"item.data.autodeskContractAssets?.length > maxContractAssetsToShow\"\r\n class=\"text-bold ml-0\"\r\n :label=\"`+${item.data.autodeskContractAssets?.length - maxContractAssetsToShow}`\"\r\n shape=\"square\"\r\n size=\"small\">\r\n </Avatar>\r\n </AvatarGroup>\r\n </template>\r\n </Column>\r\n <Column key=\"renewalTerm\" field=\"duration\" style=\"width: 15%\"\r\n :header=\"$t('myCadac.contractOverview.table.colDuration')\" :sortable=\"false\">\r\n <template #body=\"assetDuration\">\r\n <div class=\"spacing-column\">\r\n <p class=\"my-1 text-bold text-right text-lg-left\">\r\n {{ assetDuration.data.duration }}\r\n </p>\r\n </div>\r\n </template>\r\n </Column>\r\n <Column key=\"automaticRenewal\" field=\"automaticRenewal\" style=\"width: 15%\"\r\n :header=\"$t('myCadac.contractOverview.table.colAutomaticRenewal')\" :sortable=\"false\">\r\n <template #body=\"item\">\r\n <div class=\"d-flex align-items-center\">\r\n <i :class=\"item.data.automaticRenewal\r\n\t\t\t\t\t\t? 'pi pi-check text-success mr-1'\r\n\t\t\t\t\t\t: 'pi pi-times text-danger mr-1'\r\n\t\t\t\t\t\t\" />\r\n <span style=\"line-height: 1.25rem\">\r\n {{ getAutomaticRenewalText(item.data.automaticRenewal) }}\r\n </span>\r\n </div>\r\n </template>\r\n </Column>\r\n <Column key=\"actions\" style=\"width: 20%\">\r\n <template #body=\"item\">\r\n <div class=\"d-flex justify-content-end flex-grow-1\">\r\n <Button v-if=\"shouldShowContractExpirationWarning(item.data)\"\r\n class=\"p-button-success p-button-sm mt-1\"\r\n :label=\"$t('myCadac.contractOverview.subscription.expirationWarning.buttonText')\"\r\n @click=\"openUrl(vm.contactPageUrl, '_blank');\r\n $event.target.disabled = true;\" />\r\n </div>\r\n </template>\r\n </Column>\r\n <template #expansion=\"item\">\r\n <div class=\"row-expansion-content\">\r\n <DataTable v-if=\"item?.data?.autodeskContractAssets?.length\"\r\n :value=\"item?.data?.autodeskContractAssets\">\r\n <Column field=\"productName\" class=\"name-column\"\r\n :header=\"$t('myCadac.contractOverview.table.colProductName')\" :sortable=\"false\">\r\n <template #body=\"asset\">\r\n <div class=\"d-flex align-items-center product-name-wrapper\">\r\n\r\n <Avatar :alt=\"asset.data.productIconAlt\" class=\"mr-1 bg-transparent flex-shrink-0 d-none d-lg-block\"\r\n :image=\"asset.data.productIconUrl\" shape=\"square\" size=\"large\" :title=\"asset.data.productName\">\r\n </Avatar>\r\n <div class=\"d-flex flex-column align-items-end align-items-lg-start\">\r\n <p v-if=\"userProfile?.isCadacSales || userProfile?.isImpersonated\"\r\n class=\"mb-0 text-bold text-right text-lg-left\">\r\n <a :href=\"asset.data.productCrmUrl\" target=\"_blank\" :title=\"$t('common.goToCrm')\">\r\n {{ formatProductName(asset.data.productName, asset.data.productBrand) }}\r\n </a>\r\n </p>\r\n\r\n <p v-else class=\"mb-0 text-bold text-right text-lg-left\">\r\n {{ formatProductName(asset.data.productName, asset.data.productBrand) }}\r\n </p>\r\n\r\n <span class=\"badge badge-primary multi-user-badge\">\r\n {{ asset.data.multiSizeUnitString }}\r\n </span>\r\n </div>\r\n\r\n </div>\r\n </template>\r\n </Column>\r\n <Column style=\"width: 15%\" field=\"seats\" :header=\"$t('myCadac.contractOverview.table.colProductSeats')\" :sortable=\"false\">\r\n <template #body=\"asset\">\r\n <div>\r\n <p class=\"my-1 text-bold text-right text-lg-left\">\r\n {{ asset.data.seats }}\r\n </p>\r\n </div>\r\n </template>\r\n </Column>\r\n </DataTable>\r\n <Message v-else :closable=\"false\" severity=\"warn\">\r\n {{ $t(\"myCadac.contractOverview.message.noContractAssets\") }}\r\n </Message>\r\n </div>\r\n </template>\r\n </DataTable>\r\n <Card v-if=\"!subscriptions.length\" class=\"mx-auto mt-2\">\r\n <template #content>\r\n <p class=\"lead\">\r\n {{ $t(\"myCadac.contractOverview.card.noContracts\") }}\r\n </p>\r\n </template>\r\n </Card>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Prop, Component } from \"vue-facing-decorator\";\r\nimport { Subscription } from \"@/types/models/subscriptions/subscription\";\r\nimport { IContractOverview } from \"@/types/viewModels/myCadac/contractOverviewViewModel\";\r\nimport { PropType } from \"vue\";\r\nimport { SubscriptionAsset } from '@/types/models/subscriptions/SubscriptionAsset';\r\n\r\n@Component\r\nexport default class SubscriptionOverviewTable extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IContractOverview>, required: true, default: () => ({}) })\r\n\tvm!: IContractOverview;\r\n\t@Prop({ type: Array as PropType<Subscription[]>, required: true, default: () => [] })\t\r\n subscriptions!: Subscription[];\r\n\r\n daysBeforeExpirationWarning = 90;\r\n maxContractAssetsToShow = 3;\r\n expandedRows: Subscription[] = [];\r\n\r\n created() {\r\n // open first subcsription row\r\n //this.expandedRows = [this.subscriptions?.[0]] || [];\r\n }\r\n\r\n highlightRow(contract: any): string {\r\n const isRowExpanded = this.expandedRows?.findIndex((x: any) => x.autodeskContractAssets?.[0]?.serialNumber === contract.autodeskContractAssets?.[0]?.serialNumber) > -1;\r\n return isRowExpanded ? \"highlight\" : \"\";\r\n }\r\n\r\n getSortedSubscriptionAsset(subscription: any): SubscriptionAsset[] {\r\n const otherAssets: SubscriptionAsset[] = [];\r\n\r\n const uniqueIconAssets = subscription.autodeskContractAssets.reduce((result: SubscriptionAsset[], value: SubscriptionAsset) => {\r\n if (result.findIndex((x) => x.productName === value.productName) === -1) {\r\n result.push(value);\r\n } else {\r\n otherAssets.push(value);\r\n }\r\n return result;\r\n },\r\n [] as SubscriptionAsset[]\r\n );\r\n\r\n return [...uniqueIconAssets, ...otherAssets];\r\n }\r\n\r\n\tgetAutomaticRenewalText(automaticRenewal: boolean): string {\r\n\t\treturn automaticRenewal ? this.$t(\"common.on\").toString() : this.$t(\"common.off\").toString();\r\n\t}\r\n\r\n\tisAlmostExpired(subscription: Subscription): boolean {\r\n\t\treturn (\r\n\t\t\t(subscription.remainingDays <= this.daysBeforeExpirationWarning &&\r\n\t\t\t\tsubscription.remainingDays > 0 &&\r\n\t\t\t\t!subscription.automaticRenewal) ||\r\n\t\t\tfalse\r\n\t\t);\r\n\t}\r\n\r\n\tshouldShowContractExpirationWarning(subscription: Subscription): boolean {\r\n\t\treturn this.isAlmostExpired(subscription);\r\n\t}\r\n\r\n\tget shouldShowTopLevelContractExpirationWarning(): boolean {\r\n\t\treturn this.subscriptions.some((subscription) => this.isAlmostExpired(subscription));\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n .subscription-table {\r\n font-size: 80%;\r\n\r\n @media (min-width: 991px) {\r\n font-size: 100%;\r\n }\r\n\r\n .multi-user-badge {\r\n font-size: 80%;\r\n\r\n @media (min-width: 991px) {\r\n font-size: 100%;\r\n }\r\n }\r\n\r\n .name-column {\r\n padding-top: 1.2rem !important;\r\n\r\n @media (min-width: 991px) {\r\n padding-top: 0.5rem !important;\r\n }\r\n\r\n div {\r\n padding: .2rem;\r\n }\r\n }\r\n\r\n .end-date-column {\r\n padding-bottom: 1.2rem !important;\r\n\r\n @media (min-width: 991px) {\r\n padding-bottom: 0.5rem !important;\r\n }\r\n }\r\n }\r\n\r\n .p-column-title {\r\n\t max-width: 50%;\r\n\r\n\t @media (min-width: 991px) {\r\n\t\t max-width: 100%;\r\n\t }\r\n }\r\n\r\n</style>\r\n","import { render } from \"./subscriptionOverviewTable.vue?vue&type=template&id=1014bbfe&scoped=true&ts=true\"\nimport script from \"./subscriptionOverviewTable.vue?vue&type=script&lang=ts\"\nexport * from \"./subscriptionOverviewTable.vue?vue&type=script&lang=ts\"\n\nimport \"./subscriptionOverviewTable.vue?vue&type=style&index=0&id=1014bbfe&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1014bbfe\"]])\n\nexport default __exports__","import { render } from \"./contractOverview.vue?vue&type=template&id=1116389b&ts=true\"\nimport script from \"./contractOverview.vue?vue&type=script&lang=ts\"\nexport * from \"./contractOverview.vue?vue&type=script&lang=ts\"\n\nimport \"./contractOverview.vue?vue&type=style&index=0&id=1116389b&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-079938fd\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"container py-3\" }\nconst _hoisted_2 = { class: \"row\" }\nconst _hoisted_3 = { class: \"col-12 col-lg-8\" }\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = {\n key: 1,\n class: \"lead\"\n}\nconst _hoisted_6 = { class: \"col-12 col-lg-4 order-first order-lg-last mb-3 mb-lg-0\" }\nconst _hoisted_7 = { class: \"sticky-section\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_AdvisorResultCta = _resolveComponent(\"AdvisorResultCta\")!\n const _component_AdvisorAdviceOverview = _resolveComponent(\"AdvisorAdviceOverview\")!\n const _component_AdvisorInsightsOverview = _resolveComponent(\"AdvisorInsightsOverview\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_ctx.vm.pageTitle)\n ? (_openBlock(), _createElementBlock(\"h1\", _hoisted_4, _toDisplayString(_ctx.vm.pageTitle), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.introText)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_5, _toDisplayString(_ctx.vm.introText), 1))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_AdvisorResultCta, {\n vm: { ..._ctx.vm.resultCtaBlockViewModel }\n }, null, 8, [\"vm\"]),\n _createVNode(_component_AdvisorAdviceOverview, {\n \"advice-log-id\": _ctx.vm.adviceLogId,\n \"api-version\": _ctx.vm.apiVersion\n }, null, 8, [\"advice-log-id\", \"api-version\"])\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createVNode(_component_AdvisorInsightsOverview)\n ])\n ])\n ])\n ]))\n}","<template>\r\n\t<div class=\"container py-3\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-12 col-lg-8\">\r\n\t\t\t\t<h1 v-if=\"vm.pageTitle\">{{ vm.pageTitle }}</h1>\r\n\t\t\t\t<p v-if=\"vm.introText\" class=\"lead\">{{ vm.introText }}</p>\r\n\t\t\t\t<!--\t\t\t\t<div v-if=\"userProfile.isCadacSales\" class=\"d-flex align-items-center mb-2\">-->\r\n\t\t\t\t<!--\t\t\t\t\t<Checkbox v-model=\"advisorStore.isAccessRestricted\" binary input-id=\"lock\" name=\"contentLock\" />-->\r\n\t\t\t\t<!--\t\t\t\t\t<label class=\"ml-2 my-auto\" for=\"lock\">Content locked</label>-->\r\n\t\t\t\t<!--\t\t\t\t</div>-->\r\n\r\n\t\t\t\t<AdvisorResultCta :vm=\"{ ...vm.resultCtaBlockViewModel }\" />\r\n\t\t\t\t<AdvisorAdviceOverview :advice-log-id=\"vm.adviceLogId\" :api-version=\"vm.apiVersion\" />\r\n\t\t\t</div>\r\n\t\t\t<div class=\"col-12 col-lg-4 order-first order-lg-last mb-3 mb-lg-0\">\r\n\t\t\t\t<div class=\"sticky-section\">\r\n\t\t\t\t\t<AdvisorInsightsOverview />\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport AdvisorAdviceOverview from \"@/components/advisor/advisorAdviceOverview.vue\";\r\nimport AdvisorInsightsOverview from \"@/components/advisor/advisorInsightsOverview.vue\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport ScrollPanel from \"primevue/scrollpanel\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { IDigitalAdvisor } from \"@/types/viewModels/myCadac/digitalAdvisorViewModel\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport AdvisorResultCta from \"@/components/advisor/advisorResultCta.vue\";\r\nimport { useAdvisorStore } from \"@/store/advisor/advisorStore\";\r\nimport Checkbox from \"primevue/checkbox\";\r\n@Component({\r\n\tcomponents: { AdvisorResultCta, AdvisorAdviceOverview, AdvisorInsightsOverview, ScrollPanel, Checkbox },\r\n})\r\nexport default class DigitalAdvisor extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IDigitalAdvisor>, required: true, default: {} }) vm!: IDigitalAdvisor;\r\n\tadvisorStore = useAdvisorStore();\r\n\r\n\tcreated(): void {\r\n\t\tLog.info(\"DigitalAdvisor\", this.vm);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.sticky-section {\r\n\tposition: sticky;\r\n\ttop: calc(var(--navbarHeightInPx) + 1rem);\r\n}\r\n</style>\r\n","import { resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, createElementBlock as _createElementBlock, renderList as _renderList, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-72ce2f6d\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"row\" }\nconst _hoisted_2 = { class: \"col-12 mx-auto\" }\nconst _hoisted_3 = { class: \"d-flex flex-column justify-content-center align-items-center text-center\" }\nconst _hoisted_4 = { key: 1 }\nconst _hoisted_5 = {\n key: 0,\n class: \"mb-3\"\n}\nconst _hoisted_6 = { class: \"col-8\" }\nconst _hoisted_7 = { class: \"row\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ProgressSpinner = _resolveComponent(\"ProgressSpinner\")!\n const _component_Card = _resolveComponent(\"Card\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_AdvisorTokenAdvice = _resolveComponent(\"AdvisorTokenAdvice\")!\n const _component_AdvisorProductAdvices = _resolveComponent(\"AdvisorProductAdvices\")!\n const _component_BlockUI = _resolveComponent(\"BlockUI\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_ctx.isSpinnerVisible('advice'))\n ? (_openBlock(), _createBlock(_component_Card, { key: 0 }, {\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_ProgressSpinner, {\n \"animation-duration\": \"1.75s\",\n \"stroke-width\": \"4\"\n }),\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.$t(\"myCadac.advisorAdvice.loadingTitle\")), 1),\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.$t(\"myCadac.advisorAdvice.loadingText\")), 1)\n ])\n ]),\n _: 1\n }))\n : (_ctx.hasAdviceError && !_ctx.isBusy)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createVNode(_component_Message, {\n class: \"my-0 w-100\",\n closable: false,\n severity: \"error\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.advisorInsights.message.getInsightsError\")), 1)\n ]),\n _: 1\n })\n ]))\n : (_ctx.showPollMessage)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 2,\n class: \"message-with-button w-100\",\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(\"myCadac.advisorAdvice.message.pollAdviceTimeout\")), 1),\n _createVNode(_component_Button, {\n class: \"p-button-success p-button-sm m-1\",\n label: _ctx.$t('common.tryAgain'),\n onClick: _cache[0] || (_cache[0] = () => _ctx.resumePolling())\n }, null, 8, [\"label\"])\n ]),\n _: 1\n }))\n : (_ctx.showNoAdviceMessage)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 3,\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.advisorAdvice.message.noAdvice\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n (!_ctx.isSpinnerVisible('advice') && _ctx.hasAdvices && _ctx.advisorStore.isAccessRestricted)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createVNode(_component_Message, {\n class: \"message-with-button w-100\",\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_6, _toDisplayString(_ctx.$t(\"myCadac.advisorAdvice.message.contentRestricted\")), 1),\n _createVNode(_component_Button, {\n class: \"col-4 p-button-success p-button-sm\",\n label: _ctx.$t('digitalAdvisor.button.contactUs'),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.initChat(`${_ctx.$t('myCadac.advisorAdvice.chatMessage.unlockAccess')}`)))\n }, null, 8, [\"label\"])\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n (!_ctx.isSpinnerVisible('advice') && _ctx.hasAdvices)\n ? (_openBlock(), _createBlock(_component_BlockUI, {\n key: 1,\n \"auto-z-index\": \"\",\n blocked: _ctx.advisorStore.isAccessRestricted,\n class: \"blurred-content\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_7, [\n (_ctx.tokenAdvice)\n ? (_openBlock(), _createBlock(_component_AdvisorTokenAdvice, {\n key: 0,\n class: \"mb-2\",\n \"token-advice\": _ctx.tokenAdvice\n }, null, 8, [\"token-advice\"]))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.productWithAdvices, (product, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: `product_advice_${index}`,\n class: \"col-md-6 mb-3\"\n }, [\n _createVNode(_component_AdvisorProductAdvices, { product: product }, null, 8, [\"product\"])\n ]))\n }), 128)),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.productWithoutAdvices, (product, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: `product_termination_${index}`,\n class: \"col-md-6 mb-3\"\n }, [\n _createVNode(_component_AdvisorProductAdvices, { product: product }, null, 8, [\"product\"])\n ]))\n }), 128))\n ])\n ]),\n _: 1\n }, 8, [\"blocked\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<div class=\"row\">\r\n\t\t<div class=\"col-12 mx-auto\">\r\n\t\t\t<Card v-if=\"isSpinnerVisible('advice')\">\r\n\t\t\t\t<template #content>\r\n\t\t\t\t\t<div class=\"d-flex flex-column justify-content-center align-items-center text-center\">\r\n\t\t\t\t\t\t<ProgressSpinner animation-duration=\"1.75s\" stroke-width=\"4\" />\r\n\t\t\t\t\t\t<h3>{{ $t(\"myCadac.advisorAdvice.loadingTitle\") }}</h3>\r\n\t\t\t\t\t\t<p>{{ $t(\"myCadac.advisorAdvice.loadingText\") }}</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</Card>\r\n\t\t\t<div v-else-if=\"hasAdviceError && !isBusy\">\r\n\t\t\t\t<Message class=\"my-0 w-100\" :closable=\"false\" severity=\"error\">\r\n\t\t\t\t\t{{ $t(\"myCadac.advisorInsights.message.getInsightsError\") }}\r\n\t\t\t\t</Message>\r\n\t\t\t</div>\r\n\t\t\t<Message\r\n\t\t\t\tv-else-if=\"showPollMessage\"\r\n\t\t\t\tclass=\"message-with-button w-100\"\r\n\t\t\t\t:closable=\"false\"\r\n\t\t\t\tseverity=\"warn\"\r\n\t\t\t>\r\n\t\t\t\t<span> {{ $t(\"myCadac.advisorAdvice.message.pollAdviceTimeout\") }}</span>\r\n\t\t\t\t<Button\r\n\t\t\t\t\tclass=\"p-button-success p-button-sm m-1\"\r\n\t\t\t\t\t:label=\"$t('common.tryAgain')\"\r\n\t\t\t\t\t@click=\"() => resumePolling()\"\r\n\t\t\t\t/>\r\n\t\t\t</Message>\r\n\t\t\t<Message v-else-if=\"showNoAdviceMessage\" :closable=\"false\" severity=\"warn\">\r\n\t\t\t\t{{ $t(\"myCadac.advisorAdvice.message.noAdvice\") }}\r\n\t\t\t</Message>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div v-if=\"!isSpinnerVisible('advice') && hasAdvices && advisorStore.isAccessRestricted\" class=\"mb-3\">\r\n\t\t<Message class=\"message-with-button w-100\" :closable=\"false\" severity=\"warn\">\r\n\t\t\t<div class=\"col-8\">\r\n\t\t\t\t{{ $t(\"myCadac.advisorAdvice.message.contentRestricted\") }}\r\n\t\t\t</div>\r\n\t\t\t<Button\r\n\t\t\t\tclass=\"col-4 p-button-success p-button-sm\"\r\n\t\t\t\t:label=\"$t('digitalAdvisor.button.contactUs')\"\r\n\t\t\t\t@click=\"initChat(`${$t('myCadac.advisorAdvice.chatMessage.unlockAccess')}`)\"\r\n\t\t\t/>\r\n\t\t</Message>\r\n\t</div>\r\n\r\n\t<BlockUI\r\n\t\tv-if=\"!isSpinnerVisible('advice') && hasAdvices\"\r\n\t\tauto-z-index\r\n\t\t:blocked=\"advisorStore.isAccessRestricted\"\r\n\t\tclass=\"blurred-content\"\r\n\t>\r\n\t\t<div class=\"row\">\r\n\t\t\t<AdvisorTokenAdvice v-if=\"tokenAdvice\" class=\"mb-2\" :token-advice=\"tokenAdvice\" />\r\n\r\n\t\t\t<div\r\n\t\t\t\tv-for=\"(product, index) in productWithAdvices\"\r\n\t\t\t\t:key=\"`product_advice_${index}`\"\r\n\t\t\t\tclass=\"col-md-6 mb-3\"\r\n\t\t\t>\r\n\t\t\t\t<AdvisorProductAdvices :product=\"product\" />\r\n\t\t\t</div>\r\n\t\t\t<div\r\n\t\t\t\tv-for=\"(product, index) in productWithoutAdvices\"\r\n\t\t\t\t:key=\"`product_termination_${index}`\"\r\n\t\t\t\tclass=\"col-md-6 mb-3\"\r\n\t\t\t>\r\n\t\t\t\t<AdvisorProductAdvices :product=\"product\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</BlockUI>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport ProgressSpinner from \"primevue/progressspinner\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { ProductAdviceViewModel } from \"@/types/models/advisor/productAdviceViewModel\";\r\nimport { useAdvisorStore } from \"@/store/advisor/advisorStore\";\r\nimport { AdvisorLogStatus } from \"@/types/enum/advisorLogStatus\";\r\nimport { Pausable, useIntervalFn } from \"@vueuse/core\";\r\nimport { TokenAdviceViewModel } from \"@/types/models/advisor/tokenAdviceViewModel\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport AdvisorTokenAdvice from \"@/components/advisor/advisorTokenAdvice.vue\";\r\nimport AdvisorProductAdvices from \"@/components/advisor/advisorProductAdvices.vue\";\r\n\r\n@Component({ components: { AdvisorProductAdvices, AdvisorTokenAdvice, ProgressSpinner } })\r\nexport default class AdvisorAdviceOverview extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: String,\r\n\t\trequired: true,\r\n\t\tdefault: \"\",\r\n\t})\r\n\tadviceLogId!: string;\r\n\r\n\t@Prop({\r\n\t\ttype: String,\r\n\t\trequired: true,\r\n\t\tdefault: \"\",\r\n\t})\r\n\tapiVersion!: string;\r\n\r\n\thasAdviceError = false;\r\n\r\n\tadviceProcessingPoll!: Pausable;\r\n\tpollCount = 0;\r\n\tpollStatus!: AdvisorLogStatus;\r\n\tpollIntervalMs = 30000;\r\n\tpollIntervalLimit = 3;\r\n\tadvisorStore = useAdvisorStore();\r\n\r\n\tcreated(): void {\r\n\t\tthis.pollAdviceProcessing();\r\n\t}\r\n\r\n\tget isPolling(): boolean {\r\n\t\treturn (\r\n\t\t\tthis.adviceProcessingPoll?.isActive &&\r\n\t\t\t(this.pollStatus === AdvisorLogStatus.Queued || this.pollStatus === AdvisorLogStatus.Processing)\r\n\t\t);\r\n\t}\r\n\r\n\tget productWithAdvices(): ProductAdviceViewModel[] | undefined {\r\n\t\treturn this.advisorStore.productAdvices?.filter((x) => x.nextStepAdvices.length);\r\n\t}\r\n\r\n\tget productWithoutAdvices(): ProductAdviceViewModel[] | undefined {\r\n\t\treturn this.advisorStore.productAdvices?.filter((x) => !x.nextStepAdvices.length);\r\n\t}\r\n\r\n\tget tokenAdvice(): TokenAdviceViewModel | undefined {\r\n\t\treturn this.advisorStore.tokenAdvice;\r\n\t}\r\n\r\n\tget showPollMessage(): boolean {\r\n\t\treturn !this.isPolling && this.pollStatus !== AdvisorLogStatus.Finished;\r\n\t}\r\n\r\n\tget showNoAdviceMessage(): boolean {\r\n\t\treturn !this.isPolling && !this.advisorStore.hasAdviceToShow && !this.advisorStore.hasTokenAdviceToShow;\r\n\t}\r\n\r\n\tget hasAdvices(): boolean {\r\n\t\treturn this.advisorStore.hasAdviceToShow || this.advisorStore.hasTokenAdviceToShow;\r\n\t}\r\n\r\n\tinitChat(message: string): void {\r\n\t\tthis.chatWidget.open({ name: message });\r\n\t}\r\n\r\n\tpausePolling(): void {\r\n\t\tthis.loadingStore.hideSpinner(\"advice\");\r\n\t\tthis.adviceProcessingPoll?.pause();\r\n\t}\r\n\r\n\tresumePolling(): void {\r\n\t\tthis.loadingStore.showSpinner(\"advice\");\r\n\t\tthis.adviceProcessingPoll?.resume();\r\n\t}\r\n\r\n\tprivate pollAdviceProcessing(): void {\r\n\t\tthis.loadingStore.showSpinner(\"advice\");\r\n\t\tthis.adviceProcessingPoll = useIntervalFn(\r\n\t\t\t() => {\r\n\t\t\t\tthis.advisorStore\r\n\t\t\t\t\t.pollAdviceCalculation(this.adviceLogId)\r\n\t\t\t\t\t.then((x) => {\r\n\t\t\t\t\t\tthis.pollStatus = x.status;\r\n\t\t\t\t\t\tif (x.status === AdvisorLogStatus.Finished) {\r\n\t\t\t\t\t\t\tthis.pausePolling();\r\n\t\t\t\t\t\t\tthis.fetchAdvice(x.adviceId);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (x.status === AdvisorLogStatus.Error) {\r\n\t\t\t\t\t\t\tthis.pausePolling();\r\n\t\t\t\t\t\t\tthis.hasAdviceError = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((e) => {\r\n\t\t\t\t\t\tthis.pausePolling();\r\n\t\t\t\t\t\tLog.error(e);\r\n\t\t\t\t\t\tthis.hasAdviceError = true;\r\n\t\t\t\t\t});\r\n\t\t\t\tthis.pollCount++;\r\n\t\t\t\tif (this.pollCount % this.pollIntervalLimit === 0) {\r\n\t\t\t\t\tthis.pausePolling();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tthis.pollIntervalMs,\r\n\t\t\t{ immediate: true, immediateCallback: true }\r\n\t\t);\r\n\t}\r\n\r\n\tprivate fetchAdvice(adviceId: string): void {\r\n\t\tthis.loadingStore.showSpinner(\"advice\");\r\n\t\tthis.advisorStore\r\n\t\t\t.getAdvice(adviceId, this.adviceLogId, this.apiVersion)\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.hasAdviceError = false;\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.hasAdviceError = true;\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.loadingStore.hideSpinner(\"advice\");\r\n\t\t\t});\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n::v-deep(.p-component-overlay-enter) {\r\n\tanimation: p-component-overlay-content-lock-animation-enter 150ms forwards;\r\n}\r\n\r\n::v-deep(.p-component-overlay-leave) {\r\n\tanimation: p-component-overlay-content-lock-animation-leave 150ms forwards;\r\n}\r\n\r\n@keyframes p-component-overlay-content-lock-animation-enter {\r\n\tfrom {\r\n\t\tbackground-color: transparent;\r\n\t}\r\n\tto {\r\n\t\ttransform-style: preserve-3d;\r\n\t\tbackdrop-filter: blur(4px);\r\n\t\tbackground-color: rgba(0, 0, 0, 0.02);\r\n\t\tborder-radius: 10px;\r\n\t\tbox-shadow: 0 0 8px 8px rgba(0, 0, 0, 0.05);\r\n\t}\r\n}\r\n\r\n@keyframes p-component-overlay-content-lock-animation-leave {\r\n\tfrom {\r\n\t\ttransform-style: preserve-3d;\r\n\t\tbackdrop-filter: blur(4px);\r\n\t\tbackground-color: rgba(0, 0, 0, 0.02);\r\n\t\tborder-radius: 10px;\r\n\t\tbox-shadow: 0 0 8px 8px rgba(0, 0, 0, 0.05);\r\n\t}\r\n\tto {\r\n\t\tbackground-color: transparent;\r\n\t}\r\n}\r\n\r\n::v-deep(.blurred-content) {\r\n\theight: 100%;\r\n\twidth: 100%;\r\n\toverflow: visible;\r\n\r\n\t.p-component-overlay:before {\r\n\t\tcontent: \"\\e95f\";\r\n\t\tfont-family: primeicons;\r\n\t\tfont-style: normal;\r\n\t\tfont-size: 3.25rem;\r\n\t\tfont-weight: 400;\r\n\t\tfont-variant: normal;\r\n\t\tposition: absolute;\r\n\t\ttop: 50%;\r\n\t\tleft: 50%;\r\n\t\ttransform: translate(-50%, -50%);\r\n\t}\r\n}\r\n\r\n::v-deep(.p-avatar) {\r\n\timg {\r\n\t\tbackground-color: var(--surface-a);\r\n\t\twidth: 100%;\r\n\t\theight: 100%;\r\n\t}\r\n}\r\n</style>\r\n","import { resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, withCtx as _withCtx, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-17ff0c18\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"col-12 mb-3\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"token-card pb-3 pt-2\"\n}\nconst _hoisted_3 = { class: \"d-flex flex-column justify-content-center align-items-center\" }\nconst _hoisted_4 = { class: \"text-primary font-weight-normal text-center\" }\nconst _hoisted_5 = { class: \"text-primary\" }\nconst _hoisted_6 = { class: \"text-primary\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"token-advice-icon-group d-flex gap-1 mb-3\"\n}\nconst _hoisted_8 = {\n key: 1,\n class: \"container\"\n}\nconst _hoisted_9 = { class: \"row mx-1\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_font_awesome_icon = _resolveComponent(\"font-awesome-icon\")!\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_AdvisorTokenAdviceContent = _resolveComponent(\"AdvisorTokenAdviceContent\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_ctx.tokenAdvice && _ctx.tokenAdvice?.amount > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_font_awesome_icon, {\n class: \"icon-2\",\n icon: ['far', 'coins'],\n size: \"3x\"\n }),\n _createElementVNode(\"h3\", _hoisted_4, _toDisplayString(_ctx.$t(\"myCadac.advisorAdvice.productTitleFlex\")), 1),\n _createVNode(_component_i18n_t, {\n class: \"mb-2 text-center\",\n keypath: \"myCadac.advisorAdvice.flexTokenCta\",\n scope: \"global\",\n tag: \"p\"\n }, {\n amount: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.tokenAdvice.amount), 1)\n ]),\n price: _withCtx(() => [\n _createElementVNode(\"b\", _hoisted_5, _toDisplayString(_ctx.formatCurrency(_ctx.tokenAdvice.totalPrice)), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_i18n_t, {\n class: \"mb-2 text-center\",\n keypath: \"myCadac.advisorAdvice.relatedProductsAdvice\",\n scope: \"global\",\n tag: \"p\"\n }, {\n firstTokenUse: _withCtx(() => [\n _createElementVNode(\"b\", _hoisted_6, _toDisplayString(_ctx.formatDate(_ctx.tokenAdvice.firstTokenUse)), 1)\n ]),\n _: 1\n }),\n (_ctx.tokenAdvice.relatedProducts.length)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.tokenAdvice.relatedProducts.slice(\r\n\t\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\t_ctx.maxTokenAdviceRelatedProducts\r\n\t\t\t\t\t\t), (relatedProduct, index) => {\n return (_openBlock(), _createBlock(_component_Avatar, {\n key: `nextStepAdvice_${index}`,\n image: relatedProduct.iconUrl,\n size: \"large\"\n }, null, 8, [\"image\"]))\n }), 128)),\n (_ctx.tokenAdvice.relatedProducts.length > _ctx.maxTokenAdviceRelatedProducts)\n ? (_openBlock(), _createBlock(_component_Avatar, {\n key: 0,\n class: \"plus-badge\",\n label: `+${_ctx.tokenAdvice.relatedProducts.length - _ctx.maxTokenAdviceRelatedProducts}`,\n shape: \"circle\",\n size: \"large\"\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.tokenAdvice?.relatedProducts)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n _createVNode(_component_AdvisorTokenAdviceContent, {\n collapsed: _ctx.collapsed,\n \"related-products\": _ctx.tokenAdvice.relatedProducts\n }, null, 8, [\"collapsed\", \"related-products\"])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.tokenAdvice && _ctx.tokenAdvice?.amount > 0 && _ctx.tokenAdvice?.relatedProducts)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: \"expand-button\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.collapsed = !_ctx.collapsed))\n }, [\n _createVNode(_component_font_awesome_icon, {\n icon: ['fas', _ctx.collapsed ? 'chevrons-down' : 'chevrons-up']\n }, null, 8, [\"icon\"])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}","<template>\r\n\t<div class=\"col-12 mb-3\">\r\n\t\t<div v-if=\"tokenAdvice && tokenAdvice?.amount > 0\" class=\"token-card pb-3 pt-2\">\r\n\t\t\t<div class=\"d-flex flex-column justify-content-center align-items-center\">\r\n\t\t\t\t<font-awesome-icon class=\"icon-2\" :icon=\"['far', 'coins']\" size=\"3x\" />\r\n\t\t\t\t<h3 class=\"text-primary font-weight-normal text-center\">\r\n\t\t\t\t\t{{ $t(\"myCadac.advisorAdvice.productTitleFlex\") }}\r\n\t\t\t\t</h3>\r\n\t\t\t\t<i18n-t\r\n\t\t\t\t\tclass=\"mb-2 text-center\"\r\n\t\t\t\t\tkeypath=\"myCadac.advisorAdvice.flexTokenCta\"\r\n\t\t\t\t\tscope=\"global\"\r\n\t\t\t\t\ttag=\"p\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #amount>\r\n\t\t\t\t\t\t<b>{{ tokenAdvice.amount }}</b>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template #price>\r\n\t\t\t\t\t\t<b class=\"text-primary\">{{ formatCurrency(tokenAdvice.totalPrice) }}</b>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</i18n-t>\r\n\r\n\t\t\t\t<i18n-t\r\n\t\t\t\t\tclass=\"mb-2 text-center\"\r\n\t\t\t\t\tkeypath=\"myCadac.advisorAdvice.relatedProductsAdvice\"\r\n\t\t\t\t\tscope=\"global\"\r\n\t\t\t\t\ttag=\"p\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #firstTokenUse>\r\n\t\t\t\t\t\t<b class=\"text-primary\">{{ formatDate(tokenAdvice.firstTokenUse) }}</b>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</i18n-t>\r\n\r\n\t\t\t\t<div v-if=\"tokenAdvice.relatedProducts.length\" class=\"token-advice-icon-group d-flex gap-1 mb-3\">\r\n\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\tv-for=\"(relatedProduct, index) in tokenAdvice.relatedProducts.slice(\r\n\t\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\tmaxTokenAdviceRelatedProducts\r\n\t\t\t\t\t\t)\"\r\n\t\t\t\t\t\t:key=\"`nextStepAdvice_${index}`\"\r\n\t\t\t\t\t\t:image=\"relatedProduct.iconUrl\"\r\n\t\t\t\t\t\tsize=\"large\"\r\n\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\tv-if=\"tokenAdvice.relatedProducts.length > maxTokenAdviceRelatedProducts\"\r\n\t\t\t\t\t\tclass=\"plus-badge\"\r\n\t\t\t\t\t\t:label=\"`+${tokenAdvice.relatedProducts.length - maxTokenAdviceRelatedProducts}`\"\r\n\t\t\t\t\t\tshape=\"circle\"\r\n\t\t\t\t\t\tsize=\"large\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div v-if=\"tokenAdvice?.relatedProducts\" class=\"container\">\r\n\t\t\t\t\t<div class=\"row mx-1\">\r\n\t\t\t\t\t\t<AdvisorTokenAdviceContent\r\n\t\t\t\t\t\t\t:collapsed=\"collapsed\"\r\n\t\t\t\t\t\t\t:related-products=\"tokenAdvice.relatedProducts\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<!--\t\t\t\t\t<Button-->\r\n\t\t\t\t<!--\t\t\t\t\t\tclass=\"p-button-success p-button-arrow p-button-sm\"-->\r\n\t\t\t\t<!--\t\t\t\t\t\t:label=\"$t('digitalAdvisor.button.contactUs')\"-->\r\n\t\t\t\t<!--\t\t\t\t\t\t@click=\"initChatToken()\"-->\r\n\t\t\t\t<!--\t\t\t\t\t/>-->\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<!--\t\tsimplify v-if, adding this due to time constraint-->\r\n\t\t<div\r\n\t\t\tv-if=\"tokenAdvice && tokenAdvice?.amount > 0 && tokenAdvice?.relatedProducts\"\r\n\t\t\tclass=\"expand-button\"\r\n\t\t\t@click=\"collapsed = !collapsed\"\r\n\t\t>\r\n\t\t\t<font-awesome-icon :icon=\"['fas', collapsed ? 'chevrons-down' : 'chevrons-up']\" />\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport ProgressSpinner from \"primevue/progressspinner\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { TokenAdviceViewModel } from \"@/types/models/advisor/tokenAdviceViewModel\";\r\nimport AdvisorTokenAdvice from \"@/components/advisor/advisorTokenAdvice.vue\";\r\nimport { PropType } from \"vue\";\r\nimport AdvisorTokenAdviceContent from \"@/components/advisor/advisorTokenAdviceContent.vue\";\r\n\r\n@Component({ components: { AdvisorTokenAdviceContent, AdvisorTokenAdvice, ProgressSpinner } })\r\nexport default class AdvisorAdviceOverview extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<TokenAdviceViewModel>,\r\n\t\trequired: true,\r\n\t})\r\n\ttokenAdvice!: TokenAdviceViewModel;\r\n\tcollapsed = true;\r\n\r\n\tget maxTokenAdviceRelatedProducts(): number {\r\n\t\tif (this.isMobile) {\r\n\t\t\treturn 4;\r\n\t\t} else if (this.isTablet) {\r\n\t\t\treturn 5;\r\n\t\t} else if (this.isLargeScreen) {\r\n\t\t\treturn 6;\r\n\t\t} else return 6;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.token-card {\r\n\tposition: relative;\r\n\tbackground: #ffffff;\r\n\tcolor: #495057;\r\n\tbox-shadow:\r\n\t\t0px 2px 1px -1px rgba(0, 0, 0, 0.2),\r\n\t\t0px 1px 1px 0px rgba(0, 0, 0, 0.14),\r\n\t\t0px 1px 3px 0px rgba(0, 0, 0, 0.12);\r\n\tborder-radius: 3px;\r\n}\r\n\r\n::v-deep(.p-avatar) {\r\n\timg {\r\n\t\tbackground-color: var(--surface-a);\r\n\t\twidth: 100%;\r\n\t\theight: 100%;\r\n\t}\r\n}\r\n.plus-badge {\r\n\tbackground-color: #949494;\r\n\tcolor: #ffffff;\r\n}\r\n\r\n.expand-button {\r\n\tposition: absolute;\r\n\tbottom: 0;\r\n\tleft: 50%;\r\n\tpadding: 1rem;\r\n\twidth: 3rem;\r\n\theight: 3rem;\r\n\tborder-radius: 50%;\r\n\tbox-shadow:\r\n\t\t0px 2px 1px -1px rgba(0, 0, 0, 0.2),\r\n\t\t0px 1px 1px 0px rgba(0, 0, 0, 0.14),\r\n\t\t0px 1px 3px 0px rgba(0, 0, 0, 0.12);\r\n\talign-items: center;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\ttransform: translate(-50%, 50%);\r\n\tbackground-color: #ffffff;\r\n\r\n\t&:hover {\r\n\t\tbackground-color: var(--success-color);\r\n\t\tcolor: #ffffff;\r\n\t\tcursor: pointer;\r\n\t}\r\n}\r\n</style>\r\n","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, createTextVNode as _createTextVNode, vShow as _vShow, withDirectives as _withDirectives, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2759d66d\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"advice-section mx-2 py-2 text-center w-100\"\n}\nconst _hoisted_2 = { class: \"advice-section py-2 px-2\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"d-flex flex-row align-items-center justify-content-center mb-2\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (_ctx.collapsed && _ctx.relatedProducts.length > 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_i18n_t, {\n class: \"text-center\",\n keypath: \"myCadac.advisorAdvice.adviceAmount\",\n scope: \"global\",\n tag: \"p\"\n }, {\n amount: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.relatedProducts.length), 1)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.relatedProducts, (relatedProduct, index) => {\n return _withDirectives((_openBlock(), _createElementBlock(\"div\", {\n key: `nextStepAdvice_${index}`,\n class: \"col-6 mb-3\"\n }, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_ctx.relatedProducts.length > 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode(_component_Avatar, {\n image: relatedProduct.iconUrl,\n size: \"large\"\n }, null, 8, [\"image\"])\n ]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_i18n_t, {\n class: \"text-center text-primary font-weight-normal\",\n keypath: \"myCadac.advisorAdvice.tokenAdviceTitle\",\n scope: \"global\",\n tag: \"b\"\n }, {\n product: _withCtx(() => [\n _createTextVNode(_toDisplayString(relatedProduct.name), 1)\n ]),\n _: 2\n }, 1024),\n _createVNode(_component_i18n_t, {\n class: \"text-center\",\n keypath: \"myCadac.advisorAdvice.tokenAdviceMessage\",\n scope: \"global\",\n tag: \"p\"\n }, {\n tokenAmount: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(relatedProduct.tokenAmount), 1)\n ]),\n _: 2\n }, 1024)\n ])\n ])), [\n [_vShow, !_ctx.collapsed || _ctx.relatedProducts.length < 2]\n ])\n }), 128))\n ], 64))\n}","<template>\r\n\t<div v-if=\"collapsed && relatedProducts.length > 1\" class=\"advice-section mx-2 py-2 text-center w-100\">\r\n\t\t<i18n-t class=\"text-center\" keypath=\"myCadac.advisorAdvice.adviceAmount\" scope=\"global\" tag=\"p\">\r\n\t\t\t<template #amount>\r\n\t\t\t\t<b>{{ relatedProducts.length }}</b>\r\n\t\t\t</template>\r\n\t\t</i18n-t>\r\n\t</div>\r\n\r\n\t<div\r\n\t\tv-for=\"(relatedProduct, index) in relatedProducts\"\r\n\t\tv-show=\"!collapsed || relatedProducts.length < 2\"\r\n\t\t:key=\"`nextStepAdvice_${index}`\"\r\n\t\tclass=\"col-6 mb-3\"\r\n\t>\r\n\t\t<div class=\"advice-section py-2 px-2\">\r\n\t\t\t<div\r\n\t\t\t\tv-if=\"relatedProducts.length > 1\"\r\n\t\t\t\tclass=\"d-flex flex-row align-items-center justify-content-center mb-2\"\r\n\t\t\t>\r\n\t\t\t\t<Avatar :image=\"relatedProduct.iconUrl\" size=\"large\" />\r\n\t\t\t</div>\r\n\r\n\t\t\t<i18n-t\r\n\t\t\t\tclass=\"text-center text-primary font-weight-normal\"\r\n\t\t\t\tkeypath=\"myCadac.advisorAdvice.tokenAdviceTitle\"\r\n\t\t\t\tscope=\"global\"\r\n\t\t\t\ttag=\"b\"\r\n\t\t\t>\r\n\t\t\t\t<template #product>\r\n\t\t\t\t\t{{ relatedProduct.name }}\r\n\t\t\t\t</template>\r\n\t\t\t</i18n-t>\r\n\r\n\t\t\t<i18n-t class=\"text-center\" keypath=\"myCadac.advisorAdvice.tokenAdviceMessage\" scope=\"global\" tag=\"p\">\r\n\t\t\t\t<template #tokenAmount>\r\n\t\t\t\t\t<b>{{ relatedProduct.tokenAmount }}</b>\r\n\t\t\t\t</template>\r\n\t\t\t</i18n-t>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport ProgressSpinner from \"primevue/progressspinner\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport AdvisorTokenAdvice from \"@/components/advisor/advisorTokenAdvice.vue\";\r\nimport { PropType } from \"vue\";\r\nimport Divider from \"primevue/divider\";\r\nimport { RelatedProductsViewModel } from \"@/types/models/advisor/relatedProductsViewModel\";\r\n\r\n@Component({ components: { AdvisorTokenAdvice, ProgressSpinner, Divider } })\r\nexport default class AdvisorTokenAdviceContent extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<RelatedProductsViewModel[]>,\r\n\t\trequired: true,\r\n\t})\r\n\trelatedProducts!: RelatedProductsViewModel[];\r\n\r\n\t@Prop({\r\n\t\ttype: Boolean,\r\n\t\trequired: false,\r\n\t})\r\n\tcollapsed!: boolean;\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.advice-section {\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tbackground-color: rgba(32, 176, 101, 0.06);\r\n\tborder-radius: 4px;\r\n\theight: 100%;\r\n}\r\n</style>\r\n","import { render } from \"./advisorTokenAdviceContent.vue?vue&type=template&id=2759d66d&scoped=true&ts=true\"\nimport script from \"./advisorTokenAdviceContent.vue?vue&type=script&lang=ts\"\nexport * from \"./advisorTokenAdviceContent.vue?vue&type=script&lang=ts\"\n\nimport \"./advisorTokenAdviceContent.vue?vue&type=style&index=0&id=2759d66d&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2759d66d\"]])\n\nexport default __exports__","import { render } from \"./advisorTokenAdvice.vue?vue&type=template&id=17ff0c18&scoped=true&ts=true\"\nimport script from \"./advisorTokenAdvice.vue?vue&type=script&lang=ts\"\nexport * from \"./advisorTokenAdvice.vue?vue&type=script&lang=ts\"\n\nimport \"./advisorTokenAdvice.vue?vue&type=style&index=0&id=17ff0c18&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-17ff0c18\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2f97c0f2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"advice-card pb-3\" }\nconst _hoisted_2 = { class: \"advice-card-content\" }\nconst _hoisted_3 = { class: \"advice-card-header\" }\nconst _hoisted_4 = { class: \"\" }\nconst _hoisted_5 = { class: \"text-primary font-weight-normal text-center\" }\nconst _hoisted_6 = { class: \"advice-card-header-icons\" }\nconst _hoisted_7 = { class: \"mt-2 text-center\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_font_awesome_icon = _resolveComponent(\"font-awesome-icon\")!\n const _component_AvatarGroup = _resolveComponent(\"AvatarGroup\")!\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_AdvisorProductAdviceContent = _resolveComponent(\"AdvisorProductAdviceContent\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"h3\", _hoisted_5, _toDisplayString(_ctx.product.currentProduct.name), 1),\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(_component_Avatar, {\n image: _ctx.product.currentProduct.iconUrl,\n size: \"xlarge\"\n }, null, 8, [\"image\"]),\n (_ctx.product.nextStepAdvices.length > 1)\n ? (_openBlock(), _createBlock(_component_font_awesome_icon, {\n key: 0,\n icon: ['far', 'arrow-right-long'],\n size: \"lg\"\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.product.nextStepAdvices.length > 1)\n ? (_openBlock(), _createBlock(_component_AvatarGroup, { key: 1 }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.product.nextStepAdvices.slice(\r\n\t\t\t\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\t\t\t_ctx.maxNextStepAdviceIcons\r\n\t\t\t\t\t\t\t\t), (nextStepAdvice, index) => {\n return (_openBlock(), _createBlock(_component_Avatar, {\n key: `nextStepAdvice_${index}`,\n image: nextStepAdvice.iconUrl,\n size: \"large\"\n }, null, 8, [\"image\"]))\n }), 128)),\n (_ctx.product.nextStepAdvices.length > _ctx.maxNextStepAdviceIcons)\n ? (_openBlock(), _createBlock(_component_Avatar, {\n key: 0,\n class: \"plus-badge\",\n label: `+${_ctx.product.nextStepAdvices.length - _ctx.maxNextStepAdviceIcons}`,\n shape: \"circle\",\n size: \"large\"\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createVNode(_component_i18n_t, {\n class: \"text-center\",\n keypath: \"myCadac.advisorAdvice.contractNumber\",\n scope: \"global\",\n tag: \"p\"\n }, {\n contractNumber: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.product.currentContractNumber), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_i18n_t, {\n class: \"text-center\",\n keypath: \"myCadac.advisorAdvice.licenceNumber\",\n scope: \"global\",\n tag: \"p\"\n }, {\n licenceNumber: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.product.currentSerialNumber), 1)\n ]),\n _: 1\n }),\n _createVNode(_component_i18n_t, {\n class: \"text-center\",\n keypath: \"myCadac.advisorAdvice.amountSeats\",\n scope: \"global\",\n tag: \"p\"\n }, {\n seats: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.product.currentProduct.seats), 1)\n ]),\n _: 1\n })\n ])\n ])\n ]),\n _createVNode(_component_AdvisorProductAdviceContent, {\n collapsed: _ctx.collapsed,\n \"current-product\": _ctx.product.currentProduct,\n \"next-step-advices\": _ctx.product.nextStepAdvices\n }, null, 8, [\"collapsed\", \"current-product\", \"next-step-advices\"])\n ]),\n (_ctx.product.nextStepAdvices.length > 1)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"expand-button\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.collapsed = !_ctx.collapsed))\n }, [\n _createVNode(_component_font_awesome_icon, {\n icon: ['fas', _ctx.collapsed ? 'chevrons-down' : 'chevrons-up']\n }, null, 8, [\"icon\"])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n}","<template>\r\n\t<div class=\"advice-card pb-3\">\r\n\t\t<div class=\"advice-card-content\">\r\n\t\t\t<div class=\"advice-card-header\">\r\n\t\t\t\t<div class=\"\">\r\n\t\t\t\t\t<h3 class=\"text-primary font-weight-normal text-center\">\r\n\t\t\t\t\t\t{{ product.currentProduct.name }}\r\n\t\t\t\t\t</h3>\r\n\t\t\t\t\t<div class=\"advice-card-header-icons\">\r\n\t\t\t\t\t\t<Avatar :image=\"product.currentProduct.iconUrl\" size=\"xlarge\" />\r\n\t\t\t\t\t\t<font-awesome-icon\r\n\t\t\t\t\t\t\tv-if=\"product.nextStepAdvices.length > 1\"\r\n\t\t\t\t\t\t\t:icon=\"['far', 'arrow-right-long']\"\r\n\t\t\t\t\t\t\tsize=\"lg\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<AvatarGroup v-if=\"product.nextStepAdvices.length > 1\">\r\n\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\tv-for=\"(nextStepAdvice, index) in product.nextStepAdvices.slice(\r\n\t\t\t\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\t\t\tmaxNextStepAdviceIcons\r\n\t\t\t\t\t\t\t\t)\"\r\n\t\t\t\t\t\t\t\t:key=\"`nextStepAdvice_${index}`\"\r\n\t\t\t\t\t\t\t\t:image=\"nextStepAdvice.iconUrl\"\r\n\t\t\t\t\t\t\t\tsize=\"large\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\tv-if=\"product.nextStepAdvices.length > maxNextStepAdviceIcons\"\r\n\t\t\t\t\t\t\t\tclass=\"plus-badge\"\r\n\t\t\t\t\t\t\t\t:label=\"`+${product.nextStepAdvices.length - maxNextStepAdviceIcons}`\"\r\n\t\t\t\t\t\t\t\tshape=\"circle\"\r\n\t\t\t\t\t\t\t\tsize=\"large\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</AvatarGroup>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"mt-2 text-center\">\r\n\t\t\t\t\t\t<i18n-t\r\n\t\t\t\t\t\t\tclass=\"text-center\"\r\n\t\t\t\t\t\t\tkeypath=\"myCadac.advisorAdvice.contractNumber\"\r\n\t\t\t\t\t\t\tscope=\"global\"\r\n\t\t\t\t\t\t\ttag=\"p\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<template #contractNumber\r\n\t\t\t\t\t\t\t\t><b>{{ product.currentContractNumber }} </b></template\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t</i18n-t>\r\n\r\n\t\t\t\t\t\t<i18n-t\r\n\t\t\t\t\t\t\tclass=\"text-center\"\r\n\t\t\t\t\t\t\tkeypath=\"myCadac.advisorAdvice.licenceNumber\"\r\n\t\t\t\t\t\t\tscope=\"global\"\r\n\t\t\t\t\t\t\ttag=\"p\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<template #licenceNumber\r\n\t\t\t\t\t\t\t\t><b>{{ product.currentSerialNumber }} </b></template\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t</i18n-t>\r\n\r\n\t\t\t\t\t\t<i18n-t\r\n\t\t\t\t\t\t\tclass=\"text-center\"\r\n\t\t\t\t\t\t\tkeypath=\"myCadac.advisorAdvice.amountSeats\"\r\n\t\t\t\t\t\t\tscope=\"global\"\r\n\t\t\t\t\t\t\ttag=\"p\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<template #seats>\r\n\t\t\t\t\t\t\t\t<b>{{ product.currentProduct.seats }}</b>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</i18n-t>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<AdvisorProductAdviceContent\r\n\t\t\t\t:collapsed=\"collapsed\"\r\n\t\t\t\t:current-product=\"product.currentProduct\"\r\n\t\t\t\t:next-step-advices=\"product.nextStepAdvices\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t\t<div v-if=\"product.nextStepAdvices.length > 1\" class=\"expand-button\" @click=\"collapsed = !collapsed\">\r\n\t\t\t<font-awesome-icon :icon=\"['fas', collapsed ? 'chevrons-down' : 'chevrons-up']\" />\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport ProgressSpinner from \"primevue/progressspinner\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport AdvisorTokenAdvice from \"@/components/advisor/advisorTokenAdvice.vue\";\r\nimport { PropType } from \"vue\";\r\nimport { ProductAdviceViewModel } from \"@/types/models/advisor/productAdviceViewModel\";\r\nimport AdvisorProductAdviceContent from \"@/components/advisor/advisorProductAdviceContent.vue\";\r\n\r\n@Component({ components: { AdvisorProductAdviceContent, AdvisorTokenAdvice, ProgressSpinner } })\r\nexport default class AdvisorAdviceOverview extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<ProductAdviceViewModel>,\r\n\t\trequired: true,\r\n\t})\r\n\tproduct!: ProductAdviceViewModel;\r\n\r\n\tcollapsed = true;\r\n\tmaxNextStepAdviceIcons = 3;\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.advice-card {\r\n\tposition: relative;\r\n\tbackground: #ffffff;\r\n\tcolor: #495057;\r\n\tbox-shadow:\r\n\t\t0px 2px 1px -1px rgba(0, 0, 0, 0.2),\r\n\t\t0px 1px 1px 0px rgba(0, 0, 0, 0.14),\r\n\t\t0px 1px 3px 0px rgba(0, 0, 0, 0.12);\r\n\tborder-radius: 3px;\r\n\r\n\t&.p-card,\r\n\t.p-card-body,\r\n\t.p-card-content {\r\n\t\theight: 100%;\r\n\t}\r\n\t.p-card-body {\r\n\t\tpadding: 0;\r\n\t}\r\n\r\n\t.advice-card-content {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\tjustify-content: center;\r\n\t\talign-items: center;\r\n\t\theight: 100%;\r\n\r\n\t\t.p-button {\r\n\t\t\tmargin-top: auto;\r\n\t\t}\r\n\r\n\t\t.advice-card-header {\r\n\t\t\tdisplay: flex;\r\n\t\t\tflex-direction: column;\r\n\t\t\talign-items: center;\r\n\t\t\tpadding: 1rem;\r\n\t\t\twidth: 100%;\r\n\t\t}\r\n\r\n\t\t.advice-card-header-icons {\r\n\t\t\tdisplay: flex;\r\n\t\t\tflex-direction: row;\r\n\t\t\tjustify-content: space-evenly;\r\n\t\t\talign-items: center;\r\n\t\t\twidth: 100%;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n::v-deep(.p-avatar) {\r\n\timg {\r\n\t\tbackground-color: var(--surface-a);\r\n\t\twidth: 100%;\r\n\t\theight: 100%;\r\n\t}\r\n}\r\n\r\n.plus-badge {\r\n\tbackground-color: #b9b9b9;\r\n\tcolor: #ffffff;\r\n}\r\n\r\n.expand-button {\r\n\tposition: absolute;\r\n\tbottom: 0;\r\n\tleft: 50%;\r\n\tpadding: 1rem;\r\n\twidth: 3rem;\r\n\theight: 3rem;\r\n\tborder-radius: 50%;\r\n\tbox-shadow:\r\n\t\t0px 2px 1px -1px rgba(0, 0, 0, 0.2),\r\n\t\t0px 1px 1px 0px rgba(0, 0, 0, 0.14),\r\n\t\t0px 1px 3px 0px rgba(0, 0, 0, 0.12);\r\n\talign-items: center;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\ttransform: translate(-50%, 50%);\r\n\tbackground-color: #ffffff;\r\n\r\n\t&:hover {\r\n\t\tbackground-color: var(--success-color);\r\n\t\tcolor: #ffffff;\r\n\t\tcursor: pointer;\r\n\t}\r\n}\r\n</style>\r\n","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, createBlock as _createBlock, vShow as _vShow, withDirectives as _withDirectives, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5ea7650c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"advice-section mx-2 py-2 px-3\"\n}\nconst _hoisted_2 = {\n key: 0,\n class: \"d-flex flex-row align-items-center justify-content-center mb-2\"\n}\nconst _hoisted_3 = { class: \"text-center text-primary font-weight-normal lead\" }\nconst _hoisted_4 = {\n key: 1,\n class: \"advice-section mx-3 py-2 px-2\"\n}\nconst _hoisted_5 = { class: \"text-center text-primary font-weight-normal lead\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (_ctx.collapsed && _ctx.nextStepAdvices.length > 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_i18n_t, {\n class: \"text-center\",\n keypath: \"myCadac.advisorAdvice.adviceAmount\",\n scope: \"global\",\n tag: \"p\"\n }, {\n amount: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.nextStepAdvices.length), 1)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.nextStepAdvices, (nextStepAdvice, index) => {\n return _withDirectives((_openBlock(), _createElementBlock(\"div\", {\n key: `nextStepAdvice_${index}`,\n class: \"advice-section mx-3 py-2 px-2 mb-2\"\n }, [\n (_ctx.nextStepAdvices.length > 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createVNode(_component_Avatar, {\n image: nextStepAdvice.iconUrl,\n size: \"large\"\n }, null, 8, [\"image\"])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"b\", _hoisted_3, _toDisplayString(_ctx.productCardTitle(nextStepAdvice)), 1),\n (nextStepAdvice.adviceType === _ctx.productAdviceType.Unsupported)\n ? (_openBlock(), _createBlock(_component_i18n_t, {\n key: 1,\n class: \"text-center\",\n keypath: \"myCadac.advisorAdvice.productCta\",\n scope: \"global\",\n tag: \"p\"\n }, {\n product: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(nextStepAdvice.name), 1)\n ]),\n _: 2\n }, 1024))\n : (nextStepAdvice.adviceType === _ctx.productAdviceType.New)\n ? (_openBlock(), _createBlock(_component_i18n_t, {\n key: 2,\n class: \"text-center\",\n keypath: \"myCadac.advisorAdvice.productCtaNew\",\n scope: \"global\",\n tag: \"p\"\n }, {\n duration: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(nextStepAdvice.durationInMonths), 1)\n ]),\n start: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.formatDate(nextStepAdvice.startDate)), 1)\n ]),\n seats: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(nextStepAdvice.seats), 1)\n ]),\n _: 2\n }, 1024))\n : (nextStepAdvice.adviceType === _ctx.productAdviceType.Renew)\n ? (_openBlock(), _createBlock(_component_i18n_t, {\n key: 3,\n class: \"text-center\",\n keypath: \"myCadac.advisorAdvice.productCtaRenew\",\n scope: \"global\",\n tag: \"p\"\n }, {\n duration: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(nextStepAdvice.durationInMonths), 1)\n ]),\n start: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.formatDate(nextStepAdvice.startDate)), 1)\n ]),\n seats: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(nextStepAdvice.seats), 1)\n ]),\n _: 2\n }, 1024))\n : (nextStepAdvice.adviceType === _ctx.productAdviceType.TradeIn)\n ? (_openBlock(), _createBlock(_component_i18n_t, {\n key: 4,\n class: \"text-center\",\n keypath: \"myCadac.advisorAdvice.productCtaRenew\",\n scope: \"global\",\n tag: \"p\"\n }, {\n duration: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(nextStepAdvice.durationInMonths), 1)\n ]),\n start: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.formatDate(nextStepAdvice.startDate)), 1)\n ]),\n seats: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(nextStepAdvice.seats), 1)\n ]),\n _: 2\n }, 1024))\n : (nextStepAdvice.adviceType === _ctx.productAdviceType.Running)\n ? (_openBlock(), _createBlock(_component_i18n_t, {\n key: 5,\n class: \"text-center\",\n keypath: \"myCadac.advisorAdvice.productCtaRunning\",\n scope: \"global\",\n tag: \"p\"\n }, {\n product: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(nextStepAdvice.name), 1)\n ]),\n _: 2\n }, 1024))\n : _createCommentVNode(\"\", true)\n ])), [\n [_vShow, !_ctx.collapsed || _ctx.nextStepAdvices.length < 2]\n ])\n }), 128)),\n (!_ctx.nextStepAdvices.length)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"b\", _hoisted_5, _toDisplayString(_ctx.$t(\"myCadac.advisorAdvice.productTitleTerminate\", { product: _ctx.currentProduct.name })), 1),\n _createVNode(_component_i18n_t, {\n class: \"text-center\",\n keypath: \"myCadac.advisorAdvice.productCtaTerminate\",\n scope: \"global\",\n tag: \"p\"\n })\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<div v-if=\"collapsed && nextStepAdvices.length > 1\" class=\"advice-section mx-2 py-2 px-3\">\r\n\t\t<i18n-t class=\"text-center\" keypath=\"myCadac.advisorAdvice.adviceAmount\" scope=\"global\" tag=\"p\">\r\n\t\t\t<template #amount>\r\n\t\t\t\t<b>{{ nextStepAdvices.length }}</b>\r\n\t\t\t</template>\r\n\t\t</i18n-t>\r\n\t</div>\r\n\t<div\r\n\t\tv-for=\"(nextStepAdvice, index) in nextStepAdvices\"\r\n\t\tv-show=\"!collapsed || nextStepAdvices.length < 2\"\r\n\t\t:key=\"`nextStepAdvice_${index}`\"\r\n\t\tclass=\"advice-section mx-3 py-2 px-2 mb-2\"\r\n\t>\r\n\t\t<div\r\n\t\t\tv-if=\"nextStepAdvices.length > 1\"\r\n\t\t\tclass=\"d-flex flex-row align-items-center justify-content-center mb-2\"\r\n\t\t>\r\n\t\t\t<Avatar :image=\"nextStepAdvice.iconUrl\" size=\"large\" />\r\n\t\t</div>\r\n\r\n\t\t<b class=\"text-center text-primary font-weight-normal lead\">{{ productCardTitle(nextStepAdvice) }}</b>\r\n\r\n\t\t<i18n-t\r\n\t\t\tv-if=\"nextStepAdvice.adviceType === productAdviceType.Unsupported\"\r\n\t\t\tclass=\"text-center\"\r\n\t\t\tkeypath=\"myCadac.advisorAdvice.productCta\"\r\n\t\t\tscope=\"global\"\r\n\t\t\ttag=\"p\"\r\n\t\t>\r\n\t\t\t<template #product>\r\n\t\t\t\t<b>{{ nextStepAdvice.name }}</b>\r\n\t\t\t</template>\r\n\t\t</i18n-t>\r\n\t\t<i18n-t\r\n\t\t\tv-else-if=\"nextStepAdvice.adviceType === productAdviceType.New\"\r\n\t\t\tclass=\"text-center\"\r\n\t\t\tkeypath=\"myCadac.advisorAdvice.productCtaNew\"\r\n\t\t\tscope=\"global\"\r\n\t\t\ttag=\"p\"\r\n\t\t>\r\n\t\t\t<template #duration>\r\n\t\t\t\t<b>{{ nextStepAdvice.durationInMonths }}</b>\r\n\t\t\t</template>\r\n\t\t\t<template #start>\r\n\t\t\t\t<b>{{ formatDate(nextStepAdvice.startDate) }}</b>\r\n\t\t\t</template>\r\n\t\t\t<template #seats>\r\n\t\t\t\t<b>{{ nextStepAdvice.seats }}</b>\r\n\t\t\t</template>\r\n\t\t</i18n-t>\r\n\t\t<i18n-t\r\n\t\t\tv-else-if=\"nextStepAdvice.adviceType === productAdviceType.Renew\"\r\n\t\t\tclass=\"text-center\"\r\n\t\t\tkeypath=\"myCadac.advisorAdvice.productCtaRenew\"\r\n\t\t\tscope=\"global\"\r\n\t\t\ttag=\"p\"\r\n\t\t>\r\n\t\t\t<template #duration>\r\n\t\t\t\t<b>{{ nextStepAdvice.durationInMonths }}</b>\r\n\t\t\t</template>\r\n\t\t\t<template #start>\r\n\t\t\t\t<b>{{ formatDate(nextStepAdvice.startDate) }}</b>\r\n\t\t\t</template>\r\n\t\t\t<template #seats>\r\n\t\t\t\t<b>{{ nextStepAdvice.seats }}</b>\r\n\t\t\t</template>\r\n\t\t</i18n-t>\r\n\t\t<i18n-t\r\n\t\t\tv-else-if=\"nextStepAdvice.adviceType === productAdviceType.TradeIn\"\r\n\t\t\tclass=\"text-center\"\r\n\t\t\tkeypath=\"myCadac.advisorAdvice.productCtaRenew\"\r\n\t\t\tscope=\"global\"\r\n\t\t\ttag=\"p\"\r\n\t\t>\r\n\t\t\t<template #duration>\r\n\t\t\t\t<b>{{ nextStepAdvice.durationInMonths }}</b>\r\n\t\t\t</template>\r\n\t\t\t<template #start>\r\n\t\t\t\t<b>{{ formatDate(nextStepAdvice.startDate) }}</b>\r\n\t\t\t</template>\r\n\t\t\t<template #seats>\r\n\t\t\t\t<b>{{ nextStepAdvice.seats }}</b>\r\n\t\t\t</template>\r\n\t\t</i18n-t>\r\n\t\t<i18n-t\r\n\t\t\tv-else-if=\"nextStepAdvice.adviceType === productAdviceType.Running\"\r\n\t\t\tclass=\"text-center\"\r\n\t\t\tkeypath=\"myCadac.advisorAdvice.productCtaRunning\"\r\n\t\t\tscope=\"global\"\r\n\t\t\ttag=\"p\"\r\n\t\t>\r\n\t\t\t<template #product>\r\n\t\t\t\t<b>{{ nextStepAdvice.name }}</b>\r\n\t\t\t</template>\r\n\t\t</i18n-t>\r\n\t</div>\r\n\r\n\t<div v-if=\"!nextStepAdvices.length\" class=\"advice-section mx-3 py-2 px-2\">\r\n\t\t<b class=\"text-center text-primary font-weight-normal lead\">{{\r\n\t\t\t$t(\"myCadac.advisorAdvice.productTitleTerminate\", { product: currentProduct.name })\r\n\t\t}}</b>\r\n\r\n\t\t<i18n-t class=\"text-center\" keypath=\"myCadac.advisorAdvice.productCtaTerminate\" scope=\"global\" tag=\"p\">\r\n\t\t</i18n-t>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport ProgressSpinner from \"primevue/progressspinner\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport AdvisorTokenAdvice from \"@/components/advisor/advisorTokenAdvice.vue\";\r\nimport { PropType } from \"vue\";\r\nimport { ProductAdviceType } from \"@/types/enum/productAdviceType\";\r\nimport { NextStepAdvicesViewModel } from \"@/types/models/advisor/nextStepAdvicesViewModel\";\r\nimport Divider from \"primevue/divider\";\r\nimport { CurrentProductViewModel } from \"@/types/models/advisor/currentProductViewModel\";\r\n\r\n@Component({ components: { AdvisorTokenAdvice, ProgressSpinner, Divider } })\r\nexport default class AdvisorAdviceOverview extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<NextStepAdvicesViewModel[]>,\r\n\t\trequired: true,\r\n\t})\r\n\tnextStepAdvices!: NextStepAdvicesViewModel[];\r\n\t@Prop({\r\n\t\ttype: Object as PropType<CurrentProductViewModel>,\r\n\t\trequired: true,\r\n\t})\r\n\tcurrentProduct!: CurrentProductViewModel;\r\n\r\n\t@Prop({\r\n\t\ttype: Boolean,\r\n\t\trequired: false,\r\n\t})\r\n\tcollapsed!: boolean;\r\n\r\n\tget productAdviceType(): typeof ProductAdviceType {\r\n\t\treturn ProductAdviceType;\r\n\t}\r\n\r\n\tget productCardTitle(): (product: NextStepAdvicesViewModel) => string {\r\n\t\treturn (product: NextStepAdvicesViewModel) => {\r\n\t\t\tswitch (product.adviceType) {\r\n\t\t\t\tcase ProductAdviceType.New:\r\n\t\t\t\t\treturn this.$t(\"myCadac.advisorAdvice.productTitleNew\", { product: product.name });\r\n\t\t\t\tcase ProductAdviceType.Renew:\r\n\t\t\t\t\treturn this.$t(\"myCadac.advisorAdvice.productTitleRenew\", { product: product.name });\r\n\t\t\t\tcase ProductAdviceType.Running:\r\n\t\t\t\t\treturn this.$t(\"myCadac.advisorAdvice.productTitleRunning\", { product: product.name });\r\n\t\t\t\tcase ProductAdviceType.TradeIn:\r\n\t\t\t\t\treturn this.$t(\"myCadac.advisorAdvice.productTitleRenew\", { product: product.name });\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn \"\";\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.advice-section {\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tbackground-color: rgba(32, 176, 101, 0.06);\r\n\tborder-radius: 4px;\r\n}\r\n</style>\r\n","export enum ProductAdviceType {\r\n\tUnsupported,\r\n\tNew,\r\n\tRenew,\r\n\tRunning,\r\n\tTradeIn,\r\n\tTerminate,\r\n}\r\n","import { render } from \"./advisorProductAdviceContent.vue?vue&type=template&id=5ea7650c&scoped=true&ts=true\"\nimport script from \"./advisorProductAdviceContent.vue?vue&type=script&lang=ts\"\nexport * from \"./advisorProductAdviceContent.vue?vue&type=script&lang=ts\"\n\nimport \"./advisorProductAdviceContent.vue?vue&type=style&index=0&id=5ea7650c&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5ea7650c\"]])\n\nexport default __exports__","import { render } from \"./advisorProductAdvices.vue?vue&type=template&id=2f97c0f2&scoped=true&ts=true\"\nimport script from \"./advisorProductAdvices.vue?vue&type=script&lang=ts\"\nexport * from \"./advisorProductAdvices.vue?vue&type=script&lang=ts\"\n\nimport \"./advisorProductAdvices.vue?vue&type=style&index=0&id=2f97c0f2&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2f97c0f2\"]])\n\nexport default __exports__","import { render } from \"./advisorAdviceOverview.vue?vue&type=template&id=72ce2f6d&scoped=true&ts=true\"\nimport script from \"./advisorAdviceOverview.vue?vue&type=script&lang=ts\"\nexport * from \"./advisorAdviceOverview.vue?vue&type=script&lang=ts\"\n\nimport \"./advisorAdviceOverview.vue?vue&type=style&index=0&id=72ce2f6d&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-72ce2f6d\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, renderList as _renderList, Fragment as _Fragment, createTextVNode as _createTextVNode, resolveDirective as _resolveDirective, withDirectives as _withDirectives, normalizeStyle as _normalizeStyle, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-024aa481\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"insights-section\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"insights-header insights-section-card mb-3 py-2 px-2\"\n}\nconst _hoisted_3 = { class: \"score-chart mb-1\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"text-primary font-weight-normal mb-0\"\n}\nconst _hoisted_5 = { class: \"lead text-center mb-2\" }\nconst _hoisted_6 = { class: \"text-center mb-2\" }\nconst _hoisted_7 = { class: \"insights-section-card insights-content py-2\" }\nconst _hoisted_8 = { class: \"insights-overview\" }\nconst _hoisted_9 = { class: \"text-center\" }\nconst _hoisted_10 = { class: \"text-primary font-weight-normal mb-0\" }\nconst _hoisted_11 = { class: \"d-flex align-items-center justify-content-center p-1\" }\nconst _hoisted_12 = { class: \"d-flex align-items-center\" }\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"legend bg-success\" }, null, -1))\nconst _hoisted_14 = { class: \"mr-1\" }\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"legend bg-danger\" }, null, -1))\nconst _hoisted_16 = { class: \"product-wrapper justify-content-center justify-content-lg-start text-center text-lg-left\" }\nconst _hoisted_17 = { class: \"pr-2\" }\nconst _hoisted_18 = { class: \"lead text-primary font-weight-normal mb-0\" }\nconst _hoisted_19 = { class: \"text-grey mb-0\" }\nconst _hoisted_20 = { class: \"d-flex flex-row w-100\" }\nconst _hoisted_21 = { class: \"product-icon-wrapper mr-1\" }\nconst _hoisted_22 = [\"alt\", \"title\"]\nconst _hoisted_23 = { class: \"product-usage-wrapper\" }\nconst _hoisted_24 = { class: \"product-usage-details\" }\nconst _hoisted_25 = { class: \"product-icon-wrapper mr-1\" }\nconst _hoisted_26 = { class: \"product-usage-wrapper\" }\nconst _hoisted_27 = { class: \"pr-2\" }\nconst _hoisted_28 = { class: \"text-primary font-weight-normal mb-0\" }\nconst _hoisted_29 = { class: \"text-grey mb-0\" }\nconst _hoisted_30 = { class: \"product-usage-details\" }\nconst _hoisted_31 = { class: \"text center px-2 pb-2\" }\nconst _hoisted_32 = { class: \"mb-0 mt-1\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Chart = _resolveComponent(\"Chart\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_AdvisorInsightSkeleton = _resolveComponent(\"AdvisorInsightSkeleton\")!\n const _component_Divider = _resolveComponent(\"Divider\")!\n const _component_font_awesome_icon = _resolveComponent(\"font-awesome-icon\")!\n const _component_AccordionTab = _resolveComponent(\"AccordionTab\")!\n const _component_Accordion = _resolveComponent(\"Accordion\")!\n const _component_ScrollPanel = _resolveComponent(\"ScrollPanel\")!\n const _component_BlockUI = _resolveComponent(\"BlockUI\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(\"section\", _hoisted_1, [\n (!_ctx.isSpinnerVisible('advice') && !_ctx.showNoInsightMessage)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_Chart, {\n data: _ctx.scoreChartData,\n options: _ctx.scoreChartOptions,\n type: \"doughnut\"\n }, null, 8, [\"data\", \"options\"])\n ]),\n (_ctx.score)\n ? (_openBlock(), _createElementBlock(\"h1\", _hoisted_4, _toDisplayString(_ctx.$t(\"myCadac.advisorInsights.scoreTitle\")), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"p\", _hoisted_5, _toDisplayString(_ctx.$t(\"myCadac.advisorInsights.title\", { months: 12 })), 1),\n _createElementVNode(\"small\", _hoisted_6, _toDisplayString(_ctx.$t(\"myCadac.advisorInsights.contactMessage\")), 1),\n (_ctx.layoutStore.chatWidgetAvailable)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-success p-button-sm\",\n label: _ctx.$t('digitalAdvisor.button.contactUs'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.initChat(`${_ctx.$t('myCadac.advisorAdvice.chatMessage.contactSupport')}`)))\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n (!_ctx.isSpinnerVisible('advice') && _ctx.hasInsightProductsToShow)\n ? (_openBlock(), _createBlock(_component_BlockUI, {\n key: 1,\n \"auto-z-index\": \"\",\n blocked: _ctx.advisorStore.isAccessRestricted,\n class: \"blurred-content\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_7, [\n (_ctx.isSpinnerVisible('advice'))\n ? (_openBlock(), _createBlock(_component_AdvisorInsightSkeleton, { key: 0 }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"h4\", _hoisted_10, _toDisplayString(_ctx.$t(\"myCadac.advisorInsights.usageAnalysis\")), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"div\", _hoisted_12, [\n _hoisted_13,\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.$t(\"myCadac.advisorInsights.optimal\")), 1),\n _hoisted_15,\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(\"myCadac.advisorInsights.suboptimal\")), 1)\n ])\n ]),\n _createVNode(_component_Divider),\n _createVNode(_component_ScrollPanel, {\n class: \"px-1 custom-scroll-bar\",\n style: {\"width\":\"100%\",\"height\":\"clamp(450px, 35vh, 1000px)\"}\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Accordion, {\n \"active-index\": _ctx.productAccordionActiveIndexes,\n class: \"accordion-products\",\n multiple: true\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.insightProductsToShow, (product) => {\n return (_openBlock(), _createBlock(_component_AccordionTab, {\n key: `${product.name}`\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"span\", _hoisted_18, [\n _createTextVNode(_toDisplayString(product.name) + \" - \", 1),\n _createElementVNode(\"small\", _hoisted_19, [\n _createTextVNode(\"Seats: \"),\n _createElementVNode(\"b\", null, _toDisplayString(product.statistics.seats), 1)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"div\", _hoisted_21, [\n _withDirectives(_createElementVNode(\"img\", {\n alt: product.iconAlt,\n class: \"product-icon\",\n title: product.name\n }, null, 8, _hoisted_22), [\n [_directive_lazy, product.iconUrl]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_23, [\n _createElementVNode(\"div\", _hoisted_24, [\n (product.statistics.optimalUsage !== 0)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"usage-details-positive\",\n style: _normalizeStyle({ width: `${product.statistics.optimalUsage}%` })\n }, [\n _createElementVNode(\"span\", null, _toDisplayString(product.statistics.optimalUsage.toFixed(0)) + \"%\", 1)\n ], 4))\n : _createCommentVNode(\"\", true),\n (product.statistics.subOptimalUsage !== 0)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: \"usage-details-negative\",\n style: _normalizeStyle({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth: `${product.statistics.subOptimalUsage}%`,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t})\n }, [\n _createElementVNode(\"span\", null, _toDisplayString(product.statistics.subOptimalUsage.toFixed(0)) + \"%\", 1)\n ], 4))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ])\n ]),\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(product.licenses, (item, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: `${product.name}_item${index}`,\n class: \"product-wrapper product-licences justify-content-center justify-content-lg-start text-center text-lg-left\"\n }, [\n _createElementVNode(\"div\", _hoisted_25, [\n _createVNode(_component_font_awesome_icon, {\n class: \"product-item-icon\",\n icon: _ctx.productItemTypeIcon(item.licenseType),\n size: \"1x\"\n }, null, 8, [\"icon\"])\n ]),\n _createElementVNode(\"div\", _hoisted_26, [\n _createElementVNode(\"div\", _hoisted_27, [\n _createElementVNode(\"span\", _hoisted_28, [\n _createTextVNode(_toDisplayString(_ctx.productItemTypeLabel(item.licenseType)) + \" - \", 1),\n _createElementVNode(\"small\", _hoisted_29, [\n _createTextVNode(\"Seats: \"),\n _createElementVNode(\"b\", null, _toDisplayString(item.usage?.seats), 1)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_30, [\n (item.usage.optimalUsage !== 0)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"usage-details-positive\",\n style: _normalizeStyle({ width: `${item.usage.optimalUsage}%` })\n }, [\n _createElementVNode(\"span\", null, _toDisplayString(item.usage.optimalUsage.toFixed(0)) + \"%\", 1)\n ], 4))\n : _createCommentVNode(\"\", true),\n (item.usage.subOptimalUsage !== 0)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: \"usage-details-negative\",\n style: _normalizeStyle({ width: `${item.usage.subOptimalUsage}%` })\n }, [\n _createElementVNode(\"span\", null, _toDisplayString(item.usage.subOptimalUsage.toFixed(0)) + \"%\", 1)\n ], 4))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n }), 128)),\n _createVNode(_component_Divider)\n ]),\n _: 2\n }, 1024))\n }), 128)),\n _createVNode(_component_Divider)\n ]),\n _: 1\n }, 8, [\"active-index\"])\n ]),\n _: 1\n }),\n _createVNode(_component_Divider),\n _createElementVNode(\"div\", _hoisted_31, [\n _createElementVNode(\"p\", _hoisted_32, _toDisplayString(_ctx.$t(\"myCadac.advisorInsights.totalUsageDisclaimer\")), 1)\n ])\n ])\n ])\n ]),\n _: 1\n }, 8, [\"blocked\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}","<template>\r\n\t<section class=\"insights-section\">\r\n\t\t<div\r\n\t\t\tv-if=\"!isSpinnerVisible('advice') && !showNoInsightMessage\"\r\n\t\t\tclass=\"insights-header insights-section-card mb-3 py-2 px-2\"\r\n\t\t>\r\n\t\t\t<div class=\"score-chart mb-1\">\r\n\t\t\t\t<Chart :data=\"scoreChartData\" :options=\"scoreChartOptions\" type=\"doughnut\" />\r\n\t\t\t</div>\r\n\t\t\t<h1 v-if=\"score\" class=\"text-primary font-weight-normal mb-0\">\r\n\t\t\t\t{{ $t(\"myCadac.advisorInsights.scoreTitle\") }}\r\n\t\t\t</h1>\r\n\r\n\t\t\t<p class=\"lead text-center mb-2\">{{ $t(\"myCadac.advisorInsights.title\", { months: 12 }) }}</p>\r\n\r\n\t\t\t<small class=\"text-center mb-2\">{{ $t(\"myCadac.advisorInsights.contactMessage\") }}</small>\r\n\r\n\t\t\t<Button\r\n\t\t\t\tv-if=\"layoutStore.chatWidgetAvailable\"\r\n\t\t\t\tclass=\"p-button-success p-button-sm\"\r\n\t\t\t\t:label=\"$t('digitalAdvisor.button.contactUs')\"\r\n\t\t\t\t@click=\"initChat(`${$t('myCadac.advisorAdvice.chatMessage.contactSupport')}`)\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\r\n\t\t<BlockUI\r\n\t\t\tv-if=\"!isSpinnerVisible('advice') && hasInsightProductsToShow\"\r\n\t\t\tauto-z-index\r\n\t\t\t:blocked=\"advisorStore.isAccessRestricted\"\r\n\t\t\tclass=\"blurred-content\"\r\n\t\t>\r\n\t\t\t<div class=\"insights-section-card insights-content py-2\">\r\n\t\t\t\t<AdvisorInsightSkeleton v-if=\"isSpinnerVisible('advice')\" />\r\n\r\n\t\t\t\t<div class=\"insights-overview\">\r\n\t\t\t\t\t<div class=\"text-center\">\r\n\t\t\t\t\t\t<h4 class=\"text-primary font-weight-normal mb-0\">\r\n\t\t\t\t\t\t\t{{ $t(\"myCadac.advisorInsights.usageAnalysis\") }}\r\n\t\t\t\t\t\t</h4>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"d-flex align-items-center justify-content-center p-1\">\r\n\t\t\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t\t\t<div class=\"legend bg-success\"></div>\r\n\t\t\t\t\t\t\t<span class=\"mr-1\">{{ $t(\"myCadac.advisorInsights.optimal\") }}</span>\r\n\t\t\t\t\t\t\t<div class=\"legend bg-danger\"></div>\r\n\t\t\t\t\t\t\t<span>{{ $t(\"myCadac.advisorInsights.suboptimal\") }}</span>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<Divider />\r\n\t\t\t\t\t<ScrollPanel\r\n\t\t\t\t\t\tclass=\"px-1 custom-scroll-bar\"\r\n\t\t\t\t\t\tstyle=\"width: 100%; height: clamp(450px, 35vh, 1000px)\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<Accordion\r\n\t\t\t\t\t\t\t:active-index=\"productAccordionActiveIndexes\"\r\n\t\t\t\t\t\t\tclass=\"accordion-products\"\r\n\t\t\t\t\t\t\t:multiple=\"true\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<AccordionTab v-for=\"product in insightProductsToShow\" :key=\"`${product.name}`\">\r\n\t\t\t\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\tclass=\"product-wrapper justify-content-center justify-content-lg-start text-center text-lg-left\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"pr-2\">\r\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"lead text-primary font-weight-normal mb-0\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ product.name }} -\r\n\t\t\t\t\t\t\t\t\t\t\t\t<small class=\"text-grey mb-0\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t>Seats: <b>{{ product.statistics.seats }}</b></small\r\n\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"d-flex flex-row w-100\">\r\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"product-icon-wrapper mr-1\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<img\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tv-lazy=\"product.iconUrl\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t:alt=\"product.iconAlt\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"product-icon\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t:title=\"product.name\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"product-usage-wrapper\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"product-usage-details\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-if=\"product.statistics.optimalUsage !== 0\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"usage-details-positive\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t:style=\"{ width: `${product.statistics.optimalUsage}%` }\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tproduct.statistics.optimalUsage.toFixed(0)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}%</span\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-if=\"product.statistics.subOptimalUsage !== 0\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"usage-details-negative\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t:style=\"{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twidth: `${product.statistics.subOptimalUsage}%`,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tproduct.statistics.subOptimalUsage.toFixed(0)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}%</span\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t<!--\tAccordion content-->\r\n\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\tv-for=\"(item, index) in product.licenses\"\r\n\t\t\t\t\t\t\t\t\t:key=\"`${product.name}_item${index}`\"\r\n\t\t\t\t\t\t\t\t\tclass=\"product-wrapper product-licences justify-content-center justify-content-lg-start text-center text-lg-left\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<div class=\"product-icon-wrapper mr-1\">\r\n\t\t\t\t\t\t\t\t\t\t<font-awesome-icon\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"product-item-icon\"\r\n\t\t\t\t\t\t\t\t\t\t\t:icon=\"productItemTypeIcon(item.licenseType)\"\r\n\t\t\t\t\t\t\t\t\t\t\tsize=\"1x\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t\t\t<div class=\"product-usage-wrapper\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"pr-2\">\r\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"text-primary font-weight-normal mb-0\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ productItemTypeLabel(item.licenseType) }} -\r\n\t\t\t\t\t\t\t\t\t\t\t\t<small class=\"text-grey mb-0\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t>Seats: <b>{{ item.usage?.seats }}</b></small\r\n\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"product-usage-details\">\r\n\t\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\t\tv-if=\"item.usage.optimalUsage !== 0\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"usage-details-positive\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t:style=\"{ width: `${item.usage.optimalUsage}%` }\"\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<span>{{ item.usage.optimalUsage.toFixed(0) }}%</span>\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\t\tv-if=\"item.usage.subOptimalUsage !== 0\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"usage-details-negative\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t:style=\"{ width: `${item.usage.subOptimalUsage}%` }\"\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<span>{{ item.usage.subOptimalUsage.toFixed(0) }}%</span>\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<Divider />\r\n\t\t\t\t\t\t\t</AccordionTab>\r\n\t\t\t\t\t\t\t<Divider />\r\n\t\t\t\t\t\t</Accordion>\r\n\t\t\t\t\t</ScrollPanel>\r\n\r\n\t\t\t\t\t<Divider />\r\n\t\t\t\t\t<div class=\"text center px-2 pb-2\">\r\n\t\t\t\t\t\t<p class=\"mb-0 mt-1\">{{ $t(\"myCadac.advisorInsights.totalUsageDisclaimer\") }}</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</BlockUI>\r\n\t</section>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport Accordion from \"primevue/accordion\";\r\nimport AccordionTab from \"primevue/accordiontab\";\r\nimport AdvisorInsightSkeleton from \"@/components/advisor/advisorInsightSkeleton.vue\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Chart from \"primevue/chart\";\r\nimport PopoverIcon from \"@/components/common/popoverIcon.vue\";\r\nimport ScrollPanel from \"primevue/scrollpanel\";\r\nimport Skeleton from \"primevue/skeleton\";\r\nimport { ChartData, ChartOptions } from \"chart.js\";\r\nimport { AdvisorLicenseType } from \"@/types/enum/advisorLicenseType\";\r\nimport { Component } from \"vue-facing-decorator\";\r\nimport { useAdvisorStore } from \"@/store/advisor/advisorStore\";\r\nimport Divider from \"primevue/divider\";\r\nimport { AdvisorProductViewModel } from \"@/types/models/advisor/productViewModel\";\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tAdvisorInsightSkeleton,\r\n\t\tPopoverIcon,\r\n\t\tAccordion,\r\n\t\tAccordionTab,\r\n\t\tSkeleton,\r\n\t\tScrollPanel,\r\n\t\tChart,\r\n\t\tDivider,\r\n\t},\r\n})\r\nexport default class AdvisorInsightsOverview extends BaseComponent {\r\n\tproductAccordionActiveIndexes: number[] = [];\r\n\tadvisorStore = useAdvisorStore();\r\n\r\n\tminScore = 1;\r\n\tmaxScore = 10;\r\n\tredColor = [220, 53, 69]; // dark red color in RGB format\r\n\tyellowColor = [250, 188, 60]; // neutral yellow/orange color in RGB format\r\n\tgreenColor = [0, 167, 0]; // dark green color in RGB format\r\n\r\n\tget score(): number {\r\n\t\treturn this.advisorStore.insight?.score ? Math.round(this.advisorStore.insight?.score) : 1;\r\n\t}\r\n\r\n\tget scoreColor(): string {\r\n\t\treturn this.getColorForScore(this.score);\r\n\t}\r\n\r\n\tget scoreChartData(): ChartData {\r\n\t\tconst documentStyle = getComputedStyle(document.body);\r\n\t\treturn {\r\n\t\t\tdatasets: [\r\n\t\t\t\t{\r\n\t\t\t\t\tdata: [this.score, this.maxScore - this.score],\r\n\t\t\t\t\tbackgroundColor: [\r\n\t\t\t\t\t\tthis.scoreColor,\r\n\t\t\t\t\t\tthis.score >= 1\r\n\t\t\t\t\t\t\t? documentStyle.getPropertyValue(\"--surface-a\")\r\n\t\t\t\t\t\t\t: documentStyle.getPropertyValue(\"--surface-b\"),\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\tget scoreChartOptions(): ChartOptions<\"doughnut\"> {\r\n\t\treturn {\r\n\t\t\tcutout: \"80%\",\r\n\t\t\tanimation: {\r\n\t\t\t\tduration: 2000,\r\n\t\t\t\tonProgress: (animation) => {\r\n\t\t\t\t\tif (this.score < 1) return;\r\n\t\t\t\t\tconst chartInstance = animation.chart;\r\n\t\t\t\t\tconst ctx = chartInstance.ctx;\r\n\t\t\t\t\tconst centerX = (chartInstance.chartArea.left + chartInstance.chartArea.right) / 2;\r\n\t\t\t\t\tconst centerY = (chartInstance.chartArea.top + chartInstance.chartArea.bottom) / 2;\r\n\r\n\t\t\t\t\tlet score =\r\n\t\t\t\t\t\tMath.round(\r\n\t\t\t\t\t\t\t(((this.score - this.minScore) * animation.currentStep) / animation.numSteps) * 10\r\n\t\t\t\t\t\t) /\r\n\t\t\t\t\t\t\t10 +\r\n\t\t\t\t\t\tthis.minScore;\r\n\r\n\t\t\t\t\tctx.clearRect(centerX - 37.5, centerY - 40, 75, 80); // Clear only the area where the text is drawn\r\n\t\t\t\t\tctx.font = \"bold 2rem futura-pt\";\r\n\t\t\t\t\tctx.fillStyle = this.getColorForScore(score);\r\n\t\t\t\t\tctx.textAlign = \"center\";\r\n\t\t\t\t\tctx.textBaseline = \"middle\";\r\n\t\t\t\t\tctx.fillText(`${this.$n(score)}`, centerX, centerY);\r\n\t\t\t\t},\r\n\t\t\t\tonComplete: (animation) => {\r\n\t\t\t\t\tif (this.score < 1) return;\r\n\t\t\t\t\tconst chartInstance = animation.chart;\r\n\t\t\t\t\tconst ctx = chartInstance.ctx;\r\n\t\t\t\t\tconst centerX = (chartInstance.chartArea.left + chartInstance.chartArea.right) / 2;\r\n\t\t\t\t\tconst centerY = (chartInstance.chartArea.top + chartInstance.chartArea.bottom) / 2;\r\n\t\t\t\t\tctx.clearRect(centerX - 37.5, centerY - 40, 75, 80); // Clear only the area where the text is drawn\r\n\t\t\t\t\tctx.font = \"bold 2rem futura-pt\";\r\n\t\t\t\t\tctx.fillStyle = this.scoreColor;\r\n\t\t\t\t\tctx.textAlign = \"center\";\r\n\t\t\t\t\tctx.textBaseline = \"middle\";\r\n\t\t\t\t\tctx.fillText(`${this.$n(this.score)}/10`, centerX, centerY);\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\tplugins: {\r\n\t\t\t\ttooltip: {\r\n\t\t\t\t\tenabled: false,\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\tevents: [],\r\n\t\t};\r\n\t}\r\n\r\n\tget productItemTypeIcon(): (type: AdvisorLicenseType) => string[] {\r\n\t\treturn (type) => {\r\n\t\t\tswitch (type) {\r\n\t\t\t\tcase 1:\r\n\t\t\t\t\treturn [\"far\", \"file-contract\"];\r\n\t\t\t\tcase 2:\r\n\t\t\t\t\treturn [\"far\", \"folders\"];\r\n\t\t\t\tcase 3:\r\n\t\t\t\t\treturn [\"far\", \"coins\"];\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn [];\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n\r\n\tget productItemTypeLabel(): (type: AdvisorLicenseType) => string {\r\n\t\treturn (type) => {\r\n\t\t\treturn this.$t(`enum.licenceTypeInsight.${type}`);\r\n\t\t};\r\n\t}\r\n\r\n\tgetColorForScore(score: number): string {\r\n\t\tif (score < 6) {\r\n\t\t\t// interpolate between red and yellow\r\n\t\t\tconst redYellowRange = this.yellowColor.map((value, index) =>\r\n\t\t\t\tMath.round(\r\n\t\t\t\t\tthis.redColor[index] +\r\n\t\t\t\t\t\t((value - this.redColor[index]) * (score - this.minScore)) / (6 - this.minScore)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t\t\treturn `rgb(${redYellowRange.join(\",\")})`;\r\n\t\t} else {\r\n\t\t\t// interpolate between yellow and green\r\n\t\t\tconst yellowGreenRange = this.greenColor.map((value, index) =>\r\n\t\t\t\tMath.round(\r\n\t\t\t\t\tthis.yellowColor[index] +\r\n\t\t\t\t\t\t((value - this.yellowColor[index]) * (score - 6)) / (this.maxScore - 6)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t\t\treturn `rgb(${yellowGreenRange.join(\",\")})`;\r\n\t\t}\r\n\t}\r\n\r\n\tget showNoInsightMessage(): boolean {\r\n\t\treturn !this.advisorStore.hasInsightProductsToShow;\r\n\t}\r\n\r\n\tget hasInsightProductsToShow(): boolean {\r\n\t\treturn this.advisorStore.hasInsightProductsToShow;\r\n\t}\r\n\r\n\tget insightProductsToShow(): AdvisorProductViewModel[] {\r\n\t\treturn this.advisorStore.insightProductsToShow;\r\n\t}\r\n\r\n\tinitChat(message: string): void {\r\n\t\tthis.chatWidget.open({ name: message });\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n::v-deep(.accordion-products) {\r\n\t.p-accordion-header {\r\n\t\t&.p-highlight .p-accordion-header-link {\r\n\t\t\tbackground: var(--surface-b) !important;\r\n\t\t}\r\n\r\n\t\t&:not(.p-highlight):hover .p-accordion-header-link {\r\n\t\t\ttext-decoration: none;\r\n\t\t\tbackground: inherit;\r\n\t\t\tcursor: pointer;\r\n\t\t}\r\n\r\n\t\t.p-accordion-header-link {\r\n\t\t\tbackground: inherit;\r\n\t\t\ttext-decoration: none;\r\n\t\t\tpadding: 0.75rem 0;\r\n\r\n\t\t\t&:focus {\r\n\t\t\t\tbox-shadow: none;\r\n\t\t\t}\r\n\r\n\t\t\t.p-accordion-toggle-icon {\r\n\t\t\t\tfont-size: 1.1rem;\r\n\t\t\t\tmargin: 0 1rem;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t.p-accordion-content {\r\n\t\tborder: none;\r\n\t\tbackground-color: inherit;\r\n\t\tpadding: 0;\r\n\r\n\t\t.product-wrapper {\r\n\t\t\tgap: 0.5rem;\r\n\r\n\t\t\t.product-users {\r\n\t\t\t\tfont-size: 1rem;\r\n\t\t\t\tbackground-color: inherit;\r\n\t\t\t}\r\n\r\n\t\t\t.product-usage-wrapper {\r\n\t\t\t\t.product-usage-details {\r\n\t\t\t\t\theight: 1.35rem;\r\n\r\n\t\t\t\t\tspan {\r\n\t\t\t\t\t\tfont-size: 0.8rem;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t.usage-details-negative,\r\n\t\t\t\t\t.usage-details-positive {\r\n\t\t\t\t\t\tborder-radius: 6px;\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\r\n.product-wrapper {\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tflex: 1;\r\n\tgap: 0.75rem;\r\n\tmin-height: 85px;\r\n\tflex-wrap: wrap;\r\n\r\n\t.product-icon-wrapper {\r\n\t\tdisplay: flex;\r\n\t\tflex: 0 0 10%;\r\n\r\n\t\t.product-icon {\r\n\t\t\twidth: 40px;\r\n\t\t\theight: 40px;\r\n\t\t}\r\n\r\n\t\t.product-item-icon {\r\n\t\t\tmargin: auto;\r\n\t\t\tbackground: white;\r\n\t\t\tborder-radius: 50%;\r\n\t\t\tfont-size: 1.5rem;\r\n\t\t}\r\n\t}\r\n\r\n\t.product-users {\r\n\t\tdisplay: flex;\r\n\t\tflex-shrink: 0;\r\n\t\tflex-direction: column;\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\t\twidth: 3rem;\r\n\t\tpadding: 0.5rem;\r\n\t\theight: 100%;\r\n\t\tfont-size: 1rem;\r\n\t\tbackground-color: var(--surface-b);\r\n\t\tcolor: var(--text-color-secondary);\r\n\t}\r\n\r\n\t.product-usage-wrapper {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\tflex-grow: 1;\r\n\t\talign-items: flex-start;\r\n\t\tjustify-content: flex-start;\r\n\t\theight: 100%;\r\n\t\tgap: 0.25rem;\r\n\t\tpadding-right: 0.5rem;\r\n\r\n\t\t.product-usage-statistics {\r\n\t\t\tflex: 1;\r\n\t\t\tpadding: 0 0.5rem;\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: flex-start;\r\n\t\t\tjustify-content: flex-start;\r\n\t\t\tflex-wrap: wrap;\r\n\t\t\tflex-direction: column;\r\n\t\t\twidth: 100%;\r\n\t\t}\r\n\r\n\t\t.product-usage-placeholder {\r\n\t\t\theight: 1.35rem;\r\n\t\t\twidth: 100%;\r\n\t\t\tgap: 0.25rem;\r\n\t\t\tdisplay: flex;\r\n\r\n\t\t\t.usage-details-default {\r\n\t\t\t\tborder-radius: 8px;\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\tjustify-content: center;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.product-usage-details {\r\n\t\t\theight: 1.75rem;\r\n\t\t\twidth: 100%;\r\n\t\t\tgap: 0.25rem;\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\r\n\t\t\tspan {\r\n\t\t\t\tfont-weight: 500;\r\n\t\t\t\tfont-size: 0.95rem;\r\n\t\t\t}\r\n\r\n\t\t\t.usage-details-negative {\r\n\t\t\t\tborder-radius: 8px;\r\n\t\t\t\tbackground-color: var(--danger-color);\r\n\t\t\t\tcolor: var(--primary-color-text);\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\tjustify-content: center;\r\n\t\t\t}\r\n\r\n\t\t\t.usage-details-positive {\r\n\t\t\t\tborder-radius: 8px;\r\n\t\t\t\tbackground-color: var(--success-color);\r\n\t\t\t\tcolor: var(--primary-color-text);\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\tjustify-content: center;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n.insights-header {\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n}\r\n\r\n.legend {\r\n\theight: 0.65rem;\r\n\twidth: 0.65rem;\r\n\tbackground-color: black;\r\n\tmargin-right: 5px;\r\n}\r\n\r\n::v-deep(.score-chart) {\r\n\twidth: 100%;\r\n\tpadding: 0 1rem 1rem 1rem;\r\n\r\n\t.p-chart {\r\n\t\twidth: 50%;\r\n\t\tmargin: 0 auto;\r\n\t}\r\n}\r\n\r\n::v-deep(.p-component-overlay-enter) {\r\n\tanimation: p-component-overlay-content-lock-animation-enter 150ms forwards;\r\n}\r\n\r\n::v-deep(.p-component-overlay-leave) {\r\n\tanimation: p-component-overlay-content-lock-animation-leave 150ms forwards;\r\n}\r\n\r\n@keyframes p-component-overlay-content-lock-animation-enter {\r\n\tfrom {\r\n\t\tbackground-color: transparent;\r\n\t}\r\n\tto {\r\n\t\ttransform-style: preserve-3d;\r\n\t\tbackdrop-filter: blur(4px);\r\n\t\tbackground-color: rgba(0, 0, 0, 0.02);\r\n\t\tborder-radius: 10px;\r\n\t\tbox-shadow: 0 0 8px 8px rgba(0, 0, 0, 0.05);\r\n\t}\r\n}\r\n\r\n@keyframes p-component-overlay-content-lock-animation-leave {\r\n\tfrom {\r\n\t\ttransform-style: preserve-3d;\r\n\t\tbackdrop-filter: blur(4px);\r\n\t\tbackground-color: rgba(0, 0, 0, 0.02);\r\n\t\tborder-radius: 10px;\r\n\t\tbox-shadow: 0 0 8px 8px rgba(0, 0, 0, 0.05);\r\n\t}\r\n\tto {\r\n\t\tbackground-color: transparent;\r\n\t}\r\n}\r\n\r\n::v-deep(.blurred-content) {\r\n\theight: 100%;\r\n\twidth: 100%;\r\n\toverflow: visible;\r\n\r\n\t.p-component-overlay:before {\r\n\t\tcontent: \"\\e95f\";\r\n\t\tfont-family: primeicons;\r\n\t\tfont-style: normal;\r\n\t\tfont-size: 3.25rem;\r\n\t\tfont-weight: 400;\r\n\t\tfont-variant: normal;\r\n\t\tposition: absolute;\r\n\t\ttop: 50%;\r\n\t\tleft: 50%;\r\n\t\ttransform: translate(-50%, -50%);\r\n\t}\r\n}\r\n\r\n.insights-section-card {\r\n\tcolor: #495057;\r\n\tbox-shadow:\r\n\t\t0px 2px 1px -1px rgba(0, 0, 0, 0.2),\r\n\t\t0px 1px 1px 0px rgba(0, 0, 0, 0.14),\r\n\t\t0px 1px 3px 0px rgba(0, 0, 0, 0.12);\r\n\tborder-radius: 3px;\r\n}\r\n\r\n.score-cta {\r\n\tbox-shadow:\r\n\t\t0px 2px 1px -1px rgba(0, 0, 0, 0.2),\r\n\t\t0px 1px 1px 0px rgba(0, 0, 0, 0.14),\r\n\t\t0px 1px 3px 0px rgba(0, 0, 0, 0.12);\r\n\tborder-radius: 3px;\r\n}\r\n\r\n.product-licences {\r\n\tmargin-left: 3.1rem;\r\n}\r\n\r\n::v-deep(.p-scrollpanel.custom-scroll-bar .p-scrollpanel-bar) {\r\n\tbackground-color: var(--surface-300);\r\n\tborder-radius: 0;\r\n\topacity: 1;\r\n\ttransition: background-color 0.3s;\r\n\ttransform: translateX(-10px);\r\n}\r\n</style>\r\n","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"p-2\" }\nconst _hoisted_2 = { class: \"d-flex mt-2\" }\nconst _hoisted_3 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-chevron-down p-2 my-auto text-muted\" }, null, -1)\nconst _hoisted_4 = { class: \"d-flex flex-wrap flex-column flex-1\" }\nconst _hoisted_5 = { class: \"d-flex align-items-center\" }\nconst _hoisted_6 = { class: \"d-flex flex-1\" }\nconst _hoisted_7 = { class: \"d-flex mt-2\" }\nconst _hoisted_8 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-chevron-down p-2 my-auto text-muted\" }, null, -1)\nconst _hoisted_9 = { class: \"d-flex flex-wrap flex-column flex-1\" }\nconst _hoisted_10 = { class: \"d-flex align-items-center\" }\nconst _hoisted_11 = { class: \"d-flex flex-1\" }\nconst _hoisted_12 = { class: \"d-flex mt-2\" }\nconst _hoisted_13 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-chevron-down p-2 my-auto text-muted\" }, null, -1)\nconst _hoisted_14 = { class: \"d-flex flex-wrap flex-column flex-1\" }\nconst _hoisted_15 = { class: \"d-flex align-items-center\" }\nconst _hoisted_16 = { class: \"d-flex flex-1\" }\nconst _hoisted_17 = { class: \"d-flex mt-2\" }\nconst _hoisted_18 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-chevron-down p-2 my-auto text-muted\" }, null, -1)\nconst _hoisted_19 = { class: \"d-flex flex-wrap flex-column flex-1\" }\nconst _hoisted_20 = { class: \"d-flex align-items-center\" }\nconst _hoisted_21 = { class: \"d-flex flex-1\" }\nconst _hoisted_22 = { class: \"d-flex mt-2\" }\nconst _hoisted_23 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-chevron-down p-2 my-auto text-muted\" }, null, -1)\nconst _hoisted_24 = { class: \"d-flex flex-wrap flex-column flex-1\" }\nconst _hoisted_25 = { class: \"d-flex align-items-center\" }\nconst _hoisted_26 = { class: \"d-flex flex-1\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Skeleton = _resolveComponent(\"Skeleton\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createVNode(_component_Skeleton, {\n class: \"mr-2\",\n height: \"4rem\",\n shape: \"square\",\n width: \"4rem\"\n }),\n _createVNode(_component_Skeleton, {\n class: \"mr-2\",\n height: \"4rem\",\n shape: \"square\",\n width: \"2.5rem\"\n }),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createVNode(_component_Skeleton, {\n class: \"mb-2 mr-1\",\n height: \"1.6rem\",\n width: \"5rem\"\n }),\n _createVNode(_component_Skeleton, {\n class: \"mb-2\",\n width: \"10rem\"\n })\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(_component_Skeleton, {\n class: \"mr-1\",\n height: \"1rem\",\n width: \"20%\"\n }),\n _createVNode(_component_Skeleton, {\n class: \"\",\n height: \"1rem\",\n width: \"80%\"\n })\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _hoisted_8,\n _createVNode(_component_Skeleton, {\n class: \"mr-2\",\n height: \"4rem\",\n shape: \"square\",\n width: \"4rem\"\n }),\n _createVNode(_component_Skeleton, {\n class: \"mr-2\",\n height: \"4rem\",\n shape: \"square\",\n width: \"2.5rem\"\n }),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createVNode(_component_Skeleton, {\n class: \"mb-2 mr-1\",\n height: \"1.6rem\",\n width: \"5rem\"\n }),\n _createVNode(_component_Skeleton, {\n class: \"mb-2\",\n width: \"10rem\"\n })\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createVNode(_component_Skeleton, {\n class: \"mr-1\",\n height: \"1rem\",\n width: \"60%\"\n }),\n _createVNode(_component_Skeleton, {\n class: \"\",\n height: \"1rem\",\n width: \"40%\"\n })\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _hoisted_13,\n _createVNode(_component_Skeleton, {\n class: \"mr-2\",\n height: \"4rem\",\n shape: \"square\",\n width: \"4rem\"\n }),\n _createVNode(_component_Skeleton, {\n class: \"mr-2\",\n height: \"4rem\",\n shape: \"square\",\n width: \"2.5rem\"\n }),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, [\n _createVNode(_component_Skeleton, {\n class: \"mb-2 mr-1\",\n height: \"1.6rem\",\n width: \"5rem\"\n }),\n _createVNode(_component_Skeleton, {\n class: \"mb-2\",\n width: \"10rem\"\n })\n ]),\n _createElementVNode(\"div\", _hoisted_16, [\n _createVNode(_component_Skeleton, {\n class: \"mr-1\",\n height: \"1rem\",\n width: \"34%\"\n }),\n _createVNode(_component_Skeleton, {\n class: \"\",\n height: \"1rem\",\n width: \"66%\"\n })\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_17, [\n _hoisted_18,\n _createVNode(_component_Skeleton, {\n class: \"mr-2\",\n height: \"4rem\",\n shape: \"square\",\n width: \"4rem\"\n }),\n _createVNode(_component_Skeleton, {\n class: \"mr-2\",\n height: \"4rem\",\n shape: \"square\",\n width: \"2.5rem\"\n }),\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _createVNode(_component_Skeleton, {\n class: \"mb-2 mr-1\",\n height: \"1.6rem\",\n width: \"5rem\"\n }),\n _createVNode(_component_Skeleton, {\n class: \"mb-2\",\n width: \"10rem\"\n })\n ]),\n _createElementVNode(\"div\", _hoisted_21, [\n _createVNode(_component_Skeleton, {\n class: \"mr-1\",\n height: \"1rem\",\n width: \"89%\"\n }),\n _createVNode(_component_Skeleton, {\n class: \"\",\n height: \"1rem\",\n width: \"11%\"\n })\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_22, [\n _hoisted_23,\n _createVNode(_component_Skeleton, {\n class: \"mr-2\",\n height: \"4rem\",\n shape: \"square\",\n width: \"4rem\"\n }),\n _createVNode(_component_Skeleton, {\n class: \"mr-2\",\n height: \"4rem\",\n shape: \"square\",\n width: \"2.5rem\"\n }),\n _createElementVNode(\"div\", _hoisted_24, [\n _createElementVNode(\"div\", _hoisted_25, [\n _createVNode(_component_Skeleton, {\n class: \"mb-2 mr-1\",\n height: \"1.6rem\",\n width: \"5rem\"\n }),\n _createVNode(_component_Skeleton, {\n class: \"mb-2\",\n width: \"10rem\"\n })\n ]),\n _createElementVNode(\"div\", _hoisted_26, [\n _createVNode(_component_Skeleton, {\n class: \"mr-1\",\n height: \"1rem\",\n width: \"34%\"\n }),\n _createVNode(_component_Skeleton, {\n class: \"\",\n height: \"1rem\",\n width: \"66%\"\n })\n ])\n ])\n ])\n ]))\n}","<template>\r\n\t<div class=\"p-2\">\r\n\t\t<div class=\"d-flex mt-2\">\r\n\t\t\t<i class=\"pi pi-chevron-down p-2 my-auto text-muted\"></i>\r\n\t\t\t<Skeleton class=\"mr-2\" height=\"4rem\" shape=\"square\" width=\"4rem\" />\r\n\t\t\t<Skeleton class=\"mr-2\" height=\"4rem\" shape=\"square\" width=\"2.5rem\" />\r\n\t\t\t<div class=\"d-flex flex-wrap flex-column flex-1\">\r\n\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t<Skeleton class=\"mb-2 mr-1\" height=\"1.6rem\" width=\"5rem\" />\r\n\t\t\t\t\t<Skeleton class=\"mb-2\" width=\"10rem\" />\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"d-flex flex-1\">\r\n\t\t\t\t\t<Skeleton class=\"mr-1\" height=\"1rem\" width=\"20%\" />\r\n\t\t\t\t\t<Skeleton class=\"\" height=\"1rem\" width=\"80%\" />\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"d-flex mt-2\">\r\n\t\t\t<i class=\"pi pi-chevron-down p-2 my-auto text-muted\"></i>\r\n\t\t\t<Skeleton class=\"mr-2\" height=\"4rem\" shape=\"square\" width=\"4rem\" />\r\n\t\t\t<Skeleton class=\"mr-2\" height=\"4rem\" shape=\"square\" width=\"2.5rem\" />\r\n\t\t\t<div class=\"d-flex flex-wrap flex-column flex-1\">\r\n\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t<Skeleton class=\"mb-2 mr-1\" height=\"1.6rem\" width=\"5rem\" />\r\n\t\t\t\t\t<Skeleton class=\"mb-2\" width=\"10rem\" />\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"d-flex flex-1\">\r\n\t\t\t\t\t<Skeleton class=\"mr-1\" height=\"1rem\" width=\"60%\" />\r\n\t\t\t\t\t<Skeleton class=\"\" height=\"1rem\" width=\"40%\" />\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"d-flex mt-2\">\r\n\t\t\t<i class=\"pi pi-chevron-down p-2 my-auto text-muted\"></i>\r\n\t\t\t<Skeleton class=\"mr-2\" height=\"4rem\" shape=\"square\" width=\"4rem\" />\r\n\t\t\t<Skeleton class=\"mr-2\" height=\"4rem\" shape=\"square\" width=\"2.5rem\" />\r\n\t\t\t<div class=\"d-flex flex-wrap flex-column flex-1\">\r\n\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t<Skeleton class=\"mb-2 mr-1\" height=\"1.6rem\" width=\"5rem\" />\r\n\t\t\t\t\t<Skeleton class=\"mb-2\" width=\"10rem\" />\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"d-flex flex-1\">\r\n\t\t\t\t\t<Skeleton class=\"mr-1\" height=\"1rem\" width=\"34%\" />\r\n\t\t\t\t\t<Skeleton class=\"\" height=\"1rem\" width=\"66%\" />\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"d-flex mt-2\">\r\n\t\t\t<i class=\"pi pi-chevron-down p-2 my-auto text-muted\"></i>\r\n\t\t\t<Skeleton class=\"mr-2\" height=\"4rem\" shape=\"square\" width=\"4rem\" />\r\n\t\t\t<Skeleton class=\"mr-2\" height=\"4rem\" shape=\"square\" width=\"2.5rem\" />\r\n\t\t\t<div class=\"d-flex flex-wrap flex-column flex-1\">\r\n\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t<Skeleton class=\"mb-2 mr-1\" height=\"1.6rem\" width=\"5rem\" />\r\n\t\t\t\t\t<Skeleton class=\"mb-2\" width=\"10rem\" />\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"d-flex flex-1\">\r\n\t\t\t\t\t<Skeleton class=\"mr-1\" height=\"1rem\" width=\"89%\" />\r\n\t\t\t\t\t<Skeleton class=\"\" height=\"1rem\" width=\"11%\" />\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"d-flex mt-2\">\r\n\t\t\t<i class=\"pi pi-chevron-down p-2 my-auto text-muted\"></i>\r\n\t\t\t<Skeleton class=\"mr-2\" height=\"4rem\" shape=\"square\" width=\"4rem\" />\r\n\t\t\t<Skeleton class=\"mr-2\" height=\"4rem\" shape=\"square\" width=\"2.5rem\" />\r\n\t\t\t<div class=\"d-flex flex-wrap flex-column flex-1\">\r\n\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t<Skeleton class=\"mb-2 mr-1\" height=\"1.6rem\" width=\"5rem\" />\r\n\t\t\t\t\t<Skeleton class=\"mb-2\" width=\"10rem\" />\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"d-flex flex-1\">\r\n\t\t\t\t\t<Skeleton class=\"mr-1\" height=\"1rem\" width=\"34%\" />\r\n\t\t\t\t\t<Skeleton class=\"\" height=\"1rem\" width=\"66%\" />\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component } from \"vue-facing-decorator\";\r\nimport Skeleton from \"primevue/skeleton\";\r\n\r\n@Component({ components: { Skeleton } })\r\nexport default class AdvisorInsightSkeleton extends BaseComponent {}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { render } from \"./advisorInsightSkeleton.vue?vue&type=template&id=40bbc35e&ts=true\"\nimport script from \"./advisorInsightSkeleton.vue?vue&type=script&lang=ts\"\nexport * from \"./advisorInsightSkeleton.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./advisorInsightsOverview.vue?vue&type=template&id=024aa481&scoped=true&ts=true\"\nimport script from \"./advisorInsightsOverview.vue?vue&type=script&lang=ts\"\nexport * from \"./advisorInsightsOverview.vue?vue&type=script&lang=ts\"\n\nimport \"./advisorInsightsOverview.vue?vue&type=style&index=0&id=024aa481&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-024aa481\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, normalizeStyle as _normalizeStyle, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-58fff78a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"p-panel-title flex-1\" }\nconst _hoisted_2 = { class: \"row no-gutters py-2\" }\nconst _hoisted_3 = { class: \"col-1\" }\nconst _hoisted_4 = { class: \"col px-2\" }\nconst _hoisted_5 = { class: \"ml-1 font-weight-bold lead\" }\nconst _hoisted_6 = { class: \"ml-1\" }\nconst _hoisted_7 = { class: \"d-flex gap-3\" }\nconst _hoisted_8 = { class: \"lead\" }\nconst _hoisted_9 = { class: \"d-inline-block\" }\nconst _hoisted_10 = { class: \"text-muted\" }\nconst _hoisted_11 = { class: \"flex-1\" }\nconst _hoisted_12 = { class: \"d-flex align-items-center gap-1\" }\nconst _hoisted_13 = { class: \"text-primary mt-2\" }\nconst _hoisted_14 = [\"href\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_font_awesome_icon = _resolveComponent(\"font-awesome-icon\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_LinkButton = _resolveComponent(\"LinkButton\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Panel = _resolveComponent(\"Panel\")!\n\n return (_ctx.advisorStore.overview)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"p-3 mb-3\",\n style: _normalizeStyle({ 'background-color': _ctx.scoreStyleObject.ctaBgColor, 'border-radius': '5px' })\n }, [\n _createVNode(_component_Panel, { collapsed: _ctx.panelCollapsed }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", {\n class: \"d-flex align-items-center flex-1\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.panelCollapsed = !_ctx.panelCollapsed))\n }, [\n _createElementVNode(\"h2\", _hoisted_1, _toDisplayString(_ctx.scoreStyleObject.ctaTitle), 1),\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"p-panel-header-icon\", _ctx.panelCollapsed ? 'pi pi-chevron-left' : 'pi pi-chevron-down'])\n }, null, 2)\n ])\n ]),\n default: _withCtx(() => [\n _createVNode(_component_Message, {\n closable: false,\n icon: \"none\",\n severity: _ctx.scoreStyleObject.ctaMessageStyle\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_font_awesome_icon, {\n class: _normalizeClass([\"cta-icon\", _ctx.scoreStyleObject.ctaTextColor]),\n icon: [_ctx.scoreStyleObject.ctaIcon.style, _ctx.scoreStyleObject.ctaIcon.icon]\n }, null, 8, [\"class\", \"icon\"])\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"p\", _hoisted_5, _toDisplayString(_ctx.scoreStyleObject.ctaMessage), 1),\n _createElementVNode(\"p\", _hoisted_6, _toDisplayString(_ctx.$t(\"digitalAdvisor.cta.messageSubtitle\")), 1)\n ])\n ])\n ]),\n _: 1\n }, 8, [\"severity\"]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"p\", _hoisted_8, _toDisplayString(_ctx.$t(\"digitalAdvisor.cta.savingsTitle\")), 1),\n _createVNode(_component_i18n_t, {\n keypath: \"product.advice.lblYearlyTokenUsage\",\n scope: \"global\"\n }, {\n amount: _withCtx(() => [\n _createElementVNode(\"h4\", _hoisted_9, _toDisplayString(_ctx.formatCurrency(_ctx.overview.amountSavedPerYear || 0)), 1)\n ]),\n _: 1\n }),\n _createElementVNode(\"p\", _hoisted_10, _toDisplayString(_ctx.$t(\"digitalAdvisor.cta.savingsSubtitle\")), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.vm.ctaTitle), 1),\n _createElementVNode(\"div\", _hoisted_12, [\n (_ctx.vm.primaryCta)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 0,\n class: _normalizeClass([\"p-button-raised\", \r\n\t\t\t\t\t\t\t\t_ctx.ctaButtonClass(_ctx.vm.primaryCtaStyle) ||\r\n\t\t\t\t\t\t\t\t'p-button-raised p-button-success p-button-arrow'\r\n\t\t\t\t\t\t\t]),\n label: _ctx.vm.primaryCta.text,\n target: _ctx.vm.primaryCta.target,\n title: _ctx.vm.primaryCta.title,\n url: _ctx.vm.primaryCta.url\n }, null, 8, [\"class\", \"label\", \"target\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.layoutStore.chatWidgetAvailable)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-secondary\",\n label: _ctx.$t('product.advice.button.chatWithEmployee'),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.initChat(`${_ctx.$t('myCadac.advisorAdvice.chatMessage.contactSupport')}`)))\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"p\", _hoisted_13, [\n _createVNode(_component_i18n_t, {\n keypath: \"common.support.contactUsAt\",\n scope: \"global\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"a\", {\n href: 'tel:' + _ctx.$t('common.support.phoneNumber')\n }, _toDisplayString(_ctx.$t(\"common.support.phoneNumber\")), 9, _hoisted_14)\n ]),\n _: 1\n })\n ])\n ])\n ])\n ]),\n _: 1\n }, 8, [\"collapsed\"])\n ], 4))\n : _createCommentVNode(\"\", true)\n}","<template>\r\n\t<div\r\n\t\tv-if=\"advisorStore.overview\"\r\n\t\tclass=\"p-3 mb-3\"\r\n\t\t:style=\"{ 'background-color': scoreStyleObject.ctaBgColor, 'border-radius': '5px' }\"\r\n\t>\r\n\t\t<Panel :collapsed=\"panelCollapsed\">\r\n\t\t\t<template #header>\r\n\t\t\t\t<div class=\"d-flex align-items-center flex-1\" @click=\"panelCollapsed = !panelCollapsed\">\r\n\t\t\t\t\t<h2 class=\"p-panel-title flex-1\">{{ scoreStyleObject.ctaTitle }}</h2>\r\n\t\t\t\t\t<i\r\n\t\t\t\t\t\tclass=\"p-panel-header-icon\"\r\n\t\t\t\t\t\t:class=\"panelCollapsed ? 'pi pi-chevron-left' : 'pi pi-chevron-down'\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t\t<Message :closable=\"false\" icon=\"none\" :severity=\"scoreStyleObject.ctaMessageStyle\">\r\n\t\t\t\t<div class=\"row no-gutters py-2\">\r\n\t\t\t\t\t<div class=\"col-1\">\r\n\t\t\t\t\t\t<font-awesome-icon\r\n\t\t\t\t\t\t\tclass=\"cta-icon\"\r\n\t\t\t\t\t\t\t:class=\"scoreStyleObject.ctaTextColor\"\r\n\t\t\t\t\t\t\t:icon=\"[scoreStyleObject.ctaIcon.style, scoreStyleObject.ctaIcon.icon]\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"col px-2\">\r\n\t\t\t\t\t\t<p class=\"ml-1 font-weight-bold lead\">{{ scoreStyleObject.ctaMessage }}</p>\r\n\t\t\t\t\t\t<p class=\"ml-1\">{{ $t(\"digitalAdvisor.cta.messageSubtitle\") }}</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</Message>\r\n\t\t\t<div class=\"d-flex gap-3\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<p class=\"lead\">\r\n\t\t\t\t\t\t{{ $t(\"digitalAdvisor.cta.savingsTitle\") }}\r\n\t\t\t\t\t</p>\r\n\t\t\t\t\t<i18n-t keypath=\"product.advice.lblYearlyTokenUsage\" scope=\"global\">\r\n\t\t\t\t\t\t<template #amount>\r\n\t\t\t\t\t\t\t<h4 class=\"d-inline-block\">\r\n\t\t\t\t\t\t\t\t{{ formatCurrency(overview.amountSavedPerYear || 0) }}\r\n\t\t\t\t\t\t\t</h4>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</i18n-t>\r\n\t\t\t\t\t<p class=\"text-muted\">\r\n\t\t\t\t\t\t{{ $t(\"digitalAdvisor.cta.savingsSubtitle\") }}\r\n\t\t\t\t\t</p>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"flex-1\">\r\n\t\t\t\t\t<h3>{{ vm.ctaTitle }}</h3>\r\n\t\t\t\t\t<div class=\"d-flex align-items-center gap-1\">\r\n\t\t\t\t\t\t<LinkButton\r\n\t\t\t\t\t\t\tv-if=\"vm.primaryCta\"\r\n\t\t\t\t\t\t\tclass=\"p-button-raised\"\r\n\t\t\t\t\t\t\t:class=\"\r\n\t\t\t\t\t\t\t\tctaButtonClass(vm.primaryCtaStyle) ||\r\n\t\t\t\t\t\t\t\t'p-button-raised p-button-success p-button-arrow'\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t:label=\"vm.primaryCta.text\"\r\n\t\t\t\t\t\t\t:target=\"vm.primaryCta.target\"\r\n\t\t\t\t\t\t\t:title=\"vm.primaryCta.title\"\r\n\t\t\t\t\t\t\t:url=\"vm.primaryCta.url\"\r\n\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\tv-if=\"layoutStore.chatWidgetAvailable\"\r\n\t\t\t\t\t\t\tclass=\"p-button-secondary\"\r\n\t\t\t\t\t\t\t:label=\"$t('product.advice.button.chatWithEmployee')\"\r\n\t\t\t\t\t\t\t@click=\"initChat(`${$t('myCadac.advisorAdvice.chatMessage.contactSupport')}`)\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<p class=\"text-primary mt-2\">\r\n\t\t\t\t\t\t<i18n-t keypath=\"common.support.contactUsAt\" scope=\"global\">\r\n\t\t\t\t\t\t\t<a :href=\"'tel:' + $t('common.support.phoneNumber')\">\r\n\t\t\t\t\t\t\t\t{{ $t(\"common.support.phoneNumber\") }}\r\n\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t</i18n-t>\r\n\t\t\t\t\t</p>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</Panel>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseBlock from \"@/components/base/baseBlock.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { CtaButtonStyle } from \"@/types/enum/ctaButtonStyle\";\r\nimport { LinkItemViewModel } from \"@/types/models/common/linkItemViewModel\";\r\nimport { PropType } from \"vue\";\r\nimport { useAdvisorStore } from \"@/store/advisor/advisorStore\";\r\nimport { OverviewViewModel } from \"@/types/models/advisor/OverviewViewModel\";\r\n\r\nexport interface IAdvisorResultCta {\r\n\tscore: number;\r\n\tsavings: number;\r\n\r\n\tctaTitle: string;\r\n\tprimaryCta: LinkItemViewModel;\r\n\tprimaryCtaStyle: CtaButtonStyle;\r\n\tsecondaryCta: LinkItemViewModel;\r\n\tsecondaryCtaStyle: CtaButtonStyle;\r\n}\r\n\r\n@Component\r\nexport default class AdvisorResultCta extends BaseBlock {\r\n\t@Prop({ type: Object as PropType<IAdvisorResultCta>, required: true, default: {} }) vm!: IAdvisorResultCta;\r\n\r\n\tadvisorStore = useAdvisorStore();\r\n\r\n\tpanelCollapsed = false;\r\n\r\n\tctaColors = {\r\n\t\tsuccess: \"rgba(32, 176, 101, 0.06)\",\r\n\t\twarning: \"rgba(255, 242, 226, 0.5)\",\r\n\t\terror: \"rgba(255, 231, 230, 0.5)\",\r\n\t};\r\n\r\n\tget ctaBGColor(): string {\r\n\t\treturn this.ctaColors.success;\r\n\t}\r\n\r\n\tget overview(): OverviewViewModel | undefined {\r\n\t\treturn this.advisorStore.overview;\r\n\t}\r\n\r\n\tget scoreStyleObject(): any {\r\n\t\tconst score = Math.round(this.advisorStore?.insight?.score || 1);\r\n\r\n\t\tif (!score) return {};\r\n\t\tswitch (true) {\r\n\t\t\tcase score <= 5:\r\n\t\t\t\treturn {\r\n\t\t\t\t\tctaTitle: this.$t(\"digitalAdvisor.cta.titleBadScore\"),\r\n\t\t\t\t\tctaMessage: this.$tc(\"digitalAdvisor.cta.messageTitleBad\", { score: score }),\r\n\t\t\t\t\tctaMessageStyle: \"error\",\r\n\t\t\t\t\tctaTextColor: \"text-danger\",\r\n\t\t\t\t\tctaBgColor: this.ctaColors.error,\r\n\t\t\t\t\tctaIcon: {\r\n\t\t\t\t\t\tstyle: \"far\",\r\n\t\t\t\t\t\ticon: \"triangle-exclamation\",\r\n\t\t\t\t\t},\r\n\t\t\t\t};\r\n\t\t\tcase score > 5 && score < 7:\r\n\t\t\t\treturn {\r\n\t\t\t\t\tctaTitle: this.$t(\"digitalAdvisor.cta.titleMediumScore\"),\r\n\t\t\t\t\tctaMessage: this.$tc(\"digitalAdvisor.cta.messageTitleMedium\", { score: score }),\r\n\t\t\t\t\tctaMessageStyle: \"warn\",\r\n\t\t\t\t\tctaTextColor: \"text-warning\",\r\n\t\t\t\t\tctaBgColor: this.ctaColors.warning,\r\n\t\t\t\t\tctaIcon: {\r\n\t\t\t\t\t\tstyle: \"far\",\r\n\t\t\t\t\t\ticon: \"circle-exclamation\",\r\n\t\t\t\t\t},\r\n\t\t\t\t};\r\n\t\t\tcase score >= 7:\r\n\t\t\t\treturn {\r\n\t\t\t\t\tctaTitle: this.$t(\"digitalAdvisor.cta.titleGoodScore\"),\r\n\t\t\t\t\tctaMessage: this.$tc(\"digitalAdvisor.cta.messageTitleGood\", { score: score }),\r\n\t\t\t\t\tctaMessageStyle: \"success\",\r\n\t\t\t\t\tctaTextColor: \"text-success\",\r\n\t\t\t\t\tctaBgColor: this.ctaColors.success,\r\n\t\t\t\t\tctaIcon: {\r\n\t\t\t\t\t\tstyle: \"fas\",\r\n\t\t\t\t\t\ticon: \"party-horn\",\r\n\t\t\t\t\t},\r\n\t\t\t\t};\r\n\t\t\tdefault:\r\n\t\t\t\treturn {};\r\n\t\t}\r\n\t}\r\n\r\n\tinitChat(message: string): void {\r\n\t\tthis.chatWidget.open({ name: message });\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n::v-deep(.p-panel) {\r\n\t.p-panel-header {\r\n\t\tpadding: 0;\r\n\t\tborder: none;\r\n\t\tborder-radius: 3px;\r\n\t\ttext-align: left;\r\n\t\tbackground-color: transparent;\r\n\t}\r\n\r\n\t.p-panel-content {\r\n\t\tbackground: transparent;\r\n\t\tpadding: 0;\r\n\t}\r\n\r\n\t.p-panel-title {\r\n\t\tmargin-bottom: 0;\r\n\t}\r\n\r\n\t.p-message {\r\n\t\t.p-message-success {\r\n\t\t\tborder: none;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n.cta-icon {\r\n\twidth: 100%;\r\n\theight: 100%;\r\n}\r\n\r\n::v-deep(.p-button.p-button-secondary) {\r\n\tborder: none;\r\n}\r\n</style>\r\n","import { render } from \"./advisorResultCta.vue?vue&type=template&id=58fff78a&scoped=true&ts=true\"\nimport script from \"./advisorResultCta.vue?vue&type=script&lang=ts\"\nexport * from \"./advisorResultCta.vue?vue&type=script&lang=ts\"\n\nimport \"./advisorResultCta.vue?vue&type=style&index=0&id=58fff78a&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-58fff78a\"]])\n\nexport default __exports__","import { render } from \"./digitalAdvisor.vue?vue&type=template&id=079938fd&scoped=true&ts=true\"\nimport script from \"./digitalAdvisor.vue?vue&type=script&lang=ts\"\nexport * from \"./digitalAdvisor.vue?vue&type=script&lang=ts\"\n\nimport \"./digitalAdvisor.vue?vue&type=style&index=0&id=079938fd&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-079938fd\"]])\n\nexport default __exports__","import { openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\"))\n}","<template>\r\n\t<div></div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { PropType } from \"vue\";\r\nimport { Prop } from \"vue-facing-decorator\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { IExpertAvailability } from \"@/types/viewModels/myCadac/expertAvailabilityViewModel\";\r\n\r\nexport default class ExpertAvailability extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IExpertAvailability>, required: true, default: {} })\r\n\tvm!: IExpertAvailability;\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped></style>\r\n","import { render } from \"./expertAvailability.vue?vue&type=template&id=5d96ddf6&ts=true\"\nimport script from \"./expertAvailability.vue?vue&type=script&lang=ts\"\nexport * from \"./expertAvailability.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, renderSlot as _renderSlot, resolveComponent as _resolveComponent, createVNode as _createVNode, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-716b2252\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"container my-4\" }\nconst _hoisted_2 = { class: \"row\" }\nconst _hoisted_3 = { class: \"col-12\" }\nconst _hoisted_4 = { class: \"mb-2\" }\nconst _hoisted_5 = { key: 0 }\nconst _hoisted_6 = { class: \"lead text-preline mt-1\" }\nconst _hoisted_7 = { class: \"row mt-2\" }\nconst _hoisted_8 = {\n key: 0,\n class: \"login-wrapper\"\n}\nconst _hoisted_9 = { class: \"bg-primary p-4 w-100\" }\nconst _hoisted_10 = [\"href\"]\nconst _hoisted_11 = { class: \"mt-2\" }\nconst _hoisted_12 = [\"href\"]\nconst _hoisted_13 = {\n key: 1,\n class: \"col-12 col-lg-7 px-2 px-lg-4\"\n}\nconst _hoisted_14 = { class: \"d-flex align-items-center\" }\nconst _hoisted_15 = { class: \"pb-2 pl-2\" }\nconst _hoisted_16 = { class: \"required\" }\nconst _hoisted_17 = {\n key: 0,\n class: \"p-error\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ProfileImage = _resolveComponent(\"ProfileImage\")!\n const _component_PersonalForm = _resolveComponent(\"PersonalForm\")!\n const _component_CompanyForm = _resolveComponent(\"CompanyForm\")!\n const _component_Button = _resolveComponent(\"Button\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n (_ctx.vm.title)\n ? (_openBlock(), _createElementBlock(\"h1\", _hoisted_5, _toDisplayString(_ctx.vm.title), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"p\", _hoisted_6, _toDisplayString(_ctx.vm.text), 1)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _renderSlot(_ctx.$slots, \"default\", {}, undefined, true),\n (!_ctx.layoutStore.isAuthenticated)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"h2\", null, _toDisplayString(_ctx.$t(\"expert.accountPage.loginTitle\")), 1),\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.$t(\"expert.accountPage.loginText\")), 1),\n _createElementVNode(\"a\", {\n class: \"p-button p-component p-button-success p-button-arrow p-button-raised mt-2\",\n href: _ctx.loginPageUrl\n }, _toDisplayString(_ctx.$t(\"common.login\")), 9, _hoisted_10),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"a\", { href: _ctx.registerPageUrl }, _toDisplayString(_ctx.$t(\"common.register\")), 9, _hoisted_12)\n ])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _createElementVNode(\"h2\", null, _toDisplayString(_ctx.$t(\"expert.accountPage.profileTitle\")), 1),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_14, [\n _createVNode(_component_ProfileImage, {\n \"can-change-image\": \"\",\n \"profile-image-url\": _ctx.profileImageUrl,\n onOnProfilePictureChange: _ctx.onProfilePictureChange\n }, null, 8, [\"profile-image-url\", \"onOnProfilePictureChange\"]),\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"label\", _hoisted_16, _toDisplayString(_ctx.$t(\"expert.accountPage.profilePicture\")), 1),\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.$t(\"expert.accountPage.uploadExplanation\")), 1)\n ])\n ]),\n (_ctx.submitted && !_ctx.profileImageUrl)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_17, _toDisplayString(_ctx.$t(\"validations.validImage\")), 1))\n : _createCommentVNode(\"\", true)\n ]),\n (!_ctx.vm.isInternalExpert)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _createVNode(_component_PersonalForm, {\n modelValue: _ctx.vm.personalForm,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.vm.personalForm) = $event)),\n ref: \"personalForm\"\n }, null, 8, [\"modelValue\"]),\n _createVNode(_component_CompanyForm, {\n modelValue: _ctx.vm.companyForm,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.vm.companyForm) = $event)),\n ref: \"companyForm\",\n countries: _ctx.vm.countries,\n \"use-iban\": \"\",\n \"use-vat\": \"\"\n }, null, 8, [\"modelValue\", \"countries\"])\n ], 64))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Button, {\n class: \"p-button-success p-button-arrow p-button-raised mt-2\",\n disabled: _ctx.submitted && !_ctx.canSubmit,\n label: _ctx.$t('common.nextStep'),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.submit()))\n }, null, 8, [\"disabled\", \"label\"])\n ]))\n ])\n ]))\n}","<template>\r\n\t<div class=\"container my-4\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-12\">\r\n\t\t\t\t<div class=\"mb-2\">\r\n\t\t\t\t\t<h1 v-if=\"vm.title\">{{ vm.title }}</h1>\r\n\t\t\t\t\t<p class=\"lead text-preline mt-1\">{{ vm.text }}</p>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"row mt-2\">\r\n\t\t\t<slot />\r\n\t\t\t\r\n\t\t\t<div v-if=\"!layoutStore.isAuthenticated\" class=\"login-wrapper\">\r\n\t\t\t\t<div class=\"bg-primary p-4 w-100\">\r\n\t\t\t\t\t<h2>{{$t(\"expert.accountPage.loginTitle\")}}</h2>\r\n\t\t\t\t\t<p>{{$t(\"expert.accountPage.loginText\")}}</p>\r\n\t\t\t\t\t<a class=\"p-button p-component p-button-success p-button-arrow p-button-raised mt-2\" :href=\"loginPageUrl\">{{ $t(\"common.login\") }}</a>\r\n\t\t\t\t\t<div class=\"mt-2\"><a :href=\"registerPageUrl\">{{ $t(\"common.register\") }}</a></div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div v-else class=\"col-12 col-lg-7 px-2 px-lg-4\">\r\n\t\t\t\t<h2>{{ $t(\"expert.accountPage.profileTitle\") }}</h2>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t\t<ProfileImage can-change-image\r\n\t\t\t\t\t\t\t\t\t :profile-image-url=\"profileImageUrl\"\r\n\t\t\t\t\t\t\t\t\t @onProfilePictureChange=\"onProfilePictureChange\" />\r\n\t\t\t\t\t\t<div class=\"pb-2 pl-2\">\r\n\t\t\t\t\t\t\t<label class=\"required\">{{ $t(\"expert.accountPage.profilePicture\") }}</label>\r\n\t\t\t\t\t\t\t<p>{{ $t(\"expert.accountPage.uploadExplanation\") }}</p>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<small v-if=\"submitted && !profileImageUrl\" class=\"p-error\">\r\n\t\t\t\t\t\t{{ $t(\"validations.validImage\") }}\r\n\t\t\t\t\t</small>\r\n\t\t\t\t</div>\r\n\t\t\t\t<template v-if=\"!vm.isInternalExpert\">\r\n\t\t\t\t\t<PersonalForm v-model=\"vm.personalForm\" ref=\"personalForm\" />\r\n\t\t\t\t\t<CompanyForm v-model=\"vm.companyForm\"\r\n\t\t\t\t\t\t\t\t ref=\"companyForm\"\r\n\t\t\t\t\t\t\t\t :countries=\"vm.countries\"\r\n\t\t\t\t\t\t\t\t use-iban\r\n\t\t\t\t\t\t\t\t use-vat />\r\n\t\t\t\t</template>\r\n\t\t\t\t<Button class=\"p-button-success p-button-arrow p-button-raised mt-2\"\r\n\t\t\t\t\t\t:disabled=\"submitted && !canSubmit\"\r\n\t\t\t\t\t\t:label=\"$t('common.nextStep')\"\r\n\t\t\t\t\t\t@click=\"submit()\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport AddressForm from \"@/components/common/forms/addressForm.vue\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport CompanyForm from \"@/components/common/forms/companyForm.vue\";\r\nimport PersonalForm from \"@/components/common/forms/personalForm.vue\";\r\nimport ProfileImage from \"@/components/common/profileImage.vue\";\r\nimport { CompanyForm as CompanyFormModel } from \"@/types/models/form/companyForm\";\r\nimport { Component, Prop, Ref } from \"vue-facing-decorator\";\r\nimport { FormComponent } from \"@/types/models/form/formComponent\";\r\nimport { IExpertAccountPageViewModel } from \"@/types/viewModels/commerce/expertAccountPageViewModel\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PersonalForm as PersonalFormModel } from \"@/types/models/form/personalForm\";\r\nimport { PropType } from \"vue\";\r\n\r\n@Component({\r\n\tcomponents: { ProfileImage, CompanyForm, PersonalForm, AddressForm },\r\n})\r\nexport default class ExpertAccountPage extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IExpertAccountPageViewModel>, required: true, default: {} })\r\n\tvm!: IExpertAccountPageViewModel;\r\n\r\n\t@Ref readonly companyForm!: FormComponent<CompanyFormModel>;\r\n\t@Ref readonly personalForm!: FormComponent<PersonalFormModel>;\r\n\r\n\tprofileImage!: File;\r\n\tprofileImageUrl = \"\";\r\n\tsubmitted = false;\r\n\r\n\tcreated(): void {\r\n\t\tLog.info(\"ExpertAccount\", this.vm);\r\n\t}\r\n\r\n\taddToastError(): void {\r\n\t\tthis.$toast.add({\r\n\t\t\tseverity: \"error\",\r\n\t\t\tdetail: this.$t(\"expert.accountPage.toast.sendCreateExpertPageError\"),\r\n\t\t\tlife: 3000,\r\n\t\t});\r\n\t}\r\n\r\n\tget canSubmit(): boolean {\r\n\t\treturn this.vm.isInternalExpert\r\n\t\t\t? !!this.profileImageUrl\r\n\t\t\t: this.formsDirty && this.formsValid && !!this.profileImageUrl;\r\n\t}\r\n\r\n\tget formsDirty(): boolean {\r\n\t\treturn this.personalForm?.isDirty && this.companyForm.isDirty;\r\n\t}\r\n\r\n\tget formsValid(): boolean {\r\n\t\treturn this.personalForm?.isValid && this.companyForm?.isValid;\r\n\t}\r\n\r\n\tsubmit(): void {\r\n\t\tif (!this.canSubmit) {\r\n\t\t\tthis.addToastError();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.companyForm?.form.submitForm();\r\n\t\tthis.personalForm?.form.submitForm();\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\r\n\t\tconst formData = new FormData();\r\n\t\tformData.append(\"file\", this.profileImage);\r\n\t\tformData.append(\"personalForm\", JSON.stringify(this.vm.personalForm));\r\n\t\tformData.append(\"companyForm\", JSON.stringify(this.vm.companyForm));\r\n\r\n\t\tthis.axios\r\n\t\t\t.post(`/api/${this.layoutStore.vm.localizationPrefix}/expert/createAccount`, formData, {\r\n\t\t\t\trequestId: \"create-expert\",\r\n\t\t\t\theaders: { \"Content-Type\": \"multipart/form-data\" },\r\n\t\t\t})\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.openUrl(this.vm.expertSettingsUrl);\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.addToastError();\r\n\t\t\t});\r\n\t}\r\n\r\n\tonProfilePictureChange(img: File): void {\r\n\t\tif (!img) return;\r\n\t\tthis.profileImageUrl = URL.createObjectURL(img);\r\n\t\tthis.profileImage = img;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n\r\n .login-wrapper {\r\n flex: 1;\r\n\r\n\t\tmargin: 0 15px;\r\n\r\n a {\r\n color: #fff;\r\n text-decoration: underline;\r\n }\r\n\r\n @media screen and (min-width: 576px) {\r\n\t\t\tmargin: 0;\r\n }\r\n }\r\n</style>\r\n","import { openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, resolveComponent as _resolveComponent, createVNode as _createVNode, Fragment as _Fragment, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeStyle as _normalizeStyle, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-c47dbda0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"profile-image text-center\" }\nconst _hoisted_2 = { class: \"label\" }\nconst _hoisted_3 = [\"data-firstletter\"]\nconst _hoisted_4 = [\"src\"]\nconst _hoisted_5 = {\n key: 2,\n class: \"pi pi-spinner spin profile-avatar-loading\"\n}\nconst _hoisted_6 = {\n key: 3,\n class: \"profile-figcaption\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_font_awesome_icon = _resolveComponent(\"font-awesome-icon\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"label\", _hoisted_2, [\n (_ctx.canChangeImage)\n ? (_openBlock(), _createElementBlock(\"input\", {\n key: 0,\n accept: \"image/png,image/jpeg\",\n class: \"d-none\",\n type: \"file\",\n onChange: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => (_ctx.onProfilePictureChange && _ctx.onProfilePictureChange(...args)))\n }, null, 32))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"figure\", {\n class: \"profile-figure\",\n style: _normalizeStyle({ cursor: _ctx.canChangeImage ? 'pointer' : 'auto' })\n }, [\n (!_ctx.validProfileImage)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n (_ctx.firstLetterAvatar)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n \"aria-hidden\": \"true\",\n class: _normalizeClass([\"avatar\", { 'avatar--large': !_ctx.isSmallScreen }]),\n \"data-firstletter\": _ctx.firstLetterAvatar\n }, null, 10, _hoisted_3))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: _normalizeClass([\"avatar\", { 'avatar--large': !_ctx.isSmallScreen }])\n }, [\n _createVNode(_component_font_awesome_icon, {\n icon: ('far', 'user'),\n size: \"sm\"\n })\n ], 2))\n ], 64))\n : (!_ctx.isSpinnerVisible('avatar'))\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 1,\n alt: \"avatar\",\n class: \"profile-avatar\",\n src: _ctx.profileImageUrl || _ctx.loadedFile,\n onError: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => (_ctx.onProfilePictureError && _ctx.onProfilePictureError(...args)))\n }, null, 40, _hoisted_4))\n : (_openBlock(), _createElementBlock(\"i\", _hoisted_5)),\n (_ctx.canChangeImage)\n ? (_openBlock(), _createElementBlock(\"figcaption\", _hoisted_6, [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(\"common.change\")), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ], 4)\n ])\n ]))\n}","<template>\r\n\t<div class=\"profile-image text-center\">\r\n\t\t<label class=\"label\">\r\n\t\t\t<input\r\n\t\t\t\tv-if=\"canChangeImage\"\r\n\t\t\t\taccept=\"image/png,image/jpeg\"\r\n\t\t\t\tclass=\"d-none\"\r\n\t\t\t\ttype=\"file\"\r\n\t\t\t\t@change=\"onProfilePictureChange\"\r\n\t\t\t/>\r\n\t\t\t<figure class=\"profile-figure\" :style=\"{ cursor: canChangeImage ? 'pointer' : 'auto' }\">\r\n\t\t\t\t<template v-if=\"!validProfileImage\">\r\n\t\t\t\t\t<div\r\n\t\t\t\t\t\tv-if=\"firstLetterAvatar\"\r\n\t\t\t\t\t\taria-hidden=\"true\"\r\n\t\t\t\t\t\tclass=\"avatar\"\r\n\t\t\t\t\t\t:class=\"{ 'avatar--large': !isSmallScreen }\"\r\n\t\t\t\t\t\t:data-firstletter=\"firstLetterAvatar\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<div v-else class=\"avatar\" :class=\"{ 'avatar--large': !isSmallScreen }\">\r\n\t\t\t\t\t\t<font-awesome-icon :icon=\"('far', 'user')\" size=\"sm\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\r\n\t\t\t\t<img\r\n\t\t\t\t\tv-else-if=\"!isSpinnerVisible('avatar')\"\r\n\t\t\t\t\talt=\"avatar\"\r\n\t\t\t\t\tclass=\"profile-avatar\"\r\n\t\t\t\t\t:src=\"profileImageUrl || loadedFile\"\r\n\t\t\t\t\t@error=\"onProfilePictureError\"\r\n\t\t\t\t/>\r\n\t\t\t\t<i v-else class=\"pi pi-spinner spin profile-avatar-loading\" />\r\n\t\t\t\t<figcaption v-if=\"canChangeImage\" class=\"profile-figcaption\">\r\n\t\t\t\t\t<span>{{ $t(\"common.change\") }}</span>\r\n\t\t\t\t</figcaption>\r\n\t\t\t</figure>\r\n\t\t</label>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Prop, Emit, Watch } from \"vue-facing-decorator\";\r\nimport { useExpertStore } from \"@/store/expert/expertStore\";\r\n\r\n@Component({\r\n\tcomponents: {},\r\n})\r\nexport default class ProfileImage extends BaseComponent {\r\n\t@Prop({ type: String, required: false, default: \"\" })\r\n\tprofileImageUrl!: string;\r\n\t@Prop({ type: String, required: false, default: \"\" }) firstLetterAvatar = \"\";\r\n\texpertStore = useExpertStore();\r\n\t@Prop({ type: Boolean, required: false, default: false }) canChangeImage;\r\n\r\n\tvalidProfileImage = false;\r\n\tloadedFile = null;\r\n\r\n\t@Emit()\r\n\tonProfilePictureChange(evt: any): File | void {\r\n\t\tif (evt.target.files[0]) {\r\n\t\t\tthis.loadedFile = evt.target.files[0];\r\n\t\t\tthis.validProfileImage = !!this.loadedFile;\r\n\t\t\treturn evt.target.files[0];\r\n\t\t}\r\n\t}\r\n\r\n\t@Watch(\"profileImageUrl\")\r\n\tonImageUrlChange(val: string): void {\r\n\t\tthis.validProfileImage = !!val;\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.validProfileImage = !!this.profileImageUrl;\r\n\t}\r\n\r\n\tonProfilePictureError(): void {\r\n\t\tthis.validProfileImage = false;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.avatar {\r\n\twidth: 4rem;\r\n\theight: 4rem;\r\n\tfont-weight: 700;\r\n\tfont-size: 1.75rem;\r\n\tbackground: var(--surface-c);\r\n\r\n\t&:hover {\r\n\t\tbackground: var(--surface-c);\r\n\t}\r\n\r\n\t&.avatar--large {\r\n\t\twidth: 6rem;\r\n\t\theight: 6rem;\r\n\t\tfont-size: 3rem;\r\n\t}\r\n}\r\n\r\n.profile-status {\r\n\tmargin-left: auto;\r\n\twidth: clamp(300px, 15%, 600px);\r\n}\r\n\r\n.profile-progress {\r\n\tposition: relative;\r\n\tmargin-left: auto;\r\n\twidth: clamp(600px, 25%, 900px);\r\n\ttext-align: center;\r\n\tmargin-bottom: 1rem;\r\n\r\n\t::v-deep(.p-progressbar) {\r\n\t\tbackground: var(--surface-b);\r\n\r\n\t\t.p-progressbar-value {\r\n\t\t\tbackground: var(--secondary-color);\r\n\t\t}\r\n\t}\r\n\r\n\t&::before {\r\n\t\tcontent: \"0%\";\r\n\t\tfont-size: 85%;\r\n\t\tleft: 0;\r\n\t\ttop: 2px;\r\n\t\tposition: absolute;\r\n\t}\r\n\r\n\t&::after {\r\n\t\tfont-size: 85%;\r\n\t\tcontent: \"100%\";\r\n\t\tright: 0;\r\n\t\ttop: 2px;\r\n\t\tposition: absolute;\r\n\t}\r\n}\r\n\r\n.profile-figure {\r\n\tposition: relative;\r\n\twidth: 6rem;\r\n\theight: 6rem;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n}\r\n\r\n.profile-avatar {\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tbox-sizing: border-box;\r\n\tborder-radius: 100%;\r\n\tborder: 2px solid transparent;\r\n\ttransition: all ease-in-out 0.3s;\r\n\tobject-fit: cover;\r\n\r\n\t.profile-avatar-loading {\r\n\t\tfont-size: 1.5rem;\r\n\t}\r\n}\r\n\r\n.profile-figcaption {\r\n\tposition: absolute;\r\n\tfont-size: 1.2rem;\r\n\tfont-weight: 500;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tcolor: var(--primary-color-text);\r\n\tborder-radius: 100%;\r\n\topacity: 0;\r\n\tbackground-color: rgba(0, 0, 0, 0);\r\n\ttransition: all ease-in-out 0.3s;\r\n\r\n\t&:hover {\r\n\t\topacity: 1;\r\n\t\tbackground-color: rgba(0, 0, 0, 0.4);\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./profileImage.vue?vue&type=template&id=c47dbda0&scoped=true&ts=true\"\nimport script from \"./profileImage.vue?vue&type=script&lang=ts\"\nexport * from \"./profileImage.vue?vue&type=script&lang=ts\"\n\nimport \"./profileImage.vue?vue&type=style&index=0&id=c47dbda0&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-c47dbda0\"]])\n\nexport default __exports__","import { render } from \"./expertAccountPage.vue?vue&type=template&id=716b2252&scoped=true&ts=true\"\nimport script from \"./expertAccountPage.vue?vue&type=script&lang=ts\"\nexport * from \"./expertAccountPage.vue?vue&type=script&lang=ts\"\n\nimport \"./expertAccountPage.vue?vue&type=style&index=0&id=716b2252&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-716b2252\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"\" }\nconst _hoisted_2 = { class: \"row\" }\nconst _hoisted_3 = { class: \"col-12\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ExpertBookingOverviewTable = _resolveComponent(\"ExpertBookingOverviewTable\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"h1\", _hoisted_1, _toDisplayString(_ctx.vm.pageTitle), 1),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_ExpertBookingOverviewTable, {\n \"is-expert\": _ctx.isExpert,\n vm: _ctx.vm\n }, null, 8, [\"is-expert\", \"vm\"])\n ])\n ])\n ], 64))\n}","<template>\r\n\t<h1 class=\"\">\r\n\t\t{{ vm.pageTitle }}\r\n\t</h1>\r\n\r\n\t<div class=\"row\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<ExpertBookingOverviewTable :is-expert=\"isExpert\" :vm=\"vm\" />\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport ExpertBookingOverviewTable from \"@/components/experts/expertBookingOverviewTable.vue\";\r\nimport MyCadacMenu from \"@/components/common/menu/myCadacMenu.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { IExpertBookingOverview } from \"@/types/viewModels/myCadac/expertBookingOverviewViewModel\";\r\nimport { PropType } from \"vue\";\r\n\r\n@Component({\r\n\tcomponents: { ExpertBookingOverviewTable, MyCadacMenu },\r\n})\r\nexport default class ExpertBookingOverview extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IExpertBookingOverview>, required: true, default: {} })\r\n\tvm!: IExpertBookingOverview;\r\n\t@Prop({ type: Boolean, required: false, default: false }) isExpert!: boolean;\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, renderList as _renderList, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-c4120e2a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"d-flex align-items-center\" }\nconst _hoisted_2 = { class: \"text-primary\" }\nconst _hoisted_3 = { class: \"text-preline project-description\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"text-bold\"\n}\nconst _hoisted_5 = { class: \"text-preline\" }\nconst _hoisted_6 = { class: \"text-bold mb-0\" }\nconst _hoisted_7 = { class: \"d-flex align-items-center justify-content-end\" }\nconst _hoisted_8 = {\n key: 0,\n class: \"d-flex\"\n}\nconst _hoisted_9 = {\n key: 1,\n class: \"d-flex\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_StatusBadge = _resolveComponent(\"StatusBadge\")!\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Divider = _resolveComponent(\"Divider\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n const _component_ExpertDeclineBookingModal = _resolveComponent(\"ExpertDeclineBookingModal\")!\n const _component_ExpertAcceptBookingModal = _resolveComponent(\"ExpertAcceptBookingModal\")!\n const _component_ExpertCompleteBookingModal = _resolveComponent(\"ExpertCompleteBookingModal\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", null, [\n (_ctx.vm.bookings?.length)\n ? (_openBlock(), _createBlock(_component_DataTable, {\n key: 0,\n \"auto-layout\": \"\",\n breakpoint: \"991px\",\n class: \"mt-2\",\n paginator: _ctx.showPagination,\n \"responsive-layout\": \"scroll\",\n rows: _ctx.maxRowsToShow,\n value: _ctx.vm?.bookings\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Column, {\n key: \"status\",\n header: _ctx.$t('myCadac.supportTicketOverview.table.colStatus'),\n style: {}\n }, {\n body: _withCtx((item) => [\n _createVNode(_component_StatusBadge, {\n status: item.data.status,\n \"translation-prefix\": \"enum.expertBookingStatus\",\n type: 1\n }, null, 8, [\"status\"])\n ]),\n _: 1\n }, 8, [\"header\"]),\n (!_ctx.isExpert)\n ? (_openBlock(), _createBlock(_component_Column, {\n key: \"expert\",\n header: _ctx.$t('expert.booking.expert')\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_1, [\n (item.data.expertProfile?.imageUrl)\n ? (_openBlock(), _createBlock(_component_Avatar, {\n key: 0,\n class: \"mr-2 profile-image\",\n image: item.data.expertProfile?.imageUrl,\n shape: \"circle\",\n size: \"lg\"\n }, null, 8, [\"image\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"span\", _hoisted_2, _toDisplayString(item.data.expertProfile?.firstName) + \" \" + _toDisplayString(item.data.expertProfile?.lastName), 1)\n ])\n ])\n ]),\n _: 1\n }, 8, [\"header\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.isExpert)\n ? (_openBlock(), _createBlock(_component_Column, {\n key: \"projectDescription\",\n field: \"projectDescription\",\n header: _ctx.$t('expert.booking.projectDescription'),\n style: {\"width\":\"30%\"}\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(item.data.projectDescription), 1)\n ]),\n _: 1\n }, 8, [\"header\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Column, {\n key: \"location\",\n header: _ctx.$t('expert.booking.workLocation'),\n style: {\"width\":\"20%\"}\n }, {\n body: _withCtx((item) => [\n (_ctx.isExpert)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_4, _toDisplayString(item.data.customerDisplayName), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"span\", _hoisted_5, _toDisplayString(item.data.isRemote ? _ctx.$t(\"expert.remote\") : item.data.workLocation), 1)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"date\",\n header: _ctx.$t('expert.booking.dates')\n }, {\n body: _withCtx((item) => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.sortedDates(item.data.dates), (date) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: JSON.stringify(date),\n class: \"d-flex flex-column\"\n }, [\n _createElementVNode(\"p\", _hoisted_6, _toDisplayString(`${_ctx.formatDate(date.date)} `), 1),\n _createElementVNode(\"small\", null, _toDisplayString(`${_ctx.formatTime(date.start)} - ${_ctx.formatTime(date.end)}`), 1)\n ]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, { key: \"actions\" }, {\n body: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_7, [\n (_ctx.canAcceptOrRejectBooking(item.data))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createVNode(_component_Button, {\n class: \"p-button-success p-button-icon p-button-rounded p-button-raised p-button-text ml-1 flex-shrink-0\",\n icon: \"pi pi-check\",\n label: _ctx.isSmallScreen ? _ctx.$t('common.accept') : '',\n title: _ctx.$t('common.accept'),\n onClick: ($event: any) => (_ctx.onAcceptClick(item.data))\n }, null, 8, [\"label\", \"title\", \"onClick\"]),\n _createVNode(_component_Button, {\n class: \"p-button-danger p-button-icon p-button-rounded p-button-raised p-button-text ml-1 flex-shrink-0\",\n icon: \"pi pi-times\",\n label: _ctx.isSmallScreen ? _ctx.$t('common.reject') : '',\n title: _ctx.$t('common.reject'),\n onClick: ($event: any) => (_ctx.onRejectClick(item.data))\n }, null, 8, [\"label\", \"title\", \"onClick\"]),\n _createVNode(_component_Divider, { layout: \"vertical\" })\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.canCompleteBooking(item.data))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createVNode(_component_Button, {\n class: \"p-button-success p-button-icon p-button-rounded p-button-raised p-button-text ml-1 flex-shrink-0\",\n icon: \"pi pi-check\",\n label: _ctx.$t('common.complete'),\n title: _ctx.$t('common.complete'),\n onClick: ($event: any) => (_ctx.onCompleteClick(item.data))\n }, null, 8, [\"label\", \"title\", \"onClick\"]),\n _createVNode(_component_Divider, { layout: \"vertical\" })\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.canSeeInvoiceForBooking(item.data))\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 2,\n class: \"p-button-primary p-button-icon p-button-rounded p-button-raised p-button-text ml-1 flex-shrink-0\",\n icon: \"pi pi-file-pdf\",\n label: _ctx.isSmallScreen ? _ctx.$t('expert.button.viewInvoice') : '',\n title: _ctx.$t('expert.button.viewInvoice'),\n onClick: ($event: any) => (_ctx.onViewInvoiceClick(item.data))\n }, null, 8, [\"label\", \"title\", \"onClick\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Button, {\n class: \"p-button-primary p-button-icon p-button-rounded p-button-raised p-button-text ml-1 flex-shrink-0\",\n icon: \"pi pi-eye\",\n label: _ctx.isSmallScreen ? _ctx.$t('common.view') : '',\n title: _ctx.$t('common.view'),\n onClick: ($event: any) => (_ctx.onViewDetailClick(item.data))\n }, null, 8, [\"label\", \"title\", \"onClick\"])\n ])\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"paginator\", \"rows\", \"value\"]))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.expertStore.isCancelOrDeclineBookingModalVisible)\n ? (_openBlock(), _createBlock(_component_ExpertDeclineBookingModal, {\n key: 0,\n onSubmit: _ctx.declineBooking\n }, null, 8, [\"onSubmit\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.expertStore.isAcceptBookingModalVisible)\n ? (_openBlock(), _createBlock(_component_ExpertAcceptBookingModal, {\n key: 1,\n onSubmit: _ctx.acceptBooking\n }, null, 8, [\"onSubmit\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.expertStore.isCompleteBookingModalVisible)\n ? (_openBlock(), _createBlock(_component_ExpertCompleteBookingModal, {\n key: 2,\n onSubmit: _ctx.completeBooking\n }, null, 8, [\"onSubmit\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<div>\r\n\t\t<DataTable\r\n\t\t\tv-if=\"vm.bookings?.length\"\r\n\t\t\tauto-layout\r\n\t\t\tbreakpoint=\"991px\"\r\n\t\t\tclass=\"mt-2\"\r\n\t\t\t:paginator=\"showPagination\"\r\n\t\t\tresponsive-layout=\"scroll\"\r\n\t\t\t:rows=\"maxRowsToShow\"\r\n\t\t\t:value=\"vm?.bookings\"\r\n\t\t>\r\n\t\t\t<Column key=\"status\" :header=\"$t('myCadac.supportTicketOverview.table.colStatus')\" style=\"\">\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<StatusBadge\r\n\t\t\t\t\t\t:status=\"item.data.status\"\r\n\t\t\t\t\t\ttranslation-prefix=\"enum.expertBookingStatus\"\r\n\t\t\t\t\t\t:type=\"1\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\t\t\t<Column v-if=\"!isExpert\" key=\"expert\" :header=\"$t('expert.booking.expert')\">\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\tv-if=\"item.data.expertProfile?.imageUrl\"\r\n\t\t\t\t\t\t\tclass=\"mr-2 profile-image\"\r\n\t\t\t\t\t\t\t:image=\"item.data.expertProfile?.imageUrl\"\r\n\t\t\t\t\t\t\tshape=\"circle\"\r\n\t\t\t\t\t\t\tsize=\"lg\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t<span class=\"text-primary\">\r\n\t\t\t\t\t\t\t\t{{ item.data.expertProfile?.firstName }} {{ item.data.expertProfile?.lastName }}\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\r\n\t\t\t<Column\r\n\t\t\t\tv-if=\"isExpert\"\r\n\t\t\t\tkey=\"projectDescription\"\r\n\t\t\t\tfield=\"projectDescription\"\r\n\t\t\t\t:header=\"$t('expert.booking.projectDescription')\"\r\n\t\t\t\tstyle=\"width: 30%\"\r\n\t\t\t>\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<span class=\"text-preline project-description\">{{ item.data.projectDescription }}</span>\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\r\n\t\t\t<Column key=\"location\" :header=\"$t('expert.booking.workLocation')\" style=\"width: 20%\">\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<p v-if=\"isExpert\" class=\"text-bold\">{{ item.data.customerDisplayName }}</p>\r\n\t\t\t\t\t<span class=\"text-preline\">{{\r\n\t\t\t\t\t\titem.data.isRemote ? $t(\"expert.remote\") : item.data.workLocation\r\n\t\t\t\t\t}}</span>\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\r\n\t\t\t<Column key=\"date\" :header=\"$t('expert.booking.dates')\">\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<div\r\n\t\t\t\t\t\tv-for=\"date in sortedDates(item.data.dates)\"\r\n\t\t\t\t\t\t:key=\"JSON.stringify(date)\"\r\n\t\t\t\t\t\tclass=\"d-flex flex-column\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<p class=\"text-bold mb-0\">\r\n\t\t\t\t\t\t\t{{ `${formatDate(date.date)} ` }}\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t<small>{{ `${formatTime(date.start)} - ${formatTime(date.end)}` }} </small>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\r\n\t\t\t<Column key=\"actions\">\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<div class=\"d-flex align-items-center justify-content-end\">\r\n\t\t\t\t\t\t<div v-if=\"canAcceptOrRejectBooking(item.data)\" class=\"d-flex\">\r\n\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\tclass=\"p-button-success p-button-icon p-button-rounded p-button-raised p-button-text ml-1 flex-shrink-0\"\r\n\t\t\t\t\t\t\t\ticon=\"pi pi-check\"\r\n\t\t\t\t\t\t\t\t:label=\"isSmallScreen ? $t('common.accept') : ''\"\r\n\t\t\t\t\t\t\t\t:title=\"$t('common.accept')\"\r\n\t\t\t\t\t\t\t\t@click=\"onAcceptClick(item.data)\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\tclass=\"p-button-danger p-button-icon p-button-rounded p-button-raised p-button-text ml-1 flex-shrink-0\"\r\n\t\t\t\t\t\t\t\ticon=\"pi pi-times\"\r\n\t\t\t\t\t\t\t\t:label=\"isSmallScreen ? $t('common.reject') : ''\"\r\n\t\t\t\t\t\t\t\t:title=\"$t('common.reject')\"\r\n\t\t\t\t\t\t\t\t@click=\"onRejectClick(item.data)\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<Divider layout=\"vertical\"></Divider>\r\n\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t<div v-if=\"canCompleteBooking(item.data)\" class=\"d-flex\">\r\n\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\tclass=\"p-button-success p-button-icon p-button-rounded p-button-raised p-button-text ml-1 flex-shrink-0\"\r\n\t\t\t\t\t\t\t\ticon=\"pi pi-check\"\r\n\t\t\t\t\t\t\t\t:label=\"$t('common.complete')\"\r\n\t\t\t\t\t\t\t\t:title=\"$t('common.complete')\"\r\n\t\t\t\t\t\t\t\t@click=\"onCompleteClick(item.data)\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<Divider layout=\"vertical\"></Divider>\r\n\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\tv-if=\"canSeeInvoiceForBooking(item.data)\"\r\n\t\t\t\t\t\t\tclass=\"p-button-primary p-button-icon p-button-rounded p-button-raised p-button-text ml-1 flex-shrink-0\"\r\n\t\t\t\t\t\t\ticon=\"pi pi-file-pdf\"\r\n\t\t\t\t\t\t\t:label=\"isSmallScreen ? $t('expert.button.viewInvoice') : ''\"\r\n\t\t\t\t\t\t\t:title=\"$t('expert.button.viewInvoice')\"\r\n\t\t\t\t\t\t\t@click=\"onViewInvoiceClick(item.data)\"\r\n\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\tclass=\"p-button-primary p-button-icon p-button-rounded p-button-raised p-button-text ml-1 flex-shrink-0\"\r\n\t\t\t\t\t\t\ticon=\"pi pi-eye\"\r\n\t\t\t\t\t\t\t:label=\"isSmallScreen ? $t('common.view') : ''\"\r\n\t\t\t\t\t\t\t:title=\"$t('common.view')\"\r\n\t\t\t\t\t\t\t@click=\"onViewDetailClick(item.data)\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\t\t</DataTable>\r\n\t</div>\r\n\t<ExpertDeclineBookingModal v-if=\"expertStore.isCancelOrDeclineBookingModalVisible\" @submit=\"declineBooking\" />\r\n\t<ExpertAcceptBookingModal v-if=\"expertStore.isAcceptBookingModalVisible\" @submit=\"acceptBooking\" />\r\n\t<ExpertCompleteBookingModal v-if=\"expertStore.isCompleteBookingModalVisible\" @submit=\"completeBooking\" />\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Divider from \"primevue/divider\";\r\nimport ExpertAcceptBookingModal from \"@/components/experts/expertAcceptBookingModal.vue\";\r\nimport ExpertCompleteBookingModal from \"@/components/experts/expertCompleteBookingModal.vue\";\r\nimport ExpertDeclineBookingModal from \"@/components/experts/expertDeclineBookingModal.vue\";\r\nimport { AcceptBookingRequest } from \"@/types/models/expert/acceptBookingRequest\";\r\nimport { CompleteBookingRequest } from \"@/types/models/expert/completeBookingRequest\";\r\nimport { CadacExpertType } from \"@/types/enum/cadacExpertType\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { DeclineBookingRequest } from \"@/types/models/expert/declineBookingRequest\";\r\nimport { ExpertBookingStatus } from \"@/types/enum/expertBookingStatus\";\r\nimport { ExpertBookingViewModel } from \"@/types/generated/Custom/expertBookingViewModel\";\r\nimport { IExpertBookingOverview } from \"@/types/viewModels/myCadac/expertBookingOverviewViewModel\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { orderBy } from \"lodash\";\r\nimport { useExpertStore } from \"@/store/expert/expertStore\";\r\n\r\n@Component({\r\n\tcomponents: { ExpertAcceptBookingModal, ExpertCompleteBookingModal, ExpertDeclineBookingModal, Divider },\r\n})\r\nexport default class ExpertBookingOverviewTable extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IExpertBookingOverview>, required: true, default: {} })\r\n\tvm!: IExpertBookingOverview;\r\n\r\n\t@Prop({ type: Boolean, required: false, default: false }) isExpert!: boolean;\r\n\r\n\tmaxRowsToShow = 8;\r\n\tselectedBookingId = \"\";\r\n\texpertStore = useExpertStore();\r\n\r\n\tget showPagination(): boolean {\r\n\t\treturn this.vm.bookings?.length > this.maxRowsToShow;\r\n\t}\r\n\r\n\tget canAcceptOrRejectBooking() {\r\n\t\treturn (booking: ExpertBookingViewModel) =>\r\n\t\t\tthis.isExpert && booking.status === ExpertBookingStatus.Requested;\r\n\t}\r\n\r\n\tget canCompleteBooking() {\r\n\t\treturn (booking: ExpertBookingViewModel) =>\r\n\t\t\tthis.isExpert && booking.status === ExpertBookingStatus.InProgress;\r\n\t}\r\n\r\n\tget canSeeInvoiceForBooking() {\r\n\t\treturn (booking: ExpertBookingViewModel) =>\r\n\t\t\tthis.isExpert &&\r\n\t\t\t(booking.status === ExpertBookingStatus.Completed ||\r\n\t\t\t\tbooking.status === ExpertBookingStatus.Rejected) &&\r\n\t\t\tbooking.expertType === CadacExpertType.External;\r\n\t}\r\n\r\n\tsortedDates(dates) {\r\n\t\treturn orderBy(\r\n\t\t\tdates,\r\n\t\t\tfunction (o) {\r\n\t\t\t\treturn new Date(o.date);\r\n\t\t\t},\r\n\t\t\t[\"desc\"]\r\n\t\t);\r\n\t}\r\n\r\n\tonRejectClick(booking: ExpertBookingViewModel): void {\r\n\t\tthis.selectedBookingId = booking.id;\r\n\t\tthis.expertStore.showModal(\"CancelOrDeclineBooking\");\r\n\t}\r\n\r\n\tonAcceptClick(booking: ExpertBookingViewModel): void {\r\n\t\tthis.selectedBookingId = booking.id;\r\n\t\tthis.expertStore.showModal(\"AcceptBooking\");\r\n\t}\r\n\r\n\tonCompleteClick(booking: ExpertBookingViewModel): void {\r\n\t\tthis.selectedBookingId = booking.id;\r\n\t\tthis.expertStore.showModal(\"CompleteBooking\");\r\n\t}\r\n\r\n\tonViewDetailClick(booking: ExpertBookingViewModel): void {\r\n\t\tconst queryParams = new URLSearchParams(\"\");\r\n\t\tqueryParams.append(\"id\", booking.id);\r\n\t\tconst url = new URL(this.vm.detailPageUrl);\r\n\t\turl.search = queryParams.toString();\r\n\t\tthis.openUrl(url.toString());\r\n\t}\r\n\r\n\tonViewInvoiceClick(booking: ExpertBookingViewModel): void {\r\n\t\tconst queryParams = new URLSearchParams(\"\");\r\n\t\tqueryParams.append(\"bookingId\", booking.id);\r\n\t\tconst url = new URL(`${window.location.href}/GetPdf`);\r\n\t\turl.search = queryParams.toString();\r\n\t\tthis.openUrl(url.toString());\r\n\t}\r\n\r\n\tdeclineBooking({ message }): void {\r\n\t\tconst payload: DeclineBookingRequest = {\r\n\t\t\tbookingId: this.selectedBookingId,\r\n\t\t\tmessage: message,\r\n\t\t};\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tthis.axios\r\n\t\t\t.post(`/api/expertbooking/request-decline`, payload)\r\n\t\t\t.then(() => {\r\n\t\t\t\twindow.location.reload();\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"expert.toast.rejectBookingError\"),\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t\t\t\tthis.expertStore.hideModal(\"CancelOrDeclineBooking\");\r\n\t\t\t});\r\n\t}\r\n\r\n\tacceptBooking(): void {\r\n\t\tconst payload: AcceptBookingRequest = {\r\n\t\t\tbookingId: this.selectedBookingId,\r\n\t\t};\r\n\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tthis.axios\r\n\t\t\t.post(`/api/expertbooking/accept`, payload)\r\n\t\t\t.then(() => {\r\n\t\t\t\twindow.location.reload();\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"expert.toast.acceptBookingError\"),\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t\t\t\tthis.expertStore.hideModal(\"AcceptBooking\");\r\n\t\t\t});\r\n\t}\r\n\r\n\tcompleteBooking(): void {\r\n\t\tconst payload: CompleteBookingRequest = {\r\n\t\t\tbookingId: this.selectedBookingId,\r\n\t\t};\r\n\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tthis.axios\r\n\t\t\t.post(`/api/expertbooking/complete`, payload)\r\n\t\t\t.then(() => {\r\n\t\t\t\twindow.location.reload();\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"expert.toast.completeBookingError\"),\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t\t\t\tthis.expertStore.hideModal(\"CompleteBooking\");\r\n\t\t\t});\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n:deep(.project-description) {\r\n\tdisplay: -webkit-box;\r\n\t-webkit-line-clamp: 8;\r\n\t-webkit-box-orient: vertical;\r\n\toverflow: hidden !important;\r\n\tword-break: break-word;\r\n}\r\n\r\n:deep(.p-datatable-tbody) {\r\n\ttr td {\r\n\t\tvertical-align: top;\r\n\t\tword-break: break-all !important;\r\n\t}\r\n}\r\n</style>\r\n","export enum CadacExpertType {\r\n\tNone = 0,\r\n\tInternal = 229380000, // 0x0DAC0FA0\r\n\tExternal = 229380001, // 0x0DAC0FA1\r\n}\r\n","import { render } from \"./expertBookingOverviewTable.vue?vue&type=template&id=c4120e2a&scoped=true&ts=true\"\nimport script from \"./expertBookingOverviewTable.vue?vue&type=script&lang=ts\"\nexport * from \"./expertBookingOverviewTable.vue?vue&type=script&lang=ts\"\n\nimport \"./expertBookingOverviewTable.vue?vue&type=style&index=0&id=c4120e2a&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-c4120e2a\"]])\n\nexport default __exports__","import { render } from \"./expertBookingOverview.vue?vue&type=template&id=7c86eda7&ts=true\"\nimport script from \"./expertBookingOverview.vue?vue&type=script&lang=ts\"\nexport * from \"./expertBookingOverview.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, withModifiers as _withModifiers, normalizeClass as _normalizeClass, createBlock as _createBlock, withCtx as _withCtx, vShow as _vShow, withDirectives as _withDirectives, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-f861e49e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"col-md-8\" }\nconst _hoisted_2 = {\n id: \"expert-booking-container\",\n class: \"col-md-4\"\n}\nconst _hoisted_3 = { key: 0 }\nconst _hoisted_4 = {\n key: 0,\n class: \"mt-2\"\n}\nconst _hoisted_5 = { class: \"d-flex\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"d-flex align-items-center mb-1\"\n}\nconst _hoisted_7 = {\n key: 1,\n class: \"d-flex align-items-center mb-1\"\n}\nconst _hoisted_8 = [\"title\"]\nconst _hoisted_9 = { class: \"text-bold ml-1 text-preline\" }\nconst _hoisted_10 = { class: \"mt-2\" }\nconst _hoisted_11 = { class: \"mb-1\" }\nconst _hoisted_12 = { key: 0 }\nconst _hoisted_13 = { key: 1 }\nconst _hoisted_14 = { key: 2 }\nconst _hoisted_15 = { class: \"p-button-label\" }\nconst _hoisted_16 = {\n key: 1,\n class: \"my-2\"\n}\nconst _hoisted_17 = { class: \"text-warning\" }\nconst _hoisted_18 = { class: \"ml-2\" }\nconst _hoisted_19 = { class: \"text-warning\" }\nconst _hoisted_20 = { key: 2 }\nconst _hoisted_21 = { class: \"mx-1\" }\nconst _hoisted_22 = { key: 3 }\nconst _hoisted_23 = { class: \"d-flex flex-row align-items-center justify-content-start my-2\" }\nconst _hoisted_24 = { class: \"leading mb-0 ml-1\" }\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"popover-icon pi pi-question\" }, null, -1))\nconst _hoisted_26 = [\"innerHTML\"]\nconst _hoisted_27 = { class: \"text-preline\" }\nconst _hoisted_28 = [\"href\"]\nconst _hoisted_29 = {\n key: 0,\n class: \"d-flex justify-content-end\"\n}\nconst _hoisted_30 = { key: 1 }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ExpertProfile = _resolveComponent(\"ExpertProfile\")!\n const _component_SelectButton = _resolveComponent(\"SelectButton\")!\n const _component_GMapAutocomplete = _resolveComponent(\"GMapAutocomplete\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Chip = _resolveComponent(\"Chip\")!\n const _component_ExpertBookingCalendar = _resolveComponent(\"ExpertBookingCalendar\")!\n const _component_ExpertBookingSlider = _resolveComponent(\"ExpertBookingSlider\")!\n const _component_InputSwitch = _resolveComponent(\"InputSwitch\")!\n const _component_PopoverIcon = _resolveComponent(\"PopoverIcon\")!\n const _component_ProgressSpinner = _resolveComponent(\"ProgressSpinner\")!\n const _component_PriceSummary = _resolveComponent(\"PriceSummary\")!\n const _component_WalletMessage = _resolveComponent(\"WalletMessage\")!\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_Card = _resolveComponent(\"Card\")!\n const _component_ExpertBookingModal = _resolveComponent(\"ExpertBookingModal\")!\n const _component_ProductAddedModal = _resolveComponent(\"ProductAddedModal\")!\n const _component_StickyScrollToButton = _resolveComponent(\"StickyScrollToButton\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createVNode(_component_ExpertProfile, {\n \"expert-product\": _ctx.vm?.expertProduct,\n \"expert-profile\": _ctx.vm?.expertProfile\n }, null, 8, [\"expert-product\", \"expert-profile\"])\n ]),\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_Card, {\n class: _normalizeClass([\"expert-booking-card\", { 'position-static': _ctx.isLargeScreen }])\n }, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(`${_ctx.$t(\"expert.titleBookingCard\", [_ctx.bookingSummary?.expertDetails?.firstName])}`), 1)\n ]),\n subtitle: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.formatCurrency(_ctx.bookingSummary?.expertDetails?.hourlyRate || 0)), 1),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t(\"expert.hourExclTax\")), 1)\n ]),\n content: _withCtx(() => [\n (_ctx.canBookExpert)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"h5\", null, _toDisplayString(_ctx.$t(`expert.workRemoteOrOnLocation`)), 1),\n _createVNode(_component_SelectButton, {\n modelValue: _ctx.selectedLocationOption,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.selectedLocationOption) = $event)),\n class: \"d-flex\",\n \"option-label\": \"label\",\n options: _ctx.locationOptions,\n unselectable: false\n }, null, 8, [\"modelValue\", \"options\"])\n ]),\n (!_ctx.isRemote)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"h5\", null, _toDisplayString(_ctx.$t(`expert.workLocation`)), 1)\n ]),\n (_ctx.editWorkLocation)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(_component_GMapAutocomplete, {\n class: \"w-100\",\n placeholder: _ctx.$t(`expert.searchYourLocation`),\n onChange: _ctx.onLocationSelected,\n onPlace_changed: _ctx.onPlaceChanged\n }, null, 8, [\"placeholder\", \"onChange\", \"onPlace_changed\"])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createElementVNode(\"i\", {\n class: \"pi pi-map-marker text-primary\",\n title: _ctx.$t('cart.table.iconLocation_title')\n }, null, 8, _hoisted_8),\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.bookingSummary.configuration.workLocation.name), 1),\n _createVNode(_component_Button, {\n class: \"p-button-text ml-auto\",\n icon: \"pi pi-pencil\",\n label: _ctx.isSmallScreen ? _ctx.$t('common.edit') : '',\n title: _ctx.$t('common.edit'),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.editWorkLocation = true))\n }, null, 8, [\"label\", \"title\"])\n ]))\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"h5\", _hoisted_11, _toDisplayString(` ${_ctx.$t(\"expert.whenDoYouWantToBook\", [_ctx.bookingSummary?.expertDetails?.firstName])}`), 1),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.selectedDates, (selected, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: JSON.stringify(selected),\n class: \"d-flex flex-row align-items-center mb-1\"\n }, [\n _createVNode(_component_Chip, {\n class: _normalizeClass([\"custom-chip\", {\r\n\t\t\t\t\t\t\t\t\t'surface-e': index === _ctx.editDateIndex,\r\n\t\t\t\t\t\t\t\t\t'p-disabled': _ctx.editDateIndex != null && index !== _ctx.editDateIndex,\r\n\t\t\t\t\t\t\t\t}]),\n label: `${_ctx.formatDate(selected.date)} ${_ctx.formatTime(selected.start)} - ${_ctx.formatTime(selected.end)}`,\n removable: \"\",\n onClick: _withModifiers(($event: any) => (_ctx.openDate(selected, index)), [\"stop\"]),\n onRemove: _withModifiers(($event: any) => (_ctx.deleteDate(index, selected)), [\"stop\"])\n }, null, 8, [\"class\", \"label\", \"onClick\", \"onRemove\"])\n ]))\n }), 128)),\n (_ctx.visibleStep === 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n (_ctx.selectedDates?.length)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-secondary p-button-text mb-2 mt-1 px-0\",\n icon: \"pi pi-calendar-plus p-button-icon-lg\",\n label: _ctx.$t(`expert.button.addAnotherDate`),\n onClick: _cache[2] || (_cache[2] = () => (_ctx.visibleStep = 2))\n }, null, 8, [\"label\"]))\n : (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"w-100 mb-2\",\n label: _ctx.$t(`expert.button.chooseDate`),\n onClick: _cache[3] || (_cache[3] = () => (_ctx.visibleStep = 2))\n }, null, 8, [\"label\"]))\n ]))\n : (_ctx.visibleStep === 2)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _createVNode(_component_ExpertBookingCalendar, {\n modelValue: _ctx.selectedDate,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_ctx.selectedDate) = $event)),\n \"availability-dates\": _ctx.bookingSummary?.availabilityDates,\n \"calendar-max-date\": _ctx.bookingSummary?.calendarMaxDate,\n \"calendar-min-date\": _ctx.bookingSummary?.calendarMinDate,\n \"selected-date-starting-hour\": _ctx.selectedDateStartingHour,\n \"selected-dates\": _ctx.selectedDates,\n \"selected-location-option\": _ctx.selectedLocationOption,\n \"total-work-hours\": _ctx.totalWorkHours,\n onDateSelect: _ctx.onDateSelected\n }, null, 8, [\"modelValue\", \"availability-dates\", \"calendar-max-date\", \"calendar-min-date\", \"selected-date-starting-hour\", \"selected-dates\", \"selected-location-option\", \"total-work-hours\", \"onDateSelect\"])\n ]))\n : (_ctx.visibleStep === 3)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _createVNode(_component_Button, {\n class: \"p-button-outlined w-100 mb-2\",\n label: _ctx.formatDate(_ctx.selectedDate),\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.visibleStep = 2))\n }, null, 8, [\"label\"]),\n _createVNode(_component_SelectButton, {\n modelValue: _ctx.selectedDayParts,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = ($event: any) => ((_ctx.selectedDayParts) = $event)),\n class: \"d-flex day-part-select\",\n \"option-disabled\": \"isDisabled\",\n \"option-label\": \"label\",\n options: _ctx.dayParts,\n unselectable: false,\n onChange: _ctx.resetSelectedHours\n }, {\n option: _withCtx((slotProps) => [\n _createElementVNode(\"span\", _hoisted_15, _toDisplayString(slotProps.option.label) + _toDisplayString(slotProps.option.isDisabled ? \"*\" : \"\"), 1)\n ]),\n _: 1\n }, 8, [\"modelValue\", \"options\", \"onChange\"]),\n (_ctx.selectedDayParts?.value === _ctx.ExpertBookingDateType.morning)\n ? (_openBlock(), _createBlock(_component_SelectButton, {\n key: 0,\n modelValue: _ctx.selectedDayPartsTimes,\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = ($event: any) => ((_ctx.selectedDayPartsTimes) = $event)),\n class: \"mt-2 d-flex\",\n \"option-disabled\": \"isDisabled\",\n \"option-label\": \"label\",\n options: _ctx.dayPartsTimes,\n unselectable: false\n }, null, 8, [\"modelValue\", \"options\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.concatenatedUnavailableHours.length)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_16, [\n _createElementVNode(\"small\", _hoisted_17, _toDisplayString(_ctx.$t(\"expert.lblExpertNotAvailableBetween\")), 1),\n _createElementVNode(\"ul\", _hoisted_18, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.concatenatedUnavailableHours, (unavailableHour, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: `unavailable-hour-${index}`\n }, [\n _createElementVNode(\"small\", _hoisted_19, \" - \" + _toDisplayString(_ctx.formatTime(unavailableHour.start.time)) + \" - \" + _toDisplayString(_ctx.formatTime(unavailableHour.end.time)), 1)\n ]))\n }), 128))\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.selectedDayParts?.value === _ctx.ExpertBookingDateType.hour)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_20, [\n _createElementVNode(\"div\", _hoisted_21, [\n _createVNode(_component_ExpertBookingSlider, {\n modelValue: _ctx.selectedHours,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = ($event: any) => ((_ctx.selectedHours) = $event)),\n \"selected-date\": _ctx.selectedDate,\n \"unavailable-hours\": _ctx.concatenatedUnavailableHours,\n \"work-day-end-hour\": _ctx.workDayEndHour,\n \"work-day-start-hour\": _ctx.workDayStartHour,\n onOnValidityChange: _ctx.onValidityChange\n }, null, 8, [\"modelValue\", \"selected-date\", \"unavailable-hours\", \"work-day-end-hour\", \"work-day-start-hour\", \"onOnValidityChange\"])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.visibleStep === 1 && _ctx.selectedDates.length)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_22, [\n _createElementVNode(\"div\", _hoisted_23, [\n _createVNode(_component_InputSwitch, {\n modelValue: _ctx.isFlexBooking,\n \"onUpdate:modelValue\": _cache[9] || (_cache[9] = ($event: any) => ((_ctx.isFlexBooking) = $event))\n }, null, 8, [\"modelValue\"]),\n _createElementVNode(\"p\", _hoisted_24, _toDisplayString(_ctx.$t(`enum.expertCalculationLineType.5`, [\r\n\t\t\t\t\t\t\t\t\t\t\t_ctx.vm.bookingSummary.expertDetails.flexBookingPercentage,\r\n\t\t\t\t\t\t\t\t\t\t])), 1),\n _createVNode(_component_PopoverIcon, { class: \"d-inline-flex ml-0\" }, {\n content: _withCtx(() => [\n _createElementVNode(\"div\", {\n innerHTML: \r\n\t\t\t\t\t\t\t\t\t\t\t\t_ctx.$t(`expert.withFlexBookingYouCanCancelYourBookingFor`, [\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t_ctx.$tc(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'common.days',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t_ctx.bookingSummary?.expertDetails?.flexBookingCancellationTerm\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t\t\t])\r\n\t\t\t\t\t\t\t\t\t\t\t\n }, null, 8, _hoisted_26)\n ]),\n default: _withCtx(() => [\n _hoisted_25\n ]),\n _: 1\n })\n ]),\n (_ctx.isSpinnerVisible('priceSummary'))\n ? (_openBlock(), _createBlock(_component_ProgressSpinner, {\n key: 0,\n \"animation-duration\": \".75s\",\n class: \"d-flex justify-content-center mt-3 mb-3\",\n \"stroke-width\": \"3\"\n }))\n : (_openBlock(), _createBlock(_component_PriceSummary, {\n key: 1,\n vm: _ctx.priceSummary\n }, null, 8, [\"vm\"])),\n _withDirectives(_createVNode(_component_WalletMessage, {\n \"wallet-amount\": _ctx.expertPriceCalculation?.walletAmount || 0\n }, null, 8, [\"wallet-amount\"]), [\n [_vShow, _ctx.vm?.bookingSummary.canUseWallet]\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : (_openBlock(), _createBlock(_component_Message, {\n key: 1,\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"span\", _hoisted_27, [\n _createVNode(_component_i18n_t, { keypath: \"expert.message.expertNotAvailable\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"a\", {\n href: `tel:${_ctx.$t('common.support.phoneNumber')}`\n }, _toDisplayString(_ctx.$t(\"common.support.phoneNumber\")), 9, _hoisted_28)\n ]),\n _: 1\n })\n ])\n ]),\n _: 1\n }))\n ]),\n footer: _withCtx(() => [\n (_ctx.visibleStep !== 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_29, [\n _createVNode(_component_Button, {\n class: \"p-button-secondary p-button-text mr-2\",\n label: _ctx.$t('common.cancel'),\n onClick: _cache[10] || (_cache[10] = ($event: any) => (_ctx.cancelBooking()))\n }, null, 8, [\"label\"]),\n _createVNode(_component_Button, {\n class: \"p-button-primary\",\n disabled: !_ctx.canAddDate,\n label: _ctx.isEditingDate ? _ctx.$t(`expert.button.editDate`) : _ctx.$t(`expert.button.addDate`),\n onClick: _cache[11] || (_cache[11] = ($event: any) => (_ctx.onDateAdded()))\n }, null, 8, [\"disabled\", \"label\"])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_30, [\n _createVNode(_component_Button, {\n class: \"p-button-success p-button-raised p-button-arrow w-100 px-1 mb-1\",\n disabled: !_ctx.canSubmit,\n label: \r\n\t\t\t\t\t\t\t_ctx.isRequestBooking ? _ctx.$t(`expert.button.sendRequest`) : _ctx.$t(`expert.button.confirmBooking`)\r\n\t\t\t\t\t\t,\n onClick: _cache[12] || (_cache[12] = ($event: any) => (_ctx.openBookingModal()))\n }, null, 8, [\"disabled\", \"label\"])\n ]))\n ]),\n _: 1\n }, 8, [\"class\"])\n ]),\n (_ctx.expertStore.isBookingRequestModalVisible)\n ? (_openBlock(), _createBlock(_component_ExpertBookingModal, {\n key: 0,\n \"booking-summary\": _ctx.bookingSummary,\n \"modal-type\": _ctx.modalType,\n onSubmit: _ctx.onModalSubmit\n }, null, 8, [\"booking-summary\", \"modal-type\", \"onSubmit\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.cartStore.showProductAddedModal)\n ? (_openBlock(), _createBlock(_component_ProductAddedModal, {\n key: 1,\n vm: _ctx.productAddedModel\n }, null, 8, [\"vm\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.isMediumScreen)\n ? (_openBlock(), _createBlock(_component_StickyScrollToButton, {\n key: 2,\n \"button-label\": _ctx.$t(`expert.button.bookNow`),\n offset: 80,\n \"parent-container-id\": \"expert-booking-container\",\n target: \".expert-booking-card\"\n }, null, 8, [\"button-label\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<div class=\"col-md-8\">\r\n\t\t<ExpertProfile :expert-product=\"vm?.expertProduct\" :expert-profile=\"vm?.expertProfile\" />\r\n\t</div>\r\n\t<div id=\"expert-booking-container\" class=\"col-md-4\">\r\n\t\t<Card class=\"expert-booking-card\" :class=\"{ 'position-static': isLargeScreen }\">\r\n\t\t\t<template #title>\r\n\t\t\t\t{{ `${$t(\"expert.titleBookingCard\", [bookingSummary?.expertDetails?.firstName])}` }}\r\n\t\t\t</template>\r\n\t\t\t<template #subtitle>\r\n\t\t\t\t<b>{{ formatCurrency(bookingSummary?.expertDetails?.hourlyRate || 0) }} </b>\r\n\t\t\t\t{{ $t(\"expert.hourExclTax\") }}\r\n\t\t\t</template>\r\n\t\t\t<template #content>\r\n\t\t\t\t<div v-if=\"canBookExpert\">\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<h5>{{ $t(`expert.workRemoteOrOnLocation`) }}</h5>\r\n\t\t\t\t\t\t<SelectButton\r\n\t\t\t\t\t\t\tv-model=\"selectedLocationOption\"\r\n\t\t\t\t\t\t\tclass=\"d-flex\"\r\n\t\t\t\t\t\t\toption-label=\"label\"\r\n\t\t\t\t\t\t\t:options=\"locationOptions\"\r\n\t\t\t\t\t\t\t:unselectable=\"false\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div v-if=\"!isRemote\" class=\"mt-2\">\r\n\t\t\t\t\t\t<div class=\"d-flex\">\r\n\t\t\t\t\t\t\t<h5>{{ $t(`expert.workLocation`) }}</h5>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div v-if=\"editWorkLocation\" class=\"d-flex align-items-center mb-1\">\r\n\t\t\t\t\t\t\t<GMapAutocomplete\r\n\t\t\t\t\t\t\t\tclass=\"w-100\"\r\n\t\t\t\t\t\t\t\t:placeholder=\"$t(`expert.searchYourLocation`)\"\r\n\t\t\t\t\t\t\t\t@change=\"onLocationSelected\"\r\n\t\t\t\t\t\t\t\t@place_changed=\"onPlaceChanged\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t</GMapAutocomplete>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div v-else class=\"d-flex align-items-center mb-1\">\r\n\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\tclass=\"pi pi-map-marker text-primary\"\r\n\t\t\t\t\t\t\t\t:title=\"$t('cart.table.iconLocation_title')\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<span class=\"text-bold ml-1 text-preline\">\r\n\t\t\t\t\t\t\t\t{{ bookingSummary.configuration.workLocation.name }}\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\tclass=\"p-button-text ml-auto\"\r\n\t\t\t\t\t\t\t\ticon=\"pi pi-pencil\"\r\n\t\t\t\t\t\t\t\t:label=\"isSmallScreen ? $t('common.edit') : ''\"\r\n\t\t\t\t\t\t\t\t:title=\"$t('common.edit')\"\r\n\t\t\t\t\t\t\t\t@click=\"editWorkLocation = true\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"mt-2\">\r\n\t\t\t\t\t\t<h5 class=\"mb-1\">\r\n\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t` ${$t(\"expert.whenDoYouWantToBook\", [bookingSummary?.expertDetails?.firstName])}`\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t</h5>\r\n\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\tv-for=\"(selected, index) in selectedDates\"\r\n\t\t\t\t\t\t\t:key=\"JSON.stringify(selected)\"\r\n\t\t\t\t\t\t\tclass=\"d-flex flex-row align-items-center mb-1\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<Chip\r\n\t\t\t\t\t\t\t\tclass=\"custom-chip\"\r\n\t\t\t\t\t\t\t\t:class=\"{\r\n\t\t\t\t\t\t\t\t\t'surface-e': index === editDateIndex,\r\n\t\t\t\t\t\t\t\t\t'p-disabled': editDateIndex != null && index !== editDateIndex,\r\n\t\t\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t\t\t:label=\"`${formatDate(selected.date)} ${formatTime(selected.start)} - ${formatTime(selected.end)}`\"\r\n\t\t\t\t\t\t\t\tremovable\r\n\t\t\t\t\t\t\t\t@click.stop=\"openDate(selected, index)\"\r\n\t\t\t\t\t\t\t\t@remove.stop=\"deleteDate(index, selected)\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div v-if=\"visibleStep === 1\">\r\n\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\tv-if=\"selectedDates?.length\"\r\n\t\t\t\t\t\t\t\tclass=\"p-button-secondary p-button-text mb-2 mt-1 px-0\"\r\n\t\t\t\t\t\t\t\ticon=\"pi pi-calendar-plus p-button-icon-lg\"\r\n\t\t\t\t\t\t\t\t:label=\"$t(`expert.button.addAnotherDate`)\"\r\n\t\t\t\t\t\t\t\t@click=\"() => (visibleStep = 2)\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\tv-else\r\n\t\t\t\t\t\t\t\tclass=\"w-100 mb-2\"\r\n\t\t\t\t\t\t\t\t:label=\"$t(`expert.button.chooseDate`)\"\r\n\t\t\t\t\t\t\t\t@click=\"() => (visibleStep = 2)\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t<div v-else-if=\"visibleStep === 2\">\r\n\t\t\t\t\t\t\t<ExpertBookingCalendar\r\n\t\t\t\t\t\t\t\tv-model=\"selectedDate\"\r\n\t\t\t\t\t\t\t\t:availability-dates=\"bookingSummary?.availabilityDates\"\r\n\t\t\t\t\t\t\t\t:calendar-max-date=\"bookingSummary?.calendarMaxDate\"\r\n\t\t\t\t\t\t\t\t:calendar-min-date=\"bookingSummary?.calendarMinDate\"\r\n\t\t\t\t\t\t\t\t:selected-date-starting-hour=\"selectedDateStartingHour\"\r\n\t\t\t\t\t\t\t\t:selected-dates=\"selectedDates\"\r\n\t\t\t\t\t\t\t\t:selected-location-option=\"selectedLocationOption\"\r\n\t\t\t\t\t\t\t\t:total-work-hours=\"totalWorkHours\"\r\n\t\t\t\t\t\t\t\t@date-select=\"onDateSelected\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t<div v-else-if=\"visibleStep === 3\">\r\n\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\tclass=\"p-button-outlined w-100 mb-2\"\r\n\t\t\t\t\t\t\t\t:label=\"formatDate(selectedDate)\"\r\n\t\t\t\t\t\t\t\t@click=\"visibleStep = 2\"\r\n\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t<SelectButton\r\n\t\t\t\t\t\t\t\tv-model=\"selectedDayParts\"\r\n\t\t\t\t\t\t\t\tclass=\"d-flex day-part-select\"\r\n\t\t\t\t\t\t\t\toption-disabled=\"isDisabled\"\r\n\t\t\t\t\t\t\t\toption-label=\"label\"\r\n\t\t\t\t\t\t\t\t:options=\"dayParts\"\r\n\t\t\t\t\t\t\t\t:unselectable=\"false\"\r\n\t\t\t\t\t\t\t\t@change=\"resetSelectedHours\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<template #option=\"slotProps\">\r\n\t\t\t\t\t\t\t\t\t<span class=\"p-button-label\"\r\n\t\t\t\t\t\t\t\t\t\t>{{ slotProps.option.label\r\n\t\t\t\t\t\t\t\t\t\t}}{{ slotProps.option.isDisabled ? \"*\" : \"\" }}</span\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</SelectButton>\r\n\t\t\t\t\t\t\t<SelectButton\r\n\t\t\t\t\t\t\t\tv-if=\"selectedDayParts?.value === ExpertBookingDateType.morning\"\r\n\t\t\t\t\t\t\t\tv-model=\"selectedDayPartsTimes\"\r\n\t\t\t\t\t\t\t\tclass=\"mt-2 d-flex\"\r\n\t\t\t\t\t\t\t\toption-disabled=\"isDisabled\"\r\n\t\t\t\t\t\t\t\toption-label=\"label\"\r\n\t\t\t\t\t\t\t\t:options=\"dayPartsTimes\"\r\n\t\t\t\t\t\t\t\t:unselectable=\"false\"\r\n\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t<div v-if=\"concatenatedUnavailableHours.length\" class=\"my-2\">\r\n\t\t\t\t\t\t\t\t<small class=\"text-warning\"\r\n\t\t\t\t\t\t\t\t\t>{{ $t(\"expert.lblExpertNotAvailableBetween\") }}\r\n\t\t\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t\t\t<ul class=\"ml-2\">\r\n\t\t\t\t\t\t\t\t\t<li\r\n\t\t\t\t\t\t\t\t\t\tv-for=\"(unavailableHour, index) in concatenatedUnavailableHours\"\r\n\t\t\t\t\t\t\t\t\t\t:key=\"`unavailable-hour-${index}`\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<small class=\"text-warning\">\r\n\t\t\t\t\t\t\t\t\t\t\t- {{ formatTime(unavailableHour.start.time) }} -\r\n\t\t\t\t\t\t\t\t\t\t\t{{ formatTime(unavailableHour.end.time) }}\r\n\t\t\t\t\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t\t\t</ul>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div v-if=\"selectedDayParts?.value === ExpertBookingDateType.hour\">\r\n\t\t\t\t\t\t\t\t<div class=\"mx-1\">\r\n\t\t\t\t\t\t\t\t\t<ExpertBookingSlider\r\n\t\t\t\t\t\t\t\t\t\tv-model=\"selectedHours\"\r\n\t\t\t\t\t\t\t\t\t\t:selected-date=\"selectedDate\"\r\n\t\t\t\t\t\t\t\t\t\t:unavailable-hours=\"concatenatedUnavailableHours\"\r\n\t\t\t\t\t\t\t\t\t\t:work-day-end-hour=\"workDayEndHour\"\r\n\t\t\t\t\t\t\t\t\t\t:work-day-start-hour=\"workDayStartHour\"\r\n\t\t\t\t\t\t\t\t\t\t@onValidityChange=\"onValidityChange\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t<div v-if=\"visibleStep === 1 && selectedDates.length\">\r\n\t\t\t\t\t\t\t<div class=\"d-flex flex-row align-items-center justify-content-start my-2\">\r\n\t\t\t\t\t\t\t\t<InputSwitch v-model=\"isFlexBooking\" />\r\n\t\t\t\t\t\t\t\t<p class=\"leading mb-0 ml-1\">\r\n\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t$t(`enum.expertCalculationLineType.5`, [\r\n\t\t\t\t\t\t\t\t\t\t\tvm.bookingSummary.expertDetails.flexBookingPercentage,\r\n\t\t\t\t\t\t\t\t\t\t])\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t<PopoverIcon class=\"d-inline-flex ml-0\">\r\n\t\t\t\t\t\t\t\t\t<i class=\"popover-icon pi pi-question\" />\r\n\t\t\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\tv-html=\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t$t(`expert.withFlexBookingYouCanCancelYourBookingFor`, [\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t$tc(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'common.days',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tbookingSummary?.expertDetails?.flexBookingCancellationTerm\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t\t\t])\r\n\t\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t</PopoverIcon>\r\n\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t<ProgressSpinner\r\n\t\t\t\t\t\t\t\tv-if=\"isSpinnerVisible('priceSummary')\"\r\n\t\t\t\t\t\t\t\tanimation-duration=\".75s\"\r\n\t\t\t\t\t\t\t\tclass=\"d-flex justify-content-center mt-3 mb-3\"\r\n\t\t\t\t\t\t\t\tstroke-width=\"3\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<PriceSummary v-else :vm=\"priceSummary\" />\r\n\t\t\t\t\t\t\t<WalletMessage\r\n\t\t\t\t\t\t\t\tv-show=\"vm?.bookingSummary.canUseWallet\"\r\n\t\t\t\t\t\t\t\t:wallet-amount=\"expertPriceCalculation?.walletAmount || 0\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<Message v-else :closable=\"false\" severity=\"warn\">\r\n\t\t\t\t\t<span class=\"text-preline\">\r\n\t\t\t\t\t\t<i18n-t keypath=\"expert.message.expertNotAvailable\">\r\n\t\t\t\t\t\t\t<a :href=\"`tel:${$t('common.support.phoneNumber')}`\">{{\r\n\t\t\t\t\t\t\t\t$t(\"common.support.phoneNumber\")\r\n\t\t\t\t\t\t\t}}</a>\r\n\t\t\t\t\t\t</i18n-t>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</Message>\r\n\t\t\t</template>\r\n\t\t\t<template #footer>\r\n\t\t\t\t<div v-if=\"visibleStep !== 1\" class=\"d-flex justify-content-end\">\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\tclass=\"p-button-secondary p-button-text mr-2\"\r\n\t\t\t\t\t\t:label=\"$t('common.cancel')\"\r\n\t\t\t\t\t\t@click=\"cancelBooking()\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\tclass=\"p-button-primary\"\r\n\t\t\t\t\t\t:disabled=\"!canAddDate\"\r\n\t\t\t\t\t\t:label=\"isEditingDate ? $t(`expert.button.editDate`) : $t(`expert.button.addDate`)\"\r\n\t\t\t\t\t\t@click=\"onDateAdded()\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div v-else>\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\tclass=\"p-button-success p-button-raised p-button-arrow w-100 px-1 mb-1\"\r\n\t\t\t\t\t\t:disabled=\"!canSubmit\"\r\n\t\t\t\t\t\t:label=\"\r\n\t\t\t\t\t\t\tisRequestBooking ? $t(`expert.button.sendRequest`) : $t(`expert.button.confirmBooking`)\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t@click=\"openBookingModal()\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t</Card>\r\n\t</div>\r\n\t<ExpertBookingModal\r\n\t\tv-if=\"expertStore.isBookingRequestModalVisible\"\r\n\t\t:booking-summary=\"bookingSummary\"\r\n\t\t:modal-type=\"modalType\"\r\n\t\t@submit=\"onModalSubmit\"\r\n\t/>\r\n\t<ProductAddedModal v-if=\"cartStore.showProductAddedModal\" :vm=\"productAddedModel\" />\r\n\t<StickyScrollToButton\r\n\t\tv-if=\"isMediumScreen\"\r\n\t\t:button-label=\"$t(`expert.button.bookNow`)\"\r\n\t\t:offset=\"80\"\r\n\t\tparent-container-id=\"expert-booking-container\"\r\n\t\ttarget=\".expert-booking-card\"\r\n\t/>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport AutoComplete from \"primevue/autocomplete\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Button from \"primevue/button\";\r\nimport Chip from \"primevue/chip\";\r\nimport Divider from \"primevue/divider\";\r\nimport ExpertBookingCalendar, {\r\n\tExpertBookingDateSelectedEvent,\r\n} from \"@/components/experts/expertBookingCalendar.vue\";\r\nimport ExpertBookingModal, {\r\n\tExpertBookingForm,\r\n\tExpertBookingModalType,\r\n} from \"@/components/experts/expertBookingModal.vue\";\r\nimport ExpertBookingSlider from \"@/components/experts/expertBookingSlider.vue\";\r\nimport ExpertProfile from \"@/components/experts/expertProfile.vue\";\r\nimport InputSwitch from \"primevue/inputswitch\";\r\nimport PriceSummary from \"@/components/common/priceSummary.vue\";\r\nimport ProductAddedModal from \"@/components/commerce/productAddedModal.vue\";\r\nimport ProgressSpinner from \"primevue/progressspinner\";\r\nimport SelectButton from \"primevue/selectbutton\";\r\nimport SplitButton from \"primevue/splitbutton\";\r\nimport StickyScrollToButton from \"@/components/common/stickyScrollToButton.vue\";\r\nimport WalletMessage from \"@/components/common/WalletMessage.vue\";\r\nimport { BookingRequestRequester } from \"@/types/models/expert/bookingRequestRequester\";\r\nimport { Component, Prop, Watch } from \"vue-facing-decorator\";\r\nimport { ExpertBookedHour } from \"@/types/models/expert/expertBookedHour\";\r\nimport { ExpertBookingDate } from \"@/types/models/expert/expertBookingDate\";\r\nimport { ExpertBookingDateType } from \"@/types/enum/expertBookingDateType\";\r\nimport { ExpertBookingLocationType } from \"@/types/enum/expertBookingLocation\";\r\nimport { ExpertBookingSummaryViewModel } from \"@/types/models/expert/expertBookingSummaryViewModel\";\r\nimport { ExpertBookingWorkLocation } from \"@/types/models/expert/expertBookingWorkLocation\";\r\nimport { ExpertCalculationLineResponse } from \"@/types/models/expert/expertCalculationLineResponse\";\r\nimport { ExpertCalculationLineType } from \"@/types/enum/expertCalculationLineType\";\r\nimport { ExpertCalculationRequest } from \"@/types/models/expert/expertCalculationRequest\";\r\nimport { ExpertCalculationResponse } from \"@/types/models/expert/expertCalculationResponse\";\r\nimport { ExpertDateAvailability } from \"@/types/enum/expertDateAvailability\";\r\nimport { ExpertItemViewModel } from \"@/types/models/expert/expertItemViewModel\";\r\nimport { ExpertProductAddToCartRequest } from \"@/types/models/expert/expertProductAddToCartRequest\";\r\nimport { FormatHelper } from \"@/types/helpers/formatHelper\";\r\nimport { IDropdownItem } from \"@/types/models/common/dropdownItem.interface\";\r\nimport { IExpertDetail } from \"@/types/viewModels/commerce/expertDetailViewModel\";\r\nimport { IPriceSummary } from \"@/types/models/common/priceSummary.interface\";\r\nimport { IProductAddedModal } from \"@/types/viewModels/commerce/productAddedModalViewModel\";\r\nimport { ItemProductType } from \"@/types/enum/itemProductType\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { SendBookingRequestRequest } from \"@/types/models/expert/sendBookingRequestRequest\";\r\nimport { UnavailableHours } from \"@/types/models/expert/expertBookingSlider\";\r\nimport { addHours, compareAsc, differenceInHours, getHours, set } from \"date-fns\";\r\nimport { cloneDeep, first, last, orderBy } from \"lodash\";\r\nimport { useCartStore } from \"@/store/commerce/cartStore\";\r\nimport { useExpertStore } from \"@/store/expert/expertStore\";\r\nimport { ProductCategoryType } from \"@/types/enum/productCategoryType\";\r\nimport toFixed from \"accounting-js/lib/toFixed.js\";\r\nimport { ExpertPageState } from \"../../types/enum/expertPageState\";\r\n\r\nconst { getDateWithoutTime } = FormatHelper;\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tAutoComplete,\r\n\t\tButton,\r\n\t\tChip,\r\n\t\tDivider,\r\n\t\tExpertBookingCalendar,\r\n\t\tExpertBookingModal,\r\n\t\tExpertBookingSlider,\r\n\t\tExpertProfile,\r\n\t\tInputSwitch,\r\n\t\tPriceSummary,\r\n\t\tProductAddedModal,\r\n\t\tProgressSpinner,\r\n\t\tSelectButton,\r\n\t\tSplitButton,\r\n\t\tStickyScrollToButton,\r\n\t\tWalletMessage,\r\n\t},\r\n})\r\nexport default class ExpertDetail extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IExpertDetail>, required: true, default: {} }) vm!: IExpertDetail;\r\n\r\n\t@Watch(\"selectedDates\", { deep: true })\r\n\tonSelectedDatesChanged(): void {\r\n\t\tthis.calculatePrice();\r\n\t\tthis.isRequestBooking = this.selectedDates.some((element) => {\r\n\t\t\treturn this.getAvailabilityType(this.toDate(element.start)) === ExpertDateAvailability.onRequest;\r\n\t\t});\r\n\t}\r\n\r\n\t@Watch(\"isRemote\")\r\n\t@Watch(\"selectedDate\", { deep: true })\r\n\t@Watch(\"selectedDates\", { deep: true })\r\n\t@Watch(\"isEditingDate\", { deep: true })\r\n\tonSelectedDateChanged(): void {\r\n\t\tlet bookedHours =\r\n\t\t\tthis.bookingSummary?.availabilityDates\r\n\t\t\t\t?.find((x) => {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\tcompareAsc(\r\n\t\t\t\t\t\t\tgetDateWithoutTime(this.selectedDate),\r\n\t\t\t\t\t\t\tgetDateWithoutTime(this.toDate(x.date))\r\n\t\t\t\t\t\t) === 0\r\n\t\t\t\t\t);\r\n\t\t\t\t})\r\n\t\t\t\t?.bookedHours?.map((bookedHour) => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tstart: new Date(bookedHour.start),\r\n\t\t\t\t\t\tend: new Date(bookedHour.end),\r\n\t\t\t\t\t};\r\n\t\t\t\t}) || [];\r\n\r\n\t\tthis.selectedDates.map((date) => {\r\n\t\t\tif (\r\n\t\t\t\tcompareAsc(getDateWithoutTime(this.selectedDate), getDateWithoutTime(this.toDate(date.date))) === 0\r\n\t\t\t)\r\n\t\t\t\tbookedHours.push({ start: this.toDate(date.start), end: this.toDate(date.end) });\r\n\t\t});\r\n\r\n\t\tif (this.isEditingDate)\r\n\t\t\tbookedHours = bookedHours.filter((x) => {\r\n\t\t\t\t{\r\n\t\t\t\t\treturn !(\r\n\t\t\t\t\t\tgetHours(this.toDate(x.start)) === this.selectedHours[0] &&\r\n\t\t\t\t\t\tgetHours(this.toDate(x.end)) === this.selectedHours[1]\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\tconst expertMidDay = this.workDayStartHour + this.totalWorkHours / 2;\r\n\r\n\t\tconst hasAfternoonBookings =\r\n\t\t\tbookedHours?.some((hour) => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\tthis.getSliderPositionFromDate(this.toDate(hour.start)) >= expertMidDay ||\r\n\t\t\t\t\tthis.getSliderPositionFromDate(this.toDate(hour.end)) > expertMidDay\r\n\t\t\t\t);\r\n\t\t\t}) || false;\r\n\r\n\t\tconst hasMorningBookings =\r\n\t\t\tbookedHours?.some((hour) => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\tthis.getSliderPositionFromDate(this.toDate(hour.start)) < expertMidDay ||\r\n\t\t\t\t\tthis.getSliderPositionFromDate(this.toDate(hour.end)) <= expertMidDay\r\n\t\t\t\t);\r\n\t\t\t}) || false;\r\n\r\n\t\tthis.dayParts = [\r\n\t\t\t{\r\n\t\t\t\tlabel: this.$t(`enum.expertBookingDateType.${ExpertBookingDateType.fullDay}`),\r\n\t\t\t\tvalue: ExpertBookingDateType.fullDay,\r\n\t\t\t\tisDisabled: hasAfternoonBookings || hasMorningBookings,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: this.$t(\"expert.partOfDay\"),\r\n\t\t\t\tvalue: ExpertBookingDateType.morning || ExpertBookingDateType.afternoon,\r\n\t\t\t\tisDisabled: hasAfternoonBookings && hasMorningBookings,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: this.$t(`enum.expertBookingDateType.${ExpertBookingDateType.hour}`),\r\n\t\t\t\tvalue: ExpertBookingDateType.hour,\r\n\t\t\t\tisDisabled: false,\r\n\t\t\t},\r\n\t\t];\r\n\r\n\t\tif (!this.isRemote) {\r\n\t\t\tthis.dayParts = this.dayParts.filter((x) => x.value !== ExpertBookingDateType.hour);\r\n\t\t}\r\n\r\n\t\tthis.dayPartsTimes = [\r\n\t\t\t{\r\n\t\t\t\tlabel: `${this.formatTime(this.selectedDateStartingHour)} - ${this.formatTime(\r\n\t\t\t\t\taddHours(this.selectedDateStartingHour, this.totalWorkHours / 2)\r\n\t\t\t\t)}`,\r\n\t\t\t\tvalue: ExpertBookingDateType.morning,\r\n\t\t\t\tisDisabled: hasMorningBookings,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: `${this.formatTime(\r\n\t\t\t\t\taddHours(this.selectedDateStartingHour, this.totalWorkHours / 2)\r\n\t\t\t\t)} - ${this.formatTime(addHours(this.selectedDateStartingHour, this.totalWorkHours))}`,\r\n\t\t\t\tvalue: ExpertBookingDateType.afternoon,\r\n\t\t\t\tisDisabled: hasAfternoonBookings,\r\n\t\t\t},\r\n\t\t];\r\n\t}\r\n\r\n\t@Watch(\"selectedLocationOption\", { deep: true })\r\n\tonSelectedLocationOptionChanged(val: IDropdownItem): void {\r\n\t\tif (val?.value === ExpertBookingLocationType.Remote) this.workLocation = null;\r\n\t\telse {\r\n\t\t\tconst bookedHoursToRemove = this.selectedDates.filter((x) => x.type === ExpertBookingDateType.hour);\r\n\r\n\t\t\tbookedHoursToRemove.forEach((bookedHour) => {\r\n\t\t\t\tthis.vm.bookingSummary.availabilityDates.map((x) => {\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tcompareAsc(\r\n\t\t\t\t\t\t\tgetDateWithoutTime(getDateWithoutTime(this.toDate(bookedHour.date))),\r\n\t\t\t\t\t\t\tgetDateWithoutTime(this.toDate(x.date))\r\n\t\t\t\t\t\t) === 0\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tx.bookedHours = x.bookedHours?.filter((y) => {\r\n\t\t\t\t\t\t\treturn y.start !== bookedHour.start && y.end !== bookedHour.end;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tx.totalBookedHours =\r\n\t\t\t\t\t\t\tx.totalBookedHours -\r\n\t\t\t\t\t\t\tdifferenceInHours(this.toDate(bookedHour.end), this.toDate(bookedHour.start));\r\n\t\t\t\t\t\tx.availability = 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn x;\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t\tthis.selectedDates = this.selectedDates.filter((x) => x.type !== ExpertBookingDateType.hour);\r\n\t\t\tthis.selectedDayParts = null;\r\n\t\t\tthis.selectedDayPartsTimes = null;\r\n\t\t\tthis.resetSelectedHours();\r\n\t\t}\r\n\t\tthis.calculatePrice();\r\n\t\tthis.setupConfigurationOptions();\r\n\t}\r\n\r\n\t@Watch(\"workLocation\", { deep: true })\r\n\tonWorkLocationChanged(): void {\r\n\t\tthis.calculatePrice();\r\n\t}\r\n\r\n\t@Watch(\"isFlexBooking\")\r\n\tonIsFlexBookingChanged(): void {\r\n\t\tthis.calculatePrice();\r\n\t}\r\n\r\n\t@Watch(\"isRemoteAllowed\")\r\n\tonRemoteAllowedChanged(): void {\r\n\t\tthis.calculatePrice();\r\n\t}\r\n\r\n\tdayParts: IDropdownItem[] = [];\r\n\tdayPartsTimes: IDropdownItem[] = [];\r\n\thours: IDropdownItem[] = [];\r\n\teditDateIndex: number | null = null;\r\n\texpertPriceCalculation: ExpertCalculationResponse | null = null;\r\n\r\n\tisFlexBooking = false;\r\n\tisRequestBooking = false;\r\n\teditWorkLocation = true;\r\n\tvisibleStep = 1;\r\n\twalletAmount = 0;\r\n\r\n\tmodalType: ExpertBookingModalType = ExpertBookingModalType.Default;\r\n\tlocationOptions: IDropdownItem[] = [];\r\n\trequester: BookingRequestRequester | null = null;\r\n\tworkLocation: ExpertBookingWorkLocation | null = null;\r\n\r\n\tselectedDate!: Date;\r\n\tselectedDates: ExpertBookingDate[] = [];\r\n\tselectedEditingHours: Date[] = [];\r\n\tselectedDayParts: IDropdownItem | null = null;\r\n\tselectedDayPartsTimes: IDropdownItem | null = null;\r\n\tselectedHours: number[] = [];\r\n\tselectedLocationOption: IDropdownItem | null = null;\r\n\tselectedDateStartingHour = set(new Date(), {\r\n\t\thours: 9,\r\n\t\tminutes: 0,\r\n\t\tseconds: 0,\r\n\t\tmilliseconds: 0,\r\n\t});\r\n\ttotalWorkHours = 8;\r\n\tstartingHour = 9;\r\n\tunavailableHours: Array<UnavailableHours> = [];\r\n\tisValidRange = false;\r\n\r\n\tcartStore = useCartStore();\r\n\texpertStore = useExpertStore();\r\n\r\n\tcreated(): void {\r\n\t\tLog.info(\"Expert Detail VM\", this.vm);\r\n\r\n\t\tthis.setupConfigurationOptions();\r\n\t\tthis.selectedLocationOption = this.locationOptions[0];\r\n\t\tthis.setupPreviousConfiguration();\r\n\r\n\t\tthis.sendViewItem();\r\n\t}\r\n\r\n\tsendViewItem() {\r\n\t\t// hourly rate times minimal hours. which is 4 atm.\r\n\t\tconst minimalCosts = (this.bookingSummary?.expertDetails?.hourlyRate || 0) * 4;\r\n\r\n\t\tthis.setDataLayer.viewItem(toFixed(minimalCosts, 2) || null, [\r\n\t\t\t{\r\n\t\t\t\tid: this.vm.expertProfile.expertVariationContentId,\r\n\t\t\t\tname: this.vm.expertProfile.firstName,\r\n\t\t\t\tbasePrice: minimalCosts,\r\n\t\t\t\tpersonalPrice: minimalCosts,\r\n\t\t\t\tproductCategory: ProductCategoryType.Expert,\r\n\t\t\t\tbrand: \"cadac\",\r\n\t\t\t\tamount: 1,\r\n\t\t\t},\r\n\t\t]);\r\n\t}\r\n\r\n\tget workDayStartHour(): number {\r\n\t\treturn getHours(this.selectedDateStartingHour);\r\n\t}\r\n\r\n\tget workDayEndHour(): number {\r\n\t\treturn getHours(this.selectedDateStartingHour) + this.totalWorkHours;\r\n\t}\r\n\r\n\tget isEditingDate(): boolean {\r\n\t\treturn this.editDateIndex !== null && this.editDateIndex >= 0;\r\n\t}\r\n\r\n\tget isRemoteAllowed(): boolean {\r\n\t\treturn this.bookingSummary?.expertDetails?.remoteAllowed;\r\n\t}\r\n\r\n\tget isRemote(): boolean {\r\n\t\treturn this.selectedLocationOption?.value === ExpertBookingLocationType.Remote;\r\n\t}\r\n\r\n\tget bookingSummary(): ExpertBookingSummaryViewModel {\r\n\t\treturn this.vm.bookingSummary;\r\n\t}\r\n\r\n\tget canSubmit(): boolean {\r\n\t\treturn (\r\n\t\t\t!!this.selectedDates.length && !!this.selectedLocationOption && (this.isRemote || !!this.workLocation)\r\n\t\t);\r\n\t}\r\n\r\n\tget canAddDate(): boolean {\r\n\t\treturn (\r\n\t\t\tthis.selectedDayParts?.value === ExpertBookingDateType.fullDay ||\r\n\t\t\t!!this.selectedDayPartsTimes?.value ||\r\n\t\t\t(this.selectedDayParts?.value !== ExpertBookingDateType.hour &&\r\n\t\t\t\tthis.selectedHours &&\r\n\t\t\t\tthis.selectedHours.length > 1) ||\r\n\t\t\t(this.selectedDayParts?.value === ExpertBookingDateType.hour && this.isValidRange)\r\n\t\t);\r\n\t}\r\n\r\n\tget canBookExpert(): boolean {\r\n\t\tif (this.vm.expertProfile.state == ExpertPageState.revoked) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\treturn this.bookingSummary.availabilityDates?.some(\r\n\t\t\t(x) =>\r\n\t\t\t\tx.availability === ExpertDateAvailability.available ||\r\n\t\t\t\tx.availability === ExpertDateAvailability.onRequest\r\n\t\t);\r\n\t}\r\n\r\n\tget ExpertBookingDateType(): typeof ExpertBookingDateType {\r\n\t\treturn ExpertBookingDateType;\r\n\t}\r\n\r\n\tget productAddedModel(): IProductAddedModal {\r\n\t\treturn {\r\n\t\t\tproduct: {\r\n\t\t\t\tproductType: ItemProductType.Expert,\r\n\t\t\t\tname: this.bookingSummary?.expertDetails?.firstName,\r\n\t\t\t\ticonUrl: this.vm.expertProfile?.imageUrl,\r\n\t\t\t\texpertProfile: this.vm.expertProfile,\r\n\t\t\t} as ExpertItemViewModel,\r\n\t\t\tcrossSellProducts: this.vm.relatedCrossSellProducts,\r\n\t\t};\r\n\t}\r\n\r\n\tget calculationRequestModel(): ExpertCalculationRequest {\r\n\t\treturn {\r\n\t\t\texpertPageId: this.bookingSummary?.expertDetails?.pageId || 0,\r\n\t\t\tisFlexBooking: this.isFlexBooking,\r\n\t\t\tworkLocation: this.workLocation as ExpertBookingWorkLocation,\r\n\t\t\tdates: this.selectedDates as ExpertBookingDate[],\r\n\t\t\tisRemote: this.isRemote,\r\n\t\t};\r\n\t}\r\n\r\n\tget concatenatedUnavailableHours(): UnavailableHours[] {\r\n\t\treturn cloneDeep(this.unavailableHours)\r\n\t\t\t.sort((a, b) => a.start.position - b.start.position)\r\n\t\t\t.reduce((accumulator: UnavailableHours[], currentValue: UnavailableHours) => {\r\n\t\t\t\tconst previousValue = accumulator[accumulator.length ? accumulator.length - 1 : 0];\r\n\t\t\t\tif (\r\n\t\t\t\t\t!previousValue ||\r\n\t\t\t\t\t(previousValue.end.position !== currentValue.start.position &&\r\n\t\t\t\t\t\t!(previousValue.end.position >= currentValue.start.position))\r\n\t\t\t\t) {\r\n\t\t\t\t\taccumulator.push(currentValue);\r\n\t\t\t\t} else {\r\n\t\t\t\t\taccumulator[accumulator.length - 1].end.position = currentValue.end.position;\r\n\t\t\t\t\taccumulator[accumulator.length - 1].end.time = currentValue.end.time;\r\n\t\t\t\t}\r\n\t\t\t\treturn accumulator;\r\n\t\t\t}, []);\r\n\t}\r\n\r\n\tget priceSummary(): IPriceSummary {\r\n if (!this.expertPriceCalculation || Object.keys(this.expertPriceCalculation).length === 0) return {};\r\n\t\treturn {\r\n\t\t\tstandardLines: this.getPriceLines(this.expertPriceCalculation.lines),\r\n\t\t\tadditionalLines: this.getAdditionalPriceLines(this.expertPriceCalculation.lines),\r\n\t\t\ttotalPrice: this.expertPriceCalculation.totalPrice,\r\n\t\t};\r\n\t}\r\n\r\n\tonValidityChange(val: boolean): void {\r\n\t\tthis.isValidRange = val;\r\n\t}\r\n\r\n\tgetPriceLines(lines: ExpertCalculationLineResponse[]): Map<string, number> {\r\n\t\tconst priceLines = new Map<string, number>();\r\n\t\tlines?.forEach((element: ExpertCalculationLineResponse) => {\r\n\t\t\tif (element.type === ExpertCalculationLineType.fullDay)\r\n\t\t\t\tpriceLines.set(\r\n\t\t\t\t\tthis.$t(`enum.expertCalculationLineType.${element.type}`, [element.quantity]),\r\n\t\t\t\t\telement.totalPrice\r\n\t\t\t\t);\r\n\t\t\tif (element.type === ExpertCalculationLineType.dayPart)\r\n\t\t\t\tpriceLines.set(\r\n\t\t\t\t\tthis.$t(`enum.expertCalculationLineType.${element.type}`, [element.quantity]),\r\n\t\t\t\t\telement.totalPrice\r\n\t\t\t\t);\r\n\t\t\tif (element.type === ExpertCalculationLineType.hour)\r\n\t\t\t\tpriceLines.set(\r\n\t\t\t\t\tthis.$t(`enum.expertCalculationLineType.${element.type}`, [element.quantity]),\r\n\t\t\t\t\telement.totalPrice\r\n\t\t\t\t);\r\n\t\t});\r\n\t\treturn priceLines;\r\n\t}\r\n\r\n\tgetAdditionalPriceLines(lines: ExpertCalculationLineResponse[]): Map<string, number> {\r\n\t\tconst priceLines = new Map<string, number>();\r\n\t\tlines.forEach((element: ExpertCalculationLineResponse) => {\r\n\t\t\tif (element.type === ExpertCalculationLineType.travel)\r\n\t\t\t\tpriceLines.set(\r\n\t\t\t\t\tthis.$t(`enum.expertCalculationLineType.${element.type}`, [\r\n\t\t\t\t\t\telement.quantity,\r\n\t\t\t\t\t\telement.price.toFixed(2),\r\n\t\t\t\t\t]),\r\n\t\t\t\t\telement.totalPrice\r\n\t\t\t\t);\r\n\t\t\tif (element.type === ExpertCalculationLineType.accommodation)\r\n\t\t\t\tpriceLines.set(\r\n\t\t\t\t\telement.quantity > 1\r\n\t\t\t\t\t\t? this.$t(`enum.expertCalculationLineType.${element.type}`) +\r\n\t\t\t\t\t\t\t\t\" \" +\r\n\t\t\t\t\t\t\t\tthis.$t(`expert.nights`, [element.quantity])\r\n\t\t\t\t\t\t: this.$t(`enum.expertCalculationLineType.${element.type}`) +\r\n\t\t\t\t\t\t\t\t\" \" +\r\n\t\t\t\t\t\t\t\tthis.$t(`expert.night`, [element.quantity]),\r\n\t\t\t\t\telement.totalPrice\r\n\t\t\t\t);\r\n\t\t\tif (element.type === ExpertCalculationLineType.flexBooking)\r\n\t\t\t\tpriceLines.set(\r\n\t\t\t\t\tthis.$t(`enum.expertCalculationLineType.${element.type}`, [\r\n\t\t\t\t\t\tthis.vm.bookingSummary.expertDetails.flexBookingPercentage,\r\n\t\t\t\t\t]),\r\n\t\t\t\t\telement.totalPrice\r\n\t\t\t\t);\r\n\t\t});\r\n\r\n\t\treturn priceLines;\r\n\t}\r\n\r\n\tgetAvailabilityType(date: Date): ExpertDateAvailability {\r\n\t\tconst expertDate = this.bookingSummary.availabilityDates.find((x) => {\r\n\t\t\treturn compareAsc(getDateWithoutTime(date), getDateWithoutTime(this.toDate(x.date))) === 0;\r\n\t\t});\r\n\t\treturn expertDate?.availability as ExpertDateAvailability;\r\n\t}\r\n\r\n\tonDateSelected(evt: ExpertBookingDateSelectedEvent): void {\r\n\t\tthis.selectedDate = evt.date;\r\n\t\tthis.visibleStep = 3;\r\n\t\tthis.selectedDateStartingHour = set(evt.startHour, {\r\n\t\t\thours: this.startingHour,\r\n\t\t\tminutes: 0,\r\n\t\t\tseconds: 0,\r\n\t\t\tmilliseconds: 0,\r\n\t\t});\r\n\t\tthis.resetSelectedHours();\r\n\t\tthis.setBookedHours(evt.bookedHours);\r\n\t}\r\n\r\n\tsetBookedHours(bookedHours?: Array<ExpertBookedHour>): void {\r\n\t\tif (bookedHours) {\r\n\t\t\tthis.unavailableHours = bookedHours.map((bookedHour) => {\r\n\t\t\t\tconst start = this.toDate(bookedHour.start);\r\n\t\t\t\tconst end = this.toDate(bookedHour.end);\r\n\t\t\t\treturn {\r\n\t\t\t\t\tstart: {\r\n\t\t\t\t\t\ttime: start,\r\n\t\t\t\t\t\tposition: this.getSliderPositionFromDate(start),\r\n\t\t\t\t\t},\r\n\t\t\t\t\tend: { time: end, position: this.getSliderPositionFromDate(end) },\r\n\t\t\t\t};\r\n\t\t\t});\r\n\t\t} else this.unavailableHours = [];\r\n\t\tif (this.selectedDates.length) {\r\n\t\t\tthis.selectedDates.forEach((selected) => {\r\n\t\t\t\tif (this.getIsBetweenSelectedDate(this.toDate(selected.start), this.toDate(selected.end))) {\r\n\t\t\t\t\tthis.unavailableHours.push({\r\n\t\t\t\t\t\tstart: {\r\n\t\t\t\t\t\t\ttime: this.toDate(selected.start),\r\n\t\t\t\t\t\t\tposition: this.getSliderPositionFromDate(this.toDate(selected.start)),\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tend: {\r\n\t\t\t\t\t\t\ttime: this.toDate(selected.end),\r\n\t\t\t\t\t\t\tposition: this.getSliderPositionFromDate(this.toDate(selected.end)),\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\r\n\t\tif (this.isEditingDate)\r\n\t\t\tthis.unavailableHours = this.unavailableHours.filter((x) => {\r\n\t\t\t\treturn !(\r\n\t\t\t\t\tgetHours(this.toDate(x.start.time)) === this.selectedHours[0] &&\r\n\t\t\t\t\tgetHours(this.toDate(x.end.time)) === this.selectedHours[1]\r\n\t\t\t\t);\r\n\t\t\t});\r\n\t}\r\n\r\n\tgetIsBetweenSelectedDate(start: Date, end: Date): boolean {\r\n\t\tconst workDayEnd = addHours(this.selectedDateStartingHour, this.totalWorkHours);\r\n\r\n\t\treturn (\r\n\t\t\t(compareAsc(end, this.selectedDateStartingHour) === 1 ||\r\n\t\t\t\tcompareAsc(end, this.selectedDateStartingHour) === 0) &&\r\n\t\t\t(compareAsc(start, workDayEnd) === -1 || compareAsc(start, workDayEnd) === 0)\r\n\t\t);\r\n\t}\r\n\r\n\tgetSliderPositionFromDate(date): number {\r\n\t\treturn this.workDayStartHour + differenceInHours(date, this.selectedDateStartingHour);\r\n\t}\r\n\r\n\tonLocationSelected(e): void {\r\n\t\tif (!e.target.value) {\r\n\t\t\tthis.workLocation = null;\r\n\t\t}\r\n\t}\r\n\r\n\tonDateAdded(): void {\r\n\t\tconst dateObject: ExpertBookingDate = {} as ExpertBookingDate;\r\n\r\n\t\tif (this.selectedDayParts?.value === ExpertBookingDateType.fullDay) {\r\n\t\t\tdateObject.start = this.selectedDateStartingHour;\r\n\t\t\tdateObject.end = addHours(this.selectedDateStartingHour, this.totalWorkHours);\r\n\t\t\tdateObject.date = dateObject.start;\r\n\t\t\tdateObject.type = ExpertBookingDateType.fullDay;\r\n\t\t\tdateObject.totalHours = 8;\r\n\t\t} else if (\r\n\t\t\tthis.selectedDayParts?.value === ExpertBookingDateType.morning ||\r\n\t\t\tthis.selectedDayParts?.value === ExpertBookingDateType.afternoon\r\n\t\t) {\r\n\t\t\tif (this.selectedDayPartsTimes?.value === ExpertBookingDateType.morning) {\r\n\t\t\t\tdateObject.start = this.selectedDateStartingHour;\r\n\t\t\t\tdateObject.end = addHours(this.selectedDateStartingHour, this.totalWorkHours / 2);\r\n\t\t\t\tdateObject.date = dateObject.start;\r\n\t\t\t\tdateObject.type = ExpertBookingDateType.morning;\r\n\t\t\t\tdateObject.totalHours = this.totalWorkHours / 2;\r\n\t\t\t} else {\r\n\t\t\t\tdateObject.start = addHours(this.selectedDateStartingHour, this.totalWorkHours / 2);\r\n\t\t\t\tdateObject.end = addHours(this.selectedDateStartingHour, this.totalWorkHours);\r\n\t\t\t\tdateObject.date = dateObject.start;\r\n\t\t\t\tdateObject.type = ExpertBookingDateType.afternoon;\r\n\t\t\t\tdateObject.totalHours = this.totalWorkHours / 2;\r\n\t\t\t}\r\n\t\t} else if (this.selectedDayParts?.value === ExpertBookingDateType.hour && this.selectedHours) {\r\n\t\t\tconst startHour = first(this.selectedHours) ?? 0;\r\n\t\t\tconst endHour = last(this.selectedHours) ?? 0;\r\n\t\t\tdateObject.start = set(this.selectedDate, {\r\n\t\t\t\thours: startHour as number,\r\n\t\t\t\tminutes: 0,\r\n\t\t\t\tseconds: 0,\r\n\t\t\t\tmilliseconds: 0,\r\n\t\t\t});\r\n\t\t\tdateObject.end =\r\n\t\t\t\tthis.selectedHours.length > 1\r\n\t\t\t\t\t? set(this.selectedDate, { hours: endHour as number, minutes: 0, seconds: 0, milliseconds: 0 })\r\n\t\t\t\t\t: set(this.selectedDate, {\r\n\t\t\t\t\t\t\thours: startHour as number,\r\n\t\t\t\t\t\t\tminutes: 0,\r\n\t\t\t\t\t\t\tseconds: 0,\r\n\t\t\t\t\t\t\tmilliseconds: 0,\r\n\t\t\t\t\t\t});\r\n\t\t\tdateObject.date = dateObject.start;\r\n\t\t\tdateObject.type = ExpertBookingDateType.hour;\r\n\t\t\tdateObject.totalHours = endHour - startHour;\r\n\t\t}\r\n\r\n\t\tif (this.editDateIndex != null) {\r\n\t\t\tthis.selectedDates[this.editDateIndex] = { ...dateObject };\r\n\t\t} else {\r\n\t\t\tconst concurrentBooking = this.selectedDates.filter((selectedDate) => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\tcompareAsc(this.toDate(selectedDate.start), this.toDate(dateObject.end)) === 0 ||\r\n\t\t\t\t\tcompareAsc(this.toDate(selectedDate.end), this.toDate(dateObject.start)) === 0\r\n\t\t\t\t);\r\n\t\t\t});\r\n\t\t\tif (concurrentBooking.length) {\r\n\t\t\t\tif (concurrentBooking.length === 1) {\r\n\t\t\t\t\tthis.selectedDates.forEach((selectedDate) => {\r\n\t\t\t\t\t\tif (compareAsc(this.toDate(selectedDate.start), this.toDate(dateObject.end)) === 0) {\r\n\t\t\t\t\t\t\tselectedDate.start = this.toDate(dateObject.start);\r\n\t\t\t\t\t\t\tselectedDate.date = selectedDate.start;\r\n\t\t\t\t\t\t\tdateObject.end = this.toDate(selectedDate.end);\r\n\t\t\t\t\t\t\tdateObject.totalHours = differenceInHours(\r\n\t\t\t\t\t\t\t\tthis.toDate(dateObject.end),\r\n\t\t\t\t\t\t\t\tthis.toDate(dateObject.start)\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tdateObject.type = this.getBookingType(dateObject);\r\n\t\t\t\t\t\t\tselectedDate.type = this.getBookingType(dateObject);\r\n\t\t\t\t\t\t} else if (\r\n\t\t\t\t\t\t\tcompareAsc(this.toDate(selectedDate.end), this.toDate(dateObject.start)) === 0\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tselectedDate.end = this.toDate(dateObject.end);\r\n\t\t\t\t\t\t\tdateObject.start = this.toDate(selectedDate.start);\r\n\t\t\t\t\t\t\tdateObject.date = dateObject.start;\r\n\t\t\t\t\t\t\tdateObject.totalHours = differenceInHours(\r\n\t\t\t\t\t\t\t\tthis.toDate(dateObject.end),\r\n\t\t\t\t\t\t\t\tthis.toDate(dateObject.start)\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tdateObject.type = this.getBookingType(dateObject);\r\n\t\t\t\t\t\t\tselectedDate.type = this.getBookingType(dateObject);\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\tif (concurrentBooking.length === 2) {\r\n\t\t\t\t\tconst indexOne = this.selectedDates.findIndex(\r\n\t\t\t\t\t\t(x) => compareAsc(this.toDate(x.start), this.toDate(concurrentBooking[0].start)) === 0\r\n\t\t\t\t\t);\r\n\t\t\t\t\tconst indexTwo = this.selectedDates.findIndex(\r\n\t\t\t\t\t\t(x) => compareAsc(this.toDate(x.start), this.toDate(concurrentBooking[1].start)) === 0\r\n\t\t\t\t\t);\r\n\r\n\t\t\t\t\tdateObject.start = this.selectedDates[indexOne].start;\r\n\t\t\t\t\tdateObject.end = this.selectedDates[indexTwo].end;\r\n\t\t\t\t\tdateObject.totalHours = differenceInHours(\r\n\t\t\t\t\t\tthis.toDate(dateObject.end),\r\n\t\t\t\t\t\tthis.toDate(dateObject.start)\r\n\t\t\t\t\t);\r\n\t\t\t\t\tdateObject.type = this.getBookingType(dateObject);\r\n\t\t\t\t\tdateObject.date = dateObject.start;\r\n\r\n\t\t\t\t\tthis.selectedDates.splice(indexTwo);\r\n\t\t\t\t\tthis.selectedDates.splice(indexOne);\r\n\t\t\t\t\tthis.selectedDates.push(dateObject);\r\n\t\t\t\t}\r\n\t\t\t} else this.selectedDates.push(dateObject);\r\n\t\t}\r\n\t\tthis.selectedDates = orderBy(\r\n\t\t\tthis.selectedDates,\r\n\t\t\t[\r\n\t\t\t\t(item) => {\r\n\t\t\t\t\treturn this.toDate(item.date);\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\t[\"asc\"]\r\n\t\t);\r\n\r\n\t\tthis.updateAvailabilityDates(dateObject);\r\n\r\n\t\tthis.resetDay();\r\n\t\tthis.visibleStep = 1;\r\n\t\tthis.editDateIndex = null;\r\n\t}\r\n\r\n\tgetBookingType(dateObject: ExpertBookingDate): ExpertBookingDateType {\r\n\t\tconst totalBookedHours: number = differenceInHours(\r\n\t\t\tthis.toDate(dateObject.end),\r\n\t\t\tthis.toDate(dateObject.start)\r\n\t\t);\r\n\r\n\t\tif (dateObject.type === ExpertBookingDateType.hour) {\r\n\t\t\treturn ExpertBookingDateType.hour;\r\n\t\t}\r\n\r\n\t\tif (totalBookedHours === this.totalWorkHours) {\r\n\t\t\treturn ExpertBookingDateType.fullDay;\r\n\t\t}\r\n\t\tif (totalBookedHours === this.totalWorkHours / 2) {\r\n\t\t\tif (\r\n\t\t\t\tcompareAsc(this.selectedDateStartingHour, dateObject.start) === 0 &&\r\n\t\t\t\tcompareAsc(addHours(dateObject.start, this.totalWorkHours / 2), dateObject.end) === 0\r\n\t\t\t) {\r\n\t\t\t\treturn ExpertBookingDateType.morning;\r\n\t\t\t}\r\n\t\t\tif (\r\n\t\t\t\tcompareAsc(addHours(dateObject.start, this.totalWorkHours / 2), dateObject.start) === 0 &&\r\n\t\t\t\tcompareAsc(addHours(dateObject.start, this.totalWorkHours), dateObject.end) === 0\r\n\t\t\t) {\r\n\t\t\t\treturn ExpertBookingDateType.afternoon;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn ExpertBookingDateType.hour;\r\n\t}\r\n\r\n\tupdateAvailabilityDates(dateObject: ExpertBookingDate): void {\r\n\t\tthis.vm.bookingSummary.availabilityDates = this.vm.bookingSummary.availabilityDates.map((x) => {\r\n\t\t\tif (\r\n\t\t\t\tcompareAsc(\r\n\t\t\t\t\tgetDateWithoutTime(getDateWithoutTime(this.toDate(dateObject.date))),\r\n\t\t\t\t\tgetDateWithoutTime(this.toDate(x.date))\r\n\t\t\t\t) === 0\r\n\t\t\t) {\r\n\t\t\t\tx.bookedHours =\r\n\t\t\t\t\tx.bookedHours?.filter((y) => {\r\n\t\t\t\t\t\tif (this.isEditingDate) {\r\n\t\t\t\t\t\t\treturn !(\r\n\t\t\t\t\t\t\t\tcompareAsc(this.toDate(y.start), this.toDate(this.selectedEditingHours[0])) ===\r\n\t\t\t\t\t\t\t\t\t0 &&\r\n\t\t\t\t\t\t\t\tcompareAsc(this.toDate(y.end), this.toDate(this.selectedEditingHours[1])) === 0\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t} else\r\n\t\t\t\t\t\t\treturn !(\r\n\t\t\t\t\t\t\t\tcompareAsc(this.toDate(y.start), this.toDate(dateObject.start)) === 0 &&\r\n\t\t\t\t\t\t\t\tcompareAsc(this.toDate(y.start), this.toDate(dateObject.start)) === 1 &&\r\n\t\t\t\t\t\t\t\tcompareAsc(this.toDate(y.end), this.toDate(dateObject.end)) === 0 &&\r\n\t\t\t\t\t\t\t\tcompareAsc(this.toDate(y.end), this.toDate(dateObject.end)) === -1\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t}) || [];\r\n\r\n\t\t\t\tx.totalBookedHours = 0;\r\n\t\t\t\tx.bookedHours.push(dateObject);\r\n\t\t\t\tx.bookedHours.forEach(\r\n\t\t\t\t\t(bookedHour) =>\r\n\t\t\t\t\t\t(x.totalBookedHours += bookedHour.totalHours\r\n\t\t\t\t\t\t\t? bookedHour.totalHours\r\n\t\t\t\t\t\t\t: differenceInHours(this.toDate(bookedHour.end), this.toDate(bookedHour.start)))\r\n\t\t\t\t);\r\n\t\t\t\tx.availability =\r\n\t\t\t\t\tx.availability === ExpertDateAvailability.onRequest\r\n\t\t\t\t\t\t? ExpertDateAvailability.onRequest\r\n\t\t\t\t\t\t: x.totalBookedHours === this.totalWorkHours\r\n\t\t\t\t\t\t\t? 2\r\n\t\t\t\t\t\t\t: 0;\r\n\t\t\t}\r\n\t\t\treturn x;\r\n\t\t});\r\n\t}\r\n\r\n\tonPlaceChanged(place): void {\r\n\t\tif (place?.name) {\r\n\t\t\tconst result = place.address_components.find((component) => {\r\n\t\t\t\treturn component.types.includes(\"country\");\r\n\t\t\t});\r\n\r\n\t\t\tthis.workLocation = {\r\n\t\t\t\tname: place.formatted_address,\r\n\t\t\t\tcountryCode: result.short_name,\r\n\t\t\t\tlatitude: place.geometry.location.lat(),\r\n\t\t\t\tlongitude: place.geometry.location.lng(),\r\n\t\t\t};\r\n\t\t} else {\r\n\t\t\tthis.workLocation = null;\r\n\t\t}\r\n\t}\r\n\r\n\tonModalSubmit(val: { type: ExpertBookingModalType; data: ExpertBookingForm | null }): void {\r\n\t\tconst { type, data } = val;\r\n\t\tif (data) {\r\n\t\t\tthis.requester = {\r\n\t\t\t\tcompany: data.company || \"\",\r\n\t\t\t\temail: data.email || \"\",\r\n\t\t\t\tfirstName: data.firstname || \"\",\r\n\t\t\t\tlastName: data.lastname || \"\",\r\n\t\t\t};\r\n\t\t}\r\n\t\tif (type === ExpertBookingModalType.OnRequest) {\r\n\t\t\tthis.sendBookingRequest(data);\r\n\t\t} else {\r\n\t\t\tthis.addToCartRequest(data);\r\n\t\t}\r\n\r\n\t\tthis.setDataLayer.addToCart(toFixed(this.priceSummary.totalPrice, 2) || null, [\r\n\t\t\t{\r\n\t\t\t\tid: this.vm.expertProfile.expertVariationContentId || \"0000-0000-0000-0000\",\r\n\t\t\t\tname: this.vm.expertProfile.expertVariationContentId.toString(),\r\n\t\t\t\tproductCategory: ProductCategoryType.Expert,\r\n\t\t\t\tbasePrice: this.priceSummary.totalPrice,\r\n\t\t\t\tpersonalPrice: this.priceSummary.totalPrice,\r\n\t\t\t\tbrand: \"cadac\",\r\n\t\t\t\tamount: 1,\r\n\t\t\t},\r\n\t\t]);\r\n\t}\r\n\r\n\tcancelBooking(): void {\r\n\t\tthis.resetDay();\r\n\t\tthis.editDateIndex = null;\r\n\t\tthis.visibleStep = 1;\r\n\t}\r\n\r\n\tresetDay(): void {\r\n\t\tthis.selectedDate = null as any;\r\n\t\tthis.selectedDayParts = null;\r\n\t\tthis.selectedDayPartsTimes = null;\r\n\t\tthis.resetSelectedHours();\r\n\t}\r\n\r\n\tresetSelectedHours(): void {\r\n\t\tif (this.selectedDayParts?.value === ExpertBookingDateType.hour) {\r\n\t\t\tthis.onValidityChange(false);\r\n\t\t\tthis.selectedDayPartsTimes = null;\r\n\t\t\tif (!this.isEditingDate) this.selectedHours = [this.workDayStartHour, this.workDayEndHour];\r\n\t\t} else if (!this.isEditingDate) this.selectedHours = [];\r\n\t}\r\n\r\n\tdeleteDate(index: number, selected: ExpertBookingDate): void {\r\n\t\tconst indexOfUnavailableHours = this.unavailableHours.findIndex((object) => {\r\n\t\t\treturn object.start.time === selected.start;\r\n\t\t});\r\n\r\n\t\tthis.unavailableHours.splice(indexOfUnavailableHours, 1);\r\n\t\tthis.selectedDates.splice(index, 1);\r\n\r\n\t\tthis.vm.bookingSummary.availabilityDates = this.vm.bookingSummary.availabilityDates.map((x) => {\r\n\t\t\tif (\r\n\t\t\t\tcompareAsc(\r\n\t\t\t\t\tgetDateWithoutTime(getDateWithoutTime(this.toDate(selected.date))),\r\n\t\t\t\t\tgetDateWithoutTime(this.toDate(x.date))\r\n\t\t\t\t) === 0\r\n\t\t\t) {\r\n\t\t\t\tx.bookedHours = x.bookedHours?.filter((y) => {\r\n\t\t\t\t\treturn y.start !== selected.start && y.end !== selected.end;\r\n\t\t\t\t});\r\n\t\t\t\tx.totalBookedHours =\r\n\t\t\t\t\tx.totalBookedHours - differenceInHours(this.toDate(selected.end), this.toDate(selected.start));\r\n\t\t\t\tx.availability = 0;\r\n\t\t\t}\r\n\t\t\treturn x;\r\n\t\t});\r\n\t\tconst bookedHours = this.vm.bookingSummary.availabilityDates?.find((x) => {\r\n\t\t\treturn (\r\n\t\t\t\tcompareAsc(getDateWithoutTime(this.selectedDate), getDateWithoutTime(this.toDate(x.date))) === 0\r\n\t\t\t);\r\n\t\t})?.bookedHours;\r\n\r\n\t\tthis.setBookedHours(bookedHours);\r\n\t}\r\n\r\n\topenDate(date: ExpertBookingDate, index: number | null): void {\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.editDateIndex = index;\r\n\t\t\tthis.selectedDate = date.date;\r\n\t\t\tthis.selectedEditingHours = [date.start, date.end];\r\n\t\t\tthis.visibleStep = 2;\r\n\t\t\tthis.selectedHours = [getHours(this.toDate(date.start)), getHours(this.toDate(date.end))];\r\n\r\n\t\t\tthis.onDateSelected({\r\n\t\t\t\tdate: this.toDate(date.date),\r\n\t\t\t\tavailability: this.getAvailabilityType(this.toDate(date.date)),\r\n\t\t\t\tbookedHours:\r\n\t\t\t\t\tthis.bookingSummary.availabilityDates.find((x) => {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\tcompareAsc(\r\n\t\t\t\t\t\t\t\tgetDateWithoutTime(this.toDate(date.date)),\r\n\t\t\t\t\t\t\t\tgetDateWithoutTime(this.toDate(x.date))\r\n\t\t\t\t\t\t\t) === 0\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t})?.bookedHours || [],\r\n\t\t\t\tstartHour: new Date(\r\n\t\t\t\t\tthis.bookingSummary.availabilityDates.find((x) => {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\tcompareAsc(\r\n\t\t\t\t\t\t\t\tgetDateWithoutTime(this.toDate(date.date)),\r\n\t\t\t\t\t\t\t\tgetDateWithoutTime(this.toDate(x.date))\r\n\t\t\t\t\t\t\t) === 0\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t})?.date || new Date()\r\n\t\t\t\t),\r\n\t\t\t});\r\n\t\t}, 10);\r\n\t}\r\n\r\n\topenBookingModal(): void {\r\n\t\tthis.modalType = this.isRequestBooking ? ExpertBookingModalType.OnRequest : ExpertBookingModalType.Default;\r\n\t\tthis.expertStore.showModal(\"BookingRequest\");\r\n\t}\r\n\r\n\tcalculatePrice(): void {\r\n\t\tif (this.isSpinnerVisible(\"priceSummary\") || !this.calculationRequestModel.dates?.length) return;\r\n\t\tthis.loadingStore.showSpinner(\"priceSummary\");\r\n\t\tthis.axios\r\n\t\t\t.post(`/api/expert/calculate-costs`, this.calculationRequestModel)\r\n\t\t\t.then((result) => {\r\n\t\t\t\tthis.expertPriceCalculation = result.data;\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t})\r\n\t\t\t.finally(() => this.loadingStore.hideSpinner(\"priceSummary\"));\r\n\t}\r\n\r\n\tsendBookingRequest(data: ExpertBookingForm | null): void {\r\n\t\tconst bookingRequest: SendBookingRequestRequest = {\r\n\t\t\tpageId: this.bookingSummary?.expertDetails?.pageId || 0,\r\n\t\t\tisFlexBooking: this.isFlexBooking,\r\n\t\t\tworkLocation: this.workLocation as ExpertBookingWorkLocation,\r\n\t\t\tdates: this.selectedDates,\r\n\t\t\tprojectDescription: data?.description || \"\",\r\n\t\t\trequester: this.requester as BookingRequestRequester,\r\n\t\t\tisRemote: this.isRemote,\r\n\t\t};\r\n\t\tthis.axios\r\n\t\t\t.post(`\t/api/expert/sendBookingRequest`, bookingRequest)\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"success\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleSuccess\"),\r\n\t\t\t\t\tdetail: this.$t(\"expert.toast.sendBookingRequestSuccess\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.expertStore.hideModal(\"BookingRequest\");\r\n\t\t\t});\r\n\t}\r\n\r\n\taddToCartRequest(data: ExpertBookingForm | null): void {\r\n\t\tconst model: ExpertProductAddToCartRequest = {\r\n\t\t\toldLineItemId: this.bookingSummary?.configuration?.oldLineItemId,\r\n\t\t\tpageId: this.bookingSummary?.expertDetails?.pageId || 0,\r\n\t\t\tisFlexBooking: this.isFlexBooking,\r\n\t\t\tworkLocation: this.workLocation as ExpertBookingWorkLocation,\r\n\t\t\tdates: this.selectedDates,\r\n\t\t\tprojectDescription: data?.description || \"\",\r\n\t\t\tisRemote: this.isRemote,\r\n\t\t};\r\n\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tthis.axios\r\n\t\t\t.post(`/api/cart/add-expert`, model)\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.cartStore.showModal(\"ProductAdded\");\r\n\t\t\t})\r\n\t\t\t.catch((err) => Log.error(err))\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t\t\t\tthis.expertStore.hideModal(\"BookingRequest\");\r\n\t\t\t});\r\n\t}\r\n\r\n\tprivate setupConfigurationOptions(): void {\r\n\t\tif (this.isRemoteAllowed) {\r\n\t\t\tthis.locationOptions = [\r\n\t\t\t\t{ label: this.$t(\"expert.onLocation\"), value: ExpertBookingLocationType.OnLocation },\r\n\t\t\t\t{ label: this.$t(\"expert.remote\"), value: ExpertBookingLocationType.Remote },\r\n\t\t\t];\r\n\t\t} else {\r\n\t\t\tthis.locationOptions = [\r\n\t\t\t\t{ label: this.$t(\"expert.onLocation\"), value: ExpertBookingLocationType.OnLocation },\r\n\t\t\t];\r\n\t\t}\r\n\t}\r\n\r\n\tprivate setupPreviousConfiguration(): void {\r\n\t\tif (!this.bookingSummary?.configuration?.oldLineItemId) return;\r\n\r\n\t\tconst { workLocation, isFlexBooking, requester, selectedDates } = this.bookingSummary.configuration;\r\n\r\n\t\tif (workLocation) {\r\n\t\t\tthis.editWorkLocation = false;\r\n\t\t\tthis.selectedLocationOption = this.locationOptions.find(\r\n\t\t\t\t(x) => x.value === ExpertBookingLocationType.OnLocation\r\n\t\t\t) as IDropdownItem;\r\n\t\t\tthis.workLocation = workLocation;\r\n\t\t} else {\r\n\t\t\tthis.selectedLocationOption = this.locationOptions.find(\r\n\t\t\t\t(x) => x.value === ExpertBookingLocationType.Remote\r\n\t\t\t) as IDropdownItem;\r\n\t\t}\r\n\t\tthis.isFlexBooking = isFlexBooking;\r\n\t\tthis.requester = requester;\r\n\r\n\t\tthis.selectedDates = orderBy(\r\n\t\t\tselectedDates,\r\n\t\t\t[\r\n\t\t\t\t(item) => {\r\n\t\t\t\t\treturn item.date;\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t\t[\"asc\"]\r\n\t\t);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n::v-deep(.expert-booking-card) {\r\n\tposition: sticky;\r\n\ttop: calc(1rem + var(--navbarHeightInPx));\r\n\r\n\t.p-card-title {\r\n\t\tmargin-bottom: 0;\r\n\t}\r\n\r\n\t.p-card-subtitle {\r\n\t\tcolor: var(--text-color-secondary);\r\n\t\tfont-weight: 400;\r\n\t\tmargin-bottom: 0;\r\n\t}\r\n\r\n\t.p-chip.custom-chip {\r\n\t\tbackground: transparent;\r\n\t\tcolor: var(--primary-color);\r\n\t\tborder: 1px solid var(--primary-color);\r\n\t\twidth: 100%;\r\n\t\tjustify-content: space-between;\r\n\t\tfont-weight: 500;\r\n\t\tcursor: pointer;\r\n\t}\r\n\r\n\t.pac-target-input:focus {\r\n\t\toutline: var(--primary-color);\r\n\t}\r\n}\r\n\r\n.p-timeline-event-opposite {\r\n\tdisplay: none;\r\n}\r\n\r\n::v-deep(.day-part-select) {\r\n\t.p-button-label {\r\n\t\tfont-size: 1rem;\r\n\t\tpadding: 0.5rem 1rem !important;\r\n\t}\r\n\r\n\t.p-button {\r\n\t\toverflow: visible;\r\n\t\tpadding: 0;\r\n\r\n\t\tdiv {\r\n\t\t\tpadding: 0;\r\n\t\t\tmargin: 0 !important;\r\n\t\t\tborder: none !important;\r\n\t\t\twidth: 100%;\r\n\t\t\theight: 100%;\r\n\t\t}\r\n\t}\r\n}\r\n</style>\r\n","import { toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, mergeProps as _mergeProps, withCtx as _withCtx, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-c16f1e52\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"d-flex align-items-center flex-wrap p-1\" }\nconst _hoisted_2 = { class: \"mb-0\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Calendar = _resolveComponent(\"Calendar\")!\n\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createVNode(_component_Calendar, _mergeProps(_ctx.bookingDateOptions, {\n class: \"w-100\",\n \"disabled-dates\": _ctx.disabledDates,\n locale: _ctx.currentRegion,\n \"max-date\": new Date(_ctx.calendarMaxDate),\n \"model-value\": _ctx.activeDate,\n onDateSelect: _cache[0] || (_cache[0] = ($event: any) => (_ctx.onDateSelected($event)))\n }), {\n date: _withCtx((slotProps) => [\n _createElementVNode(\"strong\", {\n class: _normalizeClass([\"custom-date\", {\r\n\t\t\t\t\t\tselected: _ctx.isSelectedDate(_ctx.convertDateObjectToDate(slotProps.date)),\r\n\t\t\t\t\t\tavailable:\r\n\t\t\t\t\t\t\t_ctx.getAvailabilityType(_ctx.convertDateObjectToDate(slotProps.date)) ===\r\n\t\t\t\t\t\t\t_ctx.expertDateAvailability.available,\r\n\t\t\t\t\t\t'on-request':\r\n\t\t\t\t\t\t\t_ctx.getAvailabilityType(_ctx.convertDateObjectToDate(slotProps.date)) ===\r\n\t\t\t\t\t\t\t_ctx.expertDateAvailability.onRequest,\r\n\t\t\t\t\t}])\n }, _toDisplayString(slotProps.date.day), 3)\n ]),\n _: 1\n }, 16, [\"disabled-dates\", \"locale\", \"max-date\", \"model-value\"]),\n _createElementVNode(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.legendOptions, (option) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: option.label,\n class: \"d-flex align-items-center flex-shrink-0 mr-2\"\n }, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"legend-box\", option.color])\n }, null, 2),\n _createElementVNode(\"small\", _hoisted_2, _toDisplayString(`${_ctx.$t(option.label)}`), 1)\n ]))\n }), 128))\n ])\n ]))\n}","<template>\r\n\t<div>\r\n\t\t<Calendar\r\n\t\t\tv-bind=\"bookingDateOptions\"\r\n\t\t\tclass=\"w-100\"\r\n\t\t\t:disabled-dates=\"disabledDates\"\r\n\t\t\t:locale=\"currentRegion\"\r\n\t\t\t:max-date=\"new Date(calendarMaxDate)\"\r\n\t\t\t:model-value=\"activeDate\"\r\n\t\t\t@date-select=\"onDateSelected($event)\"\r\n\t\t>\r\n\t\t\t<template #date=\"slotProps\">\r\n\t\t\t\t<strong\r\n\t\t\t\t\tclass=\"custom-date\"\r\n\t\t\t\t\t:class=\"{\r\n\t\t\t\t\t\tselected: isSelectedDate(convertDateObjectToDate(slotProps.date)),\r\n\t\t\t\t\t\tavailable:\r\n\t\t\t\t\t\t\tgetAvailabilityType(convertDateObjectToDate(slotProps.date)) ===\r\n\t\t\t\t\t\t\texpertDateAvailability.available,\r\n\t\t\t\t\t\t'on-request':\r\n\t\t\t\t\t\t\tgetAvailabilityType(convertDateObjectToDate(slotProps.date)) ===\r\n\t\t\t\t\t\t\texpertDateAvailability.onRequest,\r\n\t\t\t\t\t}\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ slotProps.date.day }}\r\n\t\t\t\t</strong>\r\n\t\t\t</template>\r\n\t\t</Calendar>\r\n\t\t<div class=\"d-flex align-items-center flex-wrap p-1\">\r\n\t\t\t<div\r\n\t\t\t\tv-for=\"option in legendOptions\"\r\n\t\t\t\t:key=\"option.label\"\r\n\t\t\t\tclass=\"d-flex align-items-center flex-shrink-0 mr-2\"\r\n\t\t\t>\r\n\t\t\t\t<div class=\"legend-box\" :class=\"option.color\"></div>\r\n\t\t\t\t<small class=\"mb-0\">{{ `${$t(option.label)}` }}</small>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { ExpertBookedHour } from \"@/types/models/expert/expertBookedHour\";\r\n\r\nconst { convertDateObjectToDate, getDateWithoutTime } = FormatHelper;\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Calendar, { CalendarProps } from \"primevue/calendar\";\r\nimport { Component, Emit, Prop, VModel } from \"vue-facing-decorator\";\r\nimport { ExpertAvailabilityDate } from \"@/types/models/expert/expertAvailabilityDate\";\r\nimport { ExpertBookingDate } from \"@/types/models/expert/expertBookingDate\";\r\nimport { ExpertDateAvailability } from \"@/types/enum/expertDateAvailability\";\r\nimport { FormatHelper } from \"@/types/helpers/formatHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { addHours, compareAsc, getHours } from \"date-fns\";\r\nimport { IDropdownItem } from \"@/types/models/common/dropdownItem.interface\";\r\nimport { ExpertBookingLocationType } from \"@/types/enum/expertBookingLocation\";\r\n\r\nexport interface ExpertBookingDateSelectedEvent {\r\n\tdate: Date;\r\n\tavailability: ExpertDateAvailability;\r\n\tbookedHours: Array<ExpertBookedHour>;\r\n\tstartHour: Date;\r\n}\r\n\r\nexport interface ILegendOption {\r\n\tcolor: string;\r\n\tlabel: string;\r\n}\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tCalendar,\r\n\t},\r\n})\r\nexport default class ExpertBookingCalendar extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<ExpertAvailabilityDate[]>, required: true, default: [] })\r\n\tavailabilityDates!: ExpertAvailabilityDate[];\r\n\t@Prop({ type: Object as PropType<ExpertBookingDate[]>, required: true, default: [] })\r\n\tselectedDates!: ExpertBookingDate[];\r\n\t@VModel({ type: Date, default: null }) activeDate!: Date;\r\n\t@Prop({ type: Date, required: true }) selectedDateStartingHour!: Date;\r\n\t@Prop({ type: Number, default: 8 }) totalWorkHours;\r\n\t@Prop({ type: Object as PropType<IDropdownItem> | null, default: null })\r\n\tselectedLocationOption!: IDropdownItem;\r\n\t@Prop({ type: String, required: true }) calendarMinDate;\r\n\t@Prop({ type: String, required: true }) calendarMaxDate;\r\n\r\n\tlegendOptions: ILegendOption[] = [\r\n\t\t{\r\n\t\t\tcolor: \"bg-success\",\r\n\t\t\tlabel: \"expert.legendAvailable\",\r\n\t\t},\r\n\t\t{\r\n\t\t\tcolor: \"bg-warning\",\r\n\t\t\tlabel: \"expert.legendOnRequest\",\r\n\t\t},\r\n\t\t{\r\n\t\t\tcolor: \"bg-black\",\r\n\t\t\tlabel: \"expert.legendToday\",\r\n\t\t},\r\n\t];\r\n\r\n\t@Emit(\"date-select\")\r\n\tselectDate(date, bookedHours, startHour): ExpertBookingDateSelectedEvent {\r\n\t\treturn {\r\n\t\t\tdate,\r\n\t\t\tavailability: this.getAvailabilityType(date),\r\n\t\t\tbookedHours: bookedHours,\r\n\t\t\tstartHour: startHour,\r\n\t\t};\r\n\t}\r\n\r\n\tget expertDateAvailability(): typeof ExpertDateAvailability {\r\n\t\treturn ExpertDateAvailability;\r\n\t}\r\n\r\n\tget convertDateObjectToDate(): typeof convertDateObjectToDate {\r\n\t\treturn convertDateObjectToDate;\r\n\t}\r\n\r\n\tget disabledDates(): Date[] {\r\n\t\tconst disabledDates: Date[] = [];\r\n\t\tthis.availabilityDates?.forEach((element: ExpertAvailabilityDate) => {\r\n\t\t\tlet totalHours = 0;\r\n\r\n\t\t\ttotalHours += element.totalBookedHours;\r\n\t\t\tthis.selectedDates?.map((x) => {\r\n\t\t\t\tconst startingDateTime = addHours(\r\n\t\t\t\t\tthis.toDate(element.date),\r\n\t\t\t\t\tgetHours(this.selectedDateStartingHour)\r\n\t\t\t\t);\r\n\t\t\t\tconst endDateTime = addHours(startingDateTime, this.totalWorkHours);\r\n\t\t\t\tif (\r\n\t\t\t\t\t(compareAsc(this.toDate(x.end), startingDateTime) === 1 ||\r\n\t\t\t\t\t\tcompareAsc(this.toDate(x.end), startingDateTime) === 0) &&\r\n\t\t\t\t\t(compareAsc(this.toDate(x.start), endDateTime) === -1 ||\r\n\t\t\t\t\t\tcompareAsc(this.toDate(x.start), endDateTime) === 0)\r\n\t\t\t\t)\r\n\t\t\t\t\ttotalHours += x.totalHours;\r\n\t\t\t});\r\n\t\t\t// TODO totalhours max value could possible be set by the expert in the future\r\n\t\t\tif (\r\n\t\t\t\telement.availability === this.expertDateAvailability.unavailable ||\r\n\t\t\t\ttotalHours >= 8 ||\r\n\t\t\t\t(this.selectedLocationOption?.value === ExpertBookingLocationType.OnLocation && totalHours > 0)\r\n\t\t\t) {\r\n\t\t\t\tdisabledDates.push(new Date(element.date));\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn disabledDates;\r\n\t}\r\n\r\n\tget bookingDateOptions(): Partial<CalendarProps> {\r\n\t\treturn {\r\n\t\t\tminDate: new Date(this.calendarMinDate),\r\n\t\t\tdisabledDays: [0, 6],\r\n\t\t\tshowIcon: false,\r\n\t\t\tinline: true,\r\n\t\t\tselectionMode: \"single\",\r\n\t\t\tnumberOfMonths: 1,\r\n\t\t};\r\n\t}\r\n\r\n\tgetAvailabilityType(date: Date): ExpertDateAvailability {\r\n\t\treturn this.availabilityDates?.find((x) => {\r\n\t\t\treturn compareAsc(getDateWithoutTime(date), getDateWithoutTime(this.toDate(x.date))) === 0;\r\n\t\t})?.availability as ExpertDateAvailability;\r\n\t}\r\n\r\n\tisSelectedDate(date: Date): boolean {\r\n\t\tconst startingDateTime = addHours(date, getHours(this.selectedDateStartingHour));\r\n\t\tconst endDateTime = addHours(startingDateTime, this.totalWorkHours);\r\n\t\treturn !!this.selectedDates?.find((x) => {\r\n\t\t\treturn (\r\n\t\t\t\tcompareAsc(new Date(x.end), startingDateTime) === 1 &&\r\n\t\t\t\tcompareAsc(new Date(x.start), endDateTime) === -1\r\n\t\t\t);\r\n\t\t});\r\n\t}\r\n\r\n\tonDateSelected(date: any): void {\r\n\t\tconst bookedHours = this.availabilityDates?.find((x) => {\r\n\t\t\treturn compareAsc(getDateWithoutTime(date), getDateWithoutTime(this.toDate(x.date))) === 0;\r\n\t\t})?.bookedHours;\r\n\r\n\t\tconst startHour = this.availabilityDates?.find((x) => {\r\n\t\t\treturn compareAsc(getDateWithoutTime(date), getDateWithoutTime(this.toDate(x.date))) === 0;\r\n\t\t})?.date;\r\n\t\tif (startHour) this.selectDate(date, bookedHours, new Date(startHour));\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.legend-box {\r\n\theight: 0.65rem;\r\n\twidth: 0.65rem;\r\n\tbackground-color: black;\r\n\tmargin-right: 5px;\r\n}\r\n\r\n:not(.p-disabled) > .custom-date {\r\n\tfont-weight: 450;\r\n\tpadding: 0.35rem;\r\n\twidth: inherit;\r\n\ttext-align: center;\r\n\r\n\t&.on-request {\r\n\t\tcolor: var(--warning-color);\r\n\t\twidth: inherit;\r\n\r\n\t\t&.selected {\r\n\t\t\tbackground-color: var(--warning-color);\r\n\t\t\tcolor: var(--primary-color-text);\r\n\t\t\twidth: inherit;\r\n\t\t\tdisplay: flex;\r\n\t\t\tjustify-content: center;\r\n\t\t\talign-items: center;\r\n\t\t}\r\n\t}\r\n\r\n\t.p-datepicker-calendar table tbody td {\r\n\t\tborder-bottom: 0px solid #e1e1e1;\r\n\t}\r\n\r\n\t&.available {\r\n\t\tcolor: var(--success-color);\r\n\t\twidth: inherit;\r\n\r\n\t\t&.selected {\r\n\t\t\tbackground-color: var(--success-color);\r\n\t\t\tcolor: var(--primary-color-text);\r\n\t\t\twidth: inherit;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n::v-deep(.p-datepicker-calendar) {\r\n\t.p-datepicker-today span {\r\n\t\tcolor: var(--text-color) !important;\r\n\t}\r\n}\r\n</style>\r\n","/* Auto Generated */\r\n\r\nexport enum ExpertDateAvailability {\r\n\tavailable,\r\n\tonRequest,\r\n\tunavailable,\r\n}\r\n","export enum ExpertBookingLocationType {\r\n\tRemote,\r\n\tOnLocation,\r\n}\r\n","import { render } from \"./expertBookingCalendar.vue?vue&type=template&id=c16f1e52&scoped=true&ts=true\"\nimport script from \"./expertBookingCalendar.vue?vue&type=script&lang=ts\"\nexport * from \"./expertBookingCalendar.vue?vue&type=script&lang=ts\"\n\nimport \"./expertBookingCalendar.vue?vue&type=style&index=0&id=c16f1e52&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-c16f1e52\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, normalizeClass as _normalizeClass, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"lead mb-2\" }\nconst _hoisted_2 = { onsubmit: \"return false;\" }\nconst _hoisted_3 = { key: 0 }\nconst _hoisted_4 = { class: \"form-row\" }\nconst _hoisted_5 = { class: \"form-group col-12\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_7 = { class: \"form-row\" }\nconst _hoisted_8 = { class: \"form-group col-12\" }\nconst _hoisted_9 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_10 = { class: \"form-row\" }\nconst _hoisted_11 = { class: \"form-group col-12\" }\nconst _hoisted_12 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_13 = { class: \"form-row\" }\nconst _hoisted_14 = { class: \"form-group col-12\" }\nconst _hoisted_15 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_16 = { class: \"form-row\" }\nconst _hoisted_17 = { class: \"form-group col-12\" }\nconst _hoisted_18 = { key: 0 }\nconst _hoisted_19 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_20 = {\n key: 1,\n class: \"p-error\"\n}\nconst _hoisted_21 = { class: \"mb-0\" }\nconst _hoisted_22 = { class: \"text-bold mr-1\" }\nconst _hoisted_23 = { class: \"\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_InputText = _resolveComponent(\"InputText\")!\n const _component_Textarea = _resolveComponent(\"Textarea\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Dialog = _resolveComponent(\"Dialog\")!\n\n return (_openBlock(), _createBlock(_component_Dialog, {\n visible: _ctx.isVisible,\n \"onUpdate:visible\": _cache[7] || (_cache[7] = ($event: any) => ((_ctx.isVisible) = $event)),\n breakpoints: { '1600px': '40vw', '1200px': '50vw', '992px': '60vw', '768px': '75vw', '576px': '90vw' },\n closable: true,\n header: _ctx.$t('expert.bookingModal.header'),\n modal: true,\n style: { width: '30vw' },\n onHide: _cache[8] || (_cache[8] = ($event: any) => (_ctx.onCancel()))\n }, {\n footer: _withCtx(() => [\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-plain\",\n label: _ctx.$t('common.cancel'),\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.onCancel()))\n }, null, 8, [\"label\"]),\n _createVNode(_component_Button, {\n disabled: !_ctx.canSubmit,\n label: _ctx.isOnRequest ? _ctx.$t('expert.button.sendRequest') : _ctx.$t('expert.button.confirmBooking'),\n onClick: _cache[6] || (_cache[6] = ($event: any) => (_ctx.onSubmit()))\n }, null, 8, [\"disabled\", \"label\"])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"p\", _hoisted_1, _toDisplayString(_ctx.isOnRequest ? _ctx.$t(\"expert.bookingModal.introRequest\") : _ctx.$t(\"expert.bookingModal.introBook\")), 1),\n _createElementVNode(\"form\", _hoisted_2, [\n (_ctx.isOnRequest)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t(\"common.forms.lblFirstName\")), 1),\n _createVNode(_component_InputText, {\n modelValue: _ctx.v$['expertBookingForm'].firstname.$model,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.v$['expertBookingForm'].firstname.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['expertBookingForm'].firstname) }),\n type: \"text\"\n }, null, 8, [\"modelValue\", \"class\"]),\n (_ctx.shouldShowError(_ctx.v$['expertBookingForm'].firstname))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_6, _toDisplayString(_ctx.v$[\"expertBookingForm\"].firstname?.required?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t(\"common.forms.lblLastName\")), 1),\n _createVNode(_component_InputText, {\n modelValue: _ctx.v$['expertBookingForm'].lastname.$model,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.v$['expertBookingForm'].lastname.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['expertBookingForm'].lastname) }),\n type: \"text\"\n }, null, 8, [\"modelValue\", \"class\"]),\n (_ctx.shouldShowError(_ctx.v$['expertBookingForm'].lastname))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_9, _toDisplayString(_ctx.v$[\"expertBookingForm\"].lastname?.required?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t(\"common.forms.lblEmail\")), 1),\n _createVNode(_component_InputText, {\n modelValue: _ctx.v$['expertBookingForm'].email.$model,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.v$['expertBookingForm'].email.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['expertBookingForm'].email) }),\n type: \"text\"\n }, null, 8, [\"modelValue\", \"class\"]),\n (_ctx.shouldShowError(_ctx.v$['expertBookingForm'].email))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_12, _toDisplayString(_ctx.v$[\"expertBookingForm\"].email?.required?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t(\"common.forms.lblCompanyName\")), 1),\n _createVNode(_component_InputText, {\n modelValue: _ctx.v$['expertBookingForm'].company.$model,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.v$['expertBookingForm'].company.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['expertBookingForm'].company) }),\n type: \"text\"\n }, null, 8, [\"modelValue\", \"class\"]),\n (_ctx.shouldShowError(_ctx.v$['expertBookingForm'].company))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_15, _toDisplayString(_ctx.v$[\"expertBookingForm\"].company?.required?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t(\"common.forms.lblDescription\")), 1),\n _createVNode(_component_Textarea, {\n modelValue: _ctx.v$['expertBookingForm'].description.$model,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_ctx.v$['expertBookingForm'].description.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['expertBookingForm'].description) }),\n rows: \"8\",\n type: \"text\"\n }, null, 8, [\"modelValue\", \"class\"]),\n (_ctx.shouldShowError(_ctx.v$['expertBookingForm'].description))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_18, [\n (!_ctx.v$['expertBookingForm'].description.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_19, _toDisplayString(_ctx.v$[\"expertBookingForm\"].description?.required?.$message), 1))\n : (_ctx.v$['expertBookingForm'].description.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_20, _toDisplayString(_ctx.v$[\"expertBookingForm\"].description.minLength?.$message), 1))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n _createElementVNode(\"p\", _hoisted_21, [\n _createElementVNode(\"span\", _hoisted_22, _toDisplayString(_ctx.$t(\"common.messages.titleImportant\")), 1),\n _createElementVNode(\"small\", _hoisted_23, _toDisplayString(_ctx.$t(\"expert.bookingModal.footer\")), 1)\n ]),\n (!_ctx.isOnRequest)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n class: \"my-1\",\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"expert.message.flexWarning\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"visible\", \"header\"]))\n}","<template>\r\n\t<Dialog\r\n\t\tv-model:visible=\"isVisible\"\r\n\t\t:breakpoints=\"{ '1600px': '40vw', '1200px': '50vw', '992px': '60vw', '768px': '75vw', '576px': '90vw' }\"\r\n\t\t:closable=\"true\"\r\n\t\t:header=\"$t('expert.bookingModal.header')\"\r\n\t\t:modal=\"true\"\r\n\t\t:style=\"{ width: '30vw' }\"\r\n\t\t@hide=\"onCancel()\"\r\n\t>\r\n\t\t<p class=\"lead mb-2\">\r\n\t\t\t{{ isOnRequest ? $t(\"expert.bookingModal.introRequest\") : $t(\"expert.bookingModal.introBook\") }}\r\n\t\t</p>\r\n\t\t<form onsubmit=\"return false;\">\r\n\t\t\t<div v-if=\"isOnRequest\">\r\n\t\t\t\t<div class=\"form-row\">\r\n\t\t\t\t\t<div class=\"form-group col-12\">\r\n\t\t\t\t\t\t<label>\r\n\t\t\t\t\t\t\t{{ $t(\"common.forms.lblFirstName\") }}\r\n\t\t\t\t\t\t</label>\r\n\t\t\t\t\t\t<InputText\r\n\t\t\t\t\t\t\tv-model=\"v$['expertBookingForm'].firstname.$model\"\r\n\t\t\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['expertBookingForm'].firstname) }\"\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<small v-if=\"shouldShowError(v$['expertBookingForm'].firstname)\" class=\"p-error\">\r\n\t\t\t\t\t\t\t{{ v$[\"expertBookingForm\"].firstname?.required?.$message }}\r\n\t\t\t\t\t\t</small>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"form-row\">\r\n\t\t\t\t\t<div class=\"form-group col-12\">\r\n\t\t\t\t\t\t<label>\r\n\t\t\t\t\t\t\t{{ $t(\"common.forms.lblLastName\") }}\r\n\t\t\t\t\t\t</label>\r\n\t\t\t\t\t\t<InputText\r\n\t\t\t\t\t\t\tv-model=\"v$['expertBookingForm'].lastname.$model\"\r\n\t\t\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['expertBookingForm'].lastname) }\"\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<small v-if=\"shouldShowError(v$['expertBookingForm'].lastname)\" class=\"p-error\">\r\n\t\t\t\t\t\t\t{{ v$[\"expertBookingForm\"].lastname?.required?.$message }}\r\n\t\t\t\t\t\t</small>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"form-row\">\r\n\t\t\t\t\t<div class=\"form-group col-12\">\r\n\t\t\t\t\t\t<label>\r\n\t\t\t\t\t\t\t{{ $t(\"common.forms.lblEmail\") }}\r\n\t\t\t\t\t\t</label>\r\n\t\t\t\t\t\t<InputText\r\n\t\t\t\t\t\t\tv-model=\"v$['expertBookingForm'].email.$model\"\r\n\t\t\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['expertBookingForm'].email) }\"\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<small v-if=\"shouldShowError(v$['expertBookingForm'].email)\" class=\"p-error\">\r\n\t\t\t\t\t\t\t{{ v$[\"expertBookingForm\"].email?.required?.$message }}\r\n\t\t\t\t\t\t</small>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"form-row\">\r\n\t\t\t\t\t<div class=\"form-group col-12\">\r\n\t\t\t\t\t\t<label>\r\n\t\t\t\t\t\t\t{{ $t(\"common.forms.lblCompanyName\") }}\r\n\t\t\t\t\t\t</label>\r\n\t\t\t\t\t\t<InputText\r\n\t\t\t\t\t\t\tv-model=\"v$['expertBookingForm'].company.$model\"\r\n\t\t\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['expertBookingForm'].company) }\"\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<small v-if=\"shouldShowError(v$['expertBookingForm'].company)\" class=\"p-error\">\r\n\t\t\t\t\t\t\t{{ v$[\"expertBookingForm\"].company?.required?.$message }}\r\n\t\t\t\t\t\t</small>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"form-row\">\r\n\t\t\t\t<div class=\"form-group col-12\">\r\n\t\t\t\t\t<label>\r\n\t\t\t\t\t\t{{ $t(\"common.forms.lblDescription\") }}\r\n\t\t\t\t\t</label>\r\n\t\t\t\t\t<Textarea\r\n\t\t\t\t\t\tv-model=\"v$['expertBookingForm'].description.$model\"\r\n\t\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['expertBookingForm'].description) }\"\r\n\t\t\t\t\t\trows=\"8\"\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<span v-if=\"shouldShowError(v$['expertBookingForm'].description)\">\r\n\t\t\t\t\t\t<small v-if=\"!v$['expertBookingForm'].description.$model\" class=\"p-error\">\r\n\t\t\t\t\t\t\t{{ v$[\"expertBookingForm\"].description?.required?.$message }}\r\n\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t<small v-else-if=\"v$['expertBookingForm'].description.$model\" class=\"p-error\">\r\n\t\t\t\t\t\t\t{{ v$[\"expertBookingForm\"].description.minLength?.$message }}\r\n\t\t\t\t\t\t</small>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</form>\r\n\r\n\t\t<p class=\"mb-0\">\r\n\t\t\t<span class=\"text-bold mr-1\">{{ $t(\"common.messages.titleImportant\") }}</span>\r\n\t\t\t<small class=\"\">\r\n\t\t\t\t{{ $t(\"expert.bookingModal.footer\") }}\r\n\t\t\t</small>\r\n\t\t</p>\r\n\r\n\t\t<Message v-if=\"!isOnRequest\" class=\"my-1\" :closable=\"false\" severity=\"warn\">\r\n\t\t\t{{ $t(\"expert.message.flexWarning\") }}\r\n\t\t</Message>\r\n\r\n\t\t<template #footer>\r\n\t\t\t<Button class=\"p-button-text p-button-plain\" :label=\"$t('common.cancel')\" @click=\"onCancel()\" />\r\n\t\t\t<Button\r\n\t\t\t\t:disabled=\"!canSubmit\"\r\n\t\t\t\t:label=\"isOnRequest ? $t('expert.button.sendRequest') : $t('expert.button.confirmBooking')\"\r\n\t\t\t\t@click=\"onSubmit()\"\r\n\t\t\t/>\r\n\t\t</template>\r\n\t</Dialog>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport InlineMessage from \"primevue/inlinemessage\";\r\nimport Textarea from \"primevue/textarea\";\r\nimport useVuelidate, { Validation } from \"@vuelidate/core\";\r\nimport { BookingRequestRequester } from \"@/types/models/expert/bookingRequestRequester\";\r\nimport { Component, Emit, Prop } from \"vue-facing-decorator\";\r\nimport { ExpertBookingSummaryViewModel } from \"@/types/models/expert/expertBookingSummaryViewModel\";\r\nimport { PropType } from \"vue\";\r\nimport { email, minLength, required } from \"@/types/utils/i18n-validators\";\r\nimport { requiredIf } from \"@vuelidate/validators\";\r\nimport { useExpertStore } from \"@/store/expert/expertStore\";\r\n\r\nconst requiredValue = (_value: string, siblings: any, vm: any): boolean => {\r\n\tif (!vm && siblings) vm = siblings;\r\n\treturn !!vm.requester;\r\n};\r\n\r\nexport interface ExpertBookingForm {\r\n\tfirstname?: string;\r\n\tlastname?: string;\r\n\temail?: string;\r\n\tcompany?: string;\r\n\tdescription?: string;\r\n}\r\n\r\nexport enum ExpertBookingModalType {\r\n\tDefault,\r\n\tOnRequest,\r\n}\r\n\r\n@Component({\r\n\tcomponents: { Textarea, InlineMessage },\r\n\toptions: {\r\n\t\tvalidations: {\r\n\t\t\texpertBookingForm: {\r\n\t\t\t\tfirstname: { required: requiredIf(requiredValue as any) },\r\n\t\t\t\tlastname: { required: requiredIf(requiredValue as any) },\r\n\t\t\t\temail: { required: requiredIf(requiredValue as any), email },\r\n\t\t\t\tcompany: { required: requiredIf(requiredValue as any) },\r\n\t\t\t\tdescription: { required, minLength: minLength(120) },\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n})\r\nexport default class ExpertBookingModal extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<ExpertBookingSummaryViewModel>,\r\n\t\trequired: false,\r\n\t\tdefault: null,\r\n\t})\r\n\tbookingSummary!: ExpertBookingSummaryViewModel;\r\n\r\n\t@Prop({\r\n\t\ttype: Number as PropType<ExpertBookingModalType>,\r\n\t\trequired: true,\r\n\t\tdefault: ExpertBookingModalType.Default,\r\n\t})\r\n\tmodalType!: ExpertBookingModalType;\r\n\r\n\t@Emit(\"submit\")\r\n\tsubmitForm(): { type: ExpertBookingModalType; data: ExpertBookingForm | null } {\r\n\t\treturn { data: this.expertBookingForm, type: this.modalType };\r\n\t}\r\n\r\n\tv$ = useVuelidate();\r\n\texpertBookingForm: null | ExpertBookingForm = null;\r\n\tsubmitted = false;\r\n\tisVisible = true;\r\n\texpertStore = useExpertStore();\r\n\r\n\tcreated(): void {\r\n\t\tif (this.requester) {\r\n\t\t\tthis.expertBookingForm = {\r\n\t\t\t\tfirstname: this.requester.firstName,\r\n\t\t\t\tlastname: this.requester.lastName,\r\n\t\t\t\temail: this.requester.email,\r\n\t\t\t\tcompany: this.requester.company,\r\n\t\t\t\tdescription: this.bookingSummary?.configuration?.projectDescription,\r\n\t\t\t};\r\n\t\t} else {\r\n\t\t\tthis.expertBookingForm = {\r\n\t\t\t\tdescription: \"\",\r\n\t\t\t};\r\n\t\t}\r\n\t}\r\n\r\n\tget requester(): BookingRequestRequester {\r\n\t\treturn this.bookingSummary?.configuration?.requester;\r\n\t}\r\n\r\n\tget canSubmit(): boolean {\r\n\t\treturn !this.v$[\"expertBookingForm\"].$invalid;\r\n\t}\r\n\r\n\tget isOnRequest(): boolean {\r\n\t\treturn this.modalType === ExpertBookingModalType.OnRequest;\r\n\t}\r\n\r\n\tonCancel(): void {\r\n\t\tthis.expertStore.hideModal(\"BookingRequest\");\r\n\t}\r\n\r\n\tonSubmit(): void {\r\n\t\tif (!this.canSubmit) return;\r\n\t\tthis.submitForm();\r\n\t}\r\n\r\n\tshouldShowError(fieldToValidate: Validation): boolean {\r\n\t\treturn fieldToValidate.$invalid && (this.submitted || fieldToValidate.$dirty);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { render } from \"./expertBookingModal.vue?vue&type=template&id=d4a2af0a&ts=true\"\nimport script from \"./expertBookingModal.vue?vue&type=script&lang=ts\"\nexport * from \"./expertBookingModal.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, normalizeStyle as _normalizeStyle, resolveComponent as _resolveComponent, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4f9f5d60\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"my-2\" }\nconst _hoisted_2 = { class: \"text-muted m-0 text-preline\" }\nconst _hoisted_3 = { class: \"mb-0 text-bold text-primary\" }\nconst _hoisted_4 = { class: \"bubble-container\" }\nconst _hoisted_5 = { class: \"slider-bubble\" }\nconst _hoisted_6 = { class: \"slider-container\" }\nconst _hoisted_7 = { class: \"slider-time mt-1\" }\nconst _hoisted_8 = { class: \"slider-time-start\" }\nconst _hoisted_9 = { class: \"slider-time-end\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Slider = _resolveComponent(\"Slider\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"p\", _hoisted_2, _toDisplayString(_ctx.$t(\"expert.selectStartEndTime\")), 1),\n _createElementVNode(\"p\", _hoisted_3, _toDisplayString(_ctx.formatTime(_ctx.selectedDates[0])) + \" - \" + _toDisplayString(_ctx.formatTime(_ctx.selectedDates[1])) + \" (\" + _toDisplayString(_ctx.$tc(\"common.hour\", [_ctx.selectedTotalTime])) + \") \", 1)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.selectedHours, (selectedHour, i) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: `slider-bubble-${selectedHour}`,\n class: \"bubble\",\n style: _normalizeStyle({ left: `${_ctx.bubbleStyle(selectedHour)}%` })\n }, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"small\", null, _toDisplayString(_ctx.formatTime(_ctx.selectedDates[i])), 1)\n ])\n ], 4))\n }), 128))\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(_component_Slider, {\n max: _ctx.workDayEndHour,\n min: _ctx.workDayStartHour,\n \"model-value\": _ctx.selectedHours,\n range: true,\n step: 1,\n onSlideend: _ctx.onValidityChange,\n \"onUpdate:modelValue\": _ctx.onSliderValueChange\n }, null, 8, [\"max\", \"min\", \"model-value\", \"onSlideend\", \"onUpdate:modelValue\"]),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.unavailableHours, (unavailableHour, index) => {\n return (_openBlock(), _createElementBlock(\"span\", {\n key: `striped-overlay${index}`,\n class: \"p-slider-range-striped\",\n style: _normalizeStyle(_ctx.unavailableRangeStyle(unavailableHour))\n }, null, 4))\n }), 128))\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"b\", _hoisted_8, [\n _createElementVNode(\"small\", null, _toDisplayString(`${_ctx.workDayStartHour}:00`), 1)\n ]),\n _createElementVNode(\"b\", _hoisted_9, [\n _createElementVNode(\"small\", null, _toDisplayString(`${24 > _ctx.workDayEndHour ? _ctx.workDayEndHour : _ctx.workDayEndHour - 24}:00`), 1)\n ])\n ])\n ], 64))\n}","<template>\r\n\t<div class=\"my-2\">\r\n\t\t<p class=\"text-muted m-0 text-preline\">{{ $t(\"expert.selectStartEndTime\") }}</p>\r\n\t\t<p class=\"mb-0 text-bold text-primary\">\r\n\t\t\t{{ formatTime(selectedDates[0]) }} - {{ formatTime(selectedDates[1]) }} ({{\r\n\t\t\t\t$tc(\"common.hour\", [selectedTotalTime])\r\n\t\t\t}})\r\n\t\t</p>\r\n\t</div>\r\n\r\n\t<div class=\"bubble-container\">\r\n\t\t<div\r\n\t\t\tv-for=\"(selectedHour, i) in selectedHours\"\r\n\t\t\t:key=\"`slider-bubble-${selectedHour}`\"\r\n\t\t\tclass=\"bubble\"\r\n\t\t\t:style=\"{ left: `${bubbleStyle(selectedHour)}%` }\"\r\n\t\t>\r\n\t\t\t<div class=\"slider-bubble\">\r\n\t\t\t\t<small>{{ formatTime(selectedDates[i]) }}</small>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"slider-container\">\r\n\t\t<Slider\r\n\t\t\t:max=\"workDayEndHour\"\r\n\t\t\t:min=\"workDayStartHour\"\r\n\t\t\t:model-value=\"selectedHours\"\r\n\t\t\t:range=\"true\"\r\n\t\t\t:step=\"1\"\r\n\t\t\t@slideend=\"onValidityChange\"\r\n\t\t\t@update:model-value=\"onSliderValueChange\"\r\n\t\t></Slider>\r\n\t\t<span\r\n\t\t\tv-for=\"(unavailableHour, index) in unavailableHours\"\r\n\t\t\t:key=\"`striped-overlay${index}`\"\r\n\t\t\tclass=\"p-slider-range-striped\"\r\n\t\t\t:style=\"unavailableRangeStyle(unavailableHour)\"\r\n\t\t></span>\r\n\t</div>\r\n\t<div class=\"slider-time mt-1\">\r\n\t\t<b class=\"slider-time-start\">\r\n\t\t\t<small>{{ `${workDayStartHour}:00` }}</small>\r\n\t\t</b>\r\n\t\t<b class=\"slider-time-end\">\r\n\t\t\t<small>{{ `${24 > workDayEndHour ? workDayEndHour : workDayEndHour - 24}:00` }}</small>\r\n\t\t</b>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Slider from \"primevue/slider\";\r\nimport { Component, Emit, Model, Prop } from \"vue-facing-decorator\";\r\nimport { set } from \"date-fns\";\r\nimport { UnavailableHours } from \"@/types/models/expert/expertBookingSlider\";\r\n\r\ninterface UnavailableRangeStyle {\r\n\tleft: string;\r\n\twidth: string;\r\n}\r\n\r\n@Component({\r\n\tcomponents: { Slider },\r\n\temits: [\"update:modelValue\", \"onValidityChange\"],\r\n})\r\nexport default class ExpertBookingSlider extends BaseComponent {\r\n\t@Model({ type: Array, required: true })\r\n\tselectedHours!: Array<number>;\r\n\r\n\t@Prop({ type: Array, required: true })\r\n\tunavailableHours!: Array<UnavailableHours>;\r\n\r\n\t@Prop({ type: Number, required: false, default: 9 })\r\n\tworkDayStartHour!: number;\r\n\r\n\t@Prop({ type: Number, required: false, default: 17 })\r\n\tworkDayEndHour!: number;\r\n\r\n\t@Prop({ type: Date, required: true }) selectedDate!: Date;\r\n\r\n\tget selectedDates(): Date[] {\r\n\t\tconst dates: Date[] = [];\r\n\t\tdates.push(\r\n\t\t\tset(new Date(this.selectedDate), {\r\n\t\t\t\thours: this.selectedHours[0],\r\n\t\t\t\tminutes: 0,\r\n\t\t\t\tseconds: 0,\r\n\t\t\t\tmilliseconds: 0,\r\n\t\t\t})\r\n\t\t);\r\n\t\tdates.push(\r\n\t\t\tset(new Date(this.selectedDate), {\r\n\t\t\t\thours: this.selectedHours[1],\r\n\t\t\t\tminutes: 0,\r\n\t\t\t\tseconds: 0,\r\n\t\t\t\tmilliseconds: 0,\r\n\t\t\t})\r\n\t\t);\r\n\t\treturn dates;\r\n\t}\r\n\r\n\t// available time window. 9:00 to 17:00 is 8 total hours\r\n\tget availableTotalTime(): number {\r\n\t\treturn this.workDayEndHour - this.workDayStartHour;\r\n\t}\r\n\r\n\tget selectedTotalTime(): number {\r\n\t\treturn this.selectedHours[1] - this.selectedHours[0];\r\n\t}\r\n\r\n\t// range slider is divided in x% segments\r\n\tget rangeSegmentWidth(): number {\r\n\t\treturn 100 / this.availableTotalTime;\r\n\t}\r\n\r\n\tget isValidSelection(): boolean {\r\n\t\treturn this.unavailableHours.every(\r\n\t\t\t(unavailableHour) =>\r\n\t\t\t\t(this.selectedHours[0] < unavailableHour.start.position &&\r\n\t\t\t\t\tthis.selectedHours[1] <= unavailableHour.start.position) ||\r\n\t\t\t\t(this.selectedHours[0] >= unavailableHour.end.position &&\r\n\t\t\t\t\tthis.selectedHours[1] > unavailableHour.end.position)\r\n\t\t);\r\n\t}\r\n\r\n\t@Emit()\r\n\tonValidityChange(): boolean {\r\n\t\treturn this.isValidSelection;\r\n\t}\r\n\r\n\tmounted(): void {\r\n\t\tthis.onValidityChange();\r\n\t}\r\n\r\n\tonSliderValueChange(value: number[]): void {\r\n\t\t// Round the numbers to prevent weird positioning in the slider.\r\n\t\tconst fixedValue = value.map((x) => Math.round(x));\r\n\t\t// Make sure the two values are not the same\r\n\t\tif (fixedValue[0] !== fixedValue[1]) this.selectedHours = fixedValue;\r\n\t}\r\n\r\n\t// based on rangeSegmentWidth the unavailable range starting point in % and its width is calculated\r\n\tunavailableRangeStyle(unavailableHour: UnavailableHours): UnavailableRangeStyle {\r\n\t\t// starting position of the unavailable range, if the day starts at 9, and the expert is unavailable at 9, the range starts of 0% to the left\r\n\r\n\t\tconst rangeStartingPosition =\r\n\t\t\tthis.rangeSegmentWidth * (unavailableHour.start.position - this.workDayStartHour + 1) -\r\n\t\t\tthis.rangeSegmentWidth;\r\n\t\t// total width in %\r\n\t\tconst rangeWidth =\r\n\t\t\tunavailableHour.end.position === unavailableHour.start.position\r\n\t\t\t\t? this.rangeSegmentWidth\r\n\t\t\t\t: this.rangeSegmentWidth * (unavailableHour.end.position - unavailableHour.start.position);\r\n\r\n\t\treturn { left: rangeStartingPosition + \"%\", width: rangeWidth + \"%\" };\r\n\t}\r\n\r\n\t// position of the handle bubble, matches handle\r\n\tbubbleStyle(selectedHour: number): number {\r\n\t\treturn this.rangeSegmentWidth * (selectedHour - this.workDayStartHour + 1) - this.rangeSegmentWidth;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.slider-container {\r\n\tposition: relative;\r\n}\r\n\r\n.bubble-container {\r\n\tposition: relative;\r\n\theight: 1rem;\r\n\tmargin-bottom: 1.1rem;\r\n\twidth: 100%;\r\n\r\n\t.bubble {\r\n\t\tposition: absolute;\r\n\t\ttransform: translateX(-50%);\r\n\t\tbottom: -6px;\r\n\t}\r\n\r\n\t.slider-bubble {\r\n\t\tposition: relative;\r\n\t\tbackground: var(--surface-a);\r\n\t\tborder: 1px solid var(--surface-d);\r\n\t\tborder-radius: var(--border-radius);\r\n\t\tpadding: 0 4px;\r\n\r\n\t\t&:after {\r\n\t\t\tcontent: \"\";\r\n\t\t\tposition: absolute;\r\n\t\t\tborder: 1px solid rgba(51, 51, 51, 0.19);\r\n\t\t\tbottom: -6px;\r\n\t\t\tleft: 33%;\r\n\t\t}\r\n\r\n\t\t&:before {\r\n\t\t\tcontent: \"\";\r\n\t\t\tposition: absolute;\r\n\t\t\tborder: 1px solid #333;\r\n\t\t\tbottom: -7px;\r\n\t\t\tleft: 33%;\r\n\t\t}\r\n\r\n\t\t&:after {\r\n\t\t\tborder-color: white transparent;\r\n\t\t\tborder-width: 7px 7px 0 6px;\r\n\t\t}\r\n\r\n\t\t&:before {\r\n\t\t\tborder-color: #999 transparent;\r\n\t\t\tborder-width: 7px 7px 0 6px;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n.slider-time {\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\talign-items: center;\r\n\tcolor: var(--primary-color);\r\n\r\n\t.slider-time-start {\r\n\t\ttransform: translateX(-50%);\r\n\t}\r\n\r\n\t.slider-time-end {\r\n\t\ttransform: translateX(50%);\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./expertBookingSlider.vue?vue&type=template&id=4f9f5d60&scoped=true&ts=true\"\nimport script from \"./expertBookingSlider.vue?vue&type=script&lang=ts\"\nexport * from \"./expertBookingSlider.vue?vue&type=script&lang=ts\"\n\nimport \"./expertBookingSlider.vue?vue&type=style&index=0&id=4f9f5d60&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4f9f5d60\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, withCtx as _withCtx, renderList as _renderList, Fragment as _Fragment, createBlock as _createBlock, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5541897e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"d-flex flex-column flex-sm-row justify-content-center align-items-center justify-content-sm-start p-3\" }\nconst _hoisted_2 = { class: \"d-flex flex-column justify-content-center justify-content-sm-start\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"text-primary text-center text-sm-left mb-1\"\n}\nconst _hoisted_4 = { class: \"d-flex align-items-center justify-content-center justify-content-sm-start\" }\nconst _hoisted_5 = [\"innerHTML\"]\nconst _hoisted_6 = [\"innerHTML\"]\nconst _hoisted_7 = { class: \"m-0 ml-1\" }\nconst _hoisted_8 = { class: \"d-flex align-items-center mt-1\" }\nconst _hoisted_9 = [\"title\"]\nconst _hoisted_10 = { class: \"m-0 ml-1 text-bold text-primary\" }\nconst _hoisted_11 = { class: \"px-2\" }\nconst _hoisted_12 = { class: \"lead text-bold mb-0\" }\nconst _hoisted_13 = {\n class: \"text-preline mb-2\",\n style: {\"word-break\":\"break-word\"}\n}\nconst _hoisted_14 = {\n class: \"text-preline\",\n style: {\"word-break\":\"break-word\"}\n}\nconst _hoisted_15 = { class: \"d-flex flex-wrap align-items-center\" }\nconst _hoisted_16 = { class: \"lead mb-0\" }\nconst _hoisted_17 = { class: \"px-2\" }\nconst _hoisted_18 = { class: \"px-2 position-relative\" }\nconst _hoisted_19 = { class: \"d-flex justify-content-between flex-wrap\" }\nconst _hoisted_20 = { class: \"d-flex flex-column justify-content-between\" }\nconst _hoisted_21 = { class: \"d-flex align-items-center\" }\nconst _hoisted_22 = { class: \"mb-0\" }\nconst _hoisted_23 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"mb-0 ml-1\" }, \"/ 5\", -1))\nconst _hoisted_24 = { class: \"lead mb-0\" }\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1))\nconst _hoisted_26 = { class: \"review-area\" }\nconst _hoisted_27 = { class: \"mb-3\" }\nconst _hoisted_28 = { class: \"d-flex align-items-center flex-wrap\" }\nconst _hoisted_29 = { class: \"mb-0 lead font-weight-bold\" }\nconst _hoisted_30 = { class: \"lead\" }\nconst _hoisted_31 = { class: \"text-preline\" }\nconst _hoisted_32 = { class: \"px-2\" }\nconst _hoisted_33 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"custom-marker shadow-2\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"pi pi-briefcase text-primary\",\n style: {\"font-size\":\"1.5rem\"}\n })\n], -1))\nconst _hoisted_34 = {\n class: \"text-preline\",\n style: {\"word-break\":\"break-word\"}\n}\nconst _hoisted_35 = {\n class: \"text-preline\",\n style: {\"word-break\":\"break-word\"}\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_PopoverIcon = _resolveComponent(\"PopoverIcon\")!\n const _component_GMapMarker = _resolveComponent(\"GMapMarker\")!\n const _component_GMapMap = _resolveComponent(\"GMapMap\")!\n const _component_Divider = _resolveComponent(\"Divider\")!\n const _component_Chip = _resolveComponent(\"Chip\")!\n const _component_Card = _resolveComponent(\"Card\")!\n const _component_Rating = _resolveComponent(\"Rating\")!\n const _component_Chart = _resolveComponent(\"Chart\")!\n const _component_Timeline = _resolveComponent(\"Timeline\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_Card, { class: \"expert-personal-info-card mb-3\" }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createVNode(_component_Avatar, {\n class: \"mr-0 mr-sm-2 mb-2 mb-sm-0 profile-image\",\n image: _ctx.expertProfile.imageUrl,\n shape: \"circle\",\n size: \"xlarge\"\n }, null, 8, [\"image\"]),\n _createElementVNode(\"div\", _hoisted_2, [\n (_ctx.expertProfile?.firstName)\n ? (_openBlock(), _createElementBlock(\"h3\", _hoisted_3, _toDisplayString(_ctx.expertProfile?.firstName), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(_component_PopoverIcon, {\n \"open-delay\": 500,\n placement: \"right\"\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"p\", {\n class: \"text-bold\",\n innerHTML: _ctx.expertProduct.displayName\n }, null, 8, _hoisted_5),\n _createElementVNode(\"div\", {\n innerHTML: _ctx.expertProduct.description\n }, null, 8, _hoisted_6)\n ]),\n default: _withCtx(() => [\n _createVNode(_component_Avatar, {\n alt: _ctx.expertProduct?.displayName,\n class: \"expert-level\",\n image: _ctx.expertProduct?.iconUrl,\n shape: \"circle\"\n }, null, 8, [\"alt\", \"image\"])\n ]),\n _: 1\n }),\n _createElementVNode(\"p\", _hoisted_7, _toDisplayString(_ctx.expertProfile?.function), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"i\", {\n class: \"pi pi-map-marker text-primary\",\n title: _ctx.$t('cart.table.iconLocation_title')\n }, null, 8, _hoisted_9),\n _createVNode(_component_PopoverIcon, {\n \"open-delay\": 500,\n placement: \"right\"\n }, {\n content: _withCtx(() => [\n _createVNode(_component_GMapMap, {\n center: { lat: _ctx.expertProfile?.latitude, lng: _ctx.expertProfile?.longitude },\n options: {\r\n\t\t\t\t\t\t\t\t\t\tzoomControl: true,\r\n\t\t\t\t\t\t\t\t\t\tmapTypeControl: false,\r\n\t\t\t\t\t\t\t\t\t\tscaleControl: false,\r\n\t\t\t\t\t\t\t\t\t\tstreetViewControl: false,\r\n\t\t\t\t\t\t\t\t\t\trotateControl: false,\r\n\t\t\t\t\t\t\t\t\t\tfullscreenControl: false,\r\n\t\t\t\t\t\t\t\t\t},\n style: {\"width\":\"350px\",\"height\":\"350px\"},\n zoom: 7\n }, {\n default: _withCtx(() => [\n _createVNode(_component_GMapMarker, {\n clickable: false,\n draggable: false,\n position: {\r\n\t\t\t\t\t\t\t\t\t\t\tlat: _ctx.expertProfile?.latitude,\r\n\t\t\t\t\t\t\t\t\t\t\tlng: _ctx.expertProfile?.longitude,\r\n\t\t\t\t\t\t\t\t\t\t}\n }, null, 8, [\"position\"])\n ]),\n _: 1\n }, 8, [\"center\"])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"p\", _hoisted_10, _toDisplayString(`${_ctx.expertProfile?.region}, ${_ctx.expertProfile?.country}`), 1)\n ]),\n _: 1\n })\n ])\n ])\n ]),\n _createVNode(_component_Divider, { class: \"m-0\" })\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"p\", _hoisted_12, _toDisplayString(_ctx.expertProfile?.shortDescriptionTitle), 1),\n _createElementVNode(\"p\", _hoisted_13, _toDisplayString(_ctx.expertProfile?.shortDescription), 1),\n _createElementVNode(\"p\", _hoisted_14, _toDisplayString(_ctx.expertProfile?.description), 1),\n _createVNode(_component_Divider),\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"p\", _hoisted_16, _toDisplayString(_ctx.$t(`expert.languages`)) + \" :\", 1),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.expertProfile?.spokenLanguages, (language, index) => {\n return (_openBlock(), _createBlock(_component_Chip, {\n key: index,\n class: \"p-chip-primary mx-1 mb-1\",\n label: language\n }, null, 8, [\"label\"]))\n }), 128))\n ])\n ])\n ]),\n _: 1\n }),\n (_ctx.expertProfile?.expertises?.length)\n ? (_openBlock(), _createBlock(_component_Card, {\n key: 0,\n class: \"expert-expertises-card mb-3\"\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"h4\", null, _toDisplayString(_ctx.$t(`expert.expertises`)), 1),\n _createElementVNode(\"div\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.expertProfile?.expertises, (expertise, index) => {\n return (_openBlock(), _createBlock(_component_Chip, {\n key: index,\n class: \"p-chip-secondary mr-1 mb-1\",\n label: expertise.name\n }, null, 8, [\"label\"]))\n }), 128))\n ])\n ])\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.expertProfile?.reviews.length)\n ? (_openBlock(), _createBlock(_component_Card, {\n key: 1,\n class: \"expert-reviews-card mb-3\"\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_18, [\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"h4\", null, _toDisplayString(_ctx.$t(`expert.reviews`)), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"h1\", _hoisted_22, _toDisplayString(_ctx.expertProfile.reviewScoreAverage), 1),\n _hoisted_23\n ]),\n _createVNode(_component_Rating, {\n modelValue: _ctx.expertProfile.reviewScoreAverage,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.expertProfile.reviewScoreAverage) = $event)),\n cancel: false,\n class: \"rating-lg\",\n readonly: true\n }, null, 8, [\"modelValue\"]),\n _createElementVNode(\"p\", _hoisted_24, _toDisplayString(_ctx.$tc(\"expert.reviewCount\", _ctx.expertProfile?.reviews.length)), 1)\n ])\n ]),\n _createVNode(_component_Chart, {\n class: \"review-chart\",\n data: _ctx.reviewChartData,\n height: 225,\n options: _ctx.reviewChartOptions,\n type: \"doughnut\",\n width: 225\n }, null, 8, [\"data\", \"options\"])\n ]),\n _hoisted_25,\n _createElementVNode(\"div\", _hoisted_26, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.sortedReviews, (item, index) => {\n return (_openBlock(), _createElementBlock(\"div\", { key: index }, [\n _createElementVNode(\"div\", _hoisted_27, [\n _createElementVNode(\"div\", _hoisted_28, [\n _createVNode(_component_Rating, {\n modelValue: item.score,\n \"onUpdate:modelValue\": ($event: any) => ((item.score) = $event),\n cancel: false,\n class: \"mr-1\",\n readonly: true\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\"]),\n _createElementVNode(\"p\", _hoisted_29, _toDisplayString(item.title), 1)\n ]),\n _createElementVNode(\"p\", _hoisted_30, _toDisplayString(item.reviewerDisplayName) + \" - \" + _toDisplayString(_ctx.formatElapsedTime(item.date)), 1),\n _createElementVNode(\"p\", _hoisted_31, _toDisplayString(item.comment), 1),\n _createElementVNode(\"div\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.expertProfile?.reviewTags[item.id], (expertise, index) => {\n return (_openBlock(), _createBlock(_component_Chip, {\n key: index,\n class: \"p-chip-secondary mr-1 mb-1\",\n label: expertise\n }, null, 8, [\"label\"]))\n }), 128))\n ])\n ])\n ]))\n }), 128))\n ])\n ])\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.expertProfile?.experiences?.length)\n ? (_openBlock(), _createBlock(_component_Card, {\n key: 2,\n class: \"expert-experience-card mb-3\"\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_32, [\n _createElementVNode(\"h4\", null, _toDisplayString(_ctx.$t(`expert.experience`)), 1),\n (!_ctx.isSmallScreen)\n ? (_openBlock(), _createBlock(_component_Timeline, {\n key: 0,\n align: _ctx.expertProfile?.experiences?.length > 1 ? 'alternate' : 'left',\n value: _ctx.expertProfile?.experiences\n }, {\n marker: _withCtx(() => [\n _hoisted_33\n ]),\n content: _withCtx((slotProps) => [\n _createVNode(_component_Card, { class: \"mb-2 ml-2 experience-card\" }, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(slotProps.item.title), 1)\n ]),\n subtitle: _withCtx(() => [\n _createTextVNode(_toDisplayString(`${slotProps.item.company} ${_ctx.getExperienceDate(\r\n\t\t\t\t\t\t\t\t\t\tslotProps.item.experienceStartDate,\r\n\t\t\t\t\t\t\t\t\t\tslotProps.item.experienceEndDate\r\n\t\t\t\t\t\t\t\t\t)}`), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"p\", _hoisted_34, _toDisplayString(slotProps.item.description), 1)\n ]),\n _: 2\n }, 1024)\n ]),\n _: 1\n }, 8, [\"align\", \"value\"]))\n : (_openBlock(true), _createElementBlock(_Fragment, { key: 1 }, _renderList(_ctx.expertProfile?.experiences, (experience) => {\n return (_openBlock(), _createBlock(_component_Card, {\n key: experience.id,\n class: \"mb-2 experience-card\"\n }, {\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(experience.title), 1)\n ]),\n subtitle: _withCtx(() => [\n _createTextVNode(_toDisplayString(`${experience.company} ${_ctx.getExperienceDate(\r\n\t\t\t\t\t\t\t\t\texperience.experienceStartDate,\r\n\t\t\t\t\t\t\t\t\texperience.experienceEndDate\r\n\t\t\t\t\t\t\t\t)}`), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"p\", _hoisted_35, _toDisplayString(experience.description), 1)\n ]),\n _: 2\n }, 1024))\n }), 128))\n ])\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<Card class=\"expert-personal-info-card mb-3\">\r\n\t\t<template #header>\r\n\t\t\t<div\r\n\t\t\t\tclass=\"d-flex flex-column flex-sm-row justify-content-center align-items-center justify-content-sm-start p-3\"\r\n\t\t\t>\r\n\t\t\t\t<Avatar\r\n\t\t\t\t\tclass=\"mr-0 mr-sm-2 mb-2 mb-sm-0 profile-image\"\r\n\t\t\t\t\t:image=\"expertProfile.imageUrl\"\r\n\t\t\t\t\tshape=\"circle\"\r\n\t\t\t\t\tsize=\"xlarge\"\r\n\t\t\t\t/>\r\n\t\t\t\t<div class=\"d-flex flex-column justify-content-center justify-content-sm-start\">\r\n\t\t\t\t\t<h3 v-if=\"expertProfile?.firstName\" class=\"text-primary text-center text-sm-left mb-1\">\r\n\t\t\t\t\t\t{{ expertProfile?.firstName }}\r\n\t\t\t\t\t</h3>\r\n\t\t\t\t\t<div class=\"d-flex align-items-center justify-content-center justify-content-sm-start\">\r\n\t\t\t\t\t\t<PopoverIcon :open-delay=\"500\" placement=\"right\">\r\n\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\t:alt=\"expertProduct?.displayName\"\r\n\t\t\t\t\t\t\t\tclass=\"expert-level\"\r\n\t\t\t\t\t\t\t\t:image=\"expertProduct?.iconUrl\"\r\n\t\t\t\t\t\t\t\tshape=\"circle\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t<p class=\"text-bold\" v-html=\"expertProduct.displayName\" />\r\n\t\t\t\t\t\t\t\t<div v-html=\"expertProduct.description\" />\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</PopoverIcon>\r\n\r\n\t\t\t\t\t\t<p class=\"m-0 ml-1\">{{ expertProfile?.function }}</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"d-flex align-items-center mt-1\">\r\n\t\t\t\t\t\t<i class=\"pi pi-map-marker text-primary\" :title=\"$t('cart.table.iconLocation_title')\" />\r\n\r\n\t\t\t\t\t\t<PopoverIcon :open-delay=\"500\" placement=\"right\">\r\n\t\t\t\t\t\t\t<p class=\"m-0 ml-1 text-bold text-primary\">\r\n\t\t\t\t\t\t\t\t{{ `${expertProfile?.region}, ${expertProfile?.country}` }}\r\n\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t<GMapMap\r\n\t\t\t\t\t\t\t\t\t:center=\"{ lat: expertProfile?.latitude, lng: expertProfile?.longitude }\"\r\n\t\t\t\t\t\t\t\t\t:options=\"{\r\n\t\t\t\t\t\t\t\t\t\tzoomControl: true,\r\n\t\t\t\t\t\t\t\t\t\tmapTypeControl: false,\r\n\t\t\t\t\t\t\t\t\t\tscaleControl: false,\r\n\t\t\t\t\t\t\t\t\t\tstreetViewControl: false,\r\n\t\t\t\t\t\t\t\t\t\trotateControl: false,\r\n\t\t\t\t\t\t\t\t\t\tfullscreenControl: false,\r\n\t\t\t\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t\t\t\tstyle=\"width: 350px; height: 350px\"\r\n\t\t\t\t\t\t\t\t\t:zoom=\"7\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<GMapMarker\r\n\t\t\t\t\t\t\t\t\t\t:clickable=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t:draggable=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t:position=\"{\r\n\t\t\t\t\t\t\t\t\t\t\tlat: expertProfile?.latitude,\r\n\t\t\t\t\t\t\t\t\t\t\tlng: expertProfile?.longitude,\r\n\t\t\t\t\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t</GMapMap>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</PopoverIcon>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<Divider class=\"m-0\" />\r\n\t\t</template>\r\n\t\t<template #content>\r\n\t\t\t<div class=\"px-2\">\r\n\t\t\t\t<p class=\"lead text-bold mb-0\">{{ expertProfile?.shortDescriptionTitle }}</p>\r\n\t\t\t\t<p class=\"text-preline mb-2\" style=\"word-break: break-word\">\r\n\t\t\t\t\t{{ expertProfile?.shortDescription }}\r\n\t\t\t\t</p>\r\n\t\t\t\t<p class=\"text-preline\" style=\"word-break: break-word\">\r\n\t\t\t\t\t{{ expertProfile?.description }}\r\n\t\t\t\t</p>\r\n\t\t\t\t<Divider />\r\n\t\t\t\t<div class=\"d-flex flex-wrap align-items-center\">\r\n\t\t\t\t\t<p class=\"lead mb-0\">{{ $t(`expert.languages`) }} :</p>\r\n\t\t\t\t\t<Chip\r\n\t\t\t\t\t\tv-for=\"(language, index) in expertProfile?.spokenLanguages\"\r\n\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\tclass=\"p-chip-primary mx-1 mb-1\"\r\n\t\t\t\t\t\t:label=\"language\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t</Card>\r\n\r\n\t<Card v-if=\"expertProfile?.expertises?.length\" class=\"expert-expertises-card mb-3\">\r\n\t\t<template #content>\r\n\t\t\t<div class=\"px-2\">\r\n\t\t\t\t<h4>{{ $t(`expert.expertises`) }}</h4>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<Chip\r\n\t\t\t\t\t\tv-for=\"(expertise, index) in expertProfile?.expertises\"\r\n\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\tclass=\"p-chip-secondary mr-1 mb-1\"\r\n\t\t\t\t\t\t:label=\"expertise.name\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t</Card>\r\n\r\n\t<Card v-if=\"expertProfile?.reviews.length\" class=\"expert-reviews-card mb-3\">\r\n\t\t<template #content>\r\n\t\t\t<div class=\"px-2 position-relative\">\r\n\t\t\t\t<div class=\"d-flex justify-content-between flex-wrap\">\r\n\t\t\t\t\t<div class=\"d-flex flex-column justify-content-between\">\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t<h4>{{ $t(`expert.reviews`) }}</h4>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t\t\t\t<h1 class=\"mb-0\">{{ expertProfile.reviewScoreAverage }}</h1>\r\n\t\t\t\t\t\t\t\t<p class=\"mb-0 ml-1\">/ 5</p>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<Rating\r\n\t\t\t\t\t\t\t\tv-model=\"expertProfile.reviewScoreAverage\"\r\n\t\t\t\t\t\t\t\t:cancel=\"false\"\r\n\t\t\t\t\t\t\t\tclass=\"rating-lg\"\r\n\t\t\t\t\t\t\t\t:readonly=\"true\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<p class=\"lead mb-0\">{{ $tc(\"expert.reviewCount\", expertProfile?.reviews.length) }}</p>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<Chart\r\n\t\t\t\t\t\tclass=\"review-chart\"\r\n\t\t\t\t\t\t:data=\"reviewChartData\"\r\n\t\t\t\t\t\t:height=\"225\"\r\n\t\t\t\t\t\t:options=\"reviewChartOptions\"\r\n\t\t\t\t\t\ttype=\"doughnut\"\r\n\t\t\t\t\t\t:width=\"225\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t\t<hr />\r\n\t\t\t\t<div class=\"review-area\">\r\n\t\t\t\t\t<div v-for=\"(item, index) in sortedReviews\" :key=\"index\">\r\n\t\t\t\t\t\t<div class=\"mb-3\">\r\n\t\t\t\t\t\t\t<div class=\"d-flex align-items-center flex-wrap\">\r\n\t\t\t\t\t\t\t\t<Rating v-model=\"item.score\" :cancel=\"false\" class=\"mr-1\" :readonly=\"true\" />\r\n\t\t\t\t\t\t\t\t<p class=\"mb-0 lead font-weight-bold\">{{ item.title }}</p>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<p class=\"lead\">{{ item.reviewerDisplayName }} - {{ formatElapsedTime(item.date) }}</p>\r\n\t\t\t\t\t\t\t<p class=\"text-preline\">{{ item.comment }}</p>\r\n\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t<Chip\r\n\t\t\t\t\t\t\t\t\tv-for=\"(expertise, index) in expertProfile?.reviewTags[item.id]\"\r\n\t\t\t\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\t\t\t\tclass=\"p-chip-secondary mr-1 mb-1\"\r\n\t\t\t\t\t\t\t\t\t:label=\"expertise\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t</Card>\r\n\r\n\t<Card v-if=\"expertProfile?.experiences?.length\" class=\"expert-experience-card mb-3\">\r\n\t\t<template #content>\r\n\t\t\t<div class=\"px-2\">\r\n\t\t\t\t<h4>{{ $t(`expert.experience`) }}</h4>\r\n\t\t\t\t<Timeline\r\n\t\t\t\t\tv-if=\"!isSmallScreen\"\r\n\t\t\t\t\t:align=\"expertProfile?.experiences?.length > 1 ? 'alternate' : 'left'\"\r\n\t\t\t\t\t:value=\"expertProfile?.experiences\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #marker>\r\n\t\t\t\t\t\t<span class=\"custom-marker shadow-2\">\r\n\t\t\t\t\t\t\t<i class=\"pi pi-briefcase text-primary\" style=\"font-size: 1.5rem\"></i>\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template #content=\"slotProps\">\r\n\t\t\t\t\t\t<Card class=\"mb-2 ml-2 experience-card\">\r\n\t\t\t\t\t\t\t<template #title>\r\n\t\t\t\t\t\t\t\t{{ slotProps.item.title }}\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t<template #subtitle>\r\n\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t`${slotProps.item.company} ${getExperienceDate(\r\n\t\t\t\t\t\t\t\t\t\tslotProps.item.experienceStartDate,\r\n\t\t\t\t\t\t\t\t\t\tslotProps.item.experienceEndDate\r\n\t\t\t\t\t\t\t\t\t)}`\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t<p class=\"text-preline\" style=\"word-break: break-word\">\r\n\t\t\t\t\t\t\t\t\t{{ slotProps.item.description }}\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</Card>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Timeline>\r\n\t\t\t\t<template v-else>\r\n\t\t\t\t\t<Card\r\n\t\t\t\t\t\tv-for=\"experience in expertProfile?.experiences\"\r\n\t\t\t\t\t\t:key=\"experience.id\"\r\n\t\t\t\t\t\tclass=\"mb-2 experience-card\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<template #title>\r\n\t\t\t\t\t\t\t{{ experience.title }}\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<template #subtitle>\r\n\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t`${experience.company} ${getExperienceDate(\r\n\t\t\t\t\t\t\t\t\texperience.experienceStartDate,\r\n\t\t\t\t\t\t\t\t\texperience.experienceEndDate\r\n\t\t\t\t\t\t\t\t)}`\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t<p class=\"text-preline\" style=\"word-break: break-word\">\r\n\t\t\t\t\t\t\t\t{{ experience.description }}\r\n\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</Card>\r\n\t\t\t\t</template>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t</Card>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport Chip from \"primevue/chip\";\r\nimport Divider from \"primevue/divider\";\r\nimport Timeline from \"primevue/timeline\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { ExpertProductViewModel } from \"@/types/models/expert/expertProductViewModel\";\r\nimport { ExpertProfileViewModel } from \"@/types/models/expert/expertProfileViewModel\";\r\nimport { differenceInMonths } from \"date-fns\";\r\nimport Chart from \"primevue/chart\";\r\nimport { ChartData, ChartOptions } from \"chart.js\";\r\nimport Rating from \"primevue/rating\";\r\nimport { ExpertReviewViewModel } from \"@/types/models/expert/expertReviewViewModel\";\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tDivider,\r\n\t\tChip,\r\n\t\tTimeline,\r\n\t\tChart,\r\n\t\tRating,\r\n\t},\r\n})\r\nexport default class ExpertProfile extends BaseComponent {\r\n\t@Prop({ type: Object, required: true }) expertProfile!: ExpertProfileViewModel;\r\n\t@Prop({ type: Object, required: true }) expertProduct!: ExpertProductViewModel;\r\n\r\n\tgetExperienceDate(startDate: Date, endDate: Date): string {\r\n\t\tconst diffInMonths = differenceInMonths(endDate ? new Date(endDate) : new Date(), new Date(startDate));\r\n\t\tconst years = Math.floor(diffInMonths / 12);\r\n\t\tconst months = diffInMonths % 12;\r\n\r\n\t\tconst formattedYears = years ? this.$tc(\"expert.date.years\", years) : \"\";\r\n\t\tconst formattedMonths = months ? this.$tc(\"expert.date.months\", months) : \"\";\r\n\r\n\t\tconst startDateLabel = this.formatShortDate(startDate);\r\n\t\tconst endDateLabel = this.formatShortDate(endDate);\r\n\t\tconst presentLabel = this.$t(\"expert.present\");\r\n\r\n\t\treturn `${startDateLabel} - ${endDate ? endDateLabel : presentLabel} (${formattedYears}${\r\n\t\t\tformattedMonths && formattedYears ? \" \" : \"\"\r\n\t\t}${formattedMonths})`;\r\n\t}\r\n\r\n\tget sortedReviews(): ExpertReviewViewModel[] {\r\n\t\tconst reviews = this.expertProfile.reviews;\r\n\r\n\t\treviews.sort(function (a, b) {\r\n\t\t\treturn new Date(b.date).valueOf() - new Date(a.date).valueOf();\r\n\t\t});\r\n\r\n\t\treturn reviews;\r\n\t}\r\n\r\n\tget reviewChartData(): ChartData {\r\n\t\tconst fiveStars = [1, 2, 3, 4, 5];\r\n\t\treturn {\r\n\t\t\tlabels: fiveStars.map((x) => x.toString()),\r\n\t\t\tdatasets: [\r\n\t\t\t\t{\r\n\t\t\t\t\tdata: fiveStars.map((x) => {\r\n\t\t\t\t\t\treturn this.expertProfile.groupedReviewScores[x] || 0;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tbackgroundColor: [\"#f29f94\", \"#fad9d4\", \"#e9ccdb\", \"#c880a5\", \"#91004b\"],\r\n\t\t\t\t},\r\n\t\t\t],\r\n\t\t};\r\n\t}\r\n\r\n\tget reviewChartOptions(): ChartOptions {\r\n\t\treturn {\r\n\t\t\tplugins: {\r\n\t\t\t\tlegend: {\r\n\t\t\t\t\tonClick: () => null,\r\n\t\t\t\t\tlabels: {\r\n\t\t\t\t\t\tcolor: \"#495057\",\r\n\t\t\t\t\t\tboxWidth: 20,\r\n\t\t\t\t\t\tboxHeight: 20,\r\n\t\t\t\t\t\tfont: {\r\n\t\t\t\t\t\t\tsize: 12,\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</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.review-area {\r\n\theight: 26.5rem;\r\n\toverflow-y: scroll;\r\n}\r\n.profile-image {\r\n\theight: 6rem;\r\n\twidth: 6rem;\r\n}\r\n\r\n.expert-level {\r\n\theight: 1.25rem;\r\n\twidth: 1.25rem;\r\n}\r\n\r\n::v-deep(.experience-card) {\r\n\t.p-card-title {\r\n\t\tcolor: var(--primary-color);\r\n\t\tmargin-bottom: 0;\r\n\t\tfont-weight: 600;\r\n\t\tfont-size: 1.35rem;\r\n\t}\r\n\r\n\t.p-card-subtitle {\r\n\t\tcolor: var(--text-color-secondary);\r\n\t\tfont-weight: 400;\r\n\t}\r\n\r\n\t.p-card-content {\r\n\t\tpadding: 0.5rem 0;\r\n\t}\r\n}\r\n\r\n::v-deep(.p-timeline) {\r\n\t&.p-timeline-left .p-timeline-event-opposite {\r\n\t\tdisplay: none;\r\n\t}\r\n}\r\n\r\n:deep(.p-rating) {\r\n\t&.rating-lg {\r\n\t\t.p-rating-icon {\r\n\t\t\tfont-size: 1.4rem;\r\n\t\t}\r\n\t}\r\n\r\n\t.p-rating-icon {\r\n\t\tfont-size: 1.05rem;\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./expertProfile.vue?vue&type=template&id=5541897e&scoped=true&ts=true\"\nimport script from \"./expertProfile.vue?vue&type=script&lang=ts\"\nexport * from \"./expertProfile.vue?vue&type=script&lang=ts\"\n\nimport \"./expertProfile.vue?vue&type=style&index=0&id=5541897e&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5541897e\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, normalizeStyle as _normalizeStyle, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n id: \"sticky-button\",\n class: \"sticky-button\",\n style: _normalizeStyle(_ctx.isButtonHidden ? 'opacity: 0' : 'opacity: 1')\n }, [\n _createVNode(_component_Button, {\n class: \"p-button-success p-button-raised p-button-arrow w-100 px-1 my-1\",\n label: _ctx.buttonLabel,\n onClick: _ctx.scrollTo\n }, null, 8, [\"label\", \"onClick\"])\n ], 4))\n}","<template>\r\n\t<div id=\"sticky-button\" class=\"sticky-button\" :style=\"isButtonHidden ? 'opacity: 0' : 'opacity: 1'\">\r\n\t\t<Button\r\n\t\t\tclass=\"p-button-success p-button-raised p-button-arrow w-100 px-1 my-1\"\r\n\t\t\t:label=\"buttonLabel\"\r\n\t\t\t@click=\"scrollTo\"\r\n\t\t/>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport Button from \"primevue/button\";\r\n@Component({\r\n\tcomponents: {\r\n\t\tButton,\r\n\t},\r\n})\r\nexport default class StickyScrollToButton extends BaseComponent {\r\n\t@Prop({ type: String, required: true }) buttonLabel;\r\n\t@Prop({ type: String, required: true }) parentContainerId;\r\n\t@Prop({ type: String, required: true }) target;\r\n\t@Prop({ type: Number, required: false }) offset;\r\n\r\n\tisButtonHidden = false;\r\n\r\n\tmounted(): void {\r\n\t\twindow.addEventListener(\"scroll\", this.handleScroll);\r\n\t}\r\n\r\n\tbeforeUnmount(): void {\r\n\t\twindow.removeEventListener(\"scroll\", this.handleScroll);\r\n\t}\r\n\r\n\thandleScroll(): void {\r\n\t\tconst targetDiv = (document as Document).getElementById(this.parentContainerId);\r\n\t\tconst stickyButton = document.getElementById(\"sticky-button\");\r\n\t\tconst targetDivPosition = targetDiv?.getBoundingClientRect();\r\n\t\tif (targetDivPosition && stickyButton) {\r\n\t\t\tthis.isButtonHidden = targetDivPosition.top < window.innerHeight;\r\n\t\t}\r\n\t}\r\n\r\n\tscrollTo(): void {\r\n\t\tsetTimeout(() => {\r\n\t\t\tconst stepsEl = document.querySelector(this.target);\r\n\t\t\tif (!stepsEl) return;\r\n\t\t\twindow.scrollTo(0, stepsEl?.getBoundingClientRect().top - this.offset + window.scrollY);\r\n\t\t});\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.sticky-button {\r\n\twidth: 100%;\r\n\tposition: fixed;\r\n\tbottom: 0;\r\n\tright: 0;\r\n\ttransition: opacity 0.3s ease-in-out;\r\n\topacity: 1;\r\n\tbackground: var(--surface-a);\r\n\tbox-shadow: -5px 0px 5px 1px rgb(221 221 221 / 87%);\r\n\tpadding-right: 15px;\r\n\tpadding-left: 15px;\r\n\tmargin-right: auto;\r\n\tmargin-left: auto;\r\n}\r\n</style>\r\n","import { render } from \"./stickyScrollToButton.vue?vue&type=template&id=5d62d28f&scoped=true&ts=true\"\nimport script from \"./stickyScrollToButton.vue?vue&type=script&lang=ts\"\nexport * from \"./stickyScrollToButton.vue?vue&type=script&lang=ts\"\n\nimport \"./stickyScrollToButton.vue?vue&type=style&index=0&id=5d62d28f&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5d62d28f\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, openBlock as _openBlock, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, withCtx as _withCtx, createBlock as _createBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"d-flex align-items-center\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"svg\", {\n class: \"mr-1 flex-shrink-0\",\n height: \"60\",\n width: \"60\"\n}, [\n /*#__PURE__*/_createElementVNode(\"use\", { \"xlink:href\": \"#icon-wallet\" })\n], -1)\nconst _hoisted_3 = { class: \"py-1\" }\nconst _hoisted_4 = [\"href\"]\nconst _hoisted_5 = [\"href\"]\nconst _hoisted_6 = {\n class: \"text-success\",\n style: {\"margin-right\":\"4px\"}\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_Message = _resolveComponent(\"Message\")!\n\n return (_openBlock(), _createBlock(_component_Message, {\n closable: false,\n severity: \"custom\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _hoisted_2,\n _createElementVNode(\"div\", _hoisted_3, [\n (!_ctx.layoutStore.isAuthenticated)\n ? (_openBlock(), _createBlock(_component_i18n_t, {\n key: 0,\n keypath: \"common.productSummary.loginForWalletAdvantages\"\n }, {\n loginLink: _withCtx(() => [\n _createElementVNode(\"a\", { href: _ctx.loginPageUrl }, _toDisplayString(_ctx.$t(\"common.login\")), 9, _hoisted_4)\n ]),\n registerLink: _withCtx(() => [\n _createElementVNode(\"a\", { href: _ctx.registerPageUrl }, _toDisplayString(_ctx.$t(\"common.register\")?.toLowerCase()), 9, _hoisted_5)\n ]),\n _: 1\n }))\n : (_openBlock(), _createBlock(_component_i18n_t, {\n key: 1,\n keypath: \"common.productSummary.earnWalletCredit\"\n }, {\n amount: _withCtx(() => [\n _createElementVNode(\"b\", _hoisted_6, _toDisplayString(_ctx.formatCurrency(_ctx.walletAmount)), 1)\n ]),\n _: 1\n }))\n ])\n ])\n ]),\n _: 1\n }))\n}","<template>\r\n\t<Message :closable=\"false\" severity=\"custom\">\r\n\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t<svg class=\"mr-1 flex-shrink-0\" height=\"60\" width=\"60\">\r\n\t\t\t\t<use xlink:href=\"#icon-wallet\" />\r\n\t\t\t</svg>\r\n\t\t\t<div class=\"py-1\">\r\n\t\t\t\t<i18n-t\r\n\t\t\t\t\tv-if=\"!layoutStore.isAuthenticated\"\r\n\t\t\t\t\tkeypath=\"common.productSummary.loginForWalletAdvantages\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #loginLink>\r\n\t\t\t\t\t\t<a :href=\"loginPageUrl\">{{ $t(\"common.login\") }}</a>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template #registerLink>\r\n\t\t\t\t\t\t<a :href=\"registerPageUrl\">{{ $t(\"common.register\")?.toLowerCase() }}</a>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</i18n-t>\r\n\t\t\t\t<i18n-t v-else keypath=\"common.productSummary.earnWalletCredit\">\r\n\t\t\t\t\t<template #amount>\r\n\t\t\t\t\t\t<b class=\"text-success\" style=\"margin-right: 4px\">\r\n\t\t\t\t\t\t\t{{ formatCurrency(walletAmount) }}\r\n\t\t\t\t\t\t</b>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</i18n-t>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</Message>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\n\r\n@Component\r\nexport default class WalletMessage extends BaseComponent {\r\n\t@Prop({ type: Number, required: false, default: 0 }) walletAmount!: number;\r\n}\r\n</script>\r\n\r\n<style></style>\r\n","import { render } from \"./WalletMessage.vue?vue&type=template&id=4878b42c&ts=true\"\nimport script from \"./WalletMessage.vue?vue&type=script&lang=ts\"\nexport * from \"./WalletMessage.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","/* Auto Generated */\r\n\r\nexport enum ExpertBookingDateType {\r\n\thour,\r\n\tmorning,\r\n\tafternoon,\r\n\tfullDay,\r\n}\r\n","import { render } from \"./expertDetail.vue?vue&type=template&id=f861e49e&scoped=true&ts=true\"\nimport script from \"./expertDetail.vue?vue&type=script&lang=ts\"\nexport * from \"./expertDetail.vue?vue&type=script&lang=ts\"\n\nimport \"./expertDetail.vue?vue&type=style&index=0&id=f861e49e&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-f861e49e\"]])\n\nexport default __exports__","import { renderSlot as _renderSlot, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, normalizeClass as _normalizeClass, createBlock as _createBlock, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-722568b3\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"pt-3 pb-2\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"mb-0\"\n}\nconst _hoisted_3 = {\n key: 1,\n class: \"col-md-6 col-xxl-4\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ExpertOverviewItemCard = _resolveComponent(\"ExpertOverviewItemCard\")!\n const _component_ServiceOverviewItemCardSkeleton = _resolveComponent(\"ServiceOverviewItemCardSkeleton\")!\n const _component_ProductOverviewLayout = _resolveComponent(\"ProductOverviewLayout\")!\n\n return (_openBlock(), _createBlock(_component_ProductOverviewLayout, {\n vm: _ctx.overviewVm,\n onOnFilterChange: _ctx.onFilterChange,\n onOnSearch: _ctx.onSearch,\n onOnSortChange: _ctx.onSortChange\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _renderSlot(_ctx.$slots, \"breadcrumbs\", {}, undefined, true),\n (_ctx.vm.pageTitle)\n ? (_openBlock(), _createElementBlock(\"h1\", _hoisted_2, _toDisplayString(_ctx.vm.pageTitle), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n \"grid-item\": _withCtx(({ data }) => [\n (!_ctx.isSpinnerVisible('product-overview'))\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: _normalizeClass([\"mb-2 col\", data?.products?.length ? 'col-md-6' : 'col-md-6 col-xxl-4'])\n }, [\n _createVNode(_component_ExpertOverviewItemCard, {\n item: data,\n layout: \"grid\"\n }, null, 8, [\"item\"])\n ], 2))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode(_component_ServiceOverviewItemCardSkeleton, { type: \"grid\" })\n ]))\n ]),\n \"list-item\": _withCtx(({ data }) => [\n (!_ctx.isSpinnerVisible('product-overview'))\n ? (_openBlock(), _createBlock(_component_ExpertOverviewItemCard, {\n key: 0,\n item: data,\n layout: \"list\"\n }, null, 8, [\"item\"]))\n : (_openBlock(), _createBlock(_component_ServiceOverviewItemCardSkeleton, {\n key: 1,\n type: \"list\"\n }))\n ]),\n _: 3\n }, 8, [\"vm\", \"onOnFilterChange\", \"onOnSearch\", \"onOnSortChange\"]))\n}","<template>\r\n\t<ProductOverviewLayout\r\n\t\t:vm=\"overviewVm\"\r\n\t\t@on-filter-change=\"onFilterChange\"\r\n\t\t@on-search=\"onSearch\"\r\n\t\t@on-sort-change=\"onSortChange\"\r\n\t>\r\n\t\t<template #header>\r\n\t\t\t<div class=\"pt-3 pb-2\">\r\n\t\t\t\t<slot name=\"breadcrumbs\" />\r\n\t\t\t\t<h1 v-if=\"vm.pageTitle\" class=\"mb-0\">{{ vm.pageTitle }}</h1>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t\t<template #grid-item=\"{ data }\">\r\n\t\t\t<div\r\n\t\t\t\tv-if=\"!isSpinnerVisible('product-overview')\"\r\n\t\t\t\tclass=\"mb-2 col\"\r\n\t\t\t\t:class=\"data?.products?.length ? 'col-md-6' : 'col-md-6 col-xxl-4'\"\r\n\t\t\t>\r\n\t\t\t\t<ExpertOverviewItemCard :item=\"data\" layout=\"grid\" />\r\n\t\t\t</div>\r\n\t\t\t<div v-else class=\"col-md-6 col-xxl-4\">\r\n\t\t\t\t<ServiceOverviewItemCardSkeleton type=\"grid\" />\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t\t<template #list-item=\"{ data }\">\r\n\t\t\t<ExpertOverviewItemCard v-if=\"!isSpinnerVisible('product-overview')\" :item=\"data\" layout=\"list\" />\r\n\t\t\t<ServiceOverviewItemCardSkeleton v-else type=\"list\" />\r\n\t\t</template>\r\n\t</ProductOverviewLayout>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Chip from \"primevue/chip\";\r\nimport Divider from \"primevue/divider\";\r\nimport ExpertFilters from \"@/components/experts/expertFilters.vue\";\r\nimport ExpertOverviewItemCard from \"@/components/experts/expertOverviewItemCard.vue\";\r\nimport ServiceOverviewItemCardSkeleton from \"@/components/service/serviceOverviewItemCardSkeleton.vue\";\r\nimport ProductOverviewLayout, { IProductOverviewLayout } from \"@/views/layout/productOverviewLayout.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { ExpertItemViewModel } from \"@/types/models/expert/expertItemViewModel\";\r\nimport { IExpertOverview } from \"@/types/viewModels/commerce/expertOverviewViewModel\";\r\nimport { ItemProductType } from \"@/types/enum/itemProductType\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { OverviewFilterViewModel } from \"@/types/models/common/filters/overviewFilterViewModel\";\r\nimport { OverviewSortType } from \"@/types/enum/overviewSortType\";\r\nimport { PropType } from \"vue\";\r\nimport { useProductOverviewFilterStore } from \"@/store/common/productOverviewFiltersStore\";\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tChip,\r\n\t\tDivider,\r\n\t\tExpertFilters,\r\n\t\tExpertOverviewItemCard,\r\n\t\tServiceOverviewItemCardSkeleton,\r\n\t\tProductOverviewLayout,\r\n\t},\r\n})\r\nexport default class ExpertOverview extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<IExpertOverview>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: IExpertOverview;\r\n\r\n\toverviewItems: ExpertItemViewModel[] = [];\r\n\r\n\tfilterStore = useProductOverviewFilterStore();\r\n\r\n\tcreated(): void {\r\n\t\tLog.info(\"ExpertOverview\", this.vm);\r\n\t\tthis.overviewItems = this.vm.overviewItems;\r\n\t\tthis.filterStore.init(this.vm.filters);\r\n\t\tthis.filterStore.addExpertSortOptions();\r\n\t}\r\n\r\n\tget overviewVm(): IProductOverviewLayout {\r\n\t\treturn { productType: ItemProductType.Expert, items: this.overviewItems, defaultViewLayout: \"list\" };\r\n\t}\r\n\r\n\tonSortChange(sortType: OverviewSortType): void {\r\n\t\tthis.filterStore.sortType = sortType;\r\n\t\tthis.updateFilters();\r\n\t}\r\n\r\n\tonFilterChange(_filter: OverviewFilterViewModel): void {\r\n\t\tthis.updateFilters();\r\n\t}\r\n\r\n\tonSearch(query: string): void {\r\n\t\tif (!this.filterStore.hasQueryFilter) return;\r\n\t\tthis.filterStore.updateSearchQuery(query);\r\n\t\tthis.updateFilters();\r\n\t}\r\n\r\n\tprivate updateFilters(): void {\r\n\t\tthis.loadingStore.showSpinner(\"product-overview\");\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tthis.filterStore\r\n\t\t\t.updateExpertFilters()\r\n\t\t\t.then((data) => {\r\n\t\t\t\tthis.overviewItems = data?.overviewItems ? [...data.overviewItems] : [];\r\n\t\t\t})\r\n\t\t\t.catch((err) => Log.error(err))\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.loadingStore.hideSpinner(\"product-overview\");\r\n\t\t\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t\t\t});\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n:deep(.p-dataview .p-dataview-header) {\r\n\ttop: var(--navbarHeightInPx);\r\n}\r\n</style>\r\n","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, withCtx as _withCtx, normalizeClass as _normalizeClass, vShow as _vShow, withDirectives as _withDirectives, Fragment as _Fragment, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"field\" }\nconst _hoisted_2 = { class: \"lead\" }\nconst _hoisted_3 = { class: \"py-1 d-flex justify-content-between\" }\nconst _hoisted_4 = { class: \"field mt-2\" }\nconst _hoisted_5 = { class: \"lead\" }\nconst _hoisted_6 = { class: \"product-filter-option p-field-checkbox form-group\" }\nconst _hoisted_7 = { class: \"product-filter-option p-field-checkbox form-group\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Divider = _resolveComponent(\"Divider\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Calendar = _resolveComponent(\"Calendar\")!\n const _component_Checkbox = _resolveComponent(\"Checkbox\")!\n const _component_GMapAutocomplete = _resolveComponent(\"GMapAutocomplete\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"p\", _hoisted_2, _toDisplayString(_ctx.$t(`enum.overviewFilterCategory.${_ctx.filterStore.availabilityFilter?.category}`)), 1),\n _createVNode(_component_Divider, { class: \"mt-0\" }),\n _createVNode(_component_Calendar, {\n modelValue: _ctx.selectedDates,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.selectedDates) = $event)),\n ref: \"periodCalendar\",\n class: \"w-100\",\n \"manual-input\": false,\n placeholder: _ctx.$t('expert.selectPeriod'),\n \"selection-mode\": \"range\"\n }, {\n footer: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_3, [\n (_ctx.selectedDates?.length > 0)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-text p-button-secondary\",\n label: _ctx.$t('common.resetFilters'),\n onClick: _ctx.resetDateFilter\n }, null, 8, [\"label\", \"onClick\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Button, {\n class: \"p-button-text ml-auto\",\n label: _ctx.$t('common.apply'),\n onClick: _ctx.applyDateFilter\n }, null, 8, [\"label\", \"onClick\"])\n ])\n ]),\n _: 1\n }, 8, [\"modelValue\", \"placeholder\"])\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"p\", _hoisted_5, _toDisplayString(_ctx.$t(`enum.overviewFilterCategory.${_ctx.filterStore.workOnLocationFilter?.category}`)), 1),\n _createVNode(_component_Divider, { class: \"mt-0\" }),\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(_component_Checkbox, {\n modelValue: _ctx.workLocationActiveRemote,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.workLocationActiveRemote) = $event)),\n id: `filter-remote`,\n binary: \"\",\n onChange: _ctx.onRemoteLocationChanged\n }, null, 8, [\"modelValue\", \"onChange\"]),\n _createElementVNode(\"label\", {\n class: _normalizeClass([\"ml-2 mb-0 p-link\", _ctx.workLocationActiveRemote ? 'font-weight-bold' : 'font-weight-normal']),\n for: `filter-remote`\n }, _toDisplayString(_ctx.$t(\"expert.remote\")), 3)\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createVNode(_component_Checkbox, {\n modelValue: _ctx.workLocationActive,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.workLocationActive) = $event)),\n id: `filter-onLocation`,\n binary: \"\"\n }, null, 8, [\"modelValue\"]),\n _createElementVNode(\"label\", {\n class: _normalizeClass([\"ml-2 mb-0 p-link\", _ctx.workLocationActive ? 'font-weight-bold' : 'font-weight-normal']),\n for: `filter-onLocation`\n }, _toDisplayString(_ctx.$t(\"expert.onLocation\")), 3)\n ]),\n _withDirectives(_createVNode(_component_GMapAutocomplete, {\n ref: \"locationInput\",\n class: \"p-inputtext p-component\",\n placeholder: _ctx.$t(`expert.searchYourLocation`),\n onPlace_changed: _ctx.onLocationChanged\n }, null, 8, [\"placeholder\", \"onPlace_changed\"]), [\n [_vShow, _ctx.workLocationActive]\n ])\n ])\n ], 64))\n}","<template>\r\n\t<div class=\"field\">\r\n\t\t<p class=\"lead\">{{ $t(`enum.overviewFilterCategory.${filterStore.availabilityFilter?.category}`) }}</p>\r\n\t\t<Divider class=\"mt-0\" />\r\n\t\t<Calendar\r\n\t\t\tv-model=\"selectedDates\"\r\n\t\t\tref=\"periodCalendar\"\r\n\t\t\tclass=\"w-100\"\r\n\t\t\t:manual-input=\"false\"\r\n\t\t\t:placeholder=\"$t('expert.selectPeriod')\"\r\n\t\t\tselection-mode=\"range\"\r\n\t\t>\r\n\t\t\t<template #footer>\r\n\t\t\t\t<div class=\"py-1 d-flex justify-content-between\">\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\tv-if=\"selectedDates?.length > 0\"\r\n\t\t\t\t\t\tclass=\"p-button-text p-button-secondary\"\r\n\t\t\t\t\t\t:label=\"$t('common.resetFilters')\"\r\n\t\t\t\t\t\t@click=\"resetDateFilter\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<Button class=\"p-button-text ml-auto\" :label=\"$t('common.apply')\" @click=\"applyDateFilter\" />\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t</Calendar>\r\n\t</div>\r\n\r\n\t<div class=\"field mt-2\">\r\n\t\t<p class=\"lead\">{{ $t(`enum.overviewFilterCategory.${filterStore.workOnLocationFilter?.category}`) }}</p>\r\n\t\t<Divider class=\"mt-0\" />\r\n\t\t<div class=\"product-filter-option p-field-checkbox form-group\">\r\n\t\t\t<Checkbox\r\n\t\t\t\tv-model=\"workLocationActiveRemote\"\r\n\t\t\t\t:id=\"`filter-remote`\"\r\n\t\t\t\tbinary\r\n\t\t\t\t@change=\"onRemoteLocationChanged\"\r\n\t\t\t/>\r\n\t\t\t<label\r\n\t\t\t\tclass=\"ml-2 mb-0 p-link\"\r\n\t\t\t\t:class=\"workLocationActiveRemote ? 'font-weight-bold' : 'font-weight-normal'\"\r\n\t\t\t\t:for=\"`filter-remote`\"\r\n\t\t\t>\r\n\t\t\t\t{{ $t(\"expert.remote\") }}\r\n\t\t\t</label>\r\n\t\t</div>\r\n\t\t<div class=\"product-filter-option p-field-checkbox form-group\">\r\n\t\t\t<Checkbox v-model=\"workLocationActive\" :id=\"`filter-onLocation`\" binary />\r\n\t\t\t<label\r\n\t\t\t\tclass=\"ml-2 mb-0 p-link\"\r\n\t\t\t\t:class=\"workLocationActive ? 'font-weight-bold' : 'font-weight-normal'\"\r\n\t\t\t\t:for=\"`filter-onLocation`\"\r\n\t\t\t>\r\n\t\t\t\t{{ $t(\"expert.onLocation\") }}\r\n\t\t\t</label>\r\n\t\t</div>\r\n\t\t<GMapAutocomplete\r\n\t\t\tv-show=\"workLocationActive\"\r\n\t\t\tref=\"locationInput\"\r\n\t\t\tclass=\"p-inputtext p-component\"\r\n\t\t\t:placeholder=\"$t(`expert.searchYourLocation`)\"\r\n\t\t\t@place_changed=\"onLocationChanged\"\r\n\t\t/>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Calendar from \"primevue/calendar\";\r\nimport Checkbox from \"primevue/checkbox\";\r\nimport Divider from \"primevue/divider\";\r\nimport SelectButton from \"primevue/selectbutton\";\r\nimport { Component, Emit, Ref, Watch } from \"vue-facing-decorator\";\r\nimport { LocationFilterViewModel } from \"@/types/models/common/filters/locationFilterViewModel\";\r\nimport { OverviewFilterViewModel } from \"@/types/models/common/filters/overviewFilterViewModel\";\r\nimport { useProductOverviewFilterStore } from \"@/store/common/productOverviewFiltersStore\";\r\nimport { values } from \"lodash\";\r\nimport { zonedTimeToUtc } from \"date-fns-tz\";\r\n\r\n@Component({\r\n\tcomponents: { Calendar, SelectButton, Checkbox, Divider },\r\n})\r\nexport default class ExpertFilters extends BaseComponent {\r\n\t@Ref(\"periodCalendar\") readonly periodCalendar;\r\n\t@Ref(\"locationInput\") readonly locationInput;\r\n\r\n\tselectedDates!: Date[];\r\n\tselectedLocation!: LocationFilterViewModel | null;\r\n\tselectedStartDate!: Date;\r\n\tselectedEndDate!: Date;\r\n\r\n\tworkLocationActiveRemote = false;\r\n\tworkLocationActive = false;\r\n\r\n\tfilterStore = useProductOverviewFilterStore();\r\n\r\n\t@Emit()\r\n\tonExpertFilterChange(filter: OverviewFilterViewModel): OverviewFilterViewModel {\r\n\t\treturn filter;\r\n\t}\r\n\r\n\t// Check if the availabilityFilter has been reset\r\n\t@Watch(\"filterStore.availabilityFilter\", { deep: true }) onAvailabilityFilterChanged(\r\n\t\tval: OverviewFilterViewModel\r\n\t) {\r\n\t\tif (!val.props?.availability) {\r\n\t\t\tthis.selectedDates = [];\r\n\t\t}\r\n\t}\r\n\r\n\tmounted(): void {\r\n\t\tif (this.filterStore.hasActiveWorkOnLocationFilter) {\r\n\t\t\tthis.workLocationActive = true;\r\n\t\t\tthis.selectedLocation = this.filterStore.workOnLocationFilter.props?.location;\r\n\t\t\tsetTimeout(() => (this.locationInput.value = this.selectedLocation?.locationName));\r\n\t\t}\r\n\t\tif (this.filterStore.hasActiveWorkRemoteFilter) {\r\n\t\t\tthis.workLocationActiveRemote = true;\r\n\t\t}\r\n\t\tif (this.filterStore.hasActiveAvailabilityFilter) {\r\n\t\t\tthis.selectedDates = values(this.filterStore.availabilityFilter.props?.availability).map((x) =>\r\n\t\t\t\tthis.toDate(x)\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tget reviewFilter(): OverviewFilterViewModel {\r\n\t\treturn this.filterStore.filters.find((x) => x.label === \"review\") as OverviewFilterViewModel;\r\n\t}\r\n\r\n\tonLocationChanged(place): void {\r\n\t\tif (place?.name) {\r\n\t\t\tconst result = place.address_components?.find((component) => {\r\n\t\t\t\treturn component.types.includes(\"country\");\r\n\t\t\t});\r\n\t\t\tif (!result) {\r\n\t\t\t\tthis.selectedLocation = null;\r\n\t\t\t} else {\r\n\t\t\t\tthis.selectedLocation = {\r\n\t\t\t\t\tlocationName: place.formatted_address,\r\n\t\t\t\t\tcountryCode: result.short_name,\r\n\t\t\t\t\tlatitude: place.geometry.location.lat(),\r\n\t\t\t\t\tlongitude: place.geometry.location.lng(),\r\n\t\t\t\t\tworkOnLocation: this.workLocationActive,\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.selectedLocation = null;\r\n\t\t}\r\n\t\tif (this.filterStore.hasWorkOnLocationFilter) {\r\n\t\t\tthis.filterStore.updateWorkOnLocationFilter(this.selectedLocation as LocationFilterViewModel);\r\n\t\t\tthis.onExpertFilterChange(this.filterStore.workOnLocationFilter);\r\n\t\t}\r\n\t}\r\n\r\n\tapplyDateFilter() {\r\n\t\ttry {\r\n\t\t\tthis.selectedStartDate = this.selectedDates[0];\r\n\t\t\tthis.selectedEndDate = this.selectedDates[1];\r\n\t\t\tthis.periodCalendar.overlayVisible = false;\r\n\t\t} catch {\r\n\t\t\t//\r\n\t\t}\r\n\r\n\t\tif (this.filterStore.hasAvailabilityFilter) {\r\n\t\t\tthis.filterStore.updateAvailabilityFilter({\r\n\t\t\t\tstartDate: zonedTimeToUtc(this.selectedStartDate, \"UTC\"),\r\n\t\t\t\tendDate: zonedTimeToUtc(this.selectedEndDate, \"UTC\"),\r\n\t\t\t});\r\n\t\t\tthis.onExpertFilterChange(this.filterStore.availabilityFilter);\r\n\t\t}\r\n\t}\r\n\r\n\tresetDateFilter() {\r\n\t\tthis.selectedDates = [];\r\n\t\tthis.applyDateFilter();\r\n\t}\r\n\r\n\tonRemoteLocationChanged(): void {\r\n\t\tif (this.filterStore.hasWorkRemoteFilter) {\r\n\t\t\tthis.filterStore.updateWorkRemoteLocationFilter({\r\n\t\t\t\tworkRemote: this.workLocationActiveRemote,\r\n\t\t\t} as LocationFilterViewModel);\r\n\t\t\tthis.onExpertFilterChange(this.filterStore.workRemoteFilter);\r\n\t\t}\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped></style>\r\n","export enum FilterTypes {\r\n\t//standard filters\r\n\tQuery,\r\n\tMultiSelect,\r\n\tDateRange,\r\n\r\n\t//expert specific filters\r\n\tWorkOnLocation,\r\n\tWorkRemote,\r\n\r\n\t//training specific filters\r\n\tCustomTraining,\r\n\tTrainingMonths,\r\n}\r\n","import httpClient from '@/types/helpers/apiHelper';\r\nimport i18n from '@/types/utils/i18n';\r\nimport { DateRangeFilterViewModel } from '@/types/models/common/filters/dateRangeFilterViewModel';\r\nimport { ExpertOverviewFilterResponse } from '@/types/models/expert/expertOverviewFilterResponse';\r\nimport { FilterPropsViewModel } from '@/types/models/common/filters/filterPropsViewModel';\r\nimport { FilterTypes } from '@/types/enum/filterTypes';\r\nimport { FormatHelper } from '@/types/helpers/formatHelper';\r\nimport { IDropdownItem } from '@/types/models/common/dropdownItem.interface';\r\nimport { LocationFilterViewModel } from '@/types/models/common/filters/locationFilterViewModel';\r\nimport { OverviewFilterViewModel } from '@/types/models/common/filters/overviewFilterViewModel';\r\nimport { OverviewSortType } from '@/types/enum/overviewSortType';\r\nimport { ProductOverviewFilterRequest } from '@/types/models/software/productOverviewFilterRequest';\r\nimport { ProductOverviewFilterResponse } from '@/types/models/software/productOverviewFilterResponse';\r\nimport { TrainingOverviewFilterRequest } from '@/types/models/training/trainingOverviewFilterRequest';\r\nimport { TrainingOverviewFilterResponse } from '@/types/models/training/trainingOverviewFilterResponse';\r\nimport { defineStore } from 'pinia';\r\nimport { entries, isEmpty, reduce } from 'lodash';\r\nimport { format, isSameDay } from 'date-fns';\r\nimport { useLayoutStore } from '@/store/common/layoutStore';\r\n\r\ninterface OverviewFiltersStoreState {\r\n\tqueryParams: URLSearchParams;\r\n\t// Used for primeVue dataview sorting\r\n\tsortKey: string;\r\n\tsortOrder: number | null;\r\n\tsortField: string | null;\r\n\tsortOptions: IDropdownItem[];\r\n\t// Used for sorting via API\r\n\tsortType: OverviewSortType;\r\n\tfilters: OverviewFilterViewModel[];\r\n}\r\n\r\nexport const useProductOverviewFilterStore = defineStore('productOverviewFilters', {\r\n\tstate: () =>\r\n\t\t({\r\n\t\t\tfilters: [],\r\n\t\t\tqueryParams: new URLSearchParams(),\r\n\t\t\tsortKey: '',\r\n\t\t\tsortOrder: null,\r\n\t\t\tsortField: null,\r\n\t\t\tsortOptions: [],\r\n\t\t\tsortType: 0,\r\n\t\t}) as OverviewFiltersStoreState,\r\n\tgetters: {\r\n\t\thasFilters(): boolean {\r\n\t\t\treturn !!this.filters?.length;\r\n\t\t},\r\n\t\thasOptionFilters(): boolean {\r\n\t\t\treturn !!this.optionFilters?.length;\r\n\t\t},\r\n\t\thasActiveFilters(): boolean {\r\n\t\t\treturn this.activeFilterCount > 0;\r\n\t\t},\r\n\t\thasQueryFilter(): boolean {\r\n\t\t\treturn !!this.queryFilter?.props;\r\n\t\t},\r\n\t\thasActiveQueryFilter(): boolean {\r\n\t\t\treturn !!this.queryFilter?.props?.queryString && this.queryFilter.isActive;\r\n\t\t},\r\n\t\thasWorkRemoteFilter(): boolean {\r\n\t\t\treturn !!this.workRemoteFilter?.props;\r\n\t\t},\r\n\t\thasActiveWorkRemoteFilter(): boolean {\r\n\t\t\treturn !!this.workRemoteFilter?.props?.location?.workRemote;\r\n\t\t},\r\n\t\thasWorkOnLocationFilter(): boolean {\r\n\t\t\treturn !!this.workOnLocationFilter?.props;\r\n\t\t},\r\n\t\thasActiveWorkOnLocationFilter(): boolean {\r\n\t\t\treturn !!this.workOnLocationFilter?.props?.location?.workOnLocation;\r\n\t\t},\r\n\t\thasAvailabilityFilter(): boolean {\r\n\t\t\treturn !!this.availabilityFilter?.props;\r\n\t\t},\r\n\t\thasActiveAvailabilityFilter(): boolean {\r\n\t\t\treturn !isEmpty(this.availabilityFilter?.props?.availability) && this.availabilityFilter.isActive;\r\n\t\t},\r\n\t\tqueryFilter(state): OverviewFilterViewModel {\r\n\t\t\treturn state.filters?.find((x) => x.type === FilterTypes.Query) as OverviewFilterViewModel;\r\n\t\t},\r\n\t\tworkOnLocationFilter(state): OverviewFilterViewModel {\r\n\t\t\treturn state.filters?.find((x) => x.type === FilterTypes.WorkOnLocation) as OverviewFilterViewModel;\r\n\t\t},\r\n\t\tworkRemoteFilter(state): OverviewFilterViewModel {\r\n\t\t\treturn state.filters?.find((x) => x.type === FilterTypes.WorkRemote) as OverviewFilterViewModel;\r\n\t\t},\r\n\t\tavailabilityFilter(state): OverviewFilterViewModel {\r\n\t\t\treturn state.filters?.find((x) => x.type === FilterTypes.DateRange) as OverviewFilterViewModel;\r\n\t\t},\r\n\t\toptionFilters(state): OverviewFilterViewModel[] {\r\n\t\t\treturn state.filters?.filter((x) => x.type === FilterTypes.MultiSelect && x.options.length);\r\n\t\t},\r\n\t\tactiveFilterCount(): number {\r\n\t\t\treturn reduce(\r\n\t\t\t\tthis.filters.filter((x) => x.category !== FilterTypes.Query),\r\n\t\t\t\t(result, value) => {\r\n\t\t\t\t\tif (value.isActive) result++;\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tconst isActiveOptions = value.options?.map((x) => x.isActive);\r\n\t\t\t\t\t\tresult += isActiveOptions?.filter(Boolean).length;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn result;\r\n\t\t\t\t},\r\n\t\t\t\t0\r\n\t\t\t);\r\n\t\t},\r\n\t},\r\n\tactions: {\r\n\t\tasync init(filters: OverviewFilterViewModel[]): Promise<void> {\r\n\t\t\tthis.filters = filters;\r\n\t\t\tthis.sortOptions = [\r\n\t\t\t\t{ label: i18n.global.t('common.sortDefault'), value: OverviewSortType.Default },\r\n\t\t\t\t{ label: i18n.global.t('common.sortNameAsc'), value: OverviewSortType.NameAsc },\r\n\t\t\t\t{ label: i18n.global.t('common.sortNameDesc'), value: OverviewSortType.NameDesc },\r\n\t\t\t];\r\n\t\t},\r\n\t\tasync updateTrainingFilters(): Promise<TrainingOverviewFilterResponse> {\r\n\t\t\tconst payload: TrainingOverviewFilterRequest = {\r\n\t\t\t\tfilters: this.filters,\r\n\t\t\t\tsortType: this.sortType,\r\n\t\t\t};\r\n\t\t\tconst response = await httpClient.post(\r\n\t\t\t\t`/api/${useLayoutStore().vm.localizationPrefix}/training/updateOverviewFilters`,\r\n\t\t\t\tpayload\r\n\t\t\t);\r\n\r\n\t\t\tthis.filters = [...response.data.filters];\r\n\t\t\tthis.updateQueryParams();\r\n\r\n\t\t\treturn response.data;\r\n\t\t},\r\n\t\tasync updateProductFilters(): Promise<ProductOverviewFilterResponse> {\r\n\t\t\tconst payload: ProductOverviewFilterRequest = {\r\n\t\t\t\tfilters: this.filters,\r\n\t\t\t\tsortType: this.sortType,\r\n\t\t\t};\r\n\t\t\tconst response = await httpClient.post(\r\n\t\t\t\t`/api/${useLayoutStore().vm.localizationPrefix}/product/updateOverviewFilters`,\r\n\t\t\t\tpayload\r\n\t\t\t);\r\n\r\n\t\t\tthis.filters = [...response.data.filters];\r\n\t\t\tthis.updateQueryParams();\r\n\r\n\t\t\treturn response.data;\r\n\t\t},\r\n\t\tasync updateExpertFilters(): Promise<ExpertOverviewFilterResponse> {\r\n\t\t\tconst payload: ProductOverviewFilterRequest = {\r\n\t\t\t\tfilters: this.filters,\r\n\t\t\t\tsortType: this.sortType,\r\n\t\t\t};\r\n\t\t\tconst response = await httpClient.post(\r\n\t\t\t\t`/api/${useLayoutStore().vm.localizationPrefix}/expert/updateOverviewFilters`,\r\n\t\t\t\tpayload\r\n\t\t\t);\r\n\t\t\tthis.$patch({ filters: response.data.filters });\r\n\t\t\tthis.updateQueryParams();\r\n\r\n\t\t\treturn response.data;\r\n\t\t},\r\n\t\taddPriceSortOptions(): void {\r\n\t\t\tthis.sortOptions.push({\r\n\t\t\t\tlabel: i18n.global.t('common.sortPriceAsc'),\r\n\t\t\t\tvalue: OverviewSortType.PriceAsc,\r\n\t\t\t});\r\n\t\t\tthis.sortOptions.push({\r\n\t\t\t\tlabel: i18n.global.t('common.sortPriceDesc'),\r\n\t\t\t\tvalue: OverviewSortType.PriceDesc,\r\n\t\t\t});\r\n\t\t},\r\n\t\taddExpertSortOptions(): void {\r\n\t\t\tif (this.hasActiveAvailabilityFilter) {\r\n\t\t\t\tthis.sortOptions.push({\r\n\t\t\t\t\tlabel: i18n.global.t('common.sortAvailability'),\r\n\t\t\t\t\tvalue: OverviewSortType.Availability,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tif (this.hasActiveWorkOnLocationFilter) {\r\n\t\t\t\tthis.sortOptions.push({\r\n\t\t\t\t\tlabel: i18n.global.t('common.sortLocation'),\r\n\t\t\t\t\tvalue: OverviewSortType.Location,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tthis.sortOptions.push({ label: i18n.global.t('common.sortScore'), value: OverviewSortType.Score });\r\n\t\t},\r\n\t\tupdateSort(sortKey: string, sortField: string): void {\r\n\t\t\tif (sortField.indexOf('!') === 0) {\r\n\t\t\t\tthis.sortOrder = -1;\r\n\t\t\t\tthis.sortField = sortField.substring(1, sortField.length);\r\n\t\t\t\tthis.sortKey = sortKey;\r\n\t\t\t} else {\r\n\t\t\t\tthis.sortOrder = 1;\r\n\t\t\t\tthis.sortField = sortField;\r\n\t\t\t\tthis.sortKey = sortKey;\r\n\t\t\t}\r\n\t\t},\r\n\t\tupdateSearchQuery(query: string): void {\r\n\t\t\tconst { queryString } = this.queryFilter.props;\r\n\t\t\tif (query !== queryString) {\r\n\t\t\t\tthis.queryFilter.props.queryString = query;\r\n\t\t\t\tthis.queryFilter.isActive = true;\r\n\t\t\t}\r\n\t\t},\r\n\t\tupdateWorkOnLocationFilter(newLocation: LocationFilterViewModel): void {\r\n\t\t\tconst { location } = this.workOnLocationFilter.props;\r\n\t\t\tif (newLocation?.locationName !== location?.locationName || !newLocation?.workOnLocation) {\r\n\t\t\t\tthis.workOnLocationFilter.props.location = newLocation;\r\n\t\t\t\tthis.workOnLocationFilter.isActive = true;\r\n\t\t\t}\r\n\t\t},\r\n\t\tupdateWorkRemoteLocationFilter(newLocation: LocationFilterViewModel): void {\r\n\t\t\tconst { location } = this.workRemoteFilter.props;\r\n\t\t\tif (newLocation?.workRemote !== location?.workRemote) {\r\n\t\t\t\tthis.workRemoteFilter.props.location = newLocation;\r\n\t\t\t\tthis.workRemoteFilter.isActive = true;\r\n\t\t\t}\r\n\t\t},\r\n\t\tupdateAvailabilityFilter(newDateRange: DateRangeFilterViewModel): void {\r\n\t\t\tconst { availability } = this.availabilityFilter.props;\r\n\t\t\tif (\r\n\t\t\t\t!isSameDay(newDateRange.startDate, FormatHelper.toDate(availability.startDate)) &&\r\n\t\t\t\t!isSameDay(newDateRange.endDate, FormatHelper.toDate(availability.endDate))\r\n\t\t\t) {\r\n\t\t\t\tthis.availabilityFilter.props.availability = newDateRange;\r\n\t\t\t\tthis.availabilityFilter.isActive = true;\r\n\t\t\t}\r\n\t\t},\r\n\t\tupdateQueryParams(): void {\r\n\t\t\tconst queryParams = new URLSearchParams('');\r\n\t\t\tthis.optionFilters.forEach((filter) => {\r\n\t\t\t\tconst activeOptions = filter.options.filter((x) => x.isActive);\r\n\t\t\t\tif (activeOptions.length > 0)\r\n\t\t\t\t\tqueryParams.append(filter.label, activeOptions.map((x) => x.id ? x.id + '-' + x.label : x.label).join(','));\r\n\t\t\t});\r\n\r\n\t\t\tif (this.hasActiveQueryFilter) {\r\n\t\t\t\tqueryParams.set(this.queryFilter.label, this.queryFilter.props.queryString);\r\n\t\t\t}\r\n\r\n\t\t\tif (this.hasActiveAvailabilityFilter) {\r\n\t\t\t\tentries(this.availabilityFilter.props.availability).forEach(([key, value]) => {\r\n\t\t\t\t\tif (value) queryParams.set(key, format(FormatHelper.toDate(value), 'yyyy-MM-dd'));\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tif (this.hasActiveWorkRemoteFilter) {\r\n\t\t\t\tentries(this.workRemoteFilter.props.location)\r\n\t\t\t\t\t.filter(([key]) => key === 'workRemote')\r\n\t\t\t\t\t.forEach(([key, value]) => {\r\n\t\t\t\t\t\tif (value) queryParams.set(key, value);\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tif (this.hasActiveWorkOnLocationFilter) {\r\n\t\t\t\tentries(this.workOnLocationFilter.props.location)\r\n\t\t\t\t\t.filter(([key]) => key !== 'workRemote')\r\n\t\t\t\t\t.forEach(([key, value]) => {\r\n\t\t\t\t\t\tif (value) queryParams.set(key, value);\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tthis.queryParams = queryParams;\r\n\t\t\tconst url = new URL(window.location.href);\r\n\t\t\turl.search = queryParams.toString();\r\n\r\n\t\t\tif (window.history.replaceState) {\r\n\t\t\t\twindow.history.replaceState({}, document.title, url.toString());\r\n\t\t\t}\r\n\t\t},\r\n\t\tresetFilters(): void {\r\n\t\t\tthis.filters.forEach((x) => {\r\n\t\t\t\tx.props = {} as FilterPropsViewModel;\r\n\t\t\t\tx.isActive = false;\r\n\t\t\t\tx.options.forEach((y) => (y.isActive = false));\r\n\t\t\t});\r\n\t\t},\r\n\t},\r\n});\r\n","import { render } from \"./expertFilters.vue?vue&type=template&id=71f3298e&ts=true\"\nimport script from \"./expertFilters.vue?vue&type=script&lang=ts\"\nexport * from \"./expertFilters.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = {\n key: 0,\n class: \"m-2 surface-a\"\n}\nconst _hoisted_2 = { class: \"p-3\" }\nconst _hoisted_3 = { class: \"d-flex mt-2\" }\nconst _hoisted_4 = { class: \"d-flex flex-column mt-2\" }\nconst _hoisted_5 = {\n key: 1,\n class: \"d-flex flex-shrink-0 m-2 surface-a\"\n}\nconst _hoisted_6 = { class: \"d-flex flex-column p-3 w-50\" }\nconst _hoisted_7 = { class: \"d-flex mt-2\" }\nconst _hoisted_8 = { class: \"d-flex flex-column mt-2\" }\nconst _hoisted_9 = { class: \"w-50 d-flex flex-column\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Skeleton = _resolveComponent(\"Skeleton\")!\n\n return (_ctx.isGridLayout)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_Skeleton, {\n class: \"mr-2\",\n style: {\"background-color\":\"#FEE4EB\"},\n height: \"4.5rem\",\n shape: \"square\",\n width: \"4rem\"\n }),\n _createElementVNode(\"div\", null, [\n _createVNode(_component_Skeleton, {\n class: \"mb-2\",\n width: \"5rem\"\n }),\n _createVNode(_component_Skeleton, {\n class: \"mb-2\",\n width: \"15rem\"\n }),\n _createVNode(_component_Skeleton, {\n class: \"mb-2\",\n width: \"10rem\"\n })\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(_component_Skeleton, {\n class: \"mb-1\",\n height: \".75rem\",\n width: \"100%\"\n }),\n _createVNode(_component_Skeleton, {\n height: \".75rem\",\n width: \"80%\"\n })\n ])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createVNode(_component_Skeleton, {\n class: \"mr-2\",\n style: {\"background-color\":\"#FEE4EB\"},\n height: \"4.5rem\",\n shape: \"square\",\n width: \"4rem\"\n }),\n _createElementVNode(\"div\", null, [\n _createVNode(_component_Skeleton, {\n class: \"mb-2\",\n width: \"5rem\"\n }),\n _createVNode(_component_Skeleton, {\n class: \"mb-2\",\n width: \"15rem\"\n }),\n _createVNode(_component_Skeleton, {\n class: \"mb-2\",\n width: \"10rem\"\n })\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createVNode(_component_Skeleton, {\n class: \"mb-1\",\n height: \".75rem\",\n width: \"100%\"\n }),\n _createVNode(_component_Skeleton, {\n height: \".75rem\",\n width: \"80%\"\n })\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createVNode(_component_Skeleton, {\n style: {\"background-color\":\"#FEE4EB\"},\n height: \"100%\",\n width: \"100%\"\n })\n ])\n ]))\n}","<template>\r\n\t<!--grid-->\r\n\t<div v-if=\"isGridLayout\" class=\"m-2 surface-a\">\r\n\t\t<div class=\"p-3\">\r\n\t\t\t<!--image-->\r\n\t\t\t<!--<Skeleton height=\"150px\" width=\"100%\" />-->\r\n\t\t\t<div class=\"d-flex mt-2\">\r\n\t\t\t\t<!--icon-->\r\n\t\t\t\t<Skeleton class=\"mr-2\" style=\"background-color: #FEE4EB\" height=\"4.5rem\" shape=\"square\" width=\"4rem\" />\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<!--label-->\r\n\t\t\t\t\t<Skeleton class=\"mb-2\" width=\"5rem\" />\r\n\t\t\t\t\t<!--title-->\r\n\t\t\t\t\t<Skeleton class=\"mb-2\" width=\"15rem\" />\r\n\t\t\t\t\t<!--price-->\r\n\t\t\t\t\t<Skeleton class=\"mb-2\" width=\"10rem\" />\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"d-flex flex-column mt-2\">\r\n\t\t\t\t<!--content-->\r\n\t\t\t\t<Skeleton class=\"mb-1\" height=\".75rem\" width=\"100%\" />\r\n\t\t\t\t<Skeleton height=\".75rem\" width=\"80%\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<!--list-->\r\n\t<div v-else class=\"d-flex flex-shrink-0 m-2 surface-a\">\r\n\t\t<div class=\"d-flex flex-column p-3 w-50\">\r\n\t\t\t<div class=\"d-flex mt-2\">\r\n\t\t\t\t<!--icon-->\r\n\t\t\t\t<Skeleton class=\"mr-2\" style=\"background-color: #FEE4EB\" height=\"4.5rem\" shape=\"square\" width=\"4rem\" />\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<!--label-->\r\n\t\t\t\t\t<Skeleton class=\"mb-2\" width=\"5rem\" />\r\n\t\t\t\t\t<!--title-->\r\n\t\t\t\t\t<Skeleton class=\"mb-2\" width=\"15rem\" />\r\n\t\t\t\t\t<!--price-->\r\n\t\t\t\t\t<Skeleton class=\"mb-2\" width=\"10rem\" />\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"d-flex flex-column mt-2\">\r\n\t\t\t\t<!--content-->\r\n\t\t\t\t<Skeleton class=\"mb-1\" height=\".75rem\" width=\"100%\" />\r\n\t\t\t\t<Skeleton height=\".75rem\" width=\"80%\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"w-50 d-flex flex-column\">\r\n\t\t\t<Skeleton style=\"background-color: #FEE4EB\" height=\"100%\" width=\"100%\" />\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\n\timport BaseComponent from \"@/components/base/baseComponent.vue\";\r\n\timport { Component, Prop } from \"vue-facing-decorator\";\r\n\timport { PropType } from \"vue\";\r\n\timport { OverviewLayoutType } from \"@/views/layout/productOverviewLayout.vue\";\r\n\timport Skeleton from \"primevue/skeleton\";\r\n\r\n\t@Component({ components: { Skeleton } })\r\n\texport default class ServiceOverviewItemCardSkeleton extends BaseComponent {\r\n\t\t@Prop({ type: String as PropType<OverviewLayoutType>, required: true, default: \"grid\" })\r\n\t\ttype!: OverviewLayoutType;\r\n\r\n\t\tget isGridLayout(): boolean {\r\n\t\t\treturn this.type === \"grid\";\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { render } from \"./serviceOverviewItemCardSkeleton.vue?vue&type=template&id=2a212ee4&ts=true\"\nimport script from \"./serviceOverviewItemCardSkeleton.vue?vue&type=script&lang=ts\"\nexport * from \"./serviceOverviewItemCardSkeleton.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { renderSlot as _renderSlot, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, withCtx as _withCtx, createVNode as _createVNode, vShow as _vShow, withDirectives as _withDirectives, normalizeClass as _normalizeClass, resolveDirective as _resolveDirective, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-32e50de0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"container-fluid product-overview-bg\" }\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1))\nconst _hoisted_4 = { class: \"d-flex\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", { class: \"mb-0\" }, \"Filters\", -1))\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h4\", null, \"Filters\", -1))\nconst _hoisted_7 = { class: \"header-left justify-content-between justify-content-lg-start flex-grow-1 flex-lg-grow-0\" }\nconst _hoisted_8 = { class: \"header-right flex-grow-1 flex-lg-grow-0\" }\nconst _hoisted_9 = {\n key: 0,\n class: \"p-input-icon-left p-input-icon-right header-search\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ExpertFilters = _resolveComponent(\"ExpertFilters\")!\n const _component_ProductFilters = _resolveComponent(\"ProductFilters\")!\n const _component_ScrollPanel = _resolveComponent(\"ScrollPanel\")!\n const _component_SlideSidebar = _resolveComponent(\"SlideSidebar\")!\n const _component_Sidebar = _resolveComponent(\"Sidebar\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Dropdown = _resolveComponent(\"Dropdown\")!\n const _component_InputText = _resolveComponent(\"InputText\")!\n const _component_DataViewLayoutOptions = _resolveComponent(\"DataViewLayoutOptions\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_DataView = _resolveComponent(\"DataView\")!\n const _component_ScrollTop = _resolveComponent(\"ScrollTop\")!\n const _directive_debounce = _resolveDirective(\"debounce\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _renderSlot(_ctx.$slots, \"header\", {}, undefined, true),\n _hoisted_3,\n _createElementVNode(\"div\", _hoisted_4, [\n _withDirectives(_createVNode(_component_SlideSidebar, {\n modelValue: _ctx.showFilters,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.showFilters) = $event)),\n onClose: _cache[1] || (_cache[1] = () => (_ctx.showFilters = _ctx.$event))\n }, {\n header: _withCtx(() => [\n _hoisted_5\n ]),\n content: _withCtx(() => [\n _createVNode(_component_ScrollPanel, { style: {\"width\":\"100%\",\"height\":\"70vh\",\"overflow-x\":\"hidden\"} }, {\n default: _withCtx(() => [\n _createVNode(_component_ProductFilters, { onFiltersChanged: _ctx.onFilterChange }, {\n default: _withCtx(() => [\n (_ctx.isExpertProduct)\n ? (_openBlock(), _createBlock(_component_ExpertFilters, {\n key: 0,\n onOnExpertFilterChange: _ctx.onFilterChange\n }, null, 8, [\"onOnExpertFilterChange\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"onFiltersChanged\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"modelValue\"]), [\n [_vShow, _ctx.filterStore.hasOptionFilters && !_ctx.isSmallScreen]\n ]),\n (_ctx.filterStore.hasOptionFilters && _ctx.isSmallScreen)\n ? (_openBlock(), _createBlock(_component_Sidebar, {\n key: 0,\n visible: _ctx.showFilters,\n \"onUpdate:visible\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.showFilters) = $event)),\n class: \"surface-200\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", null, [\n _hoisted_6,\n _createVNode(_component_ProductFilters, { onFiltersChanged: _ctx.onFilterChange }, {\n default: _withCtx(() => [\n (_ctx.isExpertProduct)\n ? (_openBlock(), _createBlock(_component_ExpertFilters, {\n key: 0,\n onOnExpertFilterChange: _ctx.onFilterChange\n }, null, 8, [\"onOnExpertFilterChange\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"onFiltersChanged\"])\n ])\n ]),\n _: 1\n }, 8, [\"visible\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_DataView, {\n class: \"w-100 data-view-list\",\n layout: _ctx.isSmallScreen ? 'grid' : _ctx.viewLayout,\n value: _ctx.overviewItems\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_7, [\n (_ctx.filterStore.hasOptionFilters)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n badge: _ctx.filterStore.hasActiveFilters ? _ctx.filterStore.activeFilterCount.toString() : '',\n class: \"p-button-outlined mr-1 flex-shrink-0\",\n label: _ctx.$t('common.filters'),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.showFilters = !_ctx.showFilters))\n }, null, 8, [\"badge\", \"label\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.filterStore.sortOptions.length > 0)\n ? (_openBlock(), _createBlock(_component_Dropdown, {\n key: 1,\n modelValue: _ctx.filterStore.sortKey,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_ctx.filterStore.sortKey) = $event)),\n \"append-to\": \"self\",\n \"option-label\": \"label\",\n options: _ctx.filterStore.sortOptions,\n placeholder: _ctx.$t('product.sort_placeholder'),\n \"scroll-height\": \"400px\",\n onChange: _cache[5] || (_cache[5] = ($event: any) => (_ctx.onSortChange($event)))\n }, null, 8, [\"modelValue\", \"options\", \"placeholder\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n (_ctx.filterStore.hasQueryFilter)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_9, [\n _createElementVNode(\"i\", {\n class: _normalizeClass([\"pi pi-search\", { 'text-primary': _ctx.filterStore.hasActiveQueryFilter }])\n }, null, 2),\n _withDirectives(_createVNode(_component_InputText, {\n modelValue: _ctx.queryString,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = ($event: any) => ((_ctx.queryString) = $event)),\n class: \"mr-1\",\n placeholder: _ctx.searchPlaceholderText,\n type: \"search\"\n }, null, 8, [\"modelValue\", \"placeholder\"]), [\n [_directive_debounce, _ctx.onSearch, \"1s\"]\n ]),\n (_ctx.queryString?.length)\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 0,\n class: \"pi pi-times icon-clear\",\n onClick: _cache[7] || (_cache[7] = ($event: any) => {_ctx.queryString = ''; _ctx.onSearch(_ctx.queryString);})\n }))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n (!_ctx.isSmallScreen)\n ? (_openBlock(), _createBlock(_component_DataViewLayoutOptions, {\n key: 1,\n modelValue: _ctx.viewLayout,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = ($event: any) => ((_ctx.viewLayout) = $event)),\n class: \"ml-1\",\n onClick: _ctx.onLayoutChanged\n }, null, 8, [\"modelValue\", \"onClick\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n empty: _withCtx(() => [\n _createVNode(_component_Message, {\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"product.message.noOverviewItems\")), 1)\n ]),\n _: 1\n })\n ]),\n list: _withCtx((item) => [\n _renderSlot(_ctx.$slots, \"list-item\", {\n data: item.data\n }, undefined, true)\n ]),\n grid: _withCtx((item) => [\n _renderSlot(_ctx.$slots, \"grid-item\", {\n data: item.data\n }, undefined, true)\n ]),\n _: 3\n }, 8, [\"layout\", \"value\"])\n ]),\n _createVNode(_component_ScrollTop, {\n target: \"parent\",\n threshold: 200\n })\n ])\n ]))\n}","<template>\r\n\t<div class=\"container-fluid product-overview-bg\">\r\n\t\t<div class=\"container\">\r\n\t\t\t<slot name=\"header\" />\r\n\t\t\t<hr />\r\n\t\t\t<div class=\"d-flex\">\r\n\t\t\t\t<SlideSidebar v-show=\"filterStore.hasOptionFilters && !isSmallScreen\" v-model=\"showFilters\" @close=\"() => (showFilters = $event)\">\r\n\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t<h4 class=\"mb-0\">Filters</h4>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t<ScrollPanel style=\"width: 100%; height: 70vh; overflow-x: hidden\">\r\n\t\t\t\t\t\t\t<ProductFilters @filters-changed=\"onFilterChange\">\r\n\t\t\t\t\t\t\t\t<ExpertFilters v-if=\"isExpertProduct\" @on-expert-filter-change=\"onFilterChange\" />\r\n\t\t\t\t\t\t\t</ProductFilters>\r\n\t\t\t\t\t\t</ScrollPanel>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</SlideSidebar>\r\n\t\t\t\t<Sidebar v-if=\"filterStore.hasOptionFilters && isSmallScreen\" v-model:visible=\"showFilters\" class=\"surface-200\">\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<h4>Filters</h4>\r\n\t\t\t\t\t\t<ProductFilters @filters-changed=\"onFilterChange\">\r\n\t\t\t\t\t\t\t<ExpertFilters v-if=\"isExpertProduct\" @on-expert-filter-change=\"onFilterChange\" />\r\n\t\t\t\t\t\t</ProductFilters>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</Sidebar>\r\n\r\n\t\t\t\t<DataView class=\"w-100 data-view-list\" :layout=\"isSmallScreen ? 'grid' : viewLayout\" :value=\"overviewItems\">\r\n\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t<div class=\"header-left justify-content-between justify-content-lg-start flex-grow-1 flex-lg-grow-0\">\r\n\t\t\t\t\t\t\t<Button v-if=\"filterStore.hasOptionFilters\"\r\n\t\t\t\t\t\t\t\t\t:badge=\"filterStore.hasActiveFilters ? filterStore.activeFilterCount.toString() : ''\"\r\n\t\t\t\t\t\t\t\t\tclass=\"p-button-outlined mr-1 flex-shrink-0\"\r\n\t\t\t\t\t\t\t\t\t:label=\"$t('common.filters')\"\r\n\t\t\t\t\t\t\t\t\t@click=\"showFilters = !showFilters\" />\r\n\t\t\t\t\t\t\t<Dropdown v-if=\"filterStore.sortOptions.length > 0\"\r\n\t\t\t\t\t\t\t\t\t v-model=\"filterStore.sortKey\"\r\n\t\t\t\t\t\t\t\t\t append-to=\"self\"\r\n\t\t\t\t\t\t\t\t\t option-label=\"label\"\r\n\t\t\t\t\t\t\t\t\t :options=\"filterStore.sortOptions\"\r\n\t\t\t\t\t\t\t\t\t :placeholder=\"$t('product.sort_placeholder')\"\r\n\t\t\t\t\t\t\t\t\t scroll-height=\"400px\"\r\n\t\t\t\t\t\t\t\t\t @change=\"onSortChange($event)\" />\r\n\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t<div class=\"header-right flex-grow-1 flex-lg-grow-0\">\r\n\t\t\t\t\t\t\t<span v-if=\"filterStore.hasQueryFilter\" class=\"p-input-icon-left p-input-icon-right header-search\">\r\n\t\t\t\t\t\t\t\t<i class=\"pi pi-search\" :class=\"{ 'text-primary': filterStore.hasActiveQueryFilter }\" />\r\n\t\t\t\t\t\t\t\t<InputText\r\n\t\t\t\t\t\t\t\t\tv-model=\"queryString\"\r\n\t\t\t\t\t\t\t\t\tv-debounce:1s=\"onSearch\"\r\n\t\t\t\t\t\t\t\t\tclass=\"mr-1\"\r\n\t\t\t\t\t\t\t\t\t:placeholder=\"searchPlaceholderText\"\r\n\t\t\t\t\t\t\t\t\ttype=\"search\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\tv-if=\"queryString?.length\"\r\n\t\t\t\t\t\t\t\t\tclass=\"pi pi-times icon-clear\"\r\n\t\t\t\t\t\t\t\t\t@click=\"queryString = ''; onSearch(queryString);\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t<DataViewLayoutOptions\r\n\t\t\t\t\t\t\t\tv-if=\"!isSmallScreen\"\r\n\t\t\t\t\t\t\t\tv-model=\"viewLayout\"\r\n\t\t\t\t\t\t\t\tclass=\"ml-1\"\r\n\t\t\t\t\t\t\t\t@click=\"onLayoutChanged\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template #empty>\r\n\t\t\t\t\t\t<Message :closable=\"false\" severity=\"warn\">{{ $t(\"product.message.noOverviewItems\") }}</Message>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template #list=\"item\">\r\n\t\t\t\t\t\t<slot :data=\"item.data\" name=\"list-item\" />\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template #grid=\"item\">\r\n\t\t\t\t\t\t<slot :data=\"item.data\" name=\"grid-item\" />\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</DataView>\r\n\t\t\t</div>\r\n\t\t\t<ScrollTop target=\"parent\" :threshold=\"200\" />\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport DataView from \"primevue/dataview\";\r\nimport DataViewLayoutOptions from \"primevue/dataviewlayoutoptions\";\r\nimport ExpertFilters from \"@/components/experts/expertFilters.vue\";\r\nimport ProductFilters from \"@/components/product/productFilters.vue\";\r\nimport ScrollPanel from \"primevue/scrollpanel\";\r\nimport ScrollTop from \"primevue/scrolltop\";\r\nimport Sidebar from \"primevue/sidebar\";\r\nimport SlideSidebar from \"@/components/common/slideSidebar.vue\";\r\nimport { Component, Emit, Prop, Watch } from \"vue-facing-decorator\";\r\nimport { ItemProductType } from \"@/types/enum/itemProductType\";\r\nimport { OverviewFilterViewModel } from \"@/types/models/common/filters/overviewFilterViewModel\";\r\nimport { OverviewSortType } from \"@/types/enum/overviewSortType\";\r\nimport { PropType } from \"vue\";\r\nimport { useProductOverviewFilterStore } from \"@/store/common/productOverviewFiltersStore\";\r\n\r\nexport interface IProductOverviewLayout {\r\n\titems: unknown[];\r\n\tproductType: ItemProductType;\r\n\tdefaultViewLayout?: OverviewLayoutType;\r\n}\r\n\r\nexport type OverviewLayoutType = \"grid\" | \"list\";\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tDataView,\r\n\t\tDataViewLayoutOptions,\r\n\t\tExpertFilters,\r\n\t\tProductFilters,\r\n\t\tScrollPanel,\r\n\t\tScrollTop,\r\n\t\tSidebar,\r\n\t\tSlideSidebar,\r\n\t},\r\n})\r\nexport default class ProductOverviewLayout extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IProductOverviewLayout>, required: true, default: {} })\r\n\tvm!: IProductOverviewLayout;\r\n\r\n\toverviewItems!: unknown[];\r\n\tviewLayout!: OverviewLayoutType;\r\n\r\n\tqueryString = \"\";\r\n\tshowFilters = false;\r\n\r\n\tfilterStore = useProductOverviewFilterStore();\r\n\r\n\t@Watch(\"vm.items\", { deep: true }) onItemsChanged(): void {\r\n\t\tthis.overviewItems = this.vm.items;\r\n\t}\r\n\r\n\tonLayoutChanged(): void {\r\n\t\tsessionStorage.setItem(this.overviewLayoutStorageKey, this.viewLayout);\r\n\r\n\t\tconst element = document.querySelector(`.data-view-list`);\r\n\t\tif (!element) return;\r\n\r\n\t\tconst headerOffset = 80;\r\n\t\tconst elementPosition = element.getBoundingClientRect().top;\r\n\t\tconst offsetPosition = elementPosition + window.scrollY - headerOffset;\r\n\r\n\t\tsetTimeout(() => window.scrollTo({ top: offsetPosition, behavior: \"smooth\" }));\r\n\t}\r\n\r\n\t@Emit()\r\n\tonSortChange(event: { value: { value: OverviewSortType } }): OverviewSortType {\r\n\t\treturn event.value.value;\r\n\t}\r\n\r\n\t@Emit()\r\n\tonFilterChange(filter: OverviewFilterViewModel): OverviewFilterViewModel {\r\n\t\treturn filter;\r\n\t}\r\n\r\n\t@Emit()\r\n\tonSearch(query: string): string {\r\n\t\tthis.trackSearch(query);\r\n\t\tif (!this.filterStore.hasQueryFilter) return \"\";\r\n\t\treturn query;\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.overviewItems = this.vm.items || [];\r\n\t\tthis.viewLayout =\r\n\t\t\t(sessionStorage.getItem(this.overviewLayoutStorageKey) as OverviewLayoutType) ||\r\n\t\t\tthis.vm.defaultViewLayout ||\r\n\t\t\t\"grid\";\r\n\r\n\t\tif (this.filterStore.hasQueryFilter) {\r\n\t\t\tthis.queryString = this.filterStore.queryFilter.props?.queryString || \"\";\r\n\t\t}\r\n\r\n\t\tthis.showFilters = this.isExpertProduct;\t\t\r\n\t}\r\n\r\n\tget overviewLayoutStorageKey(): string {\r\n\t\treturn `CDC_OverviewLayout_${this.vm.productType}`;\r\n\t}\r\n\r\n\tget isExpertProduct(): boolean {\r\n\t\treturn this.vm.productType === ItemProductType.Expert;\r\n\t}\r\n\r\n\tget searchPlaceholderText(): string {\r\n\t\tswitch (this.vm.productType) {\r\n\t\t\tcase ItemProductType.Software:\r\n\t\t\tcase ItemProductType.Collection:\r\n\t\t\t\treturn this.$t(\"product.searchSoftware_placeholder\");\r\n\t\t\tcase ItemProductType.Training:\r\n\t\t\t\treturn this.$t(\"training.search_placeholder\");\r\n\t\t\tcase ItemProductType.Expert:\r\n\t\t\t\treturn this.$t(\"expert.searchPlaceholder\");\r\n\t\t\tdefault:\r\n\t\t\t\treturn this.$t(\"common.search_placeholder\");\r\n\t\t}\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.product-overview-bg {\r\n\tbackground: var(--surface-b);\r\n\tposition: relative;\r\n\tpadding-bottom: 2rem;\r\n\r\n\t.container {\r\n\t\tmin-height: 55vh;\r\n\t}\r\n}\r\n\r\n::v-deep(.p-dataview-grid) {\r\n\t.grid {\r\n\t\tdisplay: flex;\r\n\t\tflex-wrap: wrap;\r\n\t}\r\n}\r\n\r\n::v-deep(.p-dataview) {\r\n\t.p-dataview-header {\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: space-between;\r\n\t\tflex-wrap: wrap;\r\n\t\tpadding: 0.5rem 1.5rem;\r\n\t\tbackground: var(--surface-200);\r\n\t\tbox-shadow: 0 8px 4px -4px rgba(0, 0, 0, 0.05);\r\n\t\tposition: sticky;\r\n\t\ttop: 0;\r\n\t\tz-index: 1;\r\n\r\n\t\t.header-left {\r\n\t\t\tdisplay: flex;\r\n\t\t\tmargin: 0.5rem 0.25rem;\r\n\t\t}\r\n\r\n\t\t.header-right {\r\n\t\t\tdisplay: flex;\r\n\t\t\tjustify-content: flex-end;\r\n\t\t\talign-items: center;\r\n\t\t\tmargin: 0.5rem 0.25rem;\r\n\t\t}\r\n\r\n\t\t.header-search {\r\n\t\t\tflex-grow: 1;\r\n\t\t}\r\n\t}\r\n\r\n\t.p-button.p-button-icon-only {\r\n\t\tpadding: 0.75rem 0;\r\n\t}\r\n\r\n\t.p-button-outlined {\r\n\t\tbackground: var(--surface-a);\r\n\r\n\t\t.p-badge {\r\n\t\t\tcolor: #fff;\r\n\t\t\tbackground: var(--primary-color);\r\n\t\t}\r\n\t}\r\n\r\n\t.p-dataview-content {\r\n\t\tbackground: var(--surface-200);\r\n\t\tpadding: 1.5rem 0.75rem;\r\n\t}\r\n}\r\n\r\n::v-deep(.p-scrollpanel) {\r\n\t&:not(:hover) {\r\n\t\t.p-scrollpanel-bar {\r\n\t\t\topacity: 0.25;\r\n\t\t}\r\n\t}\r\n\r\n\t.p-scrollpanel-bar {\r\n\t\tbackground: var(--primary-color);\r\n\r\n\t\t.p-scrollbar-y {\r\n\t\t\twidth: 0.2rem;\r\n\t\t}\r\n\t}\r\n}\r\n</style>\r\n","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, renderSlot as _renderSlot, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createVNode as _createVNode, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0a666174\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"product-filters-subheader\" }\nconst _hoisted_2 = { class: \"product-filters\" }\nconst _hoisted_3 = [\"onClick\"]\nconst _hoisted_4 = [\"onClick\"]\nconst _hoisted_5 = [\"for\"]\nconst _hoisted_6 = { class: \"text-muted ml-1\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Checkbox = _resolveComponent(\"Checkbox\")!\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_Panel = _resolveComponent(\"Panel\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n (_ctx.filterStore.hasActiveFilters)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-secondary p-button-text p-0 mb-1\",\n icon: \"pi pi-filter-slash\",\n label: _ctx.$t('common.resetFilters'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.resetFilters()))\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_2, [\n _renderSlot(_ctx.$slots, \"default\", {}, undefined, true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.filterStore.optionFilters, (filter) => {\n return (_openBlock(), _createBlock(_component_Panel, {\n collapsed: _ctx.filterCollapsed[_ctx.filterId(filter)],\n \"onUpdate:collapsed\": ($event: any) => ((_ctx.filterCollapsed[_ctx.filterId(filter)]) = $event),\n key: filter,\n class: \"product-filter-item\"\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"p\", {\n class: \"p-link lead mb-0 w-100\",\n onClick: ($event: any) => (_ctx.toggleFilterCollapse(filter))\n }, _toDisplayString(filter.title || _ctx.$t(`enum.overviewFilterCategory.${filter.category}`)), 9, _hoisted_3)\n ]),\n icons: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"p-panel-header-icon p-link mr-2\",\n onClick: ($event: any) => (_ctx.toggleFilterCollapse(filter))\n }, [\n _createElementVNode(\"i\", {\n class: _normalizeClass(_ctx.isFilterCollapsed(filter) ? 'pi pi-chevron-down' : 'pi pi-chevron-up')\n }, null, 2)\n ], 8, _hoisted_4)\n ]),\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(filter.options, (option) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: option,\n class: \"product-filter-option p-field-checkbox form-group\"\n }, [\n _createVNode(_component_Checkbox, {\n modelValue: option.isActive,\n \"onUpdate:modelValue\": ($event: any) => ((option.isActive) = $event),\n id: `filter-${_ctx.filterId(filter)}-${option.label}`,\n binary: \"\",\n disabled: !option.isAvailable,\n onChange: ($event: any) => (_ctx.filtersChanged(filter))\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"id\", \"disabled\", \"onChange\"]),\n (option.iconUrl)\n ? (_openBlock(), _createBlock(_component_Avatar, {\n key: 0,\n class: \"ml-2 option-icon\",\n image: option.iconUrl,\n shape: \"square\",\n onClick: ($event: any) => {\r\n\t\t\t\t\t\toption.isActive = !option.isActive;\r\n\t\t\t\t\t\t_ctx.filtersChanged(filter);\r\n\t\t\t\t\t}\n }, null, 8, [\"image\", \"onClick\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"label\", {\n class: _normalizeClass([\"ml-2 mb-0 p-link\", option.isActive ? 'font-weight-bold' : 'font-weight-normal']),\n for: `filter-${_ctx.filterId(filter)}-${option.label}`\n }, _toDisplayString(option.label), 11, _hoisted_5),\n _createElementVNode(\"span\", _hoisted_6, \"(\" + _toDisplayString(option.count) + \")\", 1)\n ]))\n }), 128))\n ]),\n _: 2\n }, 1032, [\"collapsed\", \"onUpdate:collapsed\"]))\n }), 128))\n ])\n ], 64))\n}","<template>\r\n\t<div class=\"product-filters-subheader\">\r\n\t\t<Button\r\n\t\t\tv-if=\"filterStore.hasActiveFilters\"\r\n\t\t\tclass=\"p-button-secondary p-button-text p-0 mb-1\"\r\n\t\t\ticon=\"pi pi-filter-slash\"\r\n\t\t\t:label=\"$t('common.resetFilters')\"\r\n\t\t\t@click=\"resetFilters()\"\r\n\t\t/>\r\n\t</div>\r\n\r\n\t<div class=\"product-filters\">\r\n\t\t<slot />\r\n\t\t<Panel\r\n\t\t\tv-for=\"filter in filterStore.optionFilters\"\r\n\t\t\tv-model:collapsed=\"filterCollapsed[filterId(filter)]\"\r\n\t\t\t:key=\"filter\"\r\n\t\t\tclass=\"product-filter-item\"\r\n\t\t>\r\n\t\t\t<template #header>\r\n\t\t\t\t<p class=\"p-link lead mb-0 w-100\" @click=\"toggleFilterCollapse(filter)\">\r\n\t\t\t\t\t{{ filter.title || $t(`enum.overviewFilterCategory.${filter.category}`) }}\r\n\t\t\t\t</p>\r\n\t\t\t</template>\r\n\t\t\t<template #icons>\r\n\t\t\t\t<button class=\"p-panel-header-icon p-link mr-2\" @click=\"toggleFilterCollapse(filter)\">\r\n\t\t\t\t\t<i :class=\"isFilterCollapsed(filter) ? 'pi pi-chevron-down' : 'pi pi-chevron-up'\" />\r\n\t\t\t\t</button>\r\n\t\t\t</template>\r\n\t\t\t<div\r\n\t\t\t\tv-for=\"option in filter.options\"\r\n\t\t\t\t:key=\"option\"\r\n\t\t\t\tclass=\"product-filter-option p-field-checkbox form-group\"\r\n\t\t\t>\r\n\t\t\t\t<Checkbox\r\n\t\t\t\t\tv-model=\"option.isActive\"\r\n\t\t\t\t\t:id=\"`filter-${filterId(filter)}-${option.label}`\"\r\n\t\t\t\t\tbinary\r\n\t\t\t\t\t:disabled=\"!option.isAvailable\"\r\n\t\t\t\t\t@change=\"filtersChanged(filter)\"\r\n\t\t\t\t/>\r\n\t\t\t\t<Avatar\r\n\t\t\t\t\tv-if=\"option.iconUrl\"\r\n\t\t\t\t\tclass=\"ml-2 option-icon\"\r\n\t\t\t\t\t:image=\"option.iconUrl\"\r\n\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t@click=\"\r\n\t\t\t\t\t\toption.isActive = !option.isActive;\r\n\t\t\t\t\t\tfiltersChanged(filter);\r\n\t\t\t\t\t\"\r\n\t\t\t\t/>\r\n\t\t\t\t<label\r\n\t\t\t\t\tclass=\"ml-2 mb-0 p-link\"\r\n\t\t\t\t\t:class=\"option.isActive ? 'font-weight-bold' : 'font-weight-normal'\"\r\n\t\t\t\t\t:for=\"`filter-${filterId(filter)}-${option.label}`\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ option.label }}\r\n\t\t\t\t</label>\r\n\t\t\t\t<span class=\"text-muted ml-1\">({{ option.count }})</span>\r\n\t\t\t</div>\r\n\t\t</Panel>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Checkbox from \"primevue/checkbox\";\r\nimport { Component, Emit } from \"vue-facing-decorator\";\r\nimport { OverviewFilterViewModel } from \"@/types/models/common/filters/overviewFilterViewModel\";\r\nimport { useProductOverviewFilterStore } from \"@/store/common/productOverviewFiltersStore\";\r\n\r\n@Component({ components: { Checkbox } })\r\nexport default class ProductFilters extends BaseComponent {\r\n\tfilterCollapsed: { [name: string]: boolean } = {};\r\n\r\n\tfilterStore = useProductOverviewFilterStore();\r\n\r\n\t@Emit() filtersChanged(filter?: OverviewFilterViewModel): OverviewFilterViewModel {\r\n\t\tif (filter) filter.isActive = filter.options?.map((x) => x.isActive)?.filter(Boolean).length > 0;\r\n\t\treturn filter as OverviewFilterViewModel;\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.filterStore.optionFilters.forEach(\r\n\t\t\t(x) => (this.filterCollapsed[this.filterId(x)] = x.options?.length > 8)\r\n\t\t);\r\n\t}\r\n\r\n\tget filterId(): (filter: OverviewFilterViewModel) => string {\r\n\t\treturn (filter) => filter.title || filter.label;\r\n\t}\r\n\r\n\tget isFilterCollapsed(): (filter) => boolean {\r\n\t\treturn (filter) => this.filterCollapsed[this.filterId(filter)];\r\n\t}\r\n\r\n\tresetFilters(): void {\r\n\t\tthis.filterStore.resetFilters();\r\n\t\tthis.filtersChanged();\r\n\t}\r\n\r\n\ttoggleFilterCollapse(filter: OverviewFilterViewModel): void {\r\n\t\tthis.filterCollapsed[this.filterId(filter)] = !this.filterCollapsed[this.filterId(filter)];\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.product-filters-subheader {\r\n\tbackground: var(--surface-b);\r\n\tposition: sticky;\r\n\ttop: 0;\r\n\tpadding-bottom: 1rem;\r\n\tz-index: 2;\r\n}\r\n\r\n::v-deep(.product-filter-item) {\r\n\t.p-panel-header {\r\n\t\tbackground: inherit;\r\n\t}\r\n\r\n\t.p-panel-content {\r\n\t\tbackground: inherit;\r\n\t}\r\n}\r\n\r\n::v-deep(.product-filter-option) {\r\n\tdisplay: flex;\r\n\r\n\t.p-checkbox-box {\r\n\t\twidth: 1.25rem;\r\n\t\theight: 1.25rem;\r\n\t}\r\n\r\n\t.option-icon {\r\n\t\twidth: 1.25rem;\r\n\t\theight: 1.25rem;\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./productFilters.vue?vue&type=template&id=0a666174&scoped=true&ts=true\"\nimport script from \"./productFilters.vue?vue&type=script&lang=ts\"\nexport * from \"./productFilters.vue?vue&type=script&lang=ts\"\n\nimport \"./productFilters.vue?vue&type=style&index=0&id=0a666174&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-0a666174\"]])\n\nexport default __exports__","import { renderSlot as _renderSlot, resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1b4527a6\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"slide-sidebar-wrapper\" }\nconst _hoisted_2 = { class: \"slide-sidebar-header\" }\nconst _hoisted_3 = { class: \"slide-sidebar-content\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"slide-sidebar\", { collapsed: !_ctx.isVisible }])\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _renderSlot(_ctx.$slots, \"header\", {}, undefined, true),\n _createVNode(_component_Button, {\n class: \"p-button-secondary p-button-text p-button-rounded\",\n icon: \"pi pi-times\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.close()))\n })\n ]),\n _createElementVNode(\"div\", _hoisted_3, [\n _renderSlot(_ctx.$slots, \"content\", {}, undefined, true)\n ])\n ])\n ], 2))\n}","<template>\r\n\t<div class=\"slide-sidebar\" :class=\"{ collapsed: !isVisible }\">\r\n\t\t<div class=\"slide-sidebar-wrapper\">\r\n\t\t\t<div class=\"slide-sidebar-header\">\r\n\t\t\t\t<slot name=\"header\" />\r\n\t\t\t\t<Button\r\n\t\t\t\t\tclass=\"p-button-secondary p-button-text p-button-rounded\"\r\n\t\t\t\t\ticon=\"pi pi-times\"\r\n\t\t\t\t\t@click=\"close()\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"slide-sidebar-content\">\r\n\t\t\t\t<slot name=\"content\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { Component, Emit, VModel } from \"vue-facing-decorator\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\n\r\n@Component\r\nexport default class SlideSidebar extends BaseComponent {\r\n\t@VModel({ type: Boolean, default: false }) isVisible!: boolean;\r\n\r\n\t@Emit()\r\n\tclose(): boolean {\r\n\t\treturn !this.isVisible;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.slide-sidebar {\r\n\twidth: clamp(15rem, 20vw, 20rem);\r\n\tpadding: 1.25rem 1rem;\r\n\ttransition: width 0.5s;\r\n\tflex-shrink: 0;\r\n\tbackground: var(--surface-b);\r\n\r\n\t&.collapsed {\r\n\t\twidth: 0;\r\n\t\tpadding: 0;\r\n\r\n\t\t.slide-sidebar-wrapper {\r\n\t\t\topacity: 0;\r\n\t\t\ttransition: opacity 0s;\r\n\t\t}\r\n\t}\r\n\r\n\t.slide-sidebar-wrapper {\r\n\t\tposition: sticky;\r\n\t\topacity: 1;\r\n\t\ttransition: opacity 0.95s;\r\n\t\ttop: calc(var(--navbarHeightInPx) + 1rem);\r\n\t}\r\n\r\n\t.slide-sidebar-header {\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: space-between;\r\n\t\talign-items: center;\r\n\t\tpadding-right: 0.75rem;\r\n\t\tmargin-bottom: 1.5rem;\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./slideSidebar.vue?vue&type=template&id=1b4527a6&scoped=true&ts=true\"\nimport script from \"./slideSidebar.vue?vue&type=script&lang=ts\"\nexport * from \"./slideSidebar.vue?vue&type=script&lang=ts\"\n\nimport \"./slideSidebar.vue?vue&type=style&index=0&id=1b4527a6&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1b4527a6\"]])\n\nexport default __exports__","import { render } from \"./productOverviewLayout.vue?vue&type=template&id=32e50de0&scoped=true&ts=true\"\nimport script from \"./productOverviewLayout.vue?vue&type=script&lang=ts\"\nexport * from \"./productOverviewLayout.vue?vue&type=script&lang=ts\"\n\nimport \"./productOverviewLayout.vue?vue&type=style&index=0&id=32e50de0&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-32e50de0\"]])\n\nexport default __exports__","import { render } from \"./expertOverview.vue?vue&type=template&id=722568b3&scoped=true&ts=true\"\nimport script from \"./expertOverview.vue?vue&type=script&lang=ts\"\nexport * from \"./expertOverview.vue?vue&type=script&lang=ts\"\n\nimport \"./expertOverview.vue?vue&type=style&index=0&id=722568b3&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-722568b3\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, withCtx as _withCtx, createElementBlock as _createElementBlock, createVNode as _createVNode, withModifiers as _withModifiers, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = { class: \"mb-0\" }\nconst _hoisted_2 = [\"innerHTML\"]\nconst _hoisted_3 = { class: \"font-weight-normal d-block\" }\nconst _hoisted_4 = { class: \"d-flex flex-column mx-1\" }\nconst _hoisted_5 = { class: \"d-flex justify-content-between flex-wrap\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"mb-0\"\n}\nconst _hoisted_7 = { class: \"d-flex align-items-center mb-2\" }\nconst _hoisted_8 = { class: \"font-weight-bold mb-0\" }\nconst _hoisted_9 = { class: \"d-flex align-items-start\" }\nconst _hoisted_10 = { class: \"mb-1\" }\nconst _hoisted_11 = { class: \"\" }\nconst _hoisted_12 = { key: 0 }\nconst _hoisted_13 = { class: \"d-flex\" }\nconst _hoisted_14 = [\"innerHTML\"]\nconst _hoisted_15 = [\"innerHTML\"]\nconst _hoisted_16 = { class: \"ml-1\" }\nconst _hoisted_17 = { class: \"text-bold mb-0\" }\nconst _hoisted_18 = { class: \"mb-0\" }\nconst _hoisted_19 = {\n key: 3,\n class: \"mt-2\"\n}\nconst _hoisted_20 = { class: \"d-flex\" }\nconst _hoisted_21 = [\"innerHTML\"]\nconst _hoisted_22 = [\"innerHTML\"]\nconst _hoisted_23 = { class: \"ml-1\" }\nconst _hoisted_24 = { class: \"text-bold mb-0\" }\nconst _hoisted_25 = { class: \"mb-0\" }\nconst _hoisted_26 = { class: \"text-info\" }\nconst _hoisted_27 = { class: \"d-flex align-items-start\" }\nconst _hoisted_28 = { class: \"mb-1\" }\nconst _hoisted_29 = { class: \"d-flex align-items-start\" }\nconst _hoisted_30 = { class: \"mb-1\" }\nconst _hoisted_31 = {\n key: 1,\n class: \"flex align-items-center flex-column\"\n}\nconst _hoisted_32 = {\n key: 2,\n class: \"pl-1 pt-2 d-flex flex-column\"\n}\nconst _hoisted_33 = { class: \"country-item\" }\nconst _hoisted_34 = { class: \"mt-2\" }\nconst _hoisted_35 = { class: \"d-flex align-items-start\" }\nconst _hoisted_36 = { class: \"mb-1\" }\nconst _hoisted_37 = {\n key: 1,\n class: \"flex align-items-center flex-column\"\n}\nconst _hoisted_38 = {\n key: 2,\n class: \"pl-1 pt-2 d-flex flex-column\"\n}\nconst _hoisted_39 = { class: \"mt-1\" }\nconst _hoisted_40 = { class: \"p-inputgroup mb-2\" }\nconst _hoisted_41 = { class: \"d-flex\" }\nconst _hoisted_42 = { class: \"mb-0 mr-1 text-bold\" }\nconst _hoisted_43 = { class: \"mb-0\" }\nconst _hoisted_44 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"p-inputgroup-addon\" }, [\n /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-search\" })\n], -1)\nconst _hoisted_45 = { class: \"mt-2\" }\nconst _hoisted_46 = { class: \"d-flex align-items-start\" }\nconst _hoisted_47 = { class: \"mb-1\" }\nconst _hoisted_48 = { class: \"d-flex justify-content-between align-items-center w-100\" }\nconst _hoisted_49 = { class: \"d-flex align-items-center\" }\nconst _hoisted_50 = { class: \"mr-1 mb-0\" }\nconst _hoisted_51 = { class: \"d-flex align-items-start\" }\nconst _hoisted_52 = { class: \"mb-1\" }\nconst _hoisted_53 = {\n key: 0,\n class: \"pl-1 pt-2 d-flex flex-column\"\n}\nconst _hoisted_54 = { class: \"mt-2\" }\nconst _hoisted_55 = {\n key: 1,\n class: \"flex align-items-center flex-column\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_LinkButton = _resolveComponent(\"LinkButton\")!\n const _component_LanguageDropdown = _resolveComponent(\"LanguageDropdown\")!\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_PopoverIcon = _resolveComponent(\"PopoverIcon\")!\n const _component_Panel = _resolveComponent(\"Panel\")!\n const _component_ExpertOverviewForm = _resolveComponent(\"ExpertOverviewForm\")!\n const _component_Chip = _resolveComponent(\"Chip\")!\n const _component_MultiSelect = _resolveComponent(\"MultiSelect\")!\n const _component_AutoComplete = _resolveComponent(\"AutoComplete\")!\n const _component_ExpertExperienceForm = _resolveComponent(\"ExpertExperienceForm\")!\n const _component_AccordionTab = _resolveComponent(\"AccordionTab\")!\n const _component_Accordion = _resolveComponent(\"Accordion\")!\n const _component_ExpertLevelModal = _resolveComponent(\"ExpertLevelModal\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (_ctx.showCompletionSteps)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n class: \"message-with-button\",\n closable: false,\n severity: \"custom\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"p\", _hoisted_1, _toDisplayString(_ctx.vm.stepsTitle), 1),\n _createElementVNode(\"span\", {\n class: \"font-weight-normal mb-1\",\n innerHTML: _ctx.vm.steps[_ctx.activeStepIndex]?.text\n }, null, 8, _hoisted_2),\n _createElementVNode(\"small\", _hoisted_3, _toDisplayString(_ctx.$t(\"common.stepXOfY\", [_ctx.activeStepIndex + 1, _ctx.vm.steps.length])), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n (_ctx.activeStepIndex > 0)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-sm p-button-text flex-shrink-0\",\n label: _ctx.$t('common.previous'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.activeStepIndex--))\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.activeStepIndex < _ctx.vm.steps.length - 1)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-sm flex-shrink-0\",\n label: _ctx.$t('common.nextStep'),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.activeStepIndex++))\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_5, [\n (_ctx.vm.pageTitle)\n ? (_openBlock(), _createElementBlock(\"h1\", _hoisted_6, _toDisplayString(_ctx.vm.pageTitle), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.isProfileApproved && _ctx.expertProfile?.contentLinkUrl)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 1,\n class: \"flex-shrink-0 p-button-text\",\n icon: \"pi pi-external-link\",\n label: _ctx.$t('myCadac.expertProfile.btnViewProfile'),\n target: \"_blank\",\n url: _ctx.expertProfile?.contentLinkUrl\n }, null, 8, [\"label\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"p\", _hoisted_8, _toDisplayString(_ctx.$t(\"myCadac.expertSettings.titleChooseLanguage\")), 1),\n _createVNode(_component_LanguageDropdown, {\n languages: _ctx.availableLanguages,\n onLanguageSelected: _ctx.onProfileLanguageChanged\n }, null, 8, [\"languages\", \"onLanguageSelected\"])\n ]),\n _createVNode(_component_Panel, { class: \"mb-2\" }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"h3\", _hoisted_10, _toDisplayString(_ctx.$t(\"myCadac.expertSettings.titleExpertLevel\")), 1)\n ])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_11, [\n (_ctx.expertProfile?.expertLevelProduct)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t(\"myCadac.expertSettings.lblCurrentLevel\")), 1),\n _createElementVNode(\"div\", _hoisted_13, [\n _createVNode(_component_PopoverIcon, {\n \"open-delay\": 500,\n placement: \"right\"\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"p\", {\n class: \"text-bold mb-0\",\n innerHTML: _ctx.expertProfile?.expertLevelProduct?.displayName\n }, null, 8, _hoisted_14),\n _createElementVNode(\"div\", {\n innerHTML: _ctx.expertProfile?.expertLevelProduct?.description\n }, null, 8, _hoisted_15)\n ]),\n default: _withCtx(() => [\n _createVNode(_component_Avatar, {\n alt: _ctx.expertProfile?.expertLevelProduct?.iconAlt,\n image: _ctx.expertProfile?.expertLevelProduct?.iconUrl,\n shape: \"square\",\n size: \"large\"\n }, null, 8, [\"alt\", \"image\"])\n ]),\n _: 1\n }),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"h4\", _hoisted_17, _toDisplayString(_ctx.expertProfile?.expertLevelProduct?.displayName), 1),\n _createElementVNode(\"p\", _hoisted_18, _toDisplayString(_ctx.$t(\"expert.expertLevelHourlyPriceRange\", [\r\n\t\t\t\t\t\t\t\t\t_ctx.formatCurrency(_ctx.expertProfile?.expertLevelProduct?.minPrice),\r\n\t\t\t\t\t\t\t\t\t_ctx.formatCurrency(_ctx.expertProfile?.expertLevelProduct?.maxPrice),\r\n\t\t\t\t\t\t\t\t])), 1)\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (!_ctx.expertProfile?.expertLevelProduct)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-success\",\n label: _ctx.$t('myCadac.expertSettings.btnChooseLevel'),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.expertStore.showModal('ExpertLevel')))\n }, null, 8, [\"label\"]))\n : (_openBlock(), _createBlock(_component_Button, {\n key: 2,\n class: \"p-button-text px-0\",\n label: _ctx.$t('myCadac.expertSettings.btnChooseOtherLevel'),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.expertStore.showModal('ExpertLevel')))\n }, null, 8, [\"label\"])),\n (_ctx.expertProfile?.requestedLevelProduct)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_19, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t(\"myCadac.expertSettings.lblRequestedLevel\")), 1),\n _createElementVNode(\"div\", _hoisted_20, [\n _createVNode(_component_PopoverIcon, {\n \"open-delay\": 500,\n placement: \"right\"\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"p\", {\n class: \"text-bold mb-0\",\n innerHTML: _ctx.expertProfile?.requestedLevelProduct?.displayName\n }, null, 8, _hoisted_21),\n _createElementVNode(\"div\", {\n innerHTML: _ctx.expertProfile?.requestedLevelProduct?.description\n }, null, 8, _hoisted_22)\n ]),\n default: _withCtx(() => [\n _createVNode(_component_Avatar, {\n alt: _ctx.expertProfile?.requestedLevelProduct?.iconAlt,\n image: _ctx.expertProfile?.requestedLevelProduct?.iconUrl,\n shape: \"square\",\n size: \"large\"\n }, null, 8, [\"alt\", \"image\"])\n ]),\n _: 1\n }),\n _createElementVNode(\"div\", _hoisted_23, [\n _createElementVNode(\"h4\", _hoisted_24, _toDisplayString(_ctx.expertProfile?.requestedLevelProduct?.displayName), 1),\n _createElementVNode(\"p\", _hoisted_25, _toDisplayString(_ctx.$t(\"expert.expertLevelHourlyPriceRange\", [\r\n\t\t\t\t\t\t\t\t\t_ctx.formatCurrency(_ctx.expertProfile?.requestedLevelProduct?.minPrice),\r\n\t\t\t\t\t\t\t\t\t_ctx.formatCurrency(_ctx.expertProfile?.requestedLevelProduct?.maxPrice),\r\n\t\t\t\t\t\t\t\t])), 1),\n _createElementVNode(\"small\", _hoisted_26, _toDisplayString(_ctx.$t(\"myCadac.expertSettings.message.awaitingExpertLevelApproval\")), 1)\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n }),\n _createVNode(_component_Panel, { class: \"mb-2\" }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_27, [\n _createElementVNode(\"h3\", _hoisted_28, _toDisplayString(_ctx.$t(\"myCadac.expertSettings.titleOverview\")), 1)\n ])\n ]),\n icons: _withCtx(() => [\n (!_ctx.isEditingExpertOverview)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-text px-0\",\n icon: \"pi pi-pencil\",\n label: _ctx.$t('common.edit'),\n onClick: _cache[4] || (_cache[4] = _withModifiers(($event: any) => (_ctx.isEditingExpertOverview = true), [\"stop\"]))\n }, null, 8, [\"label\"]))\n : (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-text p-button-primary\",\n label: _ctx.$t('common.cancel'),\n onClick: _cache[5] || (_cache[5] = _withModifiers(($event: any) => (_ctx.isEditingExpertOverview = false), [\"stop\"]))\n }, null, 8, [\"label\"]))\n ]),\n default: _withCtx(() => [\n (!_ctx.isEditingExpertOverview && _ctx.hasEmptyOverview)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.expertSettings.message.noOverview\")), 1)\n ]),\n _: 1\n }))\n : (_openBlock(), _createBlock(_component_ExpertOverviewForm, {\n key: 1,\n \"is-editing\": _ctx.isEditingExpertOverview,\n vm: _ctx.expertProfile,\n onSubmit: _ctx.saveExpertOverview\n }, null, 8, [\"is-editing\", \"vm\", \"onSubmit\"]))\n ]),\n _: 1\n }),\n _createVNode(_component_Panel, { class: \"mb-2\" }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_29, [\n _createElementVNode(\"h3\", _hoisted_30, _toDisplayString(_ctx.$t(\"myCadac.expertSettings.titleLanguages\")), 1)\n ])\n ]),\n icons: _withCtx(() => [\n (!_ctx.isEditingExpertLanguages)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-text\",\n icon: \"pi pi-pencil\",\n label: _ctx.$t('common.edit'),\n onClick: _cache[6] || (_cache[6] = ($event: any) => (_ctx.isEditingExpertLanguages = true))\n }, null, 8, [\"label\"]))\n : (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-text p-button-primary\",\n label: _ctx.$t('common.cancel'),\n onClick: _cache[7] || (_cache[7] = ($event: any) => {\r\n\t\t\t\t\t_ctx.isEditingExpertLanguages = false;\r\n\t\t\t\t\t_ctx.initLanguages();\r\n\t\t\t\t})\n }, null, 8, [\"label\"]))\n ]),\n default: _withCtx(() => [\n (!_ctx.isEditingExpertLanguages && !_ctx.selectedLanguages?.length)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.expertSettings.message.noLanguages\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (!_ctx.isEditingExpertLanguages)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_31, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.selectedLanguages, (language) => {\n return (_openBlock(), _createBlock(_component_Chip, {\n key: language,\n class: \"mr-1 mb-1 p-chip-secondary\",\n label: language\n }, null, 8, [\"label\"]))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_32, [\n _createElementVNode(\"label\", null, _toDisplayString(`${_ctx.$t(\"myCadac.expertSettings.selectLanguage\")}`), 1),\n (_ctx.isEditingExpertLanguages)\n ? (_openBlock(), _createBlock(_component_MultiSelect, {\n key: 0,\n modelValue: _ctx.selectedLanguages,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = ($event: any) => ((_ctx.selectedLanguages) = $event)),\n display: \"chip\",\n filter: false,\n \"option-label\": \"value\",\n \"option-value\": \"value\",\n options: _ctx.vm.languageOptions,\n placeholder: _ctx.$t('myCadac.expertSettings.selectLanguage_placeholder'),\n \"show-toggle-all\": false\n }, {\n value: _withCtx((slotProps) => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(slotProps.value, (language) => {\n return (_openBlock(), _createBlock(_component_Chip, {\n key: language,\n class: \"mr-1 p-chip-primary\",\n label: language\n }, null, 8, [\"label\"]))\n }), 128)),\n (!slotProps.value || slotProps.value.length === 0)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.expertSettings.selectLanguage_placeholder\")), 1)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]),\n option: _withCtx((slotProps) => [\n _createElementVNode(\"div\", _hoisted_33, [\n _createElementVNode(\"div\", null, _toDisplayString(slotProps.option.value), 1)\n ])\n ]),\n _: 1\n }, 8, [\"modelValue\", \"options\", \"placeholder\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_34, [\n _createVNode(_component_Button, {\n class: \"\",\n label: _ctx.$t(`common.save`),\n onClick: _ctx.saveExpertLanguages\n }, null, 8, [\"label\", \"onClick\"])\n ])\n ]))\n ]),\n _: 1\n }),\n _createVNode(_component_Panel, { class: \"mb-2\" }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_35, [\n _createElementVNode(\"h3\", _hoisted_36, _toDisplayString(_ctx.$t(\"myCadac.expertSettings.titleExpertises\")), 1)\n ])\n ]),\n icons: _withCtx(() => [\n (!_ctx.isEditingExpertises)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-text\",\n icon: \"pi pi-pencil\",\n label: _ctx.$t('common.edit'),\n onClick: _cache[9] || (_cache[9] = ($event: any) => (_ctx.isEditingExpertises = true))\n }, null, 8, [\"label\"]))\n : (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-text p-button-primary\",\n label: _ctx.$t('common.cancel'),\n onClick: _cache[10] || (_cache[10] = ($event: any) => {\r\n\t\t\t\t\t_ctx.isEditingExpertises = false;\r\n\t\t\t\t\t_ctx.initExpertises();\r\n\t\t\t\t})\n }, null, 8, [\"label\"]))\n ]),\n default: _withCtx(() => [\n (!_ctx.isEditingExpertises && !_ctx.selectedExpertises?.length)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.expertSettings.message.noExpertises\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (!_ctx.isEditingExpertises)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_37, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.selectedExpertises, (expertise) => {\n return (_openBlock(), _createBlock(_component_Chip, {\n key: expertise.name,\n class: \"mr-1 mb-1 p-chip-secondary\",\n label: expertise.name\n }, null, 8, [\"label\"]))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_38, [\n _createElementVNode(\"label\", _hoisted_39, _toDisplayString(`${_ctx.$t(\"myCadac.expertSettings.selectExpertises\")}`), 1),\n _createElementVNode(\"div\", _hoisted_40, [\n _createVNode(_component_AutoComplete, {\n modelValue: _ctx.selectedExpertises,\n \"onUpdate:modelValue\": _cache[11] || (_cache[11] = ($event: any) => ((_ctx.selectedExpertises) = $event)),\n \"force-selection\": \"\",\n \"min-length\": 2,\n multiple: true,\n \"option-label\": \"name\",\n placeholder: _ctx.$t('myCadac.expertSettings.selectExpertises_placeholder'),\n suggestions: _ctx.searchExpertiseResults,\n onComplete: _cache[12] || (_cache[12] = ($event: any) => (_ctx.searchExpertises($event)))\n }, {\n option: _withCtx(({ option }) => [\n _createElementVNode(\"div\", _hoisted_41, [\n _createElementVNode(\"p\", _hoisted_42, _toDisplayString(option?.name), 1),\n _createElementVNode(\"p\", _hoisted_43, \"(\" + _toDisplayString(option?.category) + \")\", 1)\n ])\n ]),\n _: 1\n }, 8, [\"modelValue\", \"placeholder\", \"suggestions\"]),\n _hoisted_44\n ]),\n _createElementVNode(\"div\", _hoisted_45, [\n _createVNode(_component_Button, {\n class: \"\",\n label: _ctx.$t(`common.save`),\n onClick: _ctx.saveExpertExpertises\n }, null, 8, [\"label\", \"onClick\"])\n ])\n ]))\n ]),\n _: 1\n }),\n _createVNode(_component_Panel, { class: \"mb-2\" }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_46, [\n _createElementVNode(\"h3\", _hoisted_47, _toDisplayString(_ctx.$t(\"myCadac.expertSettings.titleExperience\")), 1)\n ])\n ]),\n icons: _withCtx(() => [\n _createVNode(_component_Button, {\n class: \"p-button-text px-0\",\n icon: \"pi pi-plus\",\n label: _ctx.$t('common.add'),\n onClick: _cache[13] || (_cache[13] = _withModifiers(($event: any) => (_ctx.onAddExperienceClick()), [\"stop\"]))\n }, null, 8, [\"label\"])\n ]),\n default: _withCtx(() => [\n (_ctx.expertExperiences?.length)\n ? (_openBlock(), _createBlock(_component_Accordion, {\n key: 0,\n \"active-index\": _ctx.experiencesActiveTabIndexes,\n \"onUpdate:activeIndex\": _cache[14] || (_cache[14] = ($event: any) => ((_ctx.experiencesActiveTabIndexes) = $event)),\n multiple: true\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.expertExperiences, (experience) => {\n return (_openBlock(), _createBlock(_component_AccordionTab, { key: experience }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_48, [\n _createElementVNode(\"div\", _hoisted_49, [\n _createElementVNode(\"p\", _hoisted_50, _toDisplayString(experience.title), 1)\n ])\n ]),\n (!_ctx.editingExperiences[experience.id])\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-outlined p-button-rounded border\",\n icon: \"pi pi-pencil\",\n onClick: _withModifiers(($event: any) => (_ctx.editingExperiences[experience.id] = true), [\"stop\"])\n }, null, 8, [\"onClick\"]))\n : (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-text\",\n label: _ctx.$t('common.cancel'),\n onClick: _withModifiers(($event: any) => (_ctx.editingExperiences[experience.id] = false), [\"stop\"])\n }, null, 8, [\"label\", \"onClick\"])),\n (!_ctx.editingExperiences[experience.id])\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 2,\n class: \"p-button-danger p-button-outlined p-button-rounded border\",\n icon: \"pi pi-times\",\n onClick: _withModifiers(($event: any) => (_ctx.confirmRemoveExperience(experience)), [\"stop\"])\n }, null, 8, [\"onClick\"]))\n : _createCommentVNode(\"\", true)\n ]),\n default: _withCtx(() => [\n _createVNode(_component_ExpertExperienceForm, {\n \"is-editing\": _ctx.editingExperiences[experience.id],\n vm: experience,\n onSubmit: _ctx.saveExpertExperience\n }, null, 8, [\"is-editing\", \"vm\", \"onSubmit\"])\n ]),\n _: 2\n }, 1024))\n }), 128))\n ]),\n _: 1\n }, 8, [\"active-index\"]))\n : (_openBlock(), _createBlock(_component_Message, {\n key: 1,\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.expertSettings.message.noExperiences\")), 1)\n ]),\n _: 1\n }))\n ]),\n _: 1\n }),\n _createVNode(_component_Panel, { class: \"mb-2\" }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_51, [\n _createElementVNode(\"h3\", _hoisted_52, _toDisplayString(_ctx.$t(\"myCadac.expertSettings.titleCertifications\")), 1)\n ])\n ]),\n icons: _withCtx(() => [\n (!_ctx.isEditingCertifications)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-text\",\n icon: \"pi pi-pencil\",\n label: _ctx.$t('common.edit'),\n onClick: _cache[15] || (_cache[15] = ($event: any) => (_ctx.isEditingCertifications = true))\n }, null, 8, [\"label\"]))\n : (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-text\",\n label: _ctx.$t('common.cancel'),\n onClick: _cache[16] || (_cache[16] = _withModifiers(($event: any) => {\r\n\t\t\t\t\t_ctx.isEditingCertifications = false;\r\n\t\t\t\t\t_ctx.initCertifications();\r\n\t\t\t\t}, [\"stop\"]))\n }, null, 8, [\"label\"]))\n ]),\n default: _withCtx(() => [\n (_ctx.isEditingCertifications)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_53, [\n _createElementVNode(\"label\", null, _toDisplayString(`${_ctx.$t(\"myCadac.expertSettings.selectCertifications\")}`), 1),\n (_ctx.isEditingCertifications)\n ? (_openBlock(), _createBlock(_component_MultiSelect, {\n key: 0,\n modelValue: _ctx.selectedCertifications,\n \"onUpdate:modelValue\": _cache[17] || (_cache[17] = ($event: any) => ((_ctx.selectedCertifications) = $event)),\n filter: false,\n \"option-label\": \"label\",\n \"option-value\": \"value\",\n options: _ctx.availableCertifications,\n placeholder: _ctx.$t('myCadac.expertSettings.selectCertifications_placeholder'),\n \"show-toggle-all\": false\n }, {\n value: _withCtx((slotProps) => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(slotProps.value, (certification) => {\n return (_openBlock(), _createBlock(_component_Chip, {\n key: certification,\n class: \"mr-1 p-chip-primary\",\n label: certification.level\n }, null, 8, [\"label\"]))\n }), 128)),\n (!slotProps.value || slotProps.value.length === 0)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.expertSettings.selectCertifications_placeholder\")), 1)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]),\n option: _withCtx((slotProps) => [\n _createElementVNode(\"p\", null, _toDisplayString(slotProps.option.label), 1)\n ]),\n _: 1\n }, 8, [\"modelValue\", \"options\", \"placeholder\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_54, [\n _createVNode(_component_Button, {\n label: _ctx.$t(`common.save`),\n onClick: _ctx.saveExpertCertifications\n }, null, 8, [\"label\", \"onClick\"])\n ])\n ]))\n : (_ctx.selectedCertifications?.length)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_55, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.selectedCertifications, (certification) => {\n return (_openBlock(), _createBlock(_component_Chip, {\n key: certification,\n class: \"mr-1 mb-1 p-chip-primary\",\n label: certification.level\n }, null, 8, [\"label\"]))\n }), 128))\n ]))\n : (_openBlock(), _createBlock(_component_Message, {\n key: 2,\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.expertSettings.message.noCertifications\")), 1)\n ]),\n _: 1\n }))\n ]),\n _: 1\n }),\n (_ctx.expertStore.isLevelModalVisible)\n ? (_openBlock(), _createBlock(_component_ExpertLevelModal, {\n key: 1,\n \"current-level\": _ctx.expertProfile?.expertLevelProduct,\n options: _ctx.vm.allExpertLevelProducts,\n \"requested-level\": _ctx.expertProfile?.requestedLevelProduct,\n onLevelSelected: _ctx.saveExpertLevel\n }, null, 8, [\"current-level\", \"options\", \"requested-level\", \"onLevelSelected\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<Message v-if=\"showCompletionSteps\" class=\"message-with-button\" :closable=\"false\" severity=\"custom\">\r\n\t\t<div>\r\n\t\t\t<p class=\"mb-0\">{{ vm.stepsTitle }}</p>\r\n\t\t\t<span class=\"font-weight-normal mb-1\" v-html=\"vm.steps[activeStepIndex]?.text\"></span>\r\n\t\t\t<small class=\"font-weight-normal d-block\">\r\n\t\t\t\t{{ $t(\"common.stepXOfY\", [activeStepIndex + 1, vm.steps.length]) }}\r\n\t\t\t</small>\r\n\t\t</div>\r\n\t\t<div class=\"d-flex flex-column mx-1\">\r\n\t\t\t<Button\r\n\t\t\t\tv-if=\"activeStepIndex > 0\"\r\n\t\t\t\tclass=\"p-button-sm p-button-text flex-shrink-0\"\r\n\t\t\t\t:label=\"$t('common.previous')\"\r\n\t\t\t\t@click=\"activeStepIndex--\"\r\n\t\t\t/>\r\n\t\t\t<Button\r\n\t\t\t\tv-if=\"activeStepIndex < vm.steps.length - 1\"\r\n\t\t\t\tclass=\"p-button-sm flex-shrink-0\"\r\n\t\t\t\t:label=\"$t('common.nextStep')\"\r\n\t\t\t\t@click=\"activeStepIndex++\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t</Message>\r\n\r\n\t<div class=\"d-flex justify-content-between flex-wrap\">\r\n\t\t<h1 v-if=\"vm.pageTitle\" class=\"mb-0\">{{ vm.pageTitle }}</h1>\r\n\t\t<LinkButton\r\n\t\t\tv-if=\"isProfileApproved && expertProfile?.contentLinkUrl\"\r\n\t\t\tclass=\"flex-shrink-0 p-button-text\"\r\n\t\t\ticon=\"pi pi-external-link\"\r\n\t\t\t:label=\"$t('myCadac.expertProfile.btnViewProfile')\"\r\n\t\t\ttarget=\"_blank\"\r\n\t\t\t:url=\"expertProfile?.contentLinkUrl\"\r\n\t\t/>\r\n\t</div>\r\n\t<div class=\"d-flex align-items-center mb-2\">\r\n\t\t<p class=\"font-weight-bold mb-0\">{{ $t(\"myCadac.expertSettings.titleChooseLanguage\") }}</p>\r\n\t\t<LanguageDropdown :languages=\"availableLanguages\" @language-selected=\"onProfileLanguageChanged\" />\r\n\t</div>\r\n\r\n\t<Panel class=\"mb-2\">\r\n\t\t<template #header>\r\n\t\t\t<div class=\"d-flex align-items-start\">\r\n\t\t\t\t<h3 class=\"mb-1\">{{ $t(\"myCadac.expertSettings.titleExpertLevel\") }}</h3>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\r\n\t\t<div class=\"\">\r\n\t\t\t<div v-if=\"expertProfile?.expertLevelProduct\">\r\n\t\t\t\t<label>{{ $t(\"myCadac.expertSettings.lblCurrentLevel\") }}</label>\r\n\t\t\t\t<div class=\"d-flex\">\r\n\t\t\t\t\t<PopoverIcon :open-delay=\"500\" placement=\"right\">\r\n\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t:alt=\"expertProfile?.expertLevelProduct?.iconAlt\"\r\n\t\t\t\t\t\t\t:image=\"expertProfile?.expertLevelProduct?.iconUrl\"\r\n\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\tsize=\"large\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t<p class=\"text-bold mb-0\" v-html=\"expertProfile?.expertLevelProduct?.displayName\" />\r\n\t\t\t\t\t\t\t<div v-html=\"expertProfile?.expertLevelProduct?.description\" />\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</PopoverIcon>\r\n\t\t\t\t\t<div class=\"ml-1\">\r\n\t\t\t\t\t\t<h4 class=\"text-bold mb-0\">{{ expertProfile?.expertLevelProduct?.displayName }}</h4>\r\n\t\t\t\t\t\t<p class=\"mb-0\">\r\n\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t$t(\"expert.expertLevelHourlyPriceRange\", [\r\n\t\t\t\t\t\t\t\t\tformatCurrency(expertProfile?.expertLevelProduct?.minPrice),\r\n\t\t\t\t\t\t\t\t\tformatCurrency(expertProfile?.expertLevelProduct?.maxPrice),\r\n\t\t\t\t\t\t\t\t])\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<Button\r\n\t\t\t\tv-if=\"!expertProfile?.expertLevelProduct\"\r\n\t\t\t\tclass=\"p-button-success\"\r\n\t\t\t\t:label=\"$t('myCadac.expertSettings.btnChooseLevel')\"\r\n\t\t\t\t@click=\"expertStore.showModal('ExpertLevel')\"\r\n\t\t\t/>\r\n\t\t\t<Button\r\n\t\t\t\tv-else\r\n\t\t\t\tclass=\"p-button-text px-0\"\r\n\t\t\t\t:label=\"$t('myCadac.expertSettings.btnChooseOtherLevel')\"\r\n\t\t\t\t@click=\"expertStore.showModal('ExpertLevel')\"\r\n\t\t\t/>\r\n\t\t\t<div v-if=\"expertProfile?.requestedLevelProduct\" class=\"mt-2\">\r\n\t\t\t\t<label>{{ $t(\"myCadac.expertSettings.lblRequestedLevel\") }}</label>\r\n\t\t\t\t<div class=\"d-flex\">\r\n\t\t\t\t\t<PopoverIcon :open-delay=\"500\" placement=\"right\">\r\n\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t:alt=\"expertProfile?.requestedLevelProduct?.iconAlt\"\r\n\t\t\t\t\t\t\t:image=\"expertProfile?.requestedLevelProduct?.iconUrl\"\r\n\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\tsize=\"large\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t<p class=\"text-bold mb-0\" v-html=\"expertProfile?.requestedLevelProduct?.displayName\" />\r\n\t\t\t\t\t\t\t<div v-html=\"expertProfile?.requestedLevelProduct?.description\" />\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</PopoverIcon>\r\n\t\t\t\t\t<div class=\"ml-1\">\r\n\t\t\t\t\t\t<h4 class=\"text-bold mb-0\">{{ expertProfile?.requestedLevelProduct?.displayName }}</h4>\r\n\t\t\t\t\t\t<p class=\"mb-0\">\r\n\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t$t(\"expert.expertLevelHourlyPriceRange\", [\r\n\t\t\t\t\t\t\t\t\tformatCurrency(expertProfile?.requestedLevelProduct?.minPrice),\r\n\t\t\t\t\t\t\t\t\tformatCurrency(expertProfile?.requestedLevelProduct?.maxPrice),\r\n\t\t\t\t\t\t\t\t])\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t<small class=\"text-info\">{{\r\n\t\t\t\t\t\t\t$t(\"myCadac.expertSettings.message.awaitingExpertLevelApproval\")\r\n\t\t\t\t\t\t}}</small>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</Panel>\r\n\r\n\t<Panel class=\"mb-2\">\r\n\t\t<template #header>\r\n\t\t\t<div class=\"d-flex align-items-start\">\r\n\t\t\t\t<h3 class=\"mb-1\">{{ $t(\"myCadac.expertSettings.titleOverview\") }}</h3>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t\t<template #icons>\r\n\t\t\t<Button\r\n\t\t\t\tv-if=\"!isEditingExpertOverview\"\r\n\t\t\t\tclass=\"p-button-text px-0\"\r\n\t\t\t\ticon=\"pi pi-pencil\"\r\n\t\t\t\t:label=\"$t('common.edit')\"\r\n\t\t\t\t@click.stop=\"isEditingExpertOverview = true\"\r\n\t\t\t/>\r\n\t\t\t<Button\r\n\t\t\t\tv-else\r\n\t\t\t\tclass=\"p-button-text p-button-primary\"\r\n\t\t\t\t:label=\"$t('common.cancel')\"\r\n\t\t\t\t@click.stop=\"isEditingExpertOverview = false\"\r\n\t\t\t/>\r\n\t\t</template>\r\n\t\t<Message v-if=\"!isEditingExpertOverview && hasEmptyOverview\" :closable=\"false\" severity=\"warn\">\r\n\t\t\t{{ $t(\"myCadac.expertSettings.message.noOverview\") }}\r\n\t\t</Message>\r\n\t\t<ExpertOverviewForm\r\n\t\t\tv-else\r\n\t\t\t:is-editing=\"isEditingExpertOverview\"\r\n\t\t\t:vm=\"expertProfile\"\r\n\t\t\t@submit=\"saveExpertOverview\"\r\n\t\t/>\r\n\t</Panel>\r\n\r\n\t<Panel class=\"mb-2\">\r\n\t\t<template #header>\r\n\t\t\t<div class=\"d-flex align-items-start\">\r\n\t\t\t\t<h3 class=\"mb-1\">{{ $t(\"myCadac.expertSettings.titleLanguages\") }}</h3>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t\t<template #icons>\r\n\t\t\t<Button\r\n\t\t\t\tv-if=\"!isEditingExpertLanguages\"\r\n\t\t\t\tclass=\"p-button-text\"\r\n\t\t\t\ticon=\"pi pi-pencil\"\r\n\t\t\t\t:label=\"$t('common.edit')\"\r\n\t\t\t\t@click=\"isEditingExpertLanguages = true\"\r\n\t\t\t/>\r\n\t\t\t<Button\r\n\t\t\t\tv-else\r\n\t\t\t\tclass=\"p-button-text p-button-primary\"\r\n\t\t\t\t:label=\"$t('common.cancel')\"\r\n\t\t\t\t@click=\"\r\n\t\t\t\t\tisEditingExpertLanguages = false;\r\n\t\t\t\t\tinitLanguages();\r\n\t\t\t\t\"\r\n\t\t\t/>\r\n\t\t</template>\r\n\t\t<Message v-if=\"!isEditingExpertLanguages && !selectedLanguages?.length\" :closable=\"false\" severity=\"warn\">\r\n\t\t\t{{ $t(\"myCadac.expertSettings.message.noLanguages\") }}\r\n\t\t</Message>\r\n\t\t<div v-if=\"!isEditingExpertLanguages\" class=\"flex align-items-center flex-column\">\r\n\t\t\t<Chip\r\n\t\t\t\tv-for=\"language in selectedLanguages\"\r\n\t\t\t\t:key=\"language\"\r\n\t\t\t\tclass=\"mr-1 mb-1 p-chip-secondary\"\r\n\t\t\t\t:label=\"language\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t\t<div v-else class=\"pl-1 pt-2 d-flex flex-column\">\r\n\t\t\t<label>{{ `${$t(\"myCadac.expertSettings.selectLanguage\")}` }}</label>\r\n\t\t\t<MultiSelect\r\n\t\t\t\tv-if=\"isEditingExpertLanguages\"\r\n\t\t\t\tv-model=\"selectedLanguages\"\r\n\t\t\t\tdisplay=\"chip\"\r\n\t\t\t\t:filter=\"false\"\r\n\t\t\t\toption-label=\"value\"\r\n\t\t\t\toption-value=\"value\"\r\n\t\t\t\t:options=\"vm.languageOptions\"\r\n\t\t\t\t:placeholder=\"$t('myCadac.expertSettings.selectLanguage_placeholder')\"\r\n\t\t\t\t:show-toggle-all=\"false\"\r\n\t\t\t>\r\n\t\t\t\t<template #value=\"slotProps\">\r\n\t\t\t\t\t<Chip\r\n\t\t\t\t\t\tv-for=\"language in slotProps.value\"\r\n\t\t\t\t\t\t:key=\"language\"\r\n\t\t\t\t\t\tclass=\"mr-1 p-chip-primary\"\r\n\t\t\t\t\t\t:label=\"language\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<template v-if=\"!slotProps.value || slotProps.value.length === 0\">\r\n\t\t\t\t\t\t{{ $t(\"myCadac.expertSettings.selectLanguage_placeholder\") }}\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template #option=\"slotProps\">\r\n\t\t\t\t\t<div class=\"country-item\">\r\n\t\t\t\t\t\t<div>{{ slotProps.option.value }}</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</MultiSelect>\r\n\t\t\t<div class=\"mt-2\">\r\n\t\t\t\t<Button class=\"\" :label=\"$t(`common.save`)\" @click=\"saveExpertLanguages\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</Panel>\r\n\r\n\t<!-- panel 4-->\r\n\t<Panel class=\"mb-2\">\r\n\t\t<template #header>\r\n\t\t\t<div class=\"d-flex align-items-start\">\r\n\t\t\t\t<h3 class=\"mb-1\">{{ $t(\"myCadac.expertSettings.titleExpertises\") }}</h3>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t\t<template #icons>\r\n\t\t\t<Button\r\n\t\t\t\tv-if=\"!isEditingExpertises\"\r\n\t\t\t\tclass=\"p-button-text\"\r\n\t\t\t\ticon=\"pi pi-pencil\"\r\n\t\t\t\t:label=\"$t('common.edit')\"\r\n\t\t\t\t@click=\"isEditingExpertises = true\"\r\n\t\t\t/>\r\n\t\t\t<Button\r\n\t\t\t\tv-else\r\n\t\t\t\tclass=\"p-button-text p-button-primary\"\r\n\t\t\t\t:label=\"$t('common.cancel')\"\r\n\t\t\t\t@click=\"\r\n\t\t\t\t\tisEditingExpertises = false;\r\n\t\t\t\t\tinitExpertises();\r\n\t\t\t\t\"\r\n\t\t\t/>\r\n\t\t</template>\r\n\t\t<Message v-if=\"!isEditingExpertises && !selectedExpertises?.length\" :closable=\"false\" severity=\"warn\">\r\n\t\t\t{{ $t(\"myCadac.expertSettings.message.noExpertises\") }}\r\n\t\t</Message>\r\n\t\t<div v-if=\"!isEditingExpertises\" class=\"flex align-items-center flex-column\">\r\n\t\t\t<Chip\r\n\t\t\t\tv-for=\"expertise in selectedExpertises\"\r\n\t\t\t\t:key=\"expertise.name\"\r\n\t\t\t\tclass=\"mr-1 mb-1 p-chip-secondary\"\r\n\t\t\t\t:label=\"expertise.name\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t\t<div v-else class=\"pl-1 pt-2 d-flex flex-column\">\r\n\t\t\t<label class=\"mt-1\">{{ `${$t(\"myCadac.expertSettings.selectExpertises\")}` }}</label>\r\n\t\t\t<div class=\"p-inputgroup mb-2\">\r\n\t\t\t\t<AutoComplete\r\n\t\t\t\t\tv-model=\"selectedExpertises\"\r\n\t\t\t\t\tforce-selection\r\n\t\t\t\t\t:min-length=\"2\"\r\n\t\t\t\t\t:multiple=\"true\"\r\n\t\t\t\t\toption-label=\"name\"\r\n\t\t\t\t\t:placeholder=\"$t('myCadac.expertSettings.selectExpertises_placeholder')\"\r\n\t\t\t\t\t:suggestions=\"searchExpertiseResults\"\r\n\t\t\t\t\t@complete=\"searchExpertises($event)\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #option=\"{ option }\">\r\n\t\t\t\t\t\t<div class=\"d-flex\">\r\n\t\t\t\t\t\t\t<p class=\"mb-0 mr-1 text-bold\">\r\n\t\t\t\t\t\t\t\t{{ option?.name }}\r\n\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t<p class=\"mb-0\">({{ option?.category }})</p>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</AutoComplete>\r\n\t\t\t\t<span class=\"p-inputgroup-addon\">\r\n\t\t\t\t\t<i class=\"pi pi-search\" />\r\n\t\t\t\t</span>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"mt-2\">\r\n\t\t\t\t<Button class=\"\" :label=\"$t(`common.save`)\" @click=\"saveExpertExpertises\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</Panel>\r\n\r\n\t<Panel class=\"mb-2\">\r\n\t\t<template #header>\r\n\t\t\t<div class=\"d-flex align-items-start\">\r\n\t\t\t\t<h3 class=\"mb-1\">{{ $t(\"myCadac.expertSettings.titleExperience\") }}</h3>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t\t<template #icons>\r\n\t\t\t<Button\r\n\t\t\t\tclass=\"p-button-text px-0\"\r\n\t\t\t\ticon=\"pi pi-plus\"\r\n\t\t\t\t:label=\"$t('common.add')\"\r\n\t\t\t\t@click.stop=\"onAddExperienceClick()\"\r\n\t\t\t/>\r\n\t\t</template>\r\n\t\t<Accordion\r\n\t\t\tv-if=\"expertExperiences?.length\"\r\n\t\t\tv-model:active-index=\"experiencesActiveTabIndexes\"\r\n\t\t\t:multiple=\"true\"\r\n\t\t>\r\n\t\t\t<AccordionTab v-for=\"experience in expertExperiences\" :key=\"experience\">\r\n\t\t\t\t<template #header>\r\n\t\t\t\t\t<div class=\"d-flex justify-content-between align-items-center w-100\">\r\n\t\t\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t\t\t<p class=\"mr-1 mb-0\">\r\n\t\t\t\t\t\t\t\t{{ experience.title }}\r\n\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\tv-if=\"!editingExperiences[experience.id]\"\r\n\t\t\t\t\t\tclass=\"p-button-outlined p-button-rounded border\"\r\n\t\t\t\t\t\ticon=\"pi pi-pencil\"\r\n\t\t\t\t\t\t@click.stop=\"editingExperiences[experience.id] = true\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\tv-else\r\n\t\t\t\t\t\tclass=\"p-button-text\"\r\n\t\t\t\t\t\t:label=\"$t('common.cancel')\"\r\n\t\t\t\t\t\t@click.stop=\"editingExperiences[experience.id] = false\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\tv-if=\"!editingExperiences[experience.id]\"\r\n\t\t\t\t\t\tclass=\"p-button-danger p-button-outlined p-button-rounded border\"\r\n\t\t\t\t\t\ticon=\"pi pi-times\"\r\n\t\t\t\t\t\t@click.stop=\"confirmRemoveExperience(experience)\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</template>\r\n\t\t\t\t<ExpertExperienceForm\r\n\t\t\t\t\t:is-editing=\"editingExperiences[experience.id]\"\r\n\t\t\t\t\t:vm=\"experience\"\r\n\t\t\t\t\t@submit=\"saveExpertExperience\"\r\n\t\t\t\t/>\r\n\t\t\t</AccordionTab>\r\n\t\t</Accordion>\r\n\t\t<Message v-else :closable=\"false\" severity=\"warn\">\r\n\t\t\t{{ $t(\"myCadac.expertSettings.message.noExperiences\") }}\r\n\t\t</Message>\r\n\t</Panel>\r\n\r\n\t<Panel class=\"mb-2\">\r\n\t\t<template #header>\r\n\t\t\t<div class=\"d-flex align-items-start\">\r\n\t\t\t\t<h3 class=\"mb-1\">{{ $t(\"myCadac.expertSettings.titleCertifications\") }}</h3>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t\t<template #icons>\r\n\t\t\t<Button\r\n\t\t\t\tv-if=\"!isEditingCertifications\"\r\n\t\t\t\tclass=\"p-button-text\"\r\n\t\t\t\ticon=\"pi pi-pencil\"\r\n\t\t\t\t:label=\"$t('common.edit')\"\r\n\t\t\t\t@click=\"isEditingCertifications = true\"\r\n\t\t\t/>\r\n\t\t\t<Button\r\n\t\t\t\tv-else\r\n\t\t\t\tclass=\"p-button-text\"\r\n\t\t\t\t:label=\"$t('common.cancel')\"\r\n\t\t\t\t@click.stop=\"\r\n\t\t\t\t\tisEditingCertifications = false;\r\n\t\t\t\t\tinitCertifications();\r\n\t\t\t\t\"\r\n\t\t\t/>\r\n\t\t</template>\r\n\t\t<div v-if=\"isEditingCertifications\" class=\"pl-1 pt-2 d-flex flex-column\">\r\n\t\t\t<label>{{ `${$t(\"myCadac.expertSettings.selectCertifications\")}` }}</label>\r\n\t\t\t<MultiSelect\r\n\t\t\t\tv-if=\"isEditingCertifications\"\r\n\t\t\t\tv-model=\"selectedCertifications\"\r\n\t\t\t\t:filter=\"false\"\r\n\t\t\t\toption-label=\"label\"\r\n\t\t\t\toption-value=\"value\"\r\n\t\t\t\t:options=\"availableCertifications\"\r\n\t\t\t\t:placeholder=\"$t('myCadac.expertSettings.selectCertifications_placeholder')\"\r\n\t\t\t\t:show-toggle-all=\"false\"\r\n\t\t\t>\r\n\t\t\t\t<template #value=\"slotProps\">\r\n\t\t\t\t\t<Chip\r\n\t\t\t\t\t\tv-for=\"certification in slotProps.value\"\r\n\t\t\t\t\t\t:key=\"certification\"\r\n\t\t\t\t\t\tclass=\"mr-1 p-chip-primary\"\r\n\t\t\t\t\t\t:label=\"certification.level\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<template v-if=\"!slotProps.value || slotProps.value.length === 0\">\r\n\t\t\t\t\t\t{{ $t(\"myCadac.expertSettings.selectCertifications_placeholder\") }}\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template #option=\"slotProps\">\r\n\t\t\t\t\t<p>{{ slotProps.option.label }}</p>\r\n\t\t\t\t</template>\r\n\t\t\t</MultiSelect>\r\n\r\n\t\t\t<div class=\"mt-2\">\r\n\t\t\t\t<Button :label=\"$t(`common.save`)\" @click=\"saveExpertCertifications\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div v-else-if=\"selectedCertifications?.length\" class=\"flex align-items-center flex-column\">\r\n\t\t\t<Chip\r\n\t\t\t\tv-for=\"certification in selectedCertifications\"\r\n\t\t\t\t:key=\"certification\"\r\n\t\t\t\tclass=\"mr-1 mb-1 p-chip-primary\"\r\n\t\t\t\t:label=\"certification.level\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t\t<Message v-else :closable=\"false\" severity=\"warn\">\r\n\t\t\t{{ $t(\"myCadac.expertSettings.message.noCertifications\") }}\r\n\t\t</Message>\r\n\t</Panel>\r\n\r\n\t<ExpertLevelModal\r\n\t\tv-if=\"expertStore.isLevelModalVisible\"\r\n\t\t:current-level=\"expertProfile?.expertLevelProduct\"\r\n\t\t:options=\"vm.allExpertLevelProducts\"\r\n\t\t:requested-level=\"expertProfile?.requestedLevelProduct\"\r\n\t\t@level-selected=\"saveExpertLevel\"\r\n\t/>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport Accordion from \"primevue/accordion\";\r\nimport AccordionTab from \"primevue/accordiontab\";\r\nimport AutoComplete from \"primevue/autocomplete\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Chip from \"primevue/chip\";\r\nimport CtaBlockModal from \"@/components/common/ctaBlockModal.vue\";\r\nimport ExpertExperienceForm from \"@/components/experts/expertExperienceForm.vue\";\r\nimport ExpertLevelModal from \"@/components/experts/expertLevelModal.vue\";\r\nimport ExpertOverviewForm from \"@/components/experts/expertOverviewForm.vue\";\r\nimport LanguageDropdown from \"@/components/common/menu/languageDropdown.vue\";\r\nimport MultiSelect from \"primevue/multiselect\";\r\nimport Panel from \"primevue/panel\";\r\nimport PopoverIcon from \"@/components/common/popoverIcon.vue\";\r\nimport ProgressBar from \"primevue/progressbar\";\r\nimport useVuelidate from \"@vuelidate/core\";\r\nimport { AddOrUpdateExperienceExpertSettingsRequest } from \"@/types/models/expert/addOrUpdateExperienceExpertSettingsRequest\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { DeleteExperienceExpertSettingsRequest } from \"@/types/models/expert/deleteExperienceExpertSettingsRequest\";\r\nimport { ExpertCertification } from \"@/types/generated/PropertyListTypes/expertCertification\";\r\nimport { ExpertExperienceBlockViewModel } from \"@/types/models/expert/expertExperienceBlockViewModel\";\r\nimport { ExpertExperienceType } from \"@/types/enum/expertExperienceType\";\r\nimport { ExpertExpertiseBlockViewModel } from \"@/types/models/expert/expertExpertiseBlockViewModel\";\r\nimport { ExpertLevelProductViewModel } from \"@/types/models/expert/expertLevelProductViewModel\";\r\nimport { ExpertPageState } from \"@/types/enum/expertPageState\";\r\nimport { ExpertProfileViewModel } from \"@/types/models/expert/expertProfileViewModel\";\r\nimport { ExpertSettingsOverviewForm } from \"@/types/models/form/expertSettingsOverviewForm\";\r\nimport { ExpertiseSearch } from \"@/types/generated/Api/expertiseSearch\";\r\nimport { IDropdownItem } from \"@/types/models/common/dropdownItem.interface\";\r\nimport { IExpertSettings } from \"@/types/viewModels/myCadac/expertSettingsViewModel\";\r\nimport { LocationOptionViewModel } from \"@/types/models/menu/locationOptionViewModel\";\r\nimport { PropType } from \"vue\";\r\nimport { SaveExpertisesExpertSettingsRequest } from \"@/types/models/expert/saveExpertisesExpertSettingsRequest\";\r\nimport { SaveOverviewExpertSettingsRequest } from \"@/types/models/expert/saveOverviewExpertSettingsRequest\";\r\nimport { SaveSpokenLanguagesExpertSettingsRequest } from \"@/types/models/expert/saveSpokenLanguagesExpertSettingsRequest\";\r\nimport { UpdateCertificationsExpertSettingsRequest } from \"@/types/models/expert/updateCertificationsExpertSettingsRequest\";\r\nimport { UpdateExpertLevelExpertSettingsRequest } from \"@/types/models/expert/updateExpertLevelExpertSettingsRequest\";\r\nimport { reduce } from \"lodash\";\r\nimport { useDialog } from \"primevue/usedialog\";\r\nimport { useExpertStore } from \"@/store/expert/expertStore\";\r\nimport { zonedTimeToUtc } from \"date-fns-tz\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tCtaBlockModal,\r\n\t\tAccordion,\r\n\t\tAccordionTab,\r\n\t\tAutoComplete,\r\n\t\tChip,\r\n\t\tExpertExperienceForm,\r\n\t\tExpertLevelModal,\r\n\t\tExpertOverviewForm,\r\n\t\tLanguageDropdown,\r\n\t\tMultiSelect,\r\n\t\tPanel,\r\n\t\tPopoverIcon,\r\n\t\tProgressBar,\r\n\t},\r\n})\r\nexport default class ExpertSettings extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IExpertSettings>, required: true, default: {} })\r\n\tvm!: IExpertSettings;\r\n\r\n\teditingExperiences = {};\r\n\tisEditingCertifications = false;\r\n\tisEditingExpertLanguages = false;\r\n\tisEditingExpertLevel = false;\r\n\tisEditingExpertOverview = false;\r\n\tisEditingExpertises = false;\r\n\r\n\tactiveStepIndex = 0;\r\n\tavailableCertifications: IDropdownItem[] = [];\r\n\tavailableLanguages: LocationOptionViewModel[] = [];\r\n\texperiencesActiveTabIndexes: number[] = [];\r\n\texpertExperiences!: ExpertExperienceBlockViewModel[];\r\n\tsearchExpertiseResults: ExpertExpertiseBlockViewModel[] = [];\r\n\tsearchExpertisesQuery = \"\";\r\n\tselectedCertifications: ExpertCertification[] = [];\r\n\tselectedExpertises: ExpertExpertiseBlockViewModel[] = [];\r\n\tselectedLanguages: string[] = [];\r\n\tselectedProfileLanguage!: LocationOptionViewModel;\r\n\r\n\tv$ = useVuelidate();\r\n\texpertStore = useExpertStore();\r\n\tdialog = useDialog();\r\n\r\n\tcreated(): void {\r\n\t\tthis.availableCertifications = this.vm.availableCertifications.map((x) => ({ label: x.level, value: x }));\r\n\t\tthis.availableLanguages = this.vm.languageOptions.map((x) => ({\r\n\t\t\tcode: x.key,\r\n\t\t\tname: x.value,\r\n\t\t\tredirectUrl: \"\",\r\n\t\t}));\r\n\t\tthis.selectedProfileLanguage = this.availableLanguages.find(\r\n\t\t\t(x) => x.code === this.layoutStore.vm.currentLanguage?.key\r\n\t\t) as LocationOptionViewModel;\r\n\r\n\t\tthis.initOverview();\r\n\t\tthis.initLanguages();\r\n\t\tthis.initExpertises();\r\n\t\tthis.initExperiences();\r\n\t\tthis.initCertifications();\r\n\t}\r\n\r\n\tget expertProfile(): ExpertProfileViewModel {\r\n\t\treturn this.expertStore.expertProfile as ExpertProfileViewModel;\r\n\t}\r\n\r\n\tget editingLanguage(): string {\r\n\t\treturn this.selectedProfileLanguage?.code;\r\n\t}\r\n\r\n\tget showCompletionSteps(): boolean {\r\n\t\treturn this.expertProfile.state === ExpertPageState.created && !this.isProfileComplete;\r\n\t}\r\n\r\n\tget isProfileComplete(): boolean {\r\n\t\treturn this.expertProfile?.profileCompletionPercentage === 100;\r\n\t}\r\n\r\n\tget isProfileApproved(): boolean {\r\n\t\treturn this.expertProfile.state === ExpertPageState.approved;\r\n\t}\r\n\r\n\tget hasEmptyOverview(): boolean {\r\n\t\treturn (\r\n\t\t\t!this.expertProfile?.description &&\r\n\t\t\t!this.expertProfile?.function &&\r\n\t\t\t!this.expertProfile?.shortDescription &&\r\n\t\t\t!this.expertProfile?.shortDescriptionTitle\r\n\t\t);\r\n\t}\r\n\r\n\tinitOverview(): void {\r\n\t\tthis.expertStore.expertProfile = this.vm.expertProfile;\r\n\t}\r\n\r\n\tinitLanguages(): void {\r\n\t\tthis.selectedLanguages = this.expertProfile.spokenLanguages;\r\n\t}\r\n\r\n\tinitCertifications(): void {\r\n\t\tthis.selectedCertifications = this.expertProfile.certifications;\r\n\t}\r\n\r\n\tinitExperiences(): void {\r\n\t\tthis.expertExperiences = reduce(\r\n\t\t\tthis.expertProfile.experiences,\r\n\t\t\t(val, next) => {\r\n\t\t\t\tnext.experienceStartDate = zonedTimeToUtc(next.experienceStartDate, \"UTC\");\r\n\t\t\t\tif (next.experienceEndDate) next.experienceEndDate = zonedTimeToUtc(next.experienceEndDate, \"UTC\");\r\n\t\t\t\tval.push(next);\r\n\t\t\t\treturn val;\r\n\t\t\t},\r\n\t\t\t[] as ExpertExperienceBlockViewModel[]\r\n\t\t);\r\n\t}\r\n\r\n\tinitExpertises(): void {\r\n\t\tthis.selectedExpertises = this.expertProfile.expertises;\r\n\t}\r\n\r\n\tonAddExperienceClick(): void {\r\n\t\tthis.dialog.open(ExpertExperienceForm, {\r\n\t\t\tprops: {\r\n\t\t\t\theader: this.$t(\"myCadac.expertSettings.titleNewExperience\"),\r\n\t\t\t\tmodal: true,\r\n\t\t\t},\r\n\t\t\tdata: {\r\n\t\t\t\tvm: {} as ExpertExperienceBlockViewModel,\r\n\t\t\t},\r\n\t\t\tonClose: (options) => {\r\n\t\t\t\tconst data = options?.data;\r\n\t\t\t\tif (data) {\r\n\t\t\t\t\tthis.saveExpertExperience(data);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t});\r\n\t}\r\n\r\n\tsaveExpertLevel(level: ExpertLevelProductViewModel): void {\r\n\t\tconst model: UpdateExpertLevelExpertSettingsRequest = {\r\n\t\t\teditingLanguage: this.editingLanguage,\r\n\t\t\texpertLevelContentId: level.expertProductContentId,\r\n\t\t};\r\n\t\tthis.axios\r\n\t\t\t.post(\"/api/expert/settings/update-expertLevel\", model, { requestId: \"saveExpertLevel\" })\r\n\t\t\t.then(this.fetchExpertProfile)\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.isEditingExpertLevel = false;\r\n\t\t\t\tthis.expertStore.hideModal(\"ExpertLevel\");\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"success\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleSuccess\"),\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.expertSettings.toast.updateExpertLevelSuccess\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.expertSettings.toast.updateExpertLevelError\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n\r\n\tsaveExpertOverview(expertOverviewForm: ExpertSettingsOverviewForm): void {\r\n\t\tconst model: SaveOverviewExpertSettingsRequest = {\r\n\t\t\texpertFunction: expertOverviewForm.expertFunction,\r\n\t\t\tshortDescriptionTitle: expertOverviewForm.shortDescriptionTitle,\r\n\t\t\tshortDescription: expertOverviewForm.shortDescription,\r\n\t\t\tdescription: expertOverviewForm.description,\r\n\t\t\teditingLanguage: this.editingLanguage,\r\n\t\t};\r\n\t\tthis.axios\r\n\t\t\t.post(\"/api/expert/settings/save-overview\", model, { requestId: \"saveOverview\" })\r\n\t\t\t.then(this.fetchExpertProfile)\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.isEditingExpertOverview = false;\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"success\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleSuccess\"),\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.expertSettings.toast.updateExpertOverviewSuccess\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.expertSettings.toast.updateExpertOverviewError\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n\r\n\tsaveExpertLanguages(): void {\r\n\t\tconst model: SaveSpokenLanguagesExpertSettingsRequest = {\r\n\t\t\teditingLanguage: this.editingLanguage,\r\n\t\t\tspokenLanguages: this.selectedLanguages,\r\n\t\t};\r\n\r\n\t\tthis.axios\r\n\t\t\t.post(\"/api/expert/settings/save-languages\", model, { requestId: \"saveLanguages\" })\r\n\t\t\t.then(this.fetchExpertProfile)\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.isEditingExpertLanguages = false;\r\n\t\t\t\tthis.initLanguages();\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"success\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleSuccess\"),\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.expertSettings.toast.updateExpertLanguagesSuccess\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.expertSettings.toast.updateExpertLanguagesError\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n\r\n\tsaveExpertExpertises(): void {\r\n\t\tconst model: SaveExpertisesExpertSettingsRequest = {\r\n\t\t\teditingLanguage: this.editingLanguage,\r\n\t\t\texpertiseIds: this.selectedExpertises.map((x) => x.id),\r\n\t\t};\r\n\t\tthis.axios\r\n\t\t\t.post(\"/api/expert/settings/save-expertise\", model, { requestId: \"saveExpertises\" })\r\n\t\t\t.then(this.fetchExpertProfile)\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.isEditingExpertises = false;\r\n\t\t\t\tthis.initExpertises();\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"success\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleSuccess\"),\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.expertSettings.toast.updateExpertExpertisesSuccess\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.expertSettings.toast.updateExpertExpertisesError\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n\r\n\tsaveExpertExperience(experience: ExpertExperienceBlockViewModel): void {\r\n\t\tconst model: AddOrUpdateExperienceExpertSettingsRequest = {\r\n\t\t\teditingLanguage: this.editingLanguage,\r\n\t\t\tblockId: experience.id,\r\n\t\t\tcompany: experience.company,\r\n\t\t\tdescription: experience.description,\r\n\t\t\texperienceStartDateMonth: experience.experienceStartDate.getMonth() + 1,\r\n\t\t\texperienceStartDateYear: experience.experienceStartDate.getFullYear(),\r\n\t\t\texperienceEndDateMonth: experience.experienceEndDate\r\n\t\t\t\t? experience.experienceEndDate?.getMonth() + 1\r\n\t\t\t\t: undefined,\r\n\t\t\texperienceEndDateYear: experience.experienceEndDate?.getFullYear(),\r\n\t\t\ttitle: experience.title,\r\n\t\t\ttype: ExpertExperienceType[experience.type],\r\n\t\t};\r\n\r\n\t\tthis.axios\r\n\t\t\t.post(\"/api/expert/settings/save-experience\", model, { requestId: \"saveExperience\" })\r\n\t\t\t.then(this.fetchExpertProfile)\r\n\t\t\t.then(() => {\r\n\t\t\t\tif (model.blockId) this.editingExperiences[model.blockId] = false;\r\n\t\t\t\tthis.initExperiences();\r\n\t\t\t\tthis.experiencesActiveTabIndexes.push(\r\n\t\t\t\t\tthis.expertExperiences.findIndex((x) => x.title === model.title)\r\n\t\t\t\t);\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"success\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleSuccess\"),\r\n\t\t\t\t\tdetail: model.blockId\r\n\t\t\t\t\t\t? this.$t(\"myCadac.expertSettings.toast.updateExpertExperienceSuccess\", [model.title])\r\n\t\t\t\t\t\t: this.$t(\"myCadac.expertSettings.toast.addExpertExperienceSuccess\", [model.title]),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: model.blockId\r\n\t\t\t\t\t\t? this.$t(\"myCadac.expertSettings.toast.updateExpertExperienceError\", [model.title])\r\n\t\t\t\t\t\t: this.$t(\"myCadac.expertSettings.toast.addExpertExperienceError\", [model.title]),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n\r\n\tconfirmRemoveExperience(experience: ExpertExperienceBlockViewModel): void {\r\n\t\tconst model: DeleteExperienceExpertSettingsRequest = {\r\n\t\t\tblockId: experience.id || 0,\r\n\t\t\teditingLanguage: this.editingLanguage,\r\n\t\t};\r\n\t\tthis.$confirm.require({\r\n\t\t\tmessage: this.$t(\"myCadac.expertSettings.confirmRemoveExperience\", [experience.title]),\r\n\t\t\theader: this.$t(\"common.messages.titleImportant\"),\r\n\t\t\tacceptLabel: this.$t(\"common.yes\"),\r\n\t\t\trejectLabel: this.$t(\"common.no\"),\r\n\t\t\taccept: () => {\r\n\t\t\t\tthis.axios\r\n\t\t\t\t\t.post(\"/api/expert/settings/delete-experience\", model, { requestId: \"removeExperience\" })\r\n\t\t\t\t\t.then(this.fetchExpertProfile)\r\n\t\t\t\t\t.then(() => {\r\n\t\t\t\t\t\tthis.initExperiences();\r\n\t\t\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\t\t\tseverity: \"success\",\r\n\t\t\t\t\t\t\tsummary: this.$t(\"common.messages.titleSuccess\"),\r\n\t\t\t\t\t\t\tdetail: this.$t(\"myCadac.expertSettings.toast.deleteExpertExperienceSuccess\", [\r\n\t\t\t\t\t\t\t\texperience.title,\r\n\t\t\t\t\t\t\t]),\r\n\t\t\t\t\t\t\tlife: 3000,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((err) => {\r\n\t\t\t\t\t\tLog.error(err);\r\n\t\t\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\t\t\tdetail: this.$t(\"myCadac.expertSettings.toast.deleteExpertExperienceError\", [\r\n\t\t\t\t\t\t\t\texperience.title,\r\n\t\t\t\t\t\t\t]),\r\n\t\t\t\t\t\t\tlife: 3000,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t},\r\n\t\t});\r\n\t}\r\n\r\n\tsaveExpertCertifications(): void {\r\n\t\tconst model: UpdateCertificationsExpertSettingsRequest = {\r\n\t\t\tcertifications: this.selectedCertifications,\r\n\t\t\teditingLanguage: this.editingLanguage,\r\n\t\t};\r\n\t\tthis.axios\r\n\t\t\t.post(\"/api/expert/settings/save-certifications\", model, { requestId: \"saveCertifications\" })\r\n\t\t\t.then(this.fetchExpertProfile)\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.isEditingCertifications = false;\r\n\t\t\t\tthis.initCertifications();\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"success\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleSuccess\"),\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.expertSettings.toast.updateExpertCertificationsSuccess\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.expertSettings.toast.updateExpertCertificationsError\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n\r\n\tsearchExpertises({ query }: { query: string }): void {\r\n\t\tthis.searchExpertisesQuery = query;\r\n\t\tthis.axios\r\n\t\t\t.get(`/api/search/expertises`, { params: { search: query }, requestId: \"searchExpertise\" })\r\n\t\t\t.then(({ data }: { data: ExpertiseSearch[] }) => {\r\n\t\t\t\tthis.searchExpertiseResults = data\r\n\t\t\t\t\t.map((x) => ({ id: x.value, name: x.name, category: x.category }))\r\n\t\t\t\t\t.filter((x) => this.selectedExpertises?.find((y) => y.id !== x.id) || true);\r\n\t\t\t})\r\n\t\t\t.catch((err) => Log.error(err));\r\n\t}\r\n\r\n\tonProfileLanguageChanged(lang: LocationOptionViewModel): void {\r\n\t\tthis.selectedProfileLanguage = lang;\r\n\t\tthis.fetchExpertProfile().then(() => {\r\n\t\t\tthis.initExpertises();\r\n\t\t\tthis.initExperiences();\r\n\t\t\tthis.initCertifications();\r\n\t\t});\r\n\t}\r\n\r\n\tprivate fetchExpertProfile() {\r\n\t\treturn this.expertStore.fetchExpertProfile(this.expertProfile.cadacAccountId, this.editingLanguage);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { resolveDirective as _resolveDirective, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"d-flex flex-wrap\" }\nconst _hoisted_2 = { class: \"modal-image\" }\nconst _hoisted_3 = [\"alt\"]\nconst _hoisted_4 = { class: \"flex-1 p-2\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"mb-0\"\n}\nconst _hoisted_6 = [\"innerHTML\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Dialog = _resolveComponent(\"Dialog\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createBlock(_component_Dialog, {\n visible: _ctx.isVisible,\n \"onUpdate:visible\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.isVisible) = $event)),\n breakpoints: { '1600px': '45vw', '1200px': '50vw', '992px': '60vw', '768px': '75vw', '576px': '90vw' },\n class: \"p-dialog-secondary cta-modal\",\n closable: true,\n header: _ctx.header,\n modal: true,\n style: { width: '40vw' },\n onHide: _cache[3] || (_cache[3] = ($event: any) => (_ctx.onCancel()))\n }, {\n footer: _withCtx(() => [\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-plain\",\n label: _ctx.$t('common.cancel'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.onCancel()))\n }, null, 8, [\"label\"]),\n _createVNode(_component_Button, {\n class: \"p-button-success p-button-arrow\",\n label: _ctx.vm.ctaText,\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onSubmit()))\n }, null, 8, [\"label\"])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _withDirectives(_createElementVNode(\"img\", {\n alt: _ctx.vm.imageAlt\n }, null, 8, _hoisted_3), [\n [_directive_lazy, _ctx.vm.imageUrl]\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n (_ctx.vm.title)\n ? (_openBlock(), _createElementBlock(\"h3\", _hoisted_5, _toDisplayString(_ctx.vm.title), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"p\", {\n class: \"text-preline mb-0\",\n innerHTML: _ctx.vm?.text\n }, null, 8, _hoisted_6)\n ])\n ])\n ]),\n _: 1\n }, 8, [\"visible\", \"header\"]))\n}","<template>\r\n\t<Dialog\r\n\t\tv-model:visible=\"isVisible\"\r\n\t\t:breakpoints=\"{ '1600px': '45vw', '1200px': '50vw', '992px': '60vw', '768px': '75vw', '576px': '90vw' }\"\r\n\t\tclass=\"p-dialog-secondary cta-modal\"\r\n\t\t:closable=\"true\"\r\n\t\t:header=\"header\"\r\n\t\t:modal=\"true\"\r\n\t\t:style=\"{ width: '40vw' }\"\r\n\t\t@hide=\"onCancel()\"\r\n\t>\r\n\t\t<div class=\"d-flex flex-wrap\">\r\n\t\t\t<div class=\"modal-image\">\r\n\t\t\t\t<img v-lazy=\"vm.imageUrl\" :alt=\"vm.imageAlt\" />\r\n\t\t\t</div>\r\n\t\t\t<div class=\"flex-1 p-2\">\r\n\t\t\t\t<h3 v-if=\"vm.title\" class=\"mb-0\">{{ vm.title }}</h3>\r\n\t\t\t\t<p class=\"text-preline mb-0\" v-html=\"vm?.text\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<template #footer>\r\n\t\t\t<Button class=\"p-button-text p-button-plain\" :label=\"$t('common.cancel')\" @click=\"onCancel()\" />\r\n\t\t\t<Button class=\"p-button-success p-button-arrow\" :label=\"vm.ctaText\" @click=\"onSubmit()\" />\r\n\t\t</template>\r\n\t</Dialog>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Emit, Prop } from \"vue-facing-decorator\";\r\nimport { PropType } from \"vue\";\r\nimport { CallToActionModalBlockViewModel } from \"@/types/models/common/callToActionModalBlockViewModel\";\r\n\r\n@Component\r\nexport default class CtaBlockModal extends BaseComponent {\r\n\tisVisible = true;\r\n\r\n\t@Prop({ type: String, default: \"\", required: false }) header!: string;\r\n\r\n\t@Prop({ type: Object as PropType<CallToActionModalBlockViewModel>, required: true, default: undefined })\r\n\tvm!: CallToActionModalBlockViewModel;\r\n\r\n\t@Emit() submit() {\r\n\t\treturn true;\r\n\t}\r\n\r\n\t@Emit() cancel() {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tonCancel(): void {\r\n\t\tthis.cancel();\r\n\t}\r\n\r\n\tonSubmit(): void {\r\n\t\tthis.submit();\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n.cta-modal {\r\n\t.p-dialog-content {\r\n\t\tpadding: 0;\r\n\t}\r\n\r\n\t.p-dialog-footer {\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tjustify-content: flex-end;\r\n\t}\r\n\r\n\t.modal-image {\r\n\t\timg {\r\n\t\t\theight: 100%;\r\n\t\t\twidth: 100%;\r\n\t\t\tobject-fit: cover;\r\n\t\t\tobject-position: center;\r\n\t\t}\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./ctaBlockModal.vue?vue&type=template&id=50316c1d&ts=true\"\nimport script from \"./ctaBlockModal.vue?vue&type=script&lang=ts\"\nexport * from \"./ctaBlockModal.vue?vue&type=script&lang=ts\"\n\nimport \"./ctaBlockModal.vue?vue&type=style&index=0&id=50316c1d&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = {\n key: 0,\n class: \"\"\n}\nconst _hoisted_2 = { class: \"form-row\" }\nconst _hoisted_3 = { class: \"form-group col-12 col-xl-6\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_5 = { class: \"form-row\" }\nconst _hoisted_6 = { class: \"form-group col-12\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_8 = { class: \"form-row\" }\nconst _hoisted_9 = { class: \"form-group col-12\" }\nconst _hoisted_10 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_11 = { class: \"form-row\" }\nconst _hoisted_12 = { class: \"form-group col-6\" }\nconst _hoisted_13 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_14 = { class: \"form-group col-6\" }\nconst _hoisted_15 = { key: 0 }\nconst _hoisted_16 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_17 = {\n key: 1,\n class: \"p-error\"\n}\nconst _hoisted_18 = { class: \"form-row\" }\nconst _hoisted_19 = { class: \"form-group col-12\" }\nconst _hoisted_20 = { key: 0 }\nconst _hoisted_21 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_22 = {\n key: 1,\n class: \"p-error\"\n}\nconst _hoisted_23 = { key: 2 }\nconst _hoisted_24 = {\n class: \"text-preline\",\n style: {\"word-break\":\"break-word\"}\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Dropdown = _resolveComponent(\"Dropdown\")!\n const _component_InputText = _resolveComponent(\"InputText\")!\n const _component_Calendar = _resolveComponent(\"Calendar\")!\n const _component_Textarea = _resolveComponent(\"Textarea\")!\n const _component_Button = _resolveComponent(\"Button\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (_ctx.canEdit)\n ? (_openBlock(), _createElementBlock(\"form\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['expertExperienceForm'].type?.required })\n }, _toDisplayString(_ctx.$t(\"common.forms.lblType\")), 3),\n _createVNode(_component_Dropdown, {\n modelValue: _ctx.v$['expertExperienceForm'].type.$model,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.v$['expertExperienceForm'].type.$model) = $event)),\n disabled: !_ctx.canEdit,\n \"option-label\": \"label\",\n \"option-value\": \"value\",\n options: _ctx.typeOptions\n }, null, 8, [\"modelValue\", \"disabled\", \"options\"]),\n (_ctx.shouldShowError(_ctx.v$['expertExperienceForm'].type))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_4, _toDisplayString(_ctx.v$[\"expertExperienceForm\"].type?.required?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['expertExperienceForm'].title?.required })\n }, _toDisplayString(_ctx.$t(\"common.forms.lblTitle\")), 3),\n _createVNode(_component_InputText, {\n modelValue: _ctx.v$['expertExperienceForm'].title.$model,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.v$['expertExperienceForm'].title.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['expertExperienceForm'].title) }),\n disabled: !_ctx.canEdit,\n type: \"text\"\n }, null, 8, [\"modelValue\", \"class\", \"disabled\"]),\n (_ctx.shouldShowError(_ctx.v$['expertExperienceForm'].title))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_7, _toDisplayString(_ctx.v$[\"expertExperienceForm\"].title?.required?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['expertExperienceForm'].company?.required })\n }, _toDisplayString(_ctx.$t(\"common.forms.lblCompanyName\")), 3),\n _createVNode(_component_InputText, {\n modelValue: _ctx.v$['expertExperienceForm'].company.$model,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.v$['expertExperienceForm'].company.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['expertExperienceForm'].company) }),\n disabled: !_ctx.canEdit,\n type: \"text\"\n }, null, 8, [\"modelValue\", \"class\", \"disabled\"]),\n (_ctx.shouldShowError(_ctx.v$['expertExperienceForm'].company))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_10, _toDisplayString(_ctx.v$[\"expertExperienceForm\"].company?.required?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['expertExperienceForm'].experienceStartDate?.required })\n }, _toDisplayString(_ctx.$t(\"common.forms.lblStartDate\")), 3),\n _createVNode(_component_Calendar, {\n modelValue: _ctx.v$['expertExperienceForm'].experienceStartDate.$model,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.v$['expertExperienceForm'].experienceStartDate.$model) = $event)),\n autocomplete: \"off\",\n class: \"w-100\",\n \"date-format\": \"mm/yy\",\n disabled: !_ctx.canEdit,\n \"input-class\": \r\n\t\t\t\t\t\t_ctx.shouldShowError(_ctx.v$['expertExperienceForm'].experienceStartDate) ? 'p-invalid' : ''\r\n\t\t\t\t\t,\n \"manual-input\": false,\n \"show-icon\": \"\",\n view: \"month\"\n }, null, 8, [\"modelValue\", \"disabled\", \"input-class\"]),\n (_ctx.shouldShowError(_ctx.v$['expertExperienceForm'].experienceStartDate))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_13, _toDisplayString(_ctx.v$[\"expertExperienceForm\"].experienceStartDate?.required?.$message), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['expertExperienceForm'].experienceEndDate?.required })\n }, _toDisplayString(_ctx.$t(\"common.forms.lblEndDate\")), 3),\n _createVNode(_component_Calendar, {\n modelValue: _ctx.v$['expertExperienceForm'].experienceEndDate.$model,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_ctx.v$['expertExperienceForm'].experienceEndDate.$model) = $event)),\n autocomplete: \"off\",\n class: \"w-100\",\n \"date-format\": \"mm/yy\",\n disabled: !_ctx.canEdit,\n \"input-class\": _ctx.shouldShowError(_ctx.v$['expertExperienceForm'].experienceEndDate) ? 'p-invalid' : '',\n \"manual-input\": false,\n \"show-icon\": \"\",\n view: \"month\"\n }, null, 8, [\"modelValue\", \"disabled\", \"input-class\"]),\n (_ctx.shouldShowError(_ctx.v$['expertExperienceForm'].experienceEndDate))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_15, [\n (!_ctx.v$['expertExperienceForm'].experienceEndDate.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_16, _toDisplayString(_ctx.v$[\"expertExperienceForm\"].experienceEndDate?.required?.$message), 1))\n : (_ctx.v$['expertExperienceForm'].experienceEndDate.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_17, _toDisplayString(_ctx.v$[\"expertExperienceForm\"].experienceEndDate.endDateAfterStartDate?.$message), 1))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_18, [\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['expertExperienceForm'].description?.required })\n }, _toDisplayString(_ctx.$t(\"common.forms.lblDescription\")), 3),\n _createVNode(_component_Textarea, {\n modelValue: _ctx.v$['expertExperienceForm'].description.$model,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event: any) => ((_ctx.v$['expertExperienceForm'].description.$model) = $event)),\n \"auto-resize\": true,\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['expertExperienceForm'].description) }),\n cols: \"30\",\n disabled: !_ctx.canEdit,\n rows: \"5\"\n }, null, 8, [\"modelValue\", \"class\", \"disabled\"]),\n (_ctx.shouldShowError(_ctx.v$['expertExperienceForm'].description))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_20, [\n (!_ctx.v$['expertExperienceForm'].description.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_21, _toDisplayString(_ctx.v$[\"expertExperienceForm\"].description?.required?.$message), 1))\n : (_ctx.v$['expertExperienceForm'].description.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_22, _toDisplayString(_ctx.v$[\"expertExperienceForm\"].description.minLength?.$message), 1))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.canEdit)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: _normalizeClass([\"d-flex\", { 'justify-content-end': _ctx.isDialog }])\n }, [\n (_ctx.isDialog)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-text\",\n label: _ctx.$t(`common.cancel`),\n onClick: _ctx.onCancel\n }, null, 8, [\"label\", \"onClick\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Button, {\n class: \"p-button-primary\",\n disabled: !_ctx.canSubmit,\n label: _ctx.$t(`common.save`),\n onClick: _ctx.onSubmit\n }, null, 8, [\"disabled\", \"label\", \"onClick\"])\n ], 2))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_23, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"common.forms.lblType\")), 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(`enum.expertExperienceType.${_ctx.vm.type}`)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"common.forms.lblTitle\")), 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.vm.title), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"common.forms.lblCompanyName\")), 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.vm.company), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"common.forms.lblDate\")), 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.formatExperienceDate(_ctx.vm.experienceStartDate)) + \" - \" + _toDisplayString(_ctx.formatExperienceDate(_ctx.vm.experienceEndDate)), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"common.forms.lblDescription\")), 1),\n _createElementVNode(\"dd\", _hoisted_24, _toDisplayString(_ctx.vm.description), 1)\n ])\n ]))\n ], 64))\n}","<template>\r\n\t<form v-if=\"canEdit\" class=\"\">\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-12 col-xl-6\">\r\n\t\t\t\t<label :class=\"{ required: v$['expertExperienceForm'].type?.required }\">\r\n\t\t\t\t\t{{ $t(\"common.forms.lblType\") }}\r\n\t\t\t\t</label>\r\n\t\t\t\t<Dropdown\r\n\t\t\t\t\tv-model=\"v$['expertExperienceForm'].type.$model\"\r\n\t\t\t\t\t:disabled=\"!canEdit\"\r\n\t\t\t\t\toption-label=\"label\"\r\n\t\t\t\t\toption-value=\"value\"\r\n\t\t\t\t\t:options=\"typeOptions\"\r\n\t\t\t\t/>\r\n\t\t\t\t<small v-if=\"shouldShowError(v$['expertExperienceForm'].type)\" class=\"p-error\">\r\n\t\t\t\t\t{{ v$[\"expertExperienceForm\"].type?.required?.$message }}\r\n\t\t\t\t</small>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-12\">\r\n\t\t\t\t<label :class=\"{ required: v$['expertExperienceForm'].title?.required }\">\r\n\t\t\t\t\t{{ $t(\"common.forms.lblTitle\") }}\r\n\t\t\t\t</label>\r\n\t\t\t\t<InputText\r\n\t\t\t\t\tv-model=\"v$['expertExperienceForm'].title.$model\"\r\n\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['expertExperienceForm'].title) }\"\r\n\t\t\t\t\t:disabled=\"!canEdit\"\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t/>\r\n\t\t\t\t<small v-if=\"shouldShowError(v$['expertExperienceForm'].title)\" class=\"p-error\">\r\n\t\t\t\t\t{{ v$[\"expertExperienceForm\"].title?.required?.$message }}\r\n\t\t\t\t</small>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-12\">\r\n\t\t\t\t<label :class=\"{ required: v$['expertExperienceForm'].company?.required }\">\r\n\t\t\t\t\t{{ $t(\"common.forms.lblCompanyName\") }}\r\n\t\t\t\t</label>\r\n\t\t\t\t<InputText\r\n\t\t\t\t\tv-model=\"v$['expertExperienceForm'].company.$model\"\r\n\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['expertExperienceForm'].company) }\"\r\n\t\t\t\t\t:disabled=\"!canEdit\"\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t/>\r\n\t\t\t\t<small v-if=\"shouldShowError(v$['expertExperienceForm'].company)\" class=\"p-error\">\r\n\t\t\t\t\t{{ v$[\"expertExperienceForm\"].company?.required?.$message }}\r\n\t\t\t\t</small>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-6\">\r\n\t\t\t\t<label :class=\"{ required: v$['expertExperienceForm'].experienceStartDate?.required }\">\r\n\t\t\t\t\t{{ $t(\"common.forms.lblStartDate\") }}\r\n\t\t\t\t</label>\r\n\t\t\t\t<Calendar\r\n\t\t\t\t\tv-model=\"v$['expertExperienceForm'].experienceStartDate.$model\"\r\n\t\t\t\t\tautocomplete=\"off\"\r\n\t\t\t\t\tclass=\"w-100\"\r\n\t\t\t\t\tdate-format=\"mm/yy\"\r\n\t\t\t\t\t:disabled=\"!canEdit\"\r\n\t\t\t\t\t:input-class=\"\r\n\t\t\t\t\t\tshouldShowError(v$['expertExperienceForm'].experienceStartDate) ? 'p-invalid' : ''\r\n\t\t\t\t\t\"\r\n\t\t\t\t\t:manual-input=\"false\"\r\n\t\t\t\t\tshow-icon\r\n\t\t\t\t\tview=\"month\"\r\n\t\t\t\t/>\r\n\t\t\t\t<small v-if=\"shouldShowError(v$['expertExperienceForm'].experienceStartDate)\" class=\"p-error\">\r\n\t\t\t\t\t{{ v$[\"expertExperienceForm\"].experienceStartDate?.required?.$message }}\r\n\t\t\t\t</small>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"form-group col-6\">\r\n\t\t\t\t<label :class=\"{ required: v$['expertExperienceForm'].experienceEndDate?.required }\">\r\n\t\t\t\t\t{{ $t(\"common.forms.lblEndDate\") }}\r\n\t\t\t\t</label>\r\n\t\t\t\t<Calendar\r\n\t\t\t\t\tv-model=\"v$['expertExperienceForm'].experienceEndDate.$model\"\r\n\t\t\t\t\tautocomplete=\"off\"\r\n\t\t\t\t\tclass=\"w-100\"\r\n\t\t\t\t\tdate-format=\"mm/yy\"\r\n\t\t\t\t\t:disabled=\"!canEdit\"\r\n\t\t\t\t\t:input-class=\"shouldShowError(v$['expertExperienceForm'].experienceEndDate) ? 'p-invalid' : ''\"\r\n\t\t\t\t\t:manual-input=\"false\"\r\n\t\t\t\t\tshow-icon\r\n\t\t\t\t\tview=\"month\"\r\n\t\t\t\t/>\r\n\t\t\t\t<span v-if=\"shouldShowError(v$['expertExperienceForm'].experienceEndDate)\">\r\n\t\t\t\t\t<small v-if=\"!v$['expertExperienceForm'].experienceEndDate.$model\" class=\"p-error\">\r\n\t\t\t\t\t\t{{ v$[\"expertExperienceForm\"].experienceEndDate?.required?.$message }}\r\n\t\t\t\t\t</small>\r\n\t\t\t\t\t<small v-else-if=\"v$['expertExperienceForm'].experienceEndDate.$model\" class=\"p-error\">\r\n\t\t\t\t\t\t{{ v$[\"expertExperienceForm\"].experienceEndDate.endDateAfterStartDate?.$message }}\r\n\t\t\t\t\t</small>\r\n\t\t\t\t</span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-12\">\r\n\t\t\t\t<label :class=\"{ required: v$['expertExperienceForm'].description?.required }\">\r\n\t\t\t\t\t{{ $t(\"common.forms.lblDescription\") }}\r\n\t\t\t\t</label>\r\n\t\t\t\t<Textarea\r\n\t\t\t\t\tv-model=\"v$['expertExperienceForm'].description.$model\"\r\n\t\t\t\t\t:auto-resize=\"true\"\r\n\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['expertExperienceForm'].description) }\"\r\n\t\t\t\t\tcols=\"30\"\r\n\t\t\t\t\t:disabled=\"!canEdit\"\r\n\t\t\t\t\trows=\"5\"\r\n\t\t\t\t/>\r\n\t\t\t\t<span v-if=\"shouldShowError(v$['expertExperienceForm'].description)\">\r\n\t\t\t\t\t<small v-if=\"!v$['expertExperienceForm'].description.$model\" class=\"p-error\">\r\n\t\t\t\t\t\t{{ v$[\"expertExperienceForm\"].description?.required?.$message }}\r\n\t\t\t\t\t</small>\r\n\t\t\t\t\t<small v-else-if=\"v$['expertExperienceForm'].description.$model\" class=\"p-error\">\r\n\t\t\t\t\t\t{{ v$[\"expertExperienceForm\"].description.minLength?.$message }}\r\n\t\t\t\t\t</small>\r\n\t\t\t\t</span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</form>\r\n\t<div v-if=\"canEdit\" class=\"d-flex\" :class=\"{ 'justify-content-end': isDialog }\">\r\n\t\t<Button v-if=\"isDialog\" class=\"p-button-text\" :label=\"$t(`common.cancel`)\" @click=\"onCancel\" />\r\n\t\t<Button class=\"p-button-primary\" :disabled=\"!canSubmit\" :label=\"$t(`common.save`)\" @click=\"onSubmit\" />\r\n\t</div>\r\n\t<div v-else>\r\n\t\t<dl>\r\n\t\t\t<dt>{{ $t(\"common.forms.lblType\") }}</dt>\r\n\t\t\t<dd>{{ $t(`enum.expertExperienceType.${vm.type}`) }}</dd>\r\n\t\t\t<dt>{{ $t(\"common.forms.lblTitle\") }}</dt>\r\n\t\t\t<dd>{{ vm.title }}</dd>\r\n\t\t\t<dt>{{ $t(\"common.forms.lblCompanyName\") }}</dt>\r\n\t\t\t<dd>{{ vm.company }}</dd>\r\n\t\t\t<dt>{{ $t(\"common.forms.lblDate\") }}</dt>\r\n\t\t\t<dd>\r\n\t\t\t\t{{ formatExperienceDate(vm.experienceStartDate) }} -\r\n\t\t\t\t{{ formatExperienceDate(vm.experienceEndDate) }}\r\n\t\t\t</dd>\r\n\t\t\t<dt>{{ $t(\"common.forms.lblDescription\") }}</dt>\r\n\t\t\t<dd class=\"text-preline\" style=\"word-break: break-word\">{{ vm.description }}</dd>\r\n\t\t</dl>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport Accordion from \"primevue/accordion\";\r\nimport AccordionTab from \"primevue/accordiontab\";\r\nimport Avatar from \"primevue/avatar\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Button from \"primevue/button\";\r\nimport Calendar, { CalendarProps } from \"primevue/calendar\";\r\nimport Chip from \"primevue/chip\";\r\nimport LanguageDropdown from \"@/components/common/menu/languageDropdown.vue\";\r\nimport MultiSelect from \"primevue/multiselect\";\r\nimport Panel from \"primevue/panel\";\r\nimport PopoverIcon from \"@/components/common/popoverIcon.vue\";\r\nimport useVuelidate, { Validation, ValidatorFn } from \"@vuelidate/core\";\r\nimport { Component, Emit, Inject, Prop } from \"vue-facing-decorator\";\r\nimport { DynamicDialogInstance } from \"primevue/dynamicdialogoptions\";\r\nimport { ExpertExperienceBlockViewModel } from \"@/types/models/expert/expertExperienceBlockViewModel\";\r\nimport { ExpertExperienceType } from \"@/types/enum/expertExperienceType\";\r\nimport { FormatHelper } from \"@/types/helpers/formatHelper\";\r\nimport { IDropdownItem } from \"@/types/models/common/dropdownItem.interface\";\r\nimport { PropType } from \"vue\";\r\nimport { isAfter, isDate } from \"date-fns\";\r\nimport { maxLength, minLength, required, withI18nMessage } from \"@/types/utils/i18n-validators\";\r\n\r\nconst checkEndDateIsAfterStartDate = (_value: string, siblings: any, vm: any): boolean => {\r\n\tif (!vm && siblings) vm = siblings;\r\n\treturn (\r\n\t\t!vm[\"expertExperienceForm\"].experienceEndDate ||\r\n\t\tisAfter(vm[\"expertExperienceForm\"].experienceEndDate, vm[\"expertExperienceForm\"].experienceStartDate)\r\n\t);\r\n};\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tAccordion,\r\n\t\tAccordionTab,\r\n\t\tAvatar,\r\n\t\tButton,\r\n\t\tCalendar,\r\n\t\tChip,\r\n\t\tLanguageDropdown,\r\n\t\tMultiSelect,\r\n\t\tPanel,\r\n\t\tPopoverIcon,\r\n\t},\r\n\toptions: {\r\n\t\tvalidations: {\r\n\t\t\texpertExperienceForm: {\r\n\t\t\t\ttype: { required },\r\n\t\t\t\ttitle: { required, maxLength: maxLength(255) },\r\n\t\t\t\tcompany: { required, maxLength: maxLength(255) },\r\n\t\t\t\texperienceStartDate: { required },\r\n\t\t\t\texperienceEndDate: {\r\n\t\t\t\t\tendDateAfterStartDate: withI18nMessage(checkEndDateIsAfterStartDate as ValidatorFn),\r\n\t\t\t\t},\r\n\t\t\t\tdescription: { required, minLength: minLength(120), maxLength: maxLength(1500) },\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n})\r\nexport default class ExpertExperienceFrom extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<ExpertExperienceBlockViewModel>, required: false, default: {} })\r\n\tvm!: ExpertExperienceBlockViewModel;\r\n\r\n\t@Prop({ type: Boolean, required: false, default: false })\r\n\tisEditing!: boolean;\r\n\r\n\t@Emit() submit(): ExpertExperienceBlockViewModel {\r\n\t\treturn this.expertExperienceForm;\r\n\t}\r\n\r\n\t@Inject({\r\n\t\tdefault: undefined,\r\n\t})\r\n\tdialogRef!: DynamicDialogInstance;\r\n\r\n\texpertExperienceForm!: ExpertExperienceBlockViewModel;\r\n\tsubmitted = false;\r\n\tisDialog = false;\r\n\ttypeOptions: IDropdownItem[] = [];\r\n\r\n\tv$ = useVuelidate();\r\n\r\n\tcreated(): void {\r\n\t\tif (this.vm) {\r\n\t\t\tthis.expertExperienceForm = {\r\n\t\t\t\tid: this.vm?.id,\r\n\t\t\t\ttype: this.vm?.type,\r\n\t\t\t\ttitle: this.vm?.title,\r\n\t\t\t\tcompany: this.vm?.company,\r\n\t\t\t\texperienceStartDate: this.vm?.experienceStartDate,\r\n\t\t\t\texperienceEndDate: this.vm?.experienceEndDate,\r\n\t\t\t\tdescription: this.vm?.description,\r\n\t\t\t};\r\n\t\t}\r\n\t\tthis.typeOptions = [\r\n\t\t\t{\r\n\t\t\t\tlabel: this.$t(\"enum.expertExperienceType.0\"),\r\n\t\t\t\tvalue: ExpertExperienceType.Experience,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: this.$t(\"enum.expertExperienceType.1\"),\r\n\t\t\t\tvalue: ExpertExperienceType.Education,\r\n\t\t\t},\r\n\t\t];\r\n\t}\r\n\r\n\tmounted(): void {\r\n\t\tif (this.dialogRef?.data?.vm) {\r\n\t\t\tthis.isDialog = true;\r\n\t\t\tconst vm = this.dialogRef.data?.vm;\r\n\t\t\tthis.expertExperienceForm = {\r\n\t\t\t\tid: 0,\r\n\t\t\t\ttype: vm?.type,\r\n\t\t\t\ttitle: vm?.title,\r\n\t\t\t\tcompany: vm?.company,\r\n\t\t\t\texperienceStartDate: vm?.experienceStartDate,\r\n\t\t\t\texperienceEndDate: vm?.experienceEndDate,\r\n\t\t\t\tdescription: vm?.description,\r\n\t\t\t};\r\n\t\t}\r\n\t}\r\n\r\n\tget endDateOptions(): Partial<CalendarProps> {\r\n\t\treturn {\r\n\t\t\tminDate: this.expertExperienceForm?.experienceStartDate,\r\n\t\t\ttouchUI: this.isSmallScreen as any,\r\n\t\t};\r\n\t}\r\n\r\n\tget canEdit(): boolean {\r\n\t\treturn this.isEditing || this.isDialog;\r\n\t}\r\n\r\n\tget canSubmit(): boolean {\r\n\t\treturn this.v$[\"expertExperienceForm\"].$anyDirty && !this.v$[\"expertExperienceForm\"].$invalid;\r\n\t}\r\n\r\n\tformatExperienceDate(date: string | Date | undefined): string {\r\n\t\tconst dateToFormat = isDate(date) ? (date as Date).toISOString() : (date as string);\r\n\t\treturn FormatHelper.formatDateAsMonthYearString(dateToFormat, this.currentRegion);\r\n\t}\r\n\r\n\tshouldShowError(fieldToValidate: Validation): boolean {\r\n\t\treturn fieldToValidate.$invalid && (this.submitted || fieldToValidate.$dirty);\r\n\t}\r\n\r\n\tonSubmit(): void {\r\n\t\tthis.submitted = true;\r\n\t\tif (!this.canSubmit) return;\r\n\t\tif (this.dialogRef) {\r\n\t\t\tthis.dialogRef.close(this.expertExperienceForm);\r\n\t\t} else {\r\n\t\t\tthis.submit();\r\n\t\t}\r\n\t}\r\n\r\n\tonCancel(): void {\r\n\t\tif (this.dialogRef) {\r\n\t\t\tthis.dialogRef.close();\r\n\t\t}\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, withCtx as _withCtx, vShow as _vShow, withDirectives as _withDirectives, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-359e2d90\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"d-flex flex-row align-items-center\"\n}\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { class: \"d-flex flex-row align-items-center\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_country_flag = _resolveComponent(\"country-flag\")!\n const _component_Dropdown = _resolveComponent(\"Dropdown\")!\n\n return _withDirectives((_openBlock(), _createElementBlock(\"div\", null, [\n _createVNode(_component_Dropdown, {\n modelValue: _ctx.selectedLanguage,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.selectedLanguage) = $event)),\n \"append-to\": \"self\",\n class: _normalizeClass([\"language-menu\", { 'w-100': _ctx.useFullWidth, 'pr-2': _ctx.useFullWidth }]),\n \"option-label\": \"name\",\n options: _ctx.languages,\n placeholder: \" \",\n scrollheight: \"500px\",\n onChange: _ctx.onLangSelected\n }, {\n value: _withCtx((slotProps) => [\n (slotProps.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_country_flag, {\n class: \"flag-icon rounded-lg\",\n country: _ctx.mapLanguageToCountryCode(slotProps.value.code),\n size: \"normal\"\n }, null, 8, [\"country\"]),\n (_ctx.useFullWidth)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, _toDisplayString(_ctx.languages.find((x) => x.code === slotProps.value)?.name), 1))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n option: _withCtx((slotProps) => [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_country_flag, {\n class: \"rounded-lg mr-1 my-0\",\n country: _ctx.mapLanguageToCountryCode(slotProps.option.code),\n size: \"normal\"\n }, null, 8, [\"country\"]),\n _createElementVNode(\"div\", null, _toDisplayString(slotProps.option.name), 1)\n ])\n ]),\n _: 1\n }, 8, [\"modelValue\", \"class\", \"options\", \"onChange\"])\n ], 512)), [\n [_vShow, _ctx.languages?.length]\n ])\n}","<template>\r\n\t<div v-show=\"languages?.length\">\r\n\t\t<Dropdown\r\n\t\t\tv-model=\"selectedLanguage\"\r\n\t\t\tappend-to=\"self\"\r\n\t\t\tclass=\"language-menu\"\r\n\t\t\t:class=\"{ 'w-100': useFullWidth, 'pr-2': useFullWidth }\"\r\n\t\t\toption-label=\"name\"\r\n\t\t\t:options=\"languages\"\r\n\t\t\tplaceholder=\" \"\r\n\t\t\tscrollheight=\"500px\"\r\n\t\t\t@change=\"onLangSelected\"\r\n\t\t>\r\n\t\t\t<template #value=\"slotProps\">\r\n\t\t\t\t<div v-if=\"slotProps.value\" class=\"d-flex flex-row align-items-center\">\r\n\t\t\t\t\t<country-flag\r\n\t\t\t\t\t\tclass=\"flag-icon rounded-lg\"\r\n\t\t\t\t\t\t:country=\"mapLanguageToCountryCode(slotProps.value.code)\"\r\n\t\t\t\t\t\tsize=\"normal\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<div v-if=\"useFullWidth\">{{ languages.find((x) => x.code === slotProps.value)?.name }}</div>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t\t<template #option=\"slotProps\">\r\n\t\t\t\t<div class=\"d-flex flex-row align-items-center\">\r\n\t\t\t\t\t<country-flag\r\n\t\t\t\t\t\tclass=\"rounded-lg mr-1 my-0\"\r\n\t\t\t\t\t\t:country=\"mapLanguageToCountryCode(slotProps.option.code)\"\r\n\t\t\t\t\t\tsize=\"normal\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<div>{{ slotProps.option.name }}</div>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t</Dropdown>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport ChangeCompanyModal from \"@/components/common/menu/changeCompanyModal.vue\";\r\nimport Dropdown from \"primevue/dropdown\";\r\nimport MainSearchBar from \"@/components/common/menu/mainSearchBar.vue\";\r\nimport OverlayPanel from \"primevue/overlaypanel\";\r\nimport { Component, Emit, Prop } from \"vue-facing-decorator\";\r\nimport { CookieType } from \"@/types/enum/cookieType\";\r\nimport { LocationOptionViewModel } from \"@/types/models/menu/locationOptionViewModel\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { SetCookieRequest } from \"@/types/models/menu/setCookieRequest\";\r\n\r\n@Component({\r\n\tcomponents: { ChangeCompanyModal, OverlayPanel, MainSearchBar, Dropdown },\r\n\temits: [\"update-language\"],\r\n})\r\nexport default class LanguageDropdown extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<LocationOptionViewModel[]>, required: true, default: [] })\r\n\tlanguages!: LocationOptionViewModel[];\r\n\t@Prop({ type: Boolean, required: false, default: false }) useFullWidth!: boolean;\r\n\t@Prop({ type: Boolean, required: false, default: false }) updateCookie!: boolean;\r\n\r\n\tselectedLanguage!: LocationOptionViewModel;\r\n\r\n\tcreated(): void {\r\n\t\tif (this.layoutStore.vm?.currentLanguage?.key) {\r\n\t\t\tthis.selectedLanguage =\r\n\t\t\t\t(this.languages.find(\r\n\t\t\t\t\t(x) => x.code === this.layoutStore.vm?.currentLanguage?.key\r\n\t\t\t\t) as LocationOptionViewModel) || this.languages[0];\r\n\t\t}\r\n\t}\r\n\r\n\tget mapLanguageToCountryCode() {\r\n\t\treturn (lang: string) => (lang === \"en\" ? \"gb\" : lang);\r\n\t}\r\n\r\n\t@Emit()\r\n\tlanguageSelected(language: LocationOptionViewModel): LocationOptionViewModel {\r\n\t\treturn language;\r\n\t}\r\n\r\n\tonLangSelected(): void {\r\n\t\tconst payload: SetCookieRequest = {\r\n\t\t\ttype: CookieType.Language,\r\n\t\t\tvalue: this.selectedLanguage?.code,\r\n\t\t};\r\n\t\tif (this.updateCookie) {\r\n\t\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\t\tthis.axios\r\n\t\t\t\t.put(\"/api/cookie\", payload)\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tif (this.selectedLanguage?.redirectUrl) {\r\n\t\t\t\t\t\twindow.location.href = this.selectedLanguage.redirectUrl;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\twindow.location.reload();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch((err) => Log.error(err));\r\n\t\t} else {\r\n\t\t\tthis.languageSelected(this.selectedLanguage);\r\n\t\t}\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n::v-deep(.p-dropdown) {\r\n\t.p-dropdown-label {\r\n\t\tpadding: 0;\r\n\t}\r\n\t.pi {\r\n\t\tfont-size: 0.8rem;\r\n\t}\r\n\t.p-dropdown-trigger {\r\n\t\twidth: 0 !important;\r\n\t\tmargin-left: 0.2rem;\r\n\r\n\t\t&:focus {\r\n\t\t\toutline: none;\r\n\t\t}\r\n\t}\r\n\r\n\t&:focus {\r\n\t\tbox-shadow: none !important;\r\n\t\toutline: none !important;\r\n\t}\r\n}\r\n\r\n.language-menu {\r\n\tborder: none;\r\n\twidth: auto;\r\n\r\n\t.flag-icon {\r\n\t\tmargin: 0.35rem 0;\r\n\t}\r\n}\r\n\r\n::v-deep(.p-dropdown-panel) {\r\n\t.p-dropdown-items {\r\n\t\tpadding: 0;\r\n\r\n\t\t.p-dropdown-item {\r\n\t\t\tpadding: 0.4rem 0.8rem;\r\n\r\n\t\t\t&.p-highlight {\r\n\t\t\t\tbackground: var(--surface-b);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n</style>\r\n","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, createVNode as _createVNode } from \"vue\"\n\nconst _hoisted_1 = {\n key: 0,\n class: \"lead\"\n}\nconst _hoisted_2 = {\n key: 1,\n class: \"lead\"\n}\nconst _hoisted_3 = { class: \"d-flex flex-row justify-center ml-0 ml-lg-2\" }\nconst _hoisted_4 = { class: \"text-fade\" }\nconst _hoisted_5 = {\n key: 2,\n class: \"p-field-checkbox mt-3\"\n}\nconst _hoisted_6 = {\n class: \"ml-1 mb-0\",\n for: 'setAsDefaultCompany'\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_Chip = _resolveComponent(\"Chip\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n const _component_Checkbox = _resolveComponent(\"Checkbox\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Dialog = _resolveComponent(\"Dialog\")!\n\n return (_openBlock(), _createBlock(_component_Dialog, {\n visible: _ctx.isVisible,\n \"onUpdate:visible\": _cache[4] || (_cache[4] = ($event: any) => ((_ctx.isVisible) = $event)),\n breakpoints: { '1600px': '50vw', '1200px': '60vw', '992px': '70vw', '768px': '80vw', '576px': '90vw' },\n closable: !_ctx.mustChooseDefault,\n \"close-on-escape\": _ctx.mustChooseDefault,\n draggable: false,\n header: _ctx.$t('menu.dialog.chooseCompanyHeader'),\n modal: true,\n style: { width: '40vw' },\n onHide: _cache[5] || (_cache[5] = ($event: any) => (_ctx.onCancelClick()))\n }, {\n footer: _withCtx(() => [\n (!_ctx.mustChooseDefault)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-text p-button-plain\",\n label: _ctx.$t('common.cancel'),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.onCancelClick()))\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Button, {\n disabled: !_ctx.canSubmit,\n label: _ctx.$t('common.confirm'),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.onConfirmClick()))\n }, null, 8, [\"disabled\", \"label\"])\n ]),\n default: _withCtx(() => [\n (_ctx.mustChooseDefault)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_1, _toDisplayString(_ctx.$t(\"menu.dialog.chooseDefaultCompanyIntro\")), 1))\n : (_openBlock(), _createElementBlock(\"p\", _hoisted_2, _toDisplayString(_ctx.$t(\"menu.dialog.chooseCompanyIntro\")), 1)),\n _createVNode(_component_DataTable, {\n selection: _ctx.selectedCompany,\n \"onUpdate:selection\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.selectedCompany) = $event)),\n \"auto-layout\": \"\",\n paginator: _ctx.showPagination,\n \"responsive-layout\": \"stack\",\n rows: _ctx.maxRowsToShow,\n \"selection-mode\": \"single\",\n value: _ctx.vm\n }, {\n default: _withCtx(() => [\n (!_ctx.isSmallScreen)\n ? (_openBlock(), _createBlock(_component_Column, {\n key: 0,\n class: \"text-lg-center\",\n \"selection-mode\": \"single\",\n style: {\"padding\":\"0.75rem\",\"overflow\":\"hidden\"}\n }))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Column, null, {\n body: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"b\", null, [\n _createTextVNode(_toDisplayString(item.data.name) + \" \", 1),\n _createElementVNode(\"span\", _hoisted_4, \"(\" + _toDisplayString(item.data.accountNumber) + \")\", 1)\n ]),\n (item.data.isPreferredOrganization)\n ? (_openBlock(), _createBlock(_component_Chip, {\n key: 0,\n class: \"p-chip-primary ml-1\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"common.sortDefault\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n }),\n _createVNode(_component_Column, { field: \"address\" })\n ]),\n _: 1\n }, 8, [\"selection\", \"paginator\", \"rows\", \"value\"]),\n (!_ctx.mustChooseDefault && _ctx.canSetPreferredCompany)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createVNode(_component_Checkbox, {\n modelValue: _ctx.setAsDefault,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.setAsDefault) = $event)),\n id: \"setAsDefaultCompany\",\n binary: true,\n name: \"setAsDefaultCompany\"\n }, null, 8, [\"modelValue\"]),\n _createElementVNode(\"label\", _hoisted_6, _toDisplayString(_ctx.$t(\"menu.dialog.lblSetAsDefaultCompany\")), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"visible\", \"closable\", \"close-on-escape\", \"header\"]))\n}","<template>\r\n\t<Dialog\r\n\t\tv-model:visible=\"isVisible\"\r\n\t\t:breakpoints=\"{ '1600px': '50vw', '1200px': '60vw', '992px': '70vw', '768px': '80vw', '576px': '90vw' }\"\r\n\t\t:closable=\"!mustChooseDefault\"\r\n\t\t:close-on-escape=\"mustChooseDefault\"\r\n\t\t:draggable=\"false\"\r\n\t\t:header=\"$t('menu.dialog.chooseCompanyHeader')\"\r\n\t\t:modal=\"true\"\r\n\t\t:style=\"{ width: '40vw' }\"\r\n\t\t@hide=\"onCancelClick()\"\r\n\t>\r\n\t\t<p v-if=\"mustChooseDefault\" class=\"lead\">\r\n\t\t\t{{ $t(\"menu.dialog.chooseDefaultCompanyIntro\") }}\r\n\t\t</p>\r\n\t\t<p v-else class=\"lead\">\r\n\t\t\t{{ $t(\"menu.dialog.chooseCompanyIntro\") }}\r\n\t\t</p>\r\n\r\n\t\t<DataTable\r\n\t\t\tv-model:selection=\"selectedCompany\"\r\n\t\t\tauto-layout\r\n\t\t\t:paginator=\"showPagination\"\r\n\t\t\tresponsive-layout=\"stack\"\r\n\t\t\t:rows=\"maxRowsToShow\"\r\n\t\t\tselection-mode=\"single\"\r\n\t\t\t:value=\"vm\"\r\n\t\t>\r\n\t\t\t<Column\r\n\t\t\t\tv-if=\"!isSmallScreen\"\r\n\t\t\t\tclass=\"text-lg-center\"\r\n\t\t\t\tselection-mode=\"single\"\r\n\t\t\t\tstyle=\"padding: 0.75rem; overflow: hidden\"\r\n\t\t\t/>\r\n\t\t\t<Column>\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<div class=\"d-flex flex-row justify-center ml-0 ml-lg-2\">\r\n\t\t\t\t\t\t<b>\r\n\t\t\t\t\t\t\t{{ item.data.name }} <span class=\"text-fade\">({{ item.data.accountNumber }})</span>\r\n\t\t\t\t\t\t</b>\r\n\t\t\t\t\t\t<Chip v-if=\"item.data.isPreferredOrganization\" class=\"p-chip-primary ml-1\"\r\n\t\t\t\t\t\t\t>{{ $t(\"common.sortDefault\") }}\r\n\t\t\t\t\t\t</Chip>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\t\t\t<Column field=\"address\" />\r\n\t\t</DataTable>\r\n\r\n\t\t<div v-if=\"!mustChooseDefault && canSetPreferredCompany\" class=\"p-field-checkbox mt-3\">\r\n\t\t\t<Checkbox v-model=\"setAsDefault\" id=\"setAsDefaultCompany\" :binary=\"true\" name=\"setAsDefaultCompany\" />\r\n\t\t\t<label class=\"ml-1 mb-0\" :for=\"'setAsDefaultCompany'\">\r\n\t\t\t\t{{ $t(\"menu.dialog.lblSetAsDefaultCompany\") }}\r\n\t\t\t</label>\r\n\t\t</div>\r\n\r\n\t\t<template #footer>\r\n\t\t\t<Button\r\n\t\t\t\tv-if=\"!mustChooseDefault\"\r\n\t\t\t\tclass=\"p-button-text p-button-plain\"\r\n\t\t\t\t:label=\"$t('common.cancel')\"\r\n\t\t\t\t@click=\"onCancelClick()\"\r\n\t\t\t/>\r\n\t\t\t<Button :disabled=\"!canSubmit\" :label=\"$t('common.confirm')\" @click=\"onConfirmClick()\" />\r\n\t\t</template>\r\n\t</Dialog>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Checkbox from \"primevue/checkbox\";\r\nimport Chip from \"primevue/chip\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { CookieType } from \"@/types/enum/cookieType\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { OrganizationOptionViewModel } from \"@/types/models/menu/organizationOptionViewModel\";\r\nimport { PropType } from \"vue\";\r\nimport { SetCookieRequest } from \"@/types/models/menu/setCookieRequest\";\r\n\r\n@Component({ components: { Checkbox, Chip } })\r\nexport default class ChangeCompanyModal extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<OrganizationOptionViewModel[]>, required: true, default: [] })\r\n\tvm!: OrganizationOptionViewModel[];\r\n\r\n\tselectedCompany: OrganizationOptionViewModel | null = null;\r\n\tisVisible = true;\r\n\tsetAsDefault = false;\r\n\tmustChooseDefault = false;\r\n\tmaxRowsToShow = 8;\r\n\r\n\tcreated(): void {\r\n\t\tthis.selectedCompany = this.currentCompany || this.preferredCompany || this.vm[0];\r\n\t\tthis.mustChooseDefault = !this.preferredCompany && this.canSetPreferredCompany;\r\n\t}\r\n\r\n\tget showPagination(): boolean {\r\n\t\treturn this.vm?.length > this.maxRowsToShow;\r\n\t}\r\n\r\n\tget canSubmit(): boolean {\r\n\t\treturn !!this.selectedCompany;\r\n\t}\r\n\r\n\tget canSetPreferredCompany(): boolean {\r\n\t\treturn !this.userProfile?.isImpersonated && this.layoutStore.vm.isDebug;\r\n\t}\r\n\r\n\tget preferredCompany(): OrganizationOptionViewModel | null {\r\n\t\treturn this.layoutStore.preferredCompany;\r\n\t}\r\n\r\n\tget currentCompany(): OrganizationOptionViewModel | null {\r\n\t\treturn this.vm.find((x) => x.id === this.userProfile?.cadacOrganizationId) as OrganizationOptionViewModel;\r\n\t}\r\n\r\n\tonCancelClick(): void {\r\n\t\tlocalStorage.setItem(\"showedCompanyModal\", \"true\");\r\n\t\tthis.layoutStore.hideModal(\"ChangeCompany\");\r\n\t}\r\n\r\n\tonConfirmClick() {\r\n\t\tif (!this.canSubmit) return;\r\n\t\t// Set preferred org if it's not been done before.\r\n\t\tlocalStorage.setItem(\"showedCompanyModal\", \"true\");\r\n\t\tif (this.canSetPreferredCompany && (!this.preferredCompany || this.setAsDefault)) {\r\n\t\t\tthis.setPreferredOrganization()\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tthis.changeToSelectedCompany();\r\n\t\t\t\t})\r\n\t\t\t\t.catch((err) => Log.error(err));\r\n\t\t} else {\r\n\t\t\tthis.changeToSelectedCompany();\r\n\t\t}\r\n\t}\r\n\r\n\tprivate setPreferredOrganization(): Promise<void> {\r\n\t\tconst { id } = this.selectedCompany as OrganizationOptionViewModel;\r\n\t\tconst payload: SetCookieRequest = {\r\n\t\t\ttype: CookieType.PreferredOrganization,\r\n\t\t\tvalue: id,\r\n\t\t};\r\n\t\treturn this.axios.put(\"/api/cookie\", payload);\r\n\t}\r\n\r\n\tprivate changeToSelectedCompany(): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\twindow.location.href = `/MyCadacStore/SwitchCustomer?cadacOrganizationId=${this.selectedCompany?.id}`;\r\n\t\tthis.layoutStore.hideModal(\"ChangeCompany\");\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","export enum CookieType {\r\n\tLocation,\r\n\tLanguage,\r\n\tMarket,\r\n\tPreferredOrganization,\r\n\tPreferredLocation,\r\n}\r\n","import { render } from \"./changeCompanyModal.vue?vue&type=template&id=5a133c66&ts=true\"\nimport script from \"./changeCompanyModal.vue?vue&type=script&lang=ts\"\nexport * from \"./changeCompanyModal.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, normalizeClass as _normalizeClass, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, withCtx as _withCtx, resolveDirective as _resolveDirective, withDirectives as _withDirectives, createBlock as _createBlock, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-73bd7cb0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n ref: \"searchBar\",\n class: \"main-search-bar pl-2 pl-lg-0\"\n}\nconst _hoisted_2 = { class: \"pt-2 pl-2\" }\nconst _hoisted_3 = { class: \"mb-0\" }\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = [\"title\"]\nconst _hoisted_6 = {\n key: 0,\n alt: \"Icon\",\n height: \"28\",\n width: \"28\"\n}\nconst _hoisted_7 = { class: \"ml-2\" }\nconst _hoisted_8 = {\n key: 0,\n class: \"px-2 pb-2\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Dropdown = _resolveComponent(\"Dropdown\")!\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_Badge = _resolveComponent(\"Badge\")!\n const _component_Chip = _resolveComponent(\"Chip\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_AutoComplete = _resolveComponent(\"AutoComplete\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Dropdown, {\n modelValue: _ctx.searchCategory,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.searchCategory) = $event)),\n \"append-to\": \"self\",\n class: _normalizeClass([\"search-category-dropdown\", { 'ml-lg-0': _ctx.layoutStore.showSearchBar }]),\n \"option-label\": \"label\",\n \"option-value\": \"category\",\n options: _ctx.vm.searchCategoryOptions,\n \"scroll-height\": \"300px\"\n }, null, 8, [\"modelValue\", \"class\", \"options\"]),\n _createVNode(_component_AutoComplete, {\n ref: \"searchInput\",\n \"append-to\": \"self\",\n class: \"mx-2 search-input\",\n \"complete-on-focus\": \"\",\n \"input-id\": \"mainSearchBarInput\",\n \"model-value\": _ctx.searchString,\n \"option-label\": \"name\",\n \"panel-class\": \"search-panel\",\n placeholder: _ctx.$t('menu.search_placeholder'),\n \"scroll-height\": \"420px\",\n suggestions: _ctx.searchResults,\n onBlur: _cache[1] || (_cache[1] = ($event: any) => (_ctx.trackSearch(_ctx.searchString))),\n onComplete: _ctx.onSearch,\n onItemSelect: _ctx.onSearchResultSelected,\n \"onUpdate:modelValue\": _ctx.updateSearchstring\n }, {\n header: _withCtx(({ value }) => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"p\", _hoisted_3, [\n _createVNode(_component_i18n_t, { keypath: \"menu.searchResultHeader\" }, {\n query: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(value.name ?? value), 1)\n ]),\n count: _withCtx(() => [\n (!_ctx.hasNoResults)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, _toDisplayString(_ctx.searchResult?.totalResults), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _: 2\n }, 1024)\n ])\n ])\n ]),\n option: _withCtx(({ option }) => [\n (!_ctx.hasNoResults)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"d-flex justify-content-start flex-row px-2 py-1\",\n title: option.intro || option.name\n }, [\n (option.hasIconUrl)\n ? _withDirectives((_openBlock(), _createElementBlock(\"img\", _hoisted_6, null, 512)), [\n [_directive_lazy, option.iconUrl]\n ])\n : (_openBlock(), _createBlock(_component_Badge, {\n key: 1,\n value: option.type.charAt(0)\n }, null, 8, [\"value\"])),\n _createElementVNode(\"div\", _hoisted_7, _toDisplayString(option.name), 1),\n _createElementVNode(\"div\", null, [\n _createVNode(_component_Chip, { class: \"p-chip-secondary ml-2\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(option.type), 1)\n ]),\n _: 2\n }, 1024)\n ])\n ], 8, _hoisted_5))\n : _createCommentVNode(\"\", true)\n ]),\n footer: _withCtx(() => [\n (_ctx.hasNoResults)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, _toDisplayString(_ctx.$t(\"menu.noSearchResults\")), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.showDisplayAllResultsButton)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-text p-button-secondary ml-2 mb-1\",\n label: _ctx.$t('menu.button.showAllSearchResults'),\n onClick: _ctx.onShowAllResultsClick\n }, null, 8, [\"label\", \"onClick\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"model-value\", \"placeholder\", \"suggestions\", \"onComplete\", \"onItemSelect\", \"onUpdate:modelValue\"])\n ], 512))\n}","<template>\r\n\t<div ref=\"searchBar\" class=\"main-search-bar pl-2 pl-lg-0\">\r\n\t\t<Dropdown\r\n\t\t\tv-model=\"searchCategory\"\r\n\t\t\tappend-to=\"self\"\r\n\t\t\tclass=\"search-category-dropdown\"\r\n\t\t\t:class=\"{ 'ml-lg-0': layoutStore.showSearchBar }\"\r\n\t\t\toption-label=\"label\"\r\n\t\t\toption-value=\"category\"\r\n\t\t\t:options=\"vm.searchCategoryOptions\"\r\n\t\t\tscroll-height=\"300px\"\r\n\t\t>\r\n\t\t</Dropdown>\r\n\t\t<AutoComplete\r\n\t\t\tref=\"searchInput\"\r\n\t\t\tappend-to=\"self\"\r\n\t\t\tclass=\"mx-2 search-input\"\r\n\t\t\tcomplete-on-focus\r\n\t\t\tinput-id=\"mainSearchBarInput\"\r\n\t\t\t:model-value=\"searchString\"\r\n\t\t\toption-label=\"name\"\r\n\t\t\tpanel-class=\"search-panel\"\r\n\t\t\t:placeholder=\"$t('menu.search_placeholder')\"\r\n\t\t\tscroll-height=\"420px\"\r\n\t\t\t:suggestions=\"searchResults\"\r\n\t\t\t@blur=\"trackSearch(searchString)\"\r\n\t\t\t@complete=\"onSearch\"\r\n\t\t\t@item-select=\"onSearchResultSelected\"\r\n\t\t\t@update:modelValue=\"updateSearchstring\"\r\n\t\t>\r\n\t\t\t<template #header=\"{ value }\">\r\n\t\t\t\t<div class=\"pt-2 pl-2\">\r\n\t\t\t\t\t<p class=\"mb-0\">\r\n\t\t\t\t\t\t<i18n-t keypath=\"menu.searchResultHeader\">\r\n\t\t\t\t\t\t\t<template #query>\r\n\t\t\t\t\t\t\t\t<b>{{ value.name ?? value }}</b>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t<template #count>\r\n\t\t\t\t\t\t\t\t<span v-if=\"!hasNoResults\">\r\n\t\t\t\t\t\t\t\t\t{{ searchResult?.totalResults }}\r\n\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</i18n-t>\r\n\t\t\t\t\t</p>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t\t<template #option=\"{ option }\">\r\n\t\t\t\t<div\r\n\t\t\t\t\tv-if=\"!hasNoResults\"\r\n\t\t\t\t\tclass=\"d-flex justify-content-start flex-row px-2 py-1\"\r\n\t\t\t\t\t:title=\"option.intro || option.name\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<img v-if=\"option.hasIconUrl\" v-lazy=\"option.iconUrl\" alt=\"Icon\" height=\"28\" width=\"28\" />\r\n\r\n\t\t\t\t\t<Badge v-else :value=\"option.type.charAt(0)\"></Badge>\r\n\r\n\t\t\t\t\t<div class=\"ml-2\">\r\n\t\t\t\t\t\t{{ option.name }}\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<Chip class=\"p-chip-secondary ml-2\">{{ option.type }}</Chip>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t\t<template #footer>\r\n\t\t\t\t<div v-if=\"hasNoResults\" class=\"px-2 pb-2\">\r\n\t\t\t\t\t{{ $t(\"menu.noSearchResults\") }}\r\n\t\t\t\t</div>\r\n\t\t\t\t<Button\r\n\t\t\t\t\tv-if=\"showDisplayAllResultsButton\"\r\n\t\t\t\t\tclass=\"p-button-text p-button-secondary ml-2 mb-1\"\r\n\t\t\t\t\t:label=\"$t('menu.button.showAllSearchResults')\"\r\n\t\t\t\t\t@click=\"onShowAllResultsClick\"\r\n\t\t\t\t/>\r\n\t\t\t\t<!--\t\t\t\t<div class=\"pl-2 pb-2\">-->\r\n\t\t\t\t<!--\t\t\t\t\t<p class=\"text-muted\">{{ $t(\"menu.searchResultFooter\") }}</p>-->\r\n\t\t\t\t<!--\t\t\t\t\t<div>-->\r\n\t\t\t\t<!--\t\t\t\t\t\t<Button-->\r\n\t\t\t\t<!--\t\t\t\t\t\t\tv-for=\"option in relatedSearches\"-->\r\n\t\t\t\t<!--\t\t\t\t\t\t\t:key=\"option\"-->\r\n\t\t\t\t<!--\t\t\t\t\t\t\t:label=\"option\"-->\r\n\t\t\t\t<!--\t\t\t\t\t\t\tclass=\"p-button-sm p-button-outlined p-button-rounded mr-2\"-->\r\n\t\t\t\t<!--\t\t\t\t\t\t\t@click.stop=\"onRelatedSearchTermSelected($event, option)\"-->\r\n\t\t\t\t<!--\t\t\t\t\t\t/>-->\r\n\t\t\t\t<!--\t\t\t\t\t</div>-->\r\n\t\t\t\t<!--\t\t\t\t</div>-->\r\n\t\t\t</template>\r\n\t\t</AutoComplete>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport AutoComplete, { AutoCompleteCompleteEvent, AutoCompleteItemSelectEvent } from \"primevue/autocomplete\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Chip from \"primevue/chip\";\r\nimport Dropdown from \"primevue/dropdown\";\r\nimport OverlayPanel from \"primevue/overlaypanel\";\r\nimport { Component, Prop, Ref, Watch } from \"vue-facing-decorator\";\r\nimport { DomHandler } from \"primevue/utils\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { SearchCategory } from \"@/types/enum/searchCategory\";\r\nimport { SearchOptionViewModel } from \"@/types/models/search/searchOption\";\r\nimport { SearchResultItemViewModel } from \"@/types/models/search/searchResultItem\";\r\nimport { SearchResultViewModel } from \"@/types/models/search/searchResult\";\r\nimport { onClickOutside } from \"@vueuse/core\";\r\nimport { isEmpty } from \"lodash\";\r\n\r\nexport interface IMainSearchBar {\r\n\tsearchCategoryOptions: SearchOptionViewModel[];\r\n\tsearchPageUrl: string;\r\n\tlocalizationPrefix: string;\r\n}\r\n\r\n@Component({ components: { OverlayPanel, Dropdown, AutoComplete, Chip } })\r\nexport default class MainSearchBar extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IMainSearchBar>, required: true, default: {} }) vm!: IMainSearchBar;\r\n\t@Ref readonly searchBar!: HTMLElement;\r\n\r\n\t@Watch(\"layoutStore.showSearchBar\") onSearchBarVisibleChanged(val: boolean): void {\r\n\t\tif (val) DomHandler.focus(document.getElementById(\"mainSearchBarInput\") as HTMLElement);\r\n\t\telse this.axios.cancel(\"menuSearch\");\r\n\t}\r\n\r\n\trelatedSearches: string[] = [];\r\n\tsearchResult!: SearchResultViewModel;\r\n\tsearchString = \"\";\r\n\tsearchCategory = SearchCategory.all;\r\n\r\n\tcreated(): void {\r\n\t\tthis.relatedSearches = [\"Revit 2021\", \"Revit Training\", \"Revit Expert\"];\r\n\t}\r\n\r\n\tmounted(): void {\r\n\t\tonClickOutside(this.searchBar, () => {\r\n\t\t\tthis.layoutStore.showSearchBar = false;\r\n\t\t});\r\n\t}\r\n\r\n\tget searchResults(): SearchResultItemViewModel[] {\r\n\t\treturn this.searchResult?.items || [];\r\n\t}\r\n\r\n\tget showDisplayAllResultsButton(): boolean {\r\n\t\treturn (\r\n\t\t\t!this.hasNoResults && this.searchResults.length < this.searchResult.totalResults && !!this.searchString\r\n\t\t);\r\n\t}\r\n\r\n\tget hasNoResults(): boolean {\r\n\t\treturn this.searchResult.totalResults < 1;\r\n\t}\r\n\r\n\tonSearch(event: AutoCompleteCompleteEvent): void {\r\n\t\tconst defaultResult = {} as SearchResultViewModel;\r\n\t\tif (!this.layoutStore.showSearchBar || !event.query) {\r\n\t\t\tthis.searchResult = defaultResult;\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tconst queryParams = new URLSearchParams(\"\");\r\n\t\tqueryParams.append(\"query\", event.query);\r\n\t\tqueryParams.append(\"category\", this.searchCategory.toString());\r\n\t\tqueryParams.append(\"allowRedirect\", \"true\");\r\n\r\n\t\tconst url = new URL(`${window.location.origin}/api/${this.vm.localizationPrefix}/search/`);\r\n\t\turl.search = queryParams.toString();\r\n\t\tthis.axios\r\n\t\t\t.get<SearchResultViewModel>(url.toString(), { requestId: \"menuSearch\" })\r\n\t\t\t.then((x) => {\r\n\t\t\t\tthis.searchResult = x.data;\r\n\t\t\t\t// If there are no results, add an empty item to the itemlist as a hack to show the autocomplete result dropdown anyway.\r\n\t\t\t\tif (this.hasNoResults) {\r\n\t\t\t\t\tthis.searchResult.items.push({} as any);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.searchResult = defaultResult;\r\n\t\t\t});\r\n\t}\r\n\r\n\t// getRelatedSearches(): void {\r\n\t// \tthis.axios.get(`/find_v2/_didyoumean?query=${encodeURIComponent(this.searchString)}&size=5`).then((res) => {\r\n\t// \t\tconsole.log(res);\r\n\t// \t});\r\n\t// }\r\n\r\n\tonSearchResultSelected(event: AutoCompleteItemSelectEvent): void {\r\n\t\tthis.trackSearch(this.searchString);\r\n\r\n\t\tconst item = event.value as SearchResultItemViewModel;\r\n\t\tif (!isEmpty(item)) this.openUrl(item.pageUrl);\r\n\t}\r\n\r\n\tonRelatedSearchTermSelected(event: InputEvent, option: string): void {\r\n\t\tthis.searchString = option;\r\n\t\tthis.onSearch({ originalEvent: event, query: option });\r\n\t}\r\n\r\n\tonShowAllResultsClick(): void {\r\n\t\tconst queryParams = new URLSearchParams(\"\");\r\n\t\tqueryParams.append(\"query\", this.searchString);\r\n\t\tqueryParams.append(\"category\", this.searchCategory.toString());\r\n\t\tqueryParams.append(\"allowRedirect\", \"true\");\r\n\t\tconst url = new URL(`${window.location.origin}/${this.vm.searchPageUrl}`);\r\n\t\turl.search = queryParams.toString();\r\n\t\tthis.openUrl(url.toString());\r\n\t}\r\n\r\n\tupdateSearchstring(str: any): void {\r\n\t\tif (typeof str === \"string\") this.searchString = str;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.main-search-bar {\r\n\tdisplay: flex;\r\n\tflex-direction: row;\r\n\tflex: 1;\r\n\r\n\t.search-category-dropdown {\r\n\t\tdisplay: flex;\r\n\t\tflex: 1;\r\n\t\tmargin-left: 1rem;\r\n\t}\r\n\r\n\t.search-input {\r\n\t\tdisplay: flex;\r\n\t\tflex: 3;\r\n\t}\r\n\r\n\t::v-deep(.p-autocomplete-item) {\r\n\t\twhite-space: initial;\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./mainSearchBar.vue?vue&type=template&id=73bd7cb0&scoped=true&ts=true\"\nimport script from \"./mainSearchBar.vue?vue&type=script&lang=ts\"\nexport * from \"./mainSearchBar.vue?vue&type=script&lang=ts\"\n\nimport \"./mainSearchBar.vue?vue&type=style&index=0&id=73bd7cb0&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-73bd7cb0\"]])\n\nexport default __exports__","import { render } from \"./languageDropdown.vue?vue&type=template&id=359e2d90&scoped=true&ts=true\"\nimport script from \"./languageDropdown.vue?vue&type=script&lang=ts\"\nexport * from \"./languageDropdown.vue?vue&type=script&lang=ts\"\n\nimport \"./languageDropdown.vue?vue&type=style&index=0&id=359e2d90&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-359e2d90\"]])\n\nexport default __exports__","export enum ExpertExperienceType {\r\n\tExperience,\r\n\tEducation,\r\n}\r\n","import { render } from \"./expertExperienceForm.vue?vue&type=template&id=3537068b&ts=true\"\nimport script from \"./expertExperienceForm.vue?vue&type=script&lang=ts\"\nexport * from \"./expertExperienceForm.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, createTextVNode as _createTextVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"lead\" }\nconst _hoisted_2 = { class: \"d-flex flex-column align-items-center p-1\" }\nconst _hoisted_3 = { class: \"d-flex flex-column align-items-center\" }\nconst _hoisted_4 = { class: \"font-weight-bold\" }\nconst _hoisted_5 = { key: 0 }\nconst _hoisted_6 = { class: \"mt-2 font-weight-bold\" }\nconst _hoisted_7 = [\"innerHTML\"]\nconst _hoisted_8 = /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1)\nconst _hoisted_9 = [\"innerHTML\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_SelectButton = _resolveComponent(\"SelectButton\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Dialog = _resolveComponent(\"Dialog\")!\n\n return (_openBlock(), _createBlock(_component_Dialog, {\n visible: _ctx.isVisible,\n \"onUpdate:visible\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.isVisible) = $event)),\n breakpoints: { '1600px': '45vw', '1200px': '50vw', '992px': '60vw', '768px': '75vw', '576px': '90vw' },\n class: \"p-dialog-secondary\",\n closable: true,\n header: _ctx.$t('myCadac.expertSettings.selectExpertLevel'),\n modal: true,\n style: { width: '35vw' },\n onHide: _cache[4] || (_cache[4] = ($event: any) => (_ctx.onCancel()))\n }, {\n footer: _withCtx(() => [\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-plain\",\n label: _ctx.$t('common.cancel'),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onCancel()))\n }, null, 8, [\"label\"]),\n _createVNode(_component_Button, {\n disabled: !_ctx.canSubmit,\n label: _ctx.$t('common.confirm'),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.onSubmit()))\n }, null, 8, [\"disabled\", \"label\"])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"p\", _hoisted_1, _toDisplayString(`${_ctx.$t(\"myCadac.expertSettings.expertLevelIntro\")}`), 1),\n _createVNode(_component_SelectButton, {\n modelValue: _ctx.selectedLevel,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.selectedLevel) = $event)),\n class: \"p-select-button-grid m-0\",\n \"data-key\": \"displayName\",\n options: _ctx.options\n }, {\n option: _withCtx((slotProps) => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_Avatar, {\n alt: slotProps.option?.displayName,\n class: \"mb-2\",\n image: slotProps.option.iconUrl,\n shape: \"square\",\n size: \"large\"\n }, null, 8, [\"alt\", \"image\"]),\n _createElementVNode(\"p\", _hoisted_4, _toDisplayString(slotProps.option.displayName), 1)\n ])\n ])\n ]),\n _: 1\n }, 8, [\"modelValue\", \"options\"]),\n (_ctx.selectedLevel)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"p\", _hoisted_6, _toDisplayString(_ctx.$t(\"expert.expertLevelHourlyPriceRange\", [\r\n\t\t\t\t\t\t_ctx.formatCurrency(_ctx.selectedLevel?.minPrice),\r\n\t\t\t\t\t\t_ctx.formatCurrency(_ctx.selectedLevel?.maxPrice),\r\n\t\t\t\t\t])), 1),\n _createElementVNode(\"div\", {\n class: \"text-preline\",\n innerHTML: _ctx.selectedLevel?.description\n }, null, 8, _hoisted_7),\n _hoisted_8,\n _createElementVNode(\"div\", {\n class: \"mb-2 text-preline\",\n innerHTML: _ctx.selectedLevel?.requirements\n }, null, 8, _hoisted_9),\n (_ctx.hasSelectedRequestedLevel)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n closable: false,\n severity: \"info\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.expertSettings.message.awaitingExpertLevelApproval\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"visible\", \"header\"]))\n}","<template>\r\n\t<Dialog\r\n\t\tv-model:visible=\"isVisible\"\r\n\t\t:breakpoints=\"{ '1600px': '45vw', '1200px': '50vw', '992px': '60vw', '768px': '75vw', '576px': '90vw' }\"\r\n\t\tclass=\"p-dialog-secondary\"\r\n\t\t:closable=\"true\"\r\n\t\t:header=\"$t('myCadac.expertSettings.selectExpertLevel')\"\r\n\t\t:modal=\"true\"\r\n\t\t:style=\"{ width: '35vw' }\"\r\n\t\t@hide=\"onCancel()\"\r\n\t>\r\n\t\t<p class=\"lead\">\r\n\t\t\t{{ `${$t(\"myCadac.expertSettings.expertLevelIntro\")}` }}\r\n\t\t</p>\r\n\t\t<SelectButton\r\n\t\t\tv-model=\"selectedLevel\"\r\n\t\t\tclass=\"p-select-button-grid m-0\"\r\n\t\t\tdata-key=\"displayName\"\r\n\t\t\t:options=\"options\"\r\n\t\t>\r\n\t\t\t<template #option=\"slotProps\">\r\n\t\t\t\t<div class=\"d-flex flex-column align-items-center p-1\">\r\n\t\t\t\t\t<div class=\"d-flex flex-column align-items-center\">\r\n\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t:alt=\"slotProps.option?.displayName\"\r\n\t\t\t\t\t\t\tclass=\"mb-2\"\r\n\t\t\t\t\t\t\t:image=\"slotProps.option.iconUrl\"\r\n\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\tsize=\"large\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<p class=\"font-weight-bold\">\r\n\t\t\t\t\t\t\t{{ slotProps.option.displayName }}\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t</SelectButton>\r\n\t\t<div v-if=\"selectedLevel\">\r\n\t\t\t<p class=\"mt-2 font-weight-bold\">\r\n\t\t\t\t{{\r\n\t\t\t\t\t$t(\"expert.expertLevelHourlyPriceRange\", [\r\n\t\t\t\t\t\tformatCurrency(selectedLevel?.minPrice),\r\n\t\t\t\t\t\tformatCurrency(selectedLevel?.maxPrice),\r\n\t\t\t\t\t])\r\n\t\t\t\t}}\r\n\t\t\t</p>\r\n\t\t\t<div class=\"text-preline\" v-html=\"selectedLevel?.description\" />\r\n\t\t\t<hr />\r\n\t\t\t<div class=\"mb-2 text-preline\" v-html=\"selectedLevel?.requirements\" />\r\n\t\t\t<Message v-if=\"hasSelectedRequestedLevel\" :closable=\"false\" severity=\"info\">\r\n\t\t\t\t{{ $t(\"myCadac.expertSettings.message.awaitingExpertLevelApproval\") }}\r\n\t\t\t</Message>\r\n\t\t</div>\r\n\r\n\t\t<template #footer>\r\n\t\t\t<Button class=\"p-button-text p-button-plain\" :label=\"$t('common.cancel')\" @click=\"onCancel()\" />\r\n\t\t\t<Button :disabled=\"!canSubmit\" :label=\"$t('common.confirm')\" @click=\"onSubmit()\" />\r\n\t\t</template>\r\n\t</Dialog>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport PopoverIcon from \"@/components/common/popoverIcon.vue\";\r\nimport { Component, Emit, Prop } from \"vue-facing-decorator\";\r\nimport { PropType } from \"vue\";\r\nimport { useExpertStore } from \"@/store/expert/expertStore\";\r\nimport SelectButton from \"primevue/selectbutton\";\r\nimport { ExpertLevelProductViewModel } from \"@/types/models/expert/expertLevelProductViewModel\";\r\n\r\n@Component({ components: { PopoverIcon, SelectButton } })\r\nexport default class ExpertLevelModal extends BaseComponent {\r\n\tselectedLevel!: ExpertLevelProductViewModel;\r\n\tisVisible = true;\r\n\r\n\t@Prop({ type: Object as PropType<ExpertLevelProductViewModel>, required: true, default: undefined })\r\n\tcurrentLevel!: ExpertLevelProductViewModel;\r\n\r\n\t@Prop({ type: Object as PropType<ExpertLevelProductViewModel>, required: true, default: undefined })\r\n\trequestedLevel!: ExpertLevelProductViewModel;\r\n\r\n\t@Prop({ type: Object as PropType<ExpertLevelProductViewModel[]>, required: true, default: [] })\r\n\toptions!: ExpertLevelProductViewModel[];\r\n\r\n\t@Emit() levelSelected() {\r\n\t\treturn this.selectedLevel;\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.selectedLevel = this.currentLevel;\r\n\t}\r\n\r\n\tget canSubmit(): boolean {\r\n\t\treturn !this.hasSelectedRequestedLevel && !!this.selectedLevel;\r\n\t}\r\n\r\n\tget hasSelectedRequestedLevel(): boolean {\r\n\t\treturn this.selectedLevel?.expertProductContentId === this.requestedLevel?.expertProductContentId;\r\n\t}\r\n\r\n\tonCancel(): void {\r\n\t\tuseExpertStore().hideModal(\"ExpertLevel\");\r\n\t}\r\n\r\n\tonSubmit(): void {\r\n\t\tthis.levelSelected();\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { render } from \"./expertLevelModal.vue?vue&type=template&id=46d50264&ts=true\"\nimport script from \"./expertLevelModal.vue?vue&type=script&lang=ts\"\nexport * from \"./expertLevelModal.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = {\n key: 0,\n class: \"\"\n}\nconst _hoisted_2 = { class: \"form-row\" }\nconst _hoisted_3 = { class: \"form-group col-12 col-xl-6\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_5 = { class: \"form-row\" }\nconst _hoisted_6 = { class: \"form-group col-12 col-xl-6\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_8 = { class: \"form-row\" }\nconst _hoisted_9 = { class: \"form-group col-12\" }\nconst _hoisted_10 = { key: 0 }\nconst _hoisted_11 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_12 = {\n key: 1,\n class: \"p-error\"\n}\nconst _hoisted_13 = {\n key: 2,\n class: \"p-error\"\n}\nconst _hoisted_14 = { class: \"form-row\" }\nconst _hoisted_15 = { class: \"form-group col-12\" }\nconst _hoisted_16 = { key: 0 }\nconst _hoisted_17 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_18 = {\n key: 1,\n class: \"p-error\"\n}\nconst _hoisted_19 = {\n key: 2,\n class: \"p-error\"\n}\nconst _hoisted_20 = { key: 1 }\nconst _hoisted_21 = { key: 2 }\nconst _hoisted_22 = {\n class: \"text-preline\",\n style: {\"word-break\":\"break-word\"}\n}\nconst _hoisted_23 = {\n class: \"text-preline\",\n style: {\"word-break\":\"break-word\"}\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_InputText = _resolveComponent(\"InputText\")!\n const _component_Textarea = _resolveComponent(\"Textarea\")!\n const _component_Button = _resolveComponent(\"Button\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (_ctx.isEditing)\n ? (_openBlock(), _createElementBlock(\"form\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['expertSettingsOverviewForm'].expertFunction?.required })\n }, _toDisplayString(_ctx.$t(\"myCadac.expertSettings.lblFunction\")), 3),\n _createVNode(_component_InputText, {\n modelValue: _ctx.v$['expertSettingsOverviewForm'].expertFunction.$model,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.v$['expertSettingsOverviewForm'].expertFunction.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['expertSettingsOverviewForm'].expertFunction) }),\n readonly: !_ctx.isEditing,\n type: \"text\"\n }, null, 8, [\"modelValue\", \"class\", \"readonly\"]),\n (_ctx.shouldShowError(_ctx.v$['expertSettingsOverviewForm'].expertFunction))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_4, _toDisplayString(_ctx.v$[\"expertSettingsOverviewForm\"].expertFunction?.required?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['expertSettingsOverviewForm'].shortDescriptionTitle?.required })\n }, _toDisplayString(_ctx.$t(\"myCadac.expertSettings.lblHeader\")), 3),\n _createVNode(_component_InputText, {\n modelValue: _ctx.v$['expertSettingsOverviewForm'].shortDescriptionTitle.$model,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.v$['expertSettingsOverviewForm'].shortDescriptionTitle.$model) = $event)),\n class: _normalizeClass({\r\n\t\t\t\t\t\t'p-invalid': _ctx.shouldShowError(_ctx.v$['expertSettingsOverviewForm'].shortDescriptionTitle),\r\n\t\t\t\t\t}),\n readonly: !_ctx.isEditing,\n type: \"text\"\n }, null, 8, [\"modelValue\", \"class\", \"readonly\"]),\n (_ctx.shouldShowError(_ctx.v$['expertSettingsOverviewForm'].shortDescriptionTitle))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_7, _toDisplayString(_ctx.v$[\"expertSettingsOverviewForm\"].shortDescriptionTitle?.required?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['expertSettingsOverviewForm'].shortDescription?.required })\n }, _toDisplayString(_ctx.$t(\"myCadac.expertSettings.lblIntroduction\")), 3),\n _createVNode(_component_Textarea, {\n modelValue: _ctx.v$['expertSettingsOverviewForm'].shortDescription.$model,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.v$['expertSettingsOverviewForm'].shortDescription.$model) = $event)),\n \"auto-resize\": true,\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['expertSettingsOverviewForm'].shortDescription) }),\n cols: \"30\",\n readonly: !_ctx.isEditing,\n rows: \"5\"\n }, null, 8, [\"modelValue\", \"class\", \"readonly\"]),\n (_ctx.shouldShowError(_ctx.v$['expertSettingsOverviewForm'].shortDescription))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_10, [\n (!_ctx.v$['expertSettingsOverviewForm'].shortDescription.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_11, _toDisplayString(_ctx.v$[\"expertSettingsOverviewForm\"].shortDescription?.required?.$message), 1))\n : (_ctx.v$['expertSettingsOverviewForm'].shortDescription.minLength.$invalid)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_12, _toDisplayString(_ctx.v$[\"expertSettingsOverviewForm\"].shortDescription.minLength?.$message), 1))\n : (_ctx.v$['expertSettingsOverviewForm'].shortDescription.maxLength.$invalid)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_13, _toDisplayString(_ctx.v$[\"expertSettingsOverviewForm\"].shortDescription.maxLength?.$message), 1))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['expertSettingsOverviewForm'].description?.required })\n }, _toDisplayString(_ctx.$t(\"common.forms.lblDescription\")), 3),\n _createVNode(_component_Textarea, {\n modelValue: _ctx.v$['expertSettingsOverviewForm'].description.$model,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.v$['expertSettingsOverviewForm'].description.$model) = $event)),\n \"auto-resize\": true,\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['expertSettingsOverviewForm'].description) }),\n cols: \"30\",\n readonly: !_ctx.isEditing,\n rows: \"5\"\n }, null, 8, [\"modelValue\", \"class\", \"readonly\"]),\n (_ctx.shouldShowError(_ctx.v$['expertSettingsOverviewForm'].description))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_16, [\n (!_ctx.v$['expertSettingsOverviewForm'].description.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_17, _toDisplayString(_ctx.v$[\"expertSettingsOverviewForm\"].description?.required?.$message), 1))\n : (_ctx.v$['expertSettingsOverviewForm'].description.minLength.$invalid)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_18, _toDisplayString(_ctx.v$[\"expertSettingsOverviewForm\"].description.minLength?.$message), 1))\n : (_ctx.v$['expertSettingsOverviewForm'].description.maxLength.$invalid)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_19, _toDisplayString(_ctx.v$[\"expertSettingsOverviewForm\"].description.maxLength?.$message), 1))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.isEditing)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_20, [\n _createVNode(_component_Button, {\n class: \"\",\n disabled: !_ctx.canSubmit,\n label: _ctx.$t(`common.save`),\n onClick: _ctx.onSubmit\n }, null, 8, [\"disabled\", \"label\", \"onClick\"])\n ]))\n : (_openBlock(), _createElementBlock(\"dl\", _hoisted_21, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"myCadac.expertSettings.lblFunction\")), 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.v$[\"expertSettingsOverviewForm\"].expertFunction.$model || \"-\"), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"myCadac.expertSettings.lblHeader\")), 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.v$[\"expertSettingsOverviewForm\"].shortDescriptionTitle.$model || \"-\"), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"myCadac.expertSettings.lblIntroduction\")), 1),\n _createElementVNode(\"dd\", _hoisted_22, _toDisplayString(_ctx.v$[\"expertSettingsOverviewForm\"].shortDescription.$model || \"-\"), 1),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"common.forms.lblDescription\")), 1),\n _createElementVNode(\"dd\", _hoisted_23, _toDisplayString(_ctx.v$[\"expertSettingsOverviewForm\"].description.$model || \"-\"), 1)\n ]))\n ], 64))\n}","<template>\r\n\t<form v-if=\"isEditing\" class=\"\">\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-12 col-xl-6\">\r\n\t\t\t\t<label :class=\"{ required: v$['expertSettingsOverviewForm'].expertFunction?.required }\">\r\n\t\t\t\t\t{{ $t(\"myCadac.expertSettings.lblFunction\") }}\r\n\t\t\t\t</label>\r\n\t\t\t\t<InputText\r\n\t\t\t\t\tv-model=\"v$['expertSettingsOverviewForm'].expertFunction.$model\"\r\n\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['expertSettingsOverviewForm'].expertFunction) }\"\r\n\t\t\t\t\t:readonly=\"!isEditing\"\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t/>\r\n\t\t\t\t<small v-if=\"shouldShowError(v$['expertSettingsOverviewForm'].expertFunction)\" class=\"p-error\">\r\n\t\t\t\t\t{{ v$[\"expertSettingsOverviewForm\"].expertFunction?.required?.$message }}\r\n\t\t\t\t</small>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-12 col-xl-6\">\r\n\t\t\t\t<label :class=\"{ required: v$['expertSettingsOverviewForm'].shortDescriptionTitle?.required }\">\r\n\t\t\t\t\t{{ $t(\"myCadac.expertSettings.lblHeader\") }}\r\n\t\t\t\t</label>\r\n\t\t\t\t<InputText\r\n\t\t\t\t\tv-model=\"v$['expertSettingsOverviewForm'].shortDescriptionTitle.$model\"\r\n\t\t\t\t\t:class=\"{\r\n\t\t\t\t\t\t'p-invalid': shouldShowError(v$['expertSettingsOverviewForm'].shortDescriptionTitle),\r\n\t\t\t\t\t}\"\r\n\t\t\t\t\t:readonly=\"!isEditing\"\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t/>\r\n\t\t\t\t<small\r\n\t\t\t\t\tv-if=\"shouldShowError(v$['expertSettingsOverviewForm'].shortDescriptionTitle)\"\r\n\t\t\t\t\tclass=\"p-error\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ v$[\"expertSettingsOverviewForm\"].shortDescriptionTitle?.required?.$message }}\r\n\t\t\t\t</small>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-12\">\r\n\t\t\t\t<label :class=\"{ required: v$['expertSettingsOverviewForm'].shortDescription?.required }\">\r\n\t\t\t\t\t{{ $t(\"myCadac.expertSettings.lblIntroduction\") }}\r\n\t\t\t\t</label>\r\n\t\t\t\t<Textarea\r\n\t\t\t\t\tv-model=\"v$['expertSettingsOverviewForm'].shortDescription.$model\"\r\n\t\t\t\t\t:auto-resize=\"true\"\r\n\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['expertSettingsOverviewForm'].shortDescription) }\"\r\n\t\t\t\t\tcols=\"30\"\r\n\t\t\t\t\t:readonly=\"!isEditing\"\r\n\t\t\t\t\trows=\"5\"\r\n\t\t\t\t/>\r\n\t\t\t\t<span v-if=\"shouldShowError(v$['expertSettingsOverviewForm'].shortDescription)\">\r\n\t\t\t\t\t<small v-if=\"!v$['expertSettingsOverviewForm'].shortDescription.$model\" class=\"p-error\">\r\n\t\t\t\t\t\t{{ v$[\"expertSettingsOverviewForm\"].shortDescription?.required?.$message }}\r\n\t\t\t\t\t</small>\r\n\t\t\t\t\t<small\r\n\t\t\t\t\t\tv-else-if=\"v$['expertSettingsOverviewForm'].shortDescription.minLength.$invalid\"\r\n\t\t\t\t\t\tclass=\"p-error\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{{ v$[\"expertSettingsOverviewForm\"].shortDescription.minLength?.$message }}\r\n\t\t\t\t\t</small>\r\n\t\t\t\t\t<small\r\n\t\t\t\t\t\tv-else-if=\"v$['expertSettingsOverviewForm'].shortDescription.maxLength.$invalid\"\r\n\t\t\t\t\t\tclass=\"p-error\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{{ v$[\"expertSettingsOverviewForm\"].shortDescription.maxLength?.$message }}\r\n\t\t\t\t\t</small>\r\n\t\t\t\t</span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-12\">\r\n\t\t\t\t<label :class=\"{ required: v$['expertSettingsOverviewForm'].description?.required }\">\r\n\t\t\t\t\t{{ $t(\"common.forms.lblDescription\") }}\r\n\t\t\t\t</label>\r\n\t\t\t\t<Textarea\r\n\t\t\t\t\tv-model=\"v$['expertSettingsOverviewForm'].description.$model\"\r\n\t\t\t\t\t:auto-resize=\"true\"\r\n\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['expertSettingsOverviewForm'].description) }\"\r\n\t\t\t\t\tcols=\"30\"\r\n\t\t\t\t\t:readonly=\"!isEditing\"\r\n\t\t\t\t\trows=\"5\"\r\n\t\t\t\t/>\r\n\t\t\t\t<span v-if=\"shouldShowError(v$['expertSettingsOverviewForm'].description)\">\r\n\t\t\t\t\t<small v-if=\"!v$['expertSettingsOverviewForm'].description.$model\" class=\"p-error\">\r\n\t\t\t\t\t\t{{ v$[\"expertSettingsOverviewForm\"].description?.required?.$message }}\r\n\t\t\t\t\t</small>\r\n\t\t\t\t\t<small\r\n\t\t\t\t\t\tv-else-if=\"v$['expertSettingsOverviewForm'].description.minLength.$invalid\"\r\n\t\t\t\t\t\tclass=\"p-error\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{{ v$[\"expertSettingsOverviewForm\"].description.minLength?.$message }}\r\n\t\t\t\t\t</small>\r\n\t\t\t\t\t<small\r\n\t\t\t\t\t\tv-else-if=\"v$['expertSettingsOverviewForm'].description.maxLength.$invalid\"\r\n\t\t\t\t\t\tclass=\"p-error\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{{ v$[\"expertSettingsOverviewForm\"].description.maxLength?.$message }}\r\n\t\t\t\t\t</small>\r\n\t\t\t\t</span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</form>\r\n\t<div v-if=\"isEditing\">\r\n\t\t<Button class=\"\" :disabled=\"!canSubmit\" :label=\"$t(`common.save`)\" @click=\"onSubmit\" />\r\n\t</div>\r\n\t<dl v-else>\r\n\t\t<dt>{{ $t(\"myCadac.expertSettings.lblFunction\") }}</dt>\r\n\t\t<dd>{{ v$[\"expertSettingsOverviewForm\"].expertFunction.$model || \"-\" }}</dd>\r\n\t\t<dt>{{ $t(\"myCadac.expertSettings.lblHeader\") }}</dt>\r\n\t\t<dd>{{ v$[\"expertSettingsOverviewForm\"].shortDescriptionTitle.$model || \"-\" }}</dd>\r\n\t\t<dt>{{ $t(\"myCadac.expertSettings.lblIntroduction\") }}</dt>\r\n\t\t<dd class=\"text-preline\" style=\"word-break: break-word\">\r\n\t\t\t{{ v$[\"expertSettingsOverviewForm\"].shortDescription.$model || \"-\" }}\r\n\t\t</dd>\r\n\t\t<dt>{{ $t(\"common.forms.lblDescription\") }}</dt>\r\n\t\t<dd class=\"text-preline\" style=\"word-break: break-word\">\r\n\t\t\t{{ v$[\"expertSettingsOverviewForm\"].description.$model || \"-\" }}\r\n\t\t</dd>\r\n\t</dl>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { PropType } from \"vue\";\r\nimport { Component, Emit, Prop, Watch } from \"vue-facing-decorator\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport useVuelidate, { Validation } from \"@vuelidate/core\";\r\nimport { ExpertSettingsOverviewForm } from \"@/types/models/form/expertSettingsOverviewForm\";\r\nimport { maxLength, minLength, required } from \"@/types/utils/i18n-validators\";\r\nimport { ExpertProfileViewModel } from \"@/types/models/expert/expertProfileViewModel\";\r\n\r\n@Component({\r\n\tcomponents: {},\r\n\toptions: {\r\n\t\tvalidations: {\r\n\t\t\texpertSettingsOverviewForm: {\r\n\t\t\t\texpertFunction: { required, maxLength: maxLength(255) },\r\n\t\t\t\tshortDescriptionTitle: { required, maxLength: maxLength(255) },\r\n\t\t\t\tshortDescription: { required, minLength: minLength(120), maxLength: maxLength(500) },\r\n\t\t\t\tdescription: { required, minLength: minLength(120), maxLength: maxLength(1500) },\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n})\r\nexport default class ExpertOverviewForm extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<ExpertProfileViewModel>, required: true, default: {} })\r\n\tvm!: ExpertProfileViewModel;\r\n\r\n\t@Prop({ type: Boolean, required: true, default: false })\r\n\tisEditing!: boolean;\r\n\r\n\t@Emit() submit(): ExpertSettingsOverviewForm {\r\n\t\treturn this.expertSettingsOverviewForm;\r\n\t}\r\n\r\n\t@Watch(\"isEditing\") onIsEditingChanged(_val: boolean): void {\r\n\t\tthis.initForm();\r\n\t}\r\n\r\n\t@Watch(\"vm\") onVmChanged(_val: boolean): void {\r\n\t\tthis.initForm();\r\n\t}\r\n\r\n\tsubmitted = false;\r\n\tv$ = useVuelidate();\r\n\texpertSettingsOverviewForm!: ExpertSettingsOverviewForm;\r\n\r\n\tcreated(): void {\r\n\t\tthis.initForm();\r\n\t}\r\n\r\n\tget canSubmit(): boolean {\r\n\t\treturn this.v$[\"expertSettingsOverviewForm\"].$anyDirty && !this.v$[\"expertSettingsOverviewForm\"].$invalid;\r\n\t}\r\n\r\n\tinitForm(): void {\r\n\t\tthis.expertSettingsOverviewForm = {\r\n\t\t\texpertFunction: this.vm?.function,\r\n\t\t\tshortDescriptionTitle: this.vm?.shortDescriptionTitle,\r\n\t\t\tshortDescription: this.vm?.shortDescription,\r\n\t\t\tdescription: this.vm?.description,\r\n\t\t};\r\n\t}\r\n\r\n\tshouldShowError(fieldToValidate: Validation): boolean {\r\n\t\treturn fieldToValidate.$invalid && (this.submitted || fieldToValidate.$dirty);\r\n\t}\r\n\r\n\tonSubmit(): void {\r\n\t\tthis.submitted = true;\r\n\t\tif (!this.canSubmit) return;\r\n\t\tthis.submit();\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { render } from \"./expertOverviewForm.vue?vue&type=template&id=4ee35edd&ts=true\"\nimport script from \"./expertOverviewForm.vue?vue&type=script&lang=ts\"\nexport * from \"./expertOverviewForm.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./expertSettings.vue?vue&type=template&id=7cc6b924&ts=true\"\nimport script from \"./expertSettings.vue?vue&type=script&lang=ts\"\nexport * from \"./expertSettings.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, withModifiers as _withModifiers, withCtx as _withCtx, createBlock as _createBlock, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-547a1915\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"\"\n}\nconst _hoisted_2 = [\"innerHTML\"]\nconst _hoisted_3 = [\"innerHTML\"]\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = { class: \"d-flex flex-column form-group\" }\nconst _hoisted_6 = { for: \"remoteAllowed\" }\nconst _hoisted_7 = { class: \"d-flex flex-column form-group\" }\nconst _hoisted_8 = { for: \"availableAbroad\" }\nconst _hoisted_9 = { key: 1 }\nconst _hoisted_10 = [\"innerHTML\"]\nconst _hoisted_11 = { class: \"map-container\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_InputSwitch = _resolveComponent(\"InputSwitch\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_ColumnYesNo = _resolveComponent(\"ColumnYesNo\")!\n const _component_Panel = _resolveComponent(\"Panel\")!\n const _component_GMapAutocomplete = _resolveComponent(\"GMapAutocomplete\")!\n const _component_GMapMarker = _resolveComponent(\"GMapMarker\")!\n const _component_GMapCircle = _resolveComponent(\"GMapCircle\")!\n const _component_GMapMap = _resolveComponent(\"GMapMap\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (_ctx.vm.pageTitle)\n ? (_openBlock(), _createElementBlock(\"h1\", _hoisted_1, _toDisplayString(_ctx.vm.pageTitle), 1))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Panel, { class: \"mb-2\" }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", null, [\n (_ctx.vm.introTitle)\n ? (_openBlock(), _createElementBlock(\"p\", {\n key: 0,\n class: \"lead mb-0 font-weight-bold\",\n innerHTML: _ctx.vm.introTitle\n }, null, 8, _hoisted_2))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.introText)\n ? (_openBlock(), _createElementBlock(\"p\", {\n key: 1,\n class: \"lead\",\n innerHTML: _ctx.vm.introText\n }, null, 8, _hoisted_3))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n default: _withCtx(() => [\n (_ctx.isEditingTravelSettings)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"label\", _hoisted_6, _toDisplayString(_ctx.$t(\"myCadac.expertTravelSettings.lblRemoteAllowed\")), 1),\n _createVNode(_component_InputSwitch, {\n modelValue: _ctx.isRemoteAllowed,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.isRemoteAllowed) = $event)),\n id: \"remoteAllowed\"\n }, null, 8, [\"modelValue\"])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"label\", _hoisted_8, _toDisplayString(_ctx.$t(\"myCadac.expertTravelSettings.lblAvailableAbroad\")), 1),\n _createVNode(_component_InputSwitch, {\n modelValue: _ctx.isAvailableAbroad,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.isAvailableAbroad) = $event)),\n id: \"availableAbroad\"\n }, null, 8, [\"modelValue\"])\n ]),\n _createElementVNode(\"div\", null, [\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-primary mr-1\",\n label: _ctx.$t('common.cancel'),\n onClick: _withModifiers(_ctx.onCancelEditing, [\"stop\"])\n }, null, 8, [\"label\", \"onClick\"]),\n _createVNode(_component_Button, {\n class: \"\",\n label: _ctx.$t(`common.save`),\n onClick: _ctx.onSubmit\n }, null, 8, [\"label\", \"onClick\"])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"myCadac.expertTravelSettings.lblRemoteAllowed\")), 1),\n _createElementVNode(\"dd\", null, [\n _createVNode(_component_ColumnYesNo, { value: _ctx.isRemoteAllowed }, null, 8, [\"value\"])\n ]),\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"myCadac.expertTravelSettings.lblAvailableAbroad\")), 1),\n _createElementVNode(\"dd\", null, [\n _createVNode(_component_ColumnYesNo, { value: _ctx.isAvailableAbroad }, null, 8, [\"value\"])\n ])\n ]),\n _createVNode(_component_Button, {\n class: \"p-button-text px-0\",\n icon: \"pi pi-pencil\",\n label: _ctx.$t('common.change'),\n onClick: _cache[2] || (_cache[2] = _withModifiers(($event: any) => (_ctx.isEditingTravelSettings = true), [\"stop\"]))\n }, null, 8, [\"label\"])\n ]))\n ]),\n _: 1\n }),\n _createVNode(_component_Panel, { class: \"mb-2\" }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", null, [\n (_ctx.vm.mapDescription)\n ? (_openBlock(), _createElementBlock(\"p\", {\n key: 0,\n class: \"lead\",\n innerHTML: _ctx.vm.mapDescription\n }, null, 8, _hoisted_10))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"div\", null, [\n _createVNode(_component_GMapAutocomplete, {\n class: \"w-100\",\n placeholder: _ctx.$t(`myCadac.expertTravelSettings.searchLocation_placeholder`),\n onChange: _ctx.onLocationSelected,\n onPlace_changed: _ctx.onPlaceChanged\n }, null, 8, [\"placeholder\", \"onChange\", \"onPlace_changed\"])\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createVNode(_component_GMapMap, {\n center: {\r\n\t\t\t\t\tlat: _ctx.vm?.expertProfile?.latitude,\r\n\t\t\t\t\tlng: _ctx.vm?.expertProfile?.longitude,\r\n\t\t\t\t},\n options: {\r\n\t\t\t\t\tzoomControl: true,\r\n\t\t\t\t\tmapTypeControl: false,\r\n\t\t\t\t\tscaleControl: false,\r\n\t\t\t\t\tstreetViewControl: false,\r\n\t\t\t\t\trotateControl: false,\r\n\t\t\t\t\tfullscreenControl: false,\r\n\t\t\t\t},\n zoom: 5\n }, {\n default: _withCtx(() => [\n (_ctx.workLocation)\n ? (_openBlock(), _createBlock(_component_GMapMarker, {\n key: 0,\n clickable: false,\n draggable: false,\n position: {\r\n\t\t\t\t\t\tlat: _ctx.workLocation?.latitude,\r\n\t\t\t\t\t\tlng: _ctx.workLocation?.longitude,\r\n\t\t\t\t\t}\n }, null, 8, [\"position\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_GMapCircle, {\n key: \"minPlaneCompensationDistance\",\n center: {\r\n\t\t\t\t\t\tlat: _ctx.vm?.expertProfile?.latitude,\r\n\t\t\t\t\t\tlng: _ctx.vm?.expertProfile?.longitude,\r\n\t\t\t\t\t},\n options: {\r\n\t\t\t\t\t\tradius: _ctx.vm.minPlaneCompensationDistance * 1000,\r\n\t\t\t\t\t\tstrokeColor: '#91004b',\r\n\t\t\t\t\t\tstrokeOpacity: 0.25,\r\n\t\t\t\t\t\tstrokeWeight: 1,\r\n\t\t\t\t\t\tfillColor: '#91004b',\r\n\t\t\t\t\t\tfillOpacity: 0.15,\r\n\t\t\t\t\t}\n }, null, 8, [\"center\", \"options\"]),\n _createVNode(_component_GMapCircle, {\n key: \"minCompensationDistance\",\n center: {\r\n\t\t\t\t\t\tlat: _ctx.vm?.expertProfile?.latitude,\r\n\t\t\t\t\t\tlng: _ctx.vm?.expertProfile?.longitude,\r\n\t\t\t\t\t},\n options: {\r\n\t\t\t\t\t\tradius: _ctx.vm.minCompensationDistance * 1000,\r\n\t\t\t\t\t\tstrokeColor: '#91004b',\r\n\t\t\t\t\t\tstrokeOpacity: 0.5,\r\n\t\t\t\t\t\tstrokeWeight: 1,\r\n\t\t\t\t\t\tfillColor: '#91004b',\r\n\t\t\t\t\t\tfillOpacity: 0.3,\r\n\t\t\t\t\t}\n }, null, 8, [\"center\", \"options\"])\n ]),\n _: 1\n }, 8, [\"center\"])\n ])\n ]),\n _: 1\n })\n ], 64))\n}","<template>\r\n\t<h1 v-if=\"vm.pageTitle\" class=\"\">{{ vm.pageTitle }}</h1>\r\n\r\n\t<Panel class=\"mb-2\">\r\n\t\t<template #header>\r\n\t\t\t<div>\r\n\t\t\t\t<p v-if=\"vm.introTitle\" class=\"lead mb-0 font-weight-bold\" v-html=\"vm.introTitle\" />\r\n\t\t\t\t<p v-if=\"vm.introText\" class=\"lead\" v-html=\"vm.introText\" />\r\n\t\t\t</div>\r\n\t\t</template>\r\n\r\n\t\t<div v-if=\"isEditingTravelSettings\">\r\n\t\t\t<div class=\"d-flex flex-column form-group\">\r\n\t\t\t\t<label for=\"remoteAllowed\">{{ $t(\"myCadac.expertTravelSettings.lblRemoteAllowed\") }}</label>\r\n\t\t\t\t<InputSwitch v-model=\"isRemoteAllowed\" id=\"remoteAllowed\" />\r\n\t\t\t</div>\r\n\t\t\t<div class=\"d-flex flex-column form-group\">\r\n\t\t\t\t<label for=\"availableAbroad\">{{ $t(\"myCadac.expertTravelSettings.lblAvailableAbroad\") }}</label>\r\n\t\t\t\t<InputSwitch v-model=\"isAvailableAbroad\" id=\"availableAbroad\" />\r\n\t\t\t</div>\r\n\t\t\t<div>\r\n\t\t\t\t<Button\r\n\t\t\t\t\tclass=\"p-button-text p-button-primary mr-1\"\r\n\t\t\t\t\t:label=\"$t('common.cancel')\"\r\n\t\t\t\t\t@click.stop=\"onCancelEditing\"\r\n\t\t\t\t/>\r\n\t\t\t\t<Button class=\"\" :label=\"$t(`common.save`)\" @click=\"onSubmit\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div v-else>\r\n\t\t\t<dl>\r\n\t\t\t\t<dt>{{ $t(\"myCadac.expertTravelSettings.lblRemoteAllowed\") }}</dt>\r\n\t\t\t\t<dd>\r\n\t\t\t\t\t<ColumnYesNo :value=\"isRemoteAllowed\" />\r\n\t\t\t\t</dd>\r\n\t\t\t\t<dt>{{ $t(\"myCadac.expertTravelSettings.lblAvailableAbroad\") }}</dt>\r\n\t\t\t\t<dd>\r\n\t\t\t\t\t<ColumnYesNo :value=\"isAvailableAbroad\" />\r\n\t\t\t\t</dd>\r\n\t\t\t</dl>\r\n\t\t\t<Button\r\n\t\t\t\tclass=\"p-button-text px-0\"\r\n\t\t\t\ticon=\"pi pi-pencil\"\r\n\t\t\t\t:label=\"$t('common.change')\"\r\n\t\t\t\t@click.stop=\"isEditingTravelSettings = true\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t</Panel>\r\n\r\n\t<Panel class=\"mb-2\">\r\n\t\t<template #header>\r\n\t\t\t<div>\r\n\t\t\t\t<p v-if=\"vm.mapDescription\" class=\"lead\" v-html=\"vm.mapDescription\" />\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t\t<div>\r\n\t\t\t<GMapAutocomplete\r\n\t\t\t\tclass=\"w-100\"\r\n\t\t\t\t:placeholder=\"$t(`myCadac.expertTravelSettings.searchLocation_placeholder`)\"\r\n\t\t\t\t@change=\"onLocationSelected\"\r\n\t\t\t\t@place_changed=\"onPlaceChanged\"\r\n\t\t\t>\r\n\t\t\t</GMapAutocomplete>\r\n\t\t</div>\r\n\t\t<div class=\"map-container\">\r\n\t\t\t<GMapMap\r\n\t\t\t\t:center=\"{\r\n\t\t\t\t\tlat: vm?.expertProfile?.latitude,\r\n\t\t\t\t\tlng: vm?.expertProfile?.longitude,\r\n\t\t\t\t}\"\r\n\t\t\t\t:options=\"{\r\n\t\t\t\t\tzoomControl: true,\r\n\t\t\t\t\tmapTypeControl: false,\r\n\t\t\t\t\tscaleControl: false,\r\n\t\t\t\t\tstreetViewControl: false,\r\n\t\t\t\t\trotateControl: false,\r\n\t\t\t\t\tfullscreenControl: false,\r\n\t\t\t\t}\"\r\n\t\t\t\t:zoom=\"5\"\r\n\t\t\t>\r\n\t\t\t\t<GMapMarker\r\n\t\t\t\t\tv-if=\"workLocation\"\r\n\t\t\t\t\t:clickable=\"false\"\r\n\t\t\t\t\t:draggable=\"false\"\r\n\t\t\t\t\t:position=\"{\r\n\t\t\t\t\t\tlat: workLocation?.latitude,\r\n\t\t\t\t\t\tlng: workLocation?.longitude,\r\n\t\t\t\t\t}\"\r\n\t\t\t\t/>\r\n\t\t\t\t<GMapCircle\r\n\t\t\t\t\tkey=\"minPlaneCompensationDistance\"\r\n\t\t\t\t\t:center=\"{\r\n\t\t\t\t\t\tlat: vm?.expertProfile?.latitude,\r\n\t\t\t\t\t\tlng: vm?.expertProfile?.longitude,\r\n\t\t\t\t\t}\"\r\n\t\t\t\t\t:options=\"{\r\n\t\t\t\t\t\tradius: vm.minPlaneCompensationDistance * 1000,\r\n\t\t\t\t\t\tstrokeColor: '#91004b',\r\n\t\t\t\t\t\tstrokeOpacity: 0.25,\r\n\t\t\t\t\t\tstrokeWeight: 1,\r\n\t\t\t\t\t\tfillColor: '#91004b',\r\n\t\t\t\t\t\tfillOpacity: 0.15,\r\n\t\t\t\t\t}\"\r\n\t\t\t\t/>\r\n\t\t\t\t<GMapCircle\r\n\t\t\t\t\tkey=\"minCompensationDistance\"\r\n\t\t\t\t\t:center=\"{\r\n\t\t\t\t\t\tlat: vm?.expertProfile?.latitude,\r\n\t\t\t\t\t\tlng: vm?.expertProfile?.longitude,\r\n\t\t\t\t\t}\"\r\n\t\t\t\t\t:options=\"{\r\n\t\t\t\t\t\tradius: vm.minCompensationDistance * 1000,\r\n\t\t\t\t\t\tstrokeColor: '#91004b',\r\n\t\t\t\t\t\tstrokeOpacity: 0.5,\r\n\t\t\t\t\t\tstrokeWeight: 1,\r\n\t\t\t\t\t\tfillColor: '#91004b',\r\n\t\t\t\t\t\tfillOpacity: 0.3,\r\n\t\t\t\t\t}\"\r\n\t\t\t\t/>\r\n\t\t\t</GMapMap>\r\n\t\t</div>\r\n\t</Panel>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport ColumnYesNo from \"@/components/commerce/cart/columnYesNo.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { ExpertBookingWorkLocation } from \"@/types/models/expert/expertBookingWorkLocation\";\r\nimport { IExpertTravelSettings } from \"@/types/viewModels/myCadac/expertTravelSettingsViewModel\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { SaveExpertTravelSettingsRequest } from \"@/types/models/expert/saveExpertTravelSettingsRequest\";\r\n\r\n@Component({\r\n\tcomponents: { ColumnYesNo },\r\n})\r\nexport default class ExpertTravelSettings extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<IExpertTravelSettings>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: IExpertTravelSettings;\r\n\r\n\tisRemoteAllowed!: boolean;\r\n\tisAvailableAbroad!: boolean;\r\n\tisEditingTravelSettings = false;\r\n\r\n\tworkLocation!: ExpertBookingWorkLocation | null;\r\n\r\n\tcreated(): void {\r\n\t\tthis.isAvailableAbroad = this.vm.expertProfile?.availableAbroad;\r\n\t\tthis.isRemoteAllowed = this.vm.expertProfile?.remoteAllowed;\r\n\t}\r\n\r\n\tonLocationSelected(e): void {\r\n\t\tif (!e.target.value) {\r\n\t\t\tthis.workLocation = null;\r\n\t\t}\r\n\t}\r\n\r\n\tonPlaceChanged(place): void {\r\n\t\tif (place?.name) {\r\n\t\t\tconst result = place.address_components.find((component) => {\r\n\t\t\t\treturn component.types.includes(\"country\");\r\n\t\t\t});\r\n\r\n\t\t\tthis.workLocation = {\r\n\t\t\t\tname: place.formatted_address,\r\n\t\t\t\tcountryCode: result.short_name,\r\n\t\t\t\tlatitude: place.geometry.location.lat(),\r\n\t\t\t\tlongitude: place.geometry.location.lng(),\r\n\t\t\t};\r\n\t\t} else {\r\n\t\t\tthis.workLocation = null;\r\n\t\t}\r\n\t}\r\n\r\n\tonCancelEditing(): void {\r\n\t\tthis.isEditingTravelSettings = false;\r\n\t\tthis.isAvailableAbroad = this.vm.expertProfile?.availableAbroad;\r\n\t\tthis.isRemoteAllowed = this.vm.expertProfile?.remoteAllowed;\r\n\t}\r\n\r\n\tonSubmit(): void {\r\n\t\tthis.saveTravelSettings();\r\n\t}\r\n\r\n\tprivate saveTravelSettings(): void {\r\n\t\tconst model: SaveExpertTravelSettingsRequest = {\r\n\t\t\tworkRemote: this.isRemoteAllowed,\r\n\t\t\tworkAbroad: this.isAvailableAbroad,\r\n\t\t\teditingLanguage: this.currentLanguage,\r\n\t\t};\r\n\r\n\t\tthis.axios\r\n\t\t\t.post(\"/api/expert/settings/save-travel-settings\", model, { requestId: \"saveTravelSettings\" })\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.isEditingTravelSettings = false;\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"success\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleSuccess\"),\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.exertTravelSettings.toast.updateExperTravelSettingsSuccess\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.exertTravelSettings.toast.updateExperTravelSettingsError\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.map-container {\r\n\tmargin-top: 1.5rem;\r\n\theight: 500px;\r\n}\r\n\r\n::v-deep(.vue-map-container) {\r\n\theight: 100% !important;\r\n}\r\n</style>\r\n","import { render } from \"./expertTravelSettings.vue?vue&type=template&id=547a1915&scoped=true&ts=true\"\nimport script from \"./expertTravelSettings.vue?vue&type=script&lang=ts\"\nexport * from \"./expertTravelSettings.vue?vue&type=script&lang=ts\"\n\nimport \"./expertTravelSettings.vue?vue&type=style&index=0&id=547a1915&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-547a1915\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, resolveDirective as _resolveDirective, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, normalizeClass as _normalizeClass, createBlock as _createBlock, createTextVNode as _createTextVNode, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-04bb4211\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"d-flex align-items-center mt-2 mb-2\"\n}\nconst _hoisted_2 = [\"alt\"]\nconst _hoisted_3 = { class: \"d-flex flex-column justify-content-between\" }\nconst _hoisted_4 = { class: \"lead text-muted mb-0\" }\nconst _hoisted_5 = { class: \"m-0\" }\nconst _hoisted_6 = { key: 0 }\nconst _hoisted_7 = { class: \"text-bold\" }\nconst _hoisted_8 = { class: \"mr-1 text-bold lead\" }\nconst _hoisted_9 = { class: \"d-flex align-items-center\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-check-circle text-success message-icon mr-2\" }, null, -1))\nconst _hoisted_11 = { class: \"d-flex align-items-center\" }\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-info-circle text-primary message-icon mr-2\" }, null, -1))\nconst _hoisted_13 = {\n key: 4,\n class: \"mt-3\"\n}\nconst _hoisted_14 = {\n key: 0,\n class: \"d-flex flex-wrap\"\n}\nconst _hoisted_15 = { class: \"d-flex flex-column\" }\nconst _hoisted_16 = { class: \"p-field-checkbox form-group mt-1\" }\nconst _hoisted_17 = [\"for\"]\nconst _hoisted_18 = { key: 0 }\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", {\n class: \"pi pi-spin pi-spinner\",\n style: {\"font-size\":\"1.5rem\"}\n}, null, -1))\nconst _hoisted_20 = [\n _hoisted_19\n]\nconst _hoisted_21 = { class: \"ml-2\" }\nconst _hoisted_22 = [\"for\"]\nconst _hoisted_23 = { key: 1 }\nconst _hoisted_24 = { class: \"mr-1 text-bold lead\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_BackButton = _resolveComponent(\"BackButton\")!\n const _component_Chip = _resolveComponent(\"Chip\")!\n const _component_TrainingDetailSummary = _resolveComponent(\"TrainingDetailSummary\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_Checkbox = _resolveComponent(\"Checkbox\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_BackButton, {\n label: _ctx.$t('myCadac.trainingDetail.button.back')\n }, null, 8, [\"label\"]),\n (_ctx.vm.training)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _withDirectives(_createElementVNode(\"img\", {\n alt: _ctx.vm.training.productIconAlt,\n class: \"icon-training-item mr-2\"\n }, null, 8, _hoisted_2), [\n [_directive_lazy, _ctx.vm.training.productIconUrl]\n ]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"p\", _hoisted_4, _toDisplayString(_ctx.vm.training.brand), 1),\n _createElementVNode(\"h4\", _hoisted_5, _toDisplayString(_ctx.vm.training.name), 1)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_TrainingDetailSummary, {\n \"is-instructor\": _ctx.vm.isInstructor,\n vm: _ctx.vm.training\n }, {\n default: _withCtx(() => [\n (_ctx.vm.isParticipant)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createElementVNode(\"p\", _hoisted_7, _toDisplayString(_ctx.$t(\"myCadac.trainingSummary.lblPresence\")), 1),\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.attendancePercentage(_ctx.userAsParticipant) || 0) + \"%\", 1),\n _createTextVNode(\" | \"),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.training.dates, (date, dateIndex) => {\n return (_openBlock(), _createBlock(_component_Chip, {\n key: date,\n class: _normalizeClass(_ctx.isParticipantPresentForDay(_ctx.userAsParticipant, dateIndex) ? 'text-success' : 'text-danger'),\n icon: _ctx.isParticipantPresentForDay(_ctx.userAsParticipant, dateIndex) ? 'pi pi-check' : 'pi pi-times',\n label: _ctx.formatDate(date.date)\n }, null, 8, [\"class\", \"icon\", \"label\"]))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"is-instructor\", \"vm\"]),\n (_ctx.vm.isParticipant && _ctx.canDownloadCertificate(_ctx.userAsParticipant))\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 1,\n class: \"message-with-button\",\n closable: false,\n severity: \"custom\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_9, [\n _hoisted_10,\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(\"myCadac.trainingDetail.message.canDownloadCertificate\")), 1)\n ]),\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-raised m-1\",\n icon: \"pi pi-download\",\n label: _ctx.$t('myCadac.trainingDetail.button.downloadCertificate'),\n title: _ctx.$t('myCadac.trainingDetail.button.downloadCertificate_title'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.downloadCertificate(_ctx.userAsParticipant)))\n }, null, 8, [\"label\", \"title\"])\n ]),\n _: 1\n }))\n : (_ctx.vm.isParticipant && !_ctx.canDownloadCertificate(_ctx.userAsParticipant))\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 2,\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.trainingDetail.message.cannotDownloadCertificate\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.canDownloadAllCertificates)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 3,\n class: \"message-with-button\",\n closable: false,\n severity: \"custom\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_11, [\n _hoisted_12,\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(\"myCadac.trainingDetail.message.instructorDownloadAllCertificates\")), 1)\n ]),\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-raised m-1\",\n icon: \"pi pi-download\",\n label: _ctx.$t('myCadac.trainingDetail.button.downloadAllCertificates'),\n title: _ctx.$t('myCadac.trainingDetail.button.downloadAllCertificates_title'),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.downloadAllCertificates()))\n }, null, 8, [\"label\", \"title\"])\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n ((_ctx.vm.isInstructor || _ctx.vm.isCustomer) && _ctx.vm.training?.participants)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.vm.isInstructor\r\n\t\t\t\t\t? _ctx.$t(\"myCadac.trainingDetail.titleUpdateAttendance\")\r\n\t\t\t\t\t: _ctx.$t(\"myCadac.trainingDetail.titleAttendance\")), 1),\n _createVNode(_component_DataTable, {\n \"auto-layout\": \"\",\n \"data-key\": \"id\",\n value: _ctx.trainingParticipants\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Column, {\n key: \"participant\",\n \"body-class\": \"\",\n header: _ctx.$t('myCadac.trainingDetail.table.participant')\n }, {\n body: _withCtx((item) => [\n _createTextVNode(_toDisplayString(_ctx.participantName(item.data)), 1)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"email\",\n field: \"email\",\n header: _ctx.$t('myCadac.trainingDetail.table.email')\n }, null, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"allPresenceDays\",\n field: \"allPresenceDays\",\n header: _ctx.$t('myCadac.trainingDetail.table.presence')\n }, {\n body: _withCtx((item) => [\n (_ctx.vm.isInstructor)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", _hoisted_16, [\n _createVNode(_component_Checkbox, {\n modelValue: _ctx.participantAllDayPresent[item.data.id],\n \"onUpdate:modelValue\": ($event: any) => ((_ctx.participantAllDayPresent[item.data.id]) = $event),\n id: `allDaysPresent-${item.index}`,\n binary: true,\n disabled: _ctx.isSpinnerVisible(item.data.id),\n onClick: ($event: any) => (_ctx.toggleAllDatesPresent(item.data, item.index))\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"id\", \"disabled\", \"onClick\"]),\n _createElementVNode(\"label\", {\n class: \"ml-2 mb-0\",\n for: `allDaysPresent-${item.index}`\n }, _toDisplayString(_ctx.$t(\"myCadac.trainingDetail.table.lblAllDaysPresent\")), 9, _hoisted_17)\n ]),\n (_ctx.isSpinnerVisible(item.data.id))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_18, _hoisted_20))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_21, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.training.dates, (date, dateIndex) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: date,\n class: \"p-field-checkbox form-group mt-1\"\n }, [\n _createVNode(_component_Checkbox, {\n modelValue: item.data.allPresenceDays[dateIndex],\n \"onUpdate:modelValue\": ($event: any) => ((item.data.allPresenceDays[dateIndex]) = $event),\n id: `dateCheckbox-${item.index}-${dateIndex}`,\n binary: true,\n disabled: _ctx.isSpinnerVisible(item.data.id),\n onChange: ($event: any) => (_ctx.toggleDatePresent(item.data))\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"id\", \"disabled\", \"onChange\"]),\n _createElementVNode(\"label\", {\n class: \"ml-2 mb-0\",\n for: `dateCheckbox-${item.index}-${dateIndex}`\n }, _toDisplayString(_ctx.formatDate(date.date)), 9, _hoisted_22)\n ]))\n }), 128))\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_23, [\n _createElementVNode(\"span\", _hoisted_24, _toDisplayString(_ctx.attendancePercentage(item.data) || 0) + \"%\", 1),\n _createTextVNode(\" | \"),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.training.dates, (date, dateIndex) => {\n return (_openBlock(), _createBlock(_component_Chip, {\n key: date,\n class: _normalizeClass(\r\n\t\t\t\t\t\t\t\t_ctx.isParticipantPresentForDay(item.data, dateIndex) ? 'text-success' : 'text-danger'\r\n\t\t\t\t\t\t\t),\n icon: \r\n\t\t\t\t\t\t\t\t_ctx.isParticipantPresentForDay(item.data, dateIndex) ? 'pi pi-check' : 'pi pi-times'\r\n\t\t\t\t\t\t\t,\n label: _ctx.formatDate(date.date)\n }, null, 8, [\"class\", \"icon\", \"label\"]))\n }), 128))\n ]))\n ]),\n _: 1\n }, 8, [\"header\"]),\n (_ctx.vm.isCustomer)\n ? (_openBlock(), _createBlock(_component_Column, {\n key: \"certificate\",\n \"body-class\": \"\",\n header: _ctx.$t('myCadac.trainingDetail.table.certificate')\n }, {\n body: _withCtx((item) => [\n (_ctx.canDownloadCertificate(item.data))\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-text p-button-raised p-button-rounded\",\n icon: \"pi pi-download\",\n label: _ctx.isSmallScreen ? _ctx.$t('myCadac.trainingDetail.button.downloadCertificate') : '',\n title: _ctx.$t('myCadac.trainingDetail.button.downloadCertificate_title'),\n onClick: ($event: any) => (_ctx.downloadCertificate(item.data))\n }, null, 8, [\"label\", \"title\", \"onClick\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"header\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"value\"])\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<BackButton :label=\"$t('myCadac.trainingDetail.button.back')\" />\r\n\r\n\t<div v-if=\"vm.training\" class=\"d-flex align-items-center mt-2 mb-2\">\r\n\t\t<img\r\n\t\t\tv-lazy=\"vm.training.productIconUrl\"\r\n\t\t\t:alt=\"vm.training.productIconAlt\"\r\n\t\t\tclass=\"icon-training-item mr-2\"\r\n\t\t/>\r\n\t\t<div class=\"d-flex flex-column justify-content-between\">\r\n\t\t\t<p class=\"lead text-muted mb-0\">{{ vm.training.brand }}</p>\r\n\t\t\t<h4 class=\"m-0\">{{ vm.training.name }}</h4>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<TrainingDetailSummary :is-instructor=\"vm.isInstructor\" :vm=\"vm.training\">\r\n\t\t<div v-if=\"vm.isParticipant\">\r\n\t\t\t<p class=\"text-bold\">{{ $t(\"myCadac.trainingSummary.lblPresence\") }}</p>\r\n\t\t\t<span class=\"mr-1 text-bold lead\">{{ attendancePercentage(userAsParticipant) || 0 }}%</span> |\r\n\t\t\t<Chip\r\n\t\t\t\tv-for=\"(date, dateIndex) in vm.training.dates\"\r\n\t\t\t\t:key=\"date\"\r\n\t\t\t\t:class=\"isParticipantPresentForDay(userAsParticipant, dateIndex) ? 'text-success' : 'text-danger'\"\r\n\t\t\t\t:icon=\"isParticipantPresentForDay(userAsParticipant, dateIndex) ? 'pi pi-check' : 'pi pi-times'\"\r\n\t\t\t\t:label=\"formatDate(date.date)\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t</TrainingDetailSummary>\r\n\r\n\t<Message\r\n\t\tv-if=\"vm.isParticipant && canDownloadCertificate(userAsParticipant)\"\r\n\t\tclass=\"message-with-button\"\r\n\t\t:closable=\"false\"\r\n\t\tseverity=\"custom\"\r\n\t>\r\n\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t<i class=\"pi pi-check-circle text-success message-icon mr-2\" />\r\n\t\t\t<span>{{ $t(\"myCadac.trainingDetail.message.canDownloadCertificate\") }}</span>\r\n\t\t</div>\r\n\t\t<Button\r\n\t\t\tclass=\"p-button-text p-button-raised m-1\"\r\n\t\t\ticon=\"pi pi-download\"\r\n\t\t\t:label=\"$t('myCadac.trainingDetail.button.downloadCertificate')\"\r\n\t\t\t:title=\"$t('myCadac.trainingDetail.button.downloadCertificate_title')\"\r\n\t\t\t@click=\"downloadCertificate(userAsParticipant)\"\r\n\t\t/>\r\n\t</Message>\r\n\r\n\t<Message\r\n\t\tv-else-if=\"vm.isParticipant && !canDownloadCertificate(userAsParticipant)\"\r\n\t\t:closable=\"false\"\r\n\t\tseverity=\"warn\"\r\n\t>\r\n\t\t{{ $t(\"myCadac.trainingDetail.message.cannotDownloadCertificate\") }}\r\n\t</Message>\r\n\r\n\t<Message v-if=\"canDownloadAllCertificates\" class=\"message-with-button\" :closable=\"false\" severity=\"custom\">\r\n\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t<i class=\"pi pi-info-circle text-primary message-icon mr-2\" />\r\n\t\t\t<span>{{ $t(\"myCadac.trainingDetail.message.instructorDownloadAllCertificates\") }}</span>\r\n\t\t</div>\r\n\t\t<Button\r\n\t\t\tclass=\"p-button-text p-button-raised m-1\"\r\n\t\t\ticon=\"pi pi-download\"\r\n\t\t\t:label=\"$t('myCadac.trainingDetail.button.downloadAllCertificates')\"\r\n\t\t\t:title=\"$t('myCadac.trainingDetail.button.downloadAllCertificates_title')\"\r\n\t\t\t@click=\"downloadAllCertificates()\"\r\n\t\t/>\r\n\t</Message>\r\n\r\n\t<div v-if=\"(vm.isInstructor || vm.isCustomer) && vm.training?.participants\" class=\"mt-3\">\r\n\t\t<h3>\r\n\t\t\t{{\r\n\t\t\t\tvm.isInstructor\r\n\t\t\t\t\t? $t(\"myCadac.trainingDetail.titleUpdateAttendance\")\r\n\t\t\t\t\t: $t(\"myCadac.trainingDetail.titleAttendance\")\r\n\t\t\t}}\r\n\t\t</h3>\r\n\t\t<DataTable auto-layout data-key=\"id\" :value=\"trainingParticipants\">\r\n\t\t\t<Column key=\"participant\" body-class=\"\" :header=\"$t('myCadac.trainingDetail.table.participant')\">\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t{{ participantName(item.data) }}\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\t\t\t<Column key=\"email\" field=\"email\" :header=\"$t('myCadac.trainingDetail.table.email')\" />\r\n\t\t\t<Column\r\n\t\t\t\tkey=\"allPresenceDays\"\r\n\t\t\t\tfield=\"allPresenceDays\"\r\n\t\t\t\t:header=\"$t('myCadac.trainingDetail.table.presence')\"\r\n\t\t\t>\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<div v-if=\"vm.isInstructor\" class=\"d-flex flex-wrap\">\r\n\t\t\t\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t\t\t\t<div class=\"p-field-checkbox form-group mt-1\">\r\n\t\t\t\t\t\t\t\t<Checkbox\r\n\t\t\t\t\t\t\t\t\tv-model=\"participantAllDayPresent[item.data.id]\"\r\n\t\t\t\t\t\t\t\t\t:id=\"`allDaysPresent-${item.index}`\"\r\n\t\t\t\t\t\t\t\t\t:binary=\"true\"\r\n\t\t\t\t\t\t\t\t\t:disabled=\"isSpinnerVisible(item.data.id)\"\r\n\t\t\t\t\t\t\t\t\t@click=\"toggleAllDatesPresent(item.data, item.index)\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t<label class=\"ml-2 mb-0\" :for=\"`allDaysPresent-${item.index}`\">\r\n\t\t\t\t\t\t\t\t\t{{ $t(\"myCadac.trainingDetail.table.lblAllDaysPresent\") }}\r\n\t\t\t\t\t\t\t\t</label>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div v-if=\"isSpinnerVisible(item.data.id)\">\r\n\t\t\t\t\t\t\t\t<i class=\"pi pi-spin pi-spinner\" style=\"font-size: 1.5rem\" />\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"ml-2\">\r\n\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\tv-for=\"(date, dateIndex) in vm.training.dates\"\r\n\t\t\t\t\t\t\t\t:key=\"date\"\r\n\t\t\t\t\t\t\t\tclass=\"p-field-checkbox form-group mt-1\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<Checkbox\r\n\t\t\t\t\t\t\t\t\tv-model=\"item.data.allPresenceDays[dateIndex]\"\r\n\t\t\t\t\t\t\t\t\t:id=\"`dateCheckbox-${item.index}-${dateIndex}`\"\r\n\t\t\t\t\t\t\t\t\t:binary=\"true\"\r\n\t\t\t\t\t\t\t\t\t:disabled=\"isSpinnerVisible(item.data.id)\"\r\n\t\t\t\t\t\t\t\t\t@change=\"toggleDatePresent(item.data)\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t<label class=\"ml-2 mb-0\" :for=\"`dateCheckbox-${item.index}-${dateIndex}`\">\r\n\t\t\t\t\t\t\t\t\t{{ formatDate(date.date) }}\r\n\t\t\t\t\t\t\t\t</label>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div v-else>\r\n\t\t\t\t\t\t<span class=\"mr-1 text-bold lead\">{{ attendancePercentage(item.data) || 0 }}%</span> |\r\n\t\t\t\t\t\t<Chip\r\n\t\t\t\t\t\t\tv-for=\"(date, dateIndex) in vm.training.dates\"\r\n\t\t\t\t\t\t\t:key=\"date\"\r\n\t\t\t\t\t\t\t:class=\"\r\n\t\t\t\t\t\t\t\tisParticipantPresentForDay(item.data, dateIndex) ? 'text-success' : 'text-danger'\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t:icon=\"\r\n\t\t\t\t\t\t\t\tisParticipantPresentForDay(item.data, dateIndex) ? 'pi pi-check' : 'pi pi-times'\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t:label=\"formatDate(date.date)\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\t\t\t<Column\r\n\t\t\t\tv-if=\"vm.isCustomer\"\r\n\t\t\t\tkey=\"certificate\"\r\n\t\t\t\tbody-class=\"\"\r\n\t\t\t\t:header=\"$t('myCadac.trainingDetail.table.certificate')\"\r\n\t\t\t>\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\tv-if=\"canDownloadCertificate(item.data)\"\r\n\t\t\t\t\t\tclass=\"p-button-text p-button-raised p-button-rounded\"\r\n\t\t\t\t\t\ticon=\"pi pi-download\"\r\n\t\t\t\t\t\t:label=\"isSmallScreen ? $t('myCadac.trainingDetail.button.downloadCertificate') : ''\"\r\n\t\t\t\t\t\t:title=\"$t('myCadac.trainingDetail.button.downloadCertificate_title')\"\r\n\t\t\t\t\t\t@click=\"downloadCertificate(item.data)\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\t\t</DataTable>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BackButton from \"@/components/common/backButton.vue\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Checkbox from \"primevue/checkbox\";\r\nimport Chip from \"primevue/chip\";\r\nimport TrainingDetailSummary from \"@/components/training/trainingDetailSummary.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { IFinishedTrainingDetail } from \"@/types/viewModels/myCadac/finishedTrainingDetailViewModel\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { TrainingParticipantPresenceRequest } from \"@/types/generated/Api/trainingParticipantPresenceRequest\";\r\nimport { TrainingParticipantViewModel } from \"@/types/models/training/trainingParticipantViewModel\";\r\nimport { cloneDeep, values } from \"lodash\";\r\n\r\n@Component({ components: { TrainingDetailSummary, Checkbox, Chip, BackButton } })\r\nexport default class FinishedTrainingDetail extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IFinishedTrainingDetail>, required: true, default: {} })\r\n\tvm!: IFinishedTrainingDetail;\r\n\r\n\ttrainingParticipants: TrainingParticipantViewModel[] = [];\r\n\tparticipantAllDayPresent: { [id: string]: boolean } = {};\r\n\r\n\tget userAsParticipant(): TrainingParticipantViewModel {\r\n\t\treturn this.trainingParticipants.find(\r\n\t\t\t(x) => x.email === this.userProfile?.email\r\n\t\t) as TrainingParticipantViewModel;\r\n\t}\r\n\r\n\tget canDownloadCertificate() {\r\n\t\treturn (participant: TrainingParticipantViewModel) => this.isParticipantPresentForAllDays(participant);\r\n\t}\r\n\r\n\tget canDownloadAllCertificates(): boolean {\r\n\t\treturn this.vm.isCustomer && values(this.participantAllDayPresent).some(Boolean);\r\n\t}\r\n\r\n\tget attendancePercentage() {\r\n\t\treturn (participant: TrainingParticipantViewModel) =>\r\n\t\t\t(participant?.presenceDays * 100) / this.vm.training.dates?.length;\r\n\t}\r\n\r\n\tget participantName() {\r\n\t\treturn (participant: TrainingParticipantViewModel) => `${participant.firstName} ${participant.lastName}`;\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.trainingParticipants = this.vm.training.participants;\r\n\t\tthis.trainingParticipants.forEach(\r\n\t\t\t(x) => (this.participantAllDayPresent[x.id] = this.isParticipantPresentForAllDays(x))\r\n\t\t);\r\n\t}\r\n\r\n\tisParticipantPresentForAllDays(participant: TrainingParticipantViewModel): boolean {\r\n\t\treturn participant?.presenceDays === this.vm.training.dates?.length;\r\n\t}\r\n\r\n\tisParticipantPresentForDay(participant: TrainingParticipantViewModel, index: number): boolean {\r\n\t\treturn participant?.allPresenceDays[index] === true;\r\n\t}\r\n\r\n\tdownloadCertificate(participant: TrainingParticipantViewModel): void {\r\n\t\tconst basePath = window.location.href.replace(window.location.search, \"\");\r\n\t\tthis.openUrl(\r\n\t\t\t`${basePath}/GetCertificate/?trainingListId=${this.vm.training.id}&participantId=${participant.id}`,\r\n\t\t\t\"_blank\"\r\n\t\t);\r\n\t}\r\n\r\n\tdownloadAllCertificates(): void {\r\n\t\tconst basePath = window.location.href.replace(window.location.search, \"\");\r\n\t\tthis.openUrl(`${basePath}/GetCertificate/?trainingListId=${this.vm.training.id}`, \"_blank\");\r\n\t}\r\n\r\n\ttoggleAllDatesPresent(participant: TrainingParticipantViewModel, index: number): void {\r\n\t\tif (!this.isParticipantPresentForAllDays(participant)) {\r\n\t\t\tthis.vm.training.dates?.forEach((_date, index) => (participant.allPresenceDays[index] = true));\r\n\t\t} else {\r\n\t\t\tparticipant.allPresenceDays = [false, false, false, false, false];\r\n\t\t}\r\n\r\n\t\tthis.trainingParticipants[index] = cloneDeep(participant);\r\n\t\tthis.updateParticipantPresence(participant);\r\n\t}\r\n\r\n\ttoggleDatePresent(participant: TrainingParticipantViewModel): void {\r\n\t\tthis.updateParticipantPresence(participant);\r\n\t}\r\n\r\n\tprotected updateParticipantPresence(participant: TrainingParticipantViewModel): void {\r\n\t\tconst model: TrainingParticipantPresenceRequest = {\r\n\t\t\ttrainingListId: this.vm.training.id,\r\n\t\t\tparticipantId: participant.id,\r\n\t\t\tpresenceList: participant.allPresenceDays,\r\n\t\t};\r\n\t\tthis.loadingStore.showSpinner(participant.id);\r\n\t\tthis.axios\r\n\t\t\t.post(\"/api/training/updateParticipantPresence\", model)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tif (!res?.data) {\r\n\t\t\t\t\tthis.restoreParticipantPresence(participant);\r\n\t\t\t\t\tthis.showParticipantUpdateErrorToast();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tparticipant.presenceDays = participant.allPresenceDays.filter(Boolean).length;\r\n\t\t\t\t\tthis.participantAllDayPresent[participant.id] =\r\n\t\t\t\t\t\tthis.isParticipantPresentForAllDays(participant);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.restoreParticipantPresence(participant);\r\n\t\t\t\tthis.showParticipantUpdateErrorToast();\r\n\t\t\t})\r\n\t\t\t.finally(() => this.loadingStore.hideSpinner(participant.id));\r\n\t}\r\n\r\n\tprivate showParticipantUpdateErrorToast(): void {\r\n\t\tthis.$toast.add({\r\n\t\t\tseverity: \"error\",\r\n\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\tdetail: this.$t(\"myCadac.trainingDetail.toast.updateParticipantPresenceError\"),\r\n\t\t\tclosable: false,\r\n\t\t\tlife: 3000,\r\n\t\t});\r\n\t}\r\n\r\n\tprivate restoreParticipantPresence(participant: TrainingParticipantViewModel): void {\r\n\t\tconst participantIndex = this.trainingParticipants.findIndex((x) => x.id === participant.id);\r\n\t\tparticipant.allPresenceDays = participant.allPresenceDays.map(\r\n\t\t\t(_, i) => participant[`trainingPresenceDay${i + 1}`]\r\n\t\t);\r\n\t\tparticipant.presenceDays = participant.allPresenceDays.filter(Boolean).length;\r\n\t\tthis.trainingParticipants[participantIndex] = cloneDeep(participant);\r\n\t\tthis.participantAllDayPresent[participant.id] = this.isParticipantPresentForAllDays(participant);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n::v-deep(.p-datatable) {\r\n\t.p-datatable-tbody tr td {\r\n\t\tvertical-align: top;\r\n\t}\r\n}\r\n\r\n::v-deep(.p-chip) {\r\n\tbackground: var(--surface-a);\r\n}\r\n\r\n.icon-training-item {\r\n\twidth: 64px;\r\n\theight: 64px;\r\n\tobject-fit: none;\r\n}\r\n</style>\r\n","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, renderSlot as _renderSlot } from \"vue\"\n\nconst _hoisted_1 = { class: \"row training-summary\" }\nconst _hoisted_2 = { class: \"col-md-6 col-xl-4\" }\nconst _hoisted_3 = { class: \"text-preline\" }\nconst _hoisted_4 = { class: \"col-md-6\" }\nconst _hoisted_5 = { class: \"mb-2\" }\nconst _hoisted_6 = { key: 0 }\nconst _hoisted_7 = { key: 0 }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Inplace = _resolveComponent(\"Inplace\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"dl\", null, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"myCadac.trainingSummary.lblType\")), 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.$t(`enum.trainingType.${_ctx.vm.trainingType}`)), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.isInstructor\r\n\t\t\t\t\t\t\t\t? _ctx.$t(\"myCadac.trainingSummary.lblParticipants\")\r\n\t\t\t\t\t\t\t\t: _ctx.$t(\"myCadac.trainingSummary.lblTeacher\")), 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.isInstructor ? _ctx.vm.participants?.length : _ctx.vm.instructorName), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"myCadac.trainingSummary.lblLocation\")), 1),\n _createElementVNode(\"dd\", _hoisted_3, _toDisplayString(_ctx.formattedAddress), 1)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"dl\", _hoisted_5, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"myCadac.trainingSummary.lblDate\")), 1),\n _createElementVNode(\"dd\", null, _toDisplayString(_ctx.vm.formattedDates), 1)\n ]),\n (_ctx.vm.moduleNames?.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"myCadac.trainingSummary.lblModules\")), 1),\n _createElementVNode(\"dd\", null, [\n _createVNode(_component_Inplace, null, {\n display: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.visibleModules(5)) + \" \", 1),\n (_ctx.vm.moduleNames?.length > 5)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_7, \"...\"))\n : _createCommentVNode(\"\", true)\n ]),\n content: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.visibleModules()), 1)\n ]),\n _: 1\n })\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _renderSlot(_ctx.$slots, \"default\")\n ])\n ]))\n}","<template>\r\n\t<div class=\"row training-summary\">\r\n\t\t<div class=\"col-md-6 col-xl-4\">\r\n\t\t\t<dl>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<dt>\r\n\t\t\t\t\t\t{{ $t(\"myCadac.trainingSummary.lblType\") }}\r\n\t\t\t\t\t</dt>\r\n\t\t\t\t\t<dd>\r\n\t\t\t\t\t\t{{ $t(`enum.trainingType.${vm.trainingType}`) }}\r\n\t\t\t\t\t</dd>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<dt>\r\n\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\tisInstructor\r\n\t\t\t\t\t\t\t\t? $t(\"myCadac.trainingSummary.lblParticipants\")\r\n\t\t\t\t\t\t\t\t: $t(\"myCadac.trainingSummary.lblTeacher\")\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t</dt>\r\n\t\t\t\t\t<dd>\r\n\t\t\t\t\t\t{{ isInstructor ? vm.participants?.length : vm.instructorName }}\r\n\t\t\t\t\t</dd>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<dt>\r\n\t\t\t\t\t\t{{ $t(\"myCadac.trainingSummary.lblLocation\") }}\r\n\t\t\t\t\t</dt>\r\n\t\t\t\t\t<dd class=\"text-preline\">\r\n\t\t\t\t\t\t{{ formattedAddress }}\r\n\t\t\t\t\t</dd>\r\n\t\t\t\t</div>\r\n\t\t\t</dl>\r\n\t\t</div>\r\n\t\t<div class=\"col-md-6\">\r\n\t\t\t<dl class=\"mb-2\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<dt>\r\n\t\t\t\t\t\t{{ $t(\"myCadac.trainingSummary.lblDate\") }}\r\n\t\t\t\t\t</dt>\r\n\t\t\t\t\t<dd>{{ vm.formattedDates }}</dd>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div v-if=\"vm.moduleNames?.length > 0\">\r\n\t\t\t\t\t<dt>\r\n\t\t\t\t\t\t{{ $t(\"myCadac.trainingSummary.lblModules\") }}\r\n\t\t\t\t\t</dt>\r\n\t\t\t\t\t<dd>\r\n\t\t\t\t\t\t<Inplace>\r\n\t\t\t\t\t\t\t<template #display>\r\n\t\t\t\t\t\t\t\t{{ visibleModules(5) }}\r\n\t\t\t\t\t\t\t\t<span v-if=\"vm.moduleNames?.length > 5\">...</span>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t{{ visibleModules() }}\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</Inplace>\r\n\t\t\t\t\t</dd>\r\n\t\t\t\t</div>\r\n\t\t\t</dl>\r\n\t\t\t<slot />\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { PropType } from \"vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { take } from \"lodash\";\r\nimport { TrainingListOverviewItemViewModel } from \"@/types/models/training/trainingListOverviewItemViewModel\";\r\n\r\n@Component\r\nexport default class TrainingDetailSummary extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<TrainingListOverviewItemViewModel>, required: true, default: {} })\r\n\tvm!: TrainingListOverviewItemViewModel;\r\n\t@Prop({ type: Boolean, required: true, default: false })\r\n\tisInstructor!: boolean;\r\n\r\n\tget visibleModules() {\r\n\t\treturn (count: number) => {\r\n\t\t\treturn take(this.vm.moduleNames, count || this.vm.moduleNames?.length)?.join(\", \");\r\n\t\t};\r\n\t}\r\n\r\n\tget formattedAddress() {\r\n\t\treturn this.vm.trainingAddress\r\n\t\t\t? `${this.vm.trainingAddress.street}\r\n\t\t\t${this.vm.trainingAddress.postalCode} ${this.vm.trainingAddress.city}\r\n\t\t\t${this.vm.trainingAddress.country}`\r\n\t\t\t: this.vm.trainingLocation?.name;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { render } from \"./trainingDetailSummary.vue?vue&type=template&id=276f739e&ts=true\"\nimport script from \"./trainingDetailSummary.vue?vue&type=script&lang=ts\"\nexport * from \"./trainingDetailSummary.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./finishedTrainingDetail.vue?vue&type=template&id=04bb4211&scoped=true&ts=true\"\nimport script from \"./finishedTrainingDetail.vue?vue&type=script&lang=ts\"\nexport * from \"./finishedTrainingDetail.vue?vue&type=script&lang=ts\"\n\nimport \"./finishedTrainingDetail.vue?vue&type=style&index=0&id=04bb4211&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-04bb4211\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-42a5c754\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { key: 0 }\nconst _hoisted_2 = { class: \"text-right text-lg-left pb-0 pt-2 px-2\" }\nconst _hoisted_3 = { class: \"mb-0 ml-1 text-bold text-primary\" }\nconst _hoisted_4 = { class: \"d-flex flex-wrap flex-lg-nowrap flex-row-reverse flex-lg-row text-right text-lg-left\" }\nconst _hoisted_5 = { class: \"d-flex px-1 flex-column\" }\nconst _hoisted_6 = { class: \"mb-0 text-muted d-block\" }\nconst _hoisted_7 = { class: \"mb-0 text-bold\" }\nconst _hoisted_8 = { class: \"d-flex align-items-center justify-content-end justify-content-lg-start\" }\nconst _hoisted_9 = [\"title\"]\nconst _hoisted_10 = { class: \"\" }\nconst _hoisted_11 = { class: \"text-preline\" }\nconst _hoisted_12 = { class: \"d-flex align-items-center\" }\nconst _hoisted_13 = { class: \"d-flex flex-column text-right text-lg-left\" }\nconst _hoisted_14 = { class: \"mb-0 text-bold\" }\nconst _hoisted_15 = { class: \"mb-0\" }\nconst _hoisted_16 = {\n key: 0,\n class: \"text-info\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (_ctx.vm.pageTitle)\n ? (_openBlock(), _createElementBlock(\"h1\", _hoisted_1, _toDisplayString(_ctx.vm.pageTitle), 1))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.trainingsGroupedByLinkId, ([trainingLinkId, trainings]) => {\n return (_openBlock(), _createBlock(_component_Card, {\n key: trainingLinkId,\n class: \"mb-3\"\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"h5\", _hoisted_3, _toDisplayString(trainings[0].name), 1)\n ])\n ]),\n content: _withCtx(() => [\n _createVNode(_component_DataTable, {\n \"auto-layout\": \"\",\n \"responsive-layout\": \"stack\",\n value: trainings\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Column, {\n key: \"trainingName\",\n header: _ctx.$t('training.lblCourse')\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_4, [\n (item.data.productIconUrl)\n ? (_openBlock(), _createBlock(_component_Avatar, {\n key: 0,\n alt: item.data.productIconAlt || item.data.subject,\n class: \"flex-shrink-0\",\n image: item.data.productIconUrl,\n shape: \"square\",\n size: \"large\",\n title: item.data.subject\n }, null, 8, [\"alt\", \"image\", \"title\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"small\", _hoisted_6, _toDisplayString(item.data.brand), 1),\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(item.data.name), 1),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"i\", {\n class: \"pi pi-user text-primary mr-1\",\n title: _ctx.$t('myCadac.trainingOverview.table.colParticipants')\n }, null, 8, _hoisted_9),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$tc(\"myCadac.trainingOverview.table.lblParticipantsCount\", {\r\n\t\t\t\t\t\t\t\t\t\t\t\tcount: item.data.participants?.length,\r\n\t\t\t\t\t\t\t\t\t\t\t})), 1)\n ])\n ])\n ])\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"trainingType\",\n field: \"trainingType\",\n header: _ctx.$t('myCadac.trainingOverview.table.trainingInfo.colType'),\n style: {\"width\":\"12.5%\"}\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t(`enum.trainingType.${item.data.trainingType}`)), 1)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"location\",\n \"body-class\": \"text-nowrap \",\n field: \"location\",\n header: _ctx.$t('myCadac.trainingOverview.table.colLocation'),\n style: {\"width\":\"17.5%\"}\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.formattedAddress(item.data)), 1)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"date\",\n field: \"date\",\n header: _ctx.$t('myCadac.trainingOverview.table.colDate'),\n style: {\"width\":\"22.5%\"}\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"p\", _hoisted_14, _toDisplayString(_ctx.$tc(\"myCadac.trainingOverview.table.lblDays\", {\r\n\t\t\t\t\t\t\t\t\t\t\tcount: item.data.dates?.length,\r\n\t\t\t\t\t\t\t\t\t\t})), 1),\n _createElementVNode(\"p\", _hoisted_15, _toDisplayString(item.data?.formattedDates), 1),\n (item.data.remainingDays > 0)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_16, _toDisplayString(_ctx.$tc(\"myCadac.trainingOverview.table.lblDaysRemaining\", {\r\n\t\t\t\t\t\t\t\t\t\t\tcount: item.data.remainingDays,\r\n\t\t\t\t\t\t\t\t\t\t})), 1))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"actions\",\n \"body-class\": \"text-right\"\n }, {\n body: _withCtx((training) => [\n (!_ctx.vm.isInstructorOfATraining)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-primary p-button-raised p-button-text p-button-rounded ml-auto\",\n icon: \"pi pi-eye\",\n title: _ctx.$t('myCadac.trainingOverview.table.lblView'),\n onClick: ($event: any) => (_ctx.openUrl(`${_ctx.vm.finishedTrainingDetailUrl}?traininglistid=${training.data.id}`))\n }, null, 8, [\"title\", \"onClick\"]))\n : (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-success ml-auto\",\n label: _ctx.$t('myCadac.trainingOverview.table.lblEdit'),\n onClick: ($event: any) => (_ctx.openUrl(`${_ctx.vm.finishedTrainingDetailUrl}?traininglistid=${training.data.id}`))\n }, null, 8, [\"label\", \"onClick\"]))\n ]),\n _: 1\n })\n ]),\n _: 2\n }, 1032, [\"value\"])\n ]),\n _: 2\n }, 1024))\n }), 128))\n ], 64))\n}","<template>\r\n\t<h1 v-if=\"vm.pageTitle\">{{ vm.pageTitle }}</h1>\r\n\r\n\t<Card v-for=\"[trainingLinkId, trainings] in trainingsGroupedByLinkId\" :key=\"trainingLinkId\" class=\"mb-3\">\r\n\t\t<template #header>\r\n\t\t\t<div class=\"text-right text-lg-left pb-0 pt-2 px-2\">\r\n\t\t\t\t<h5 class=\"mb-0 ml-1 text-bold text-primary\">\r\n\t\t\t\t\t{{ trainings[0].name }}\r\n\t\t\t\t</h5>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t\t<template #content>\r\n\t\t\t<DataTable auto-layout responsive-layout=\"stack\" :value=\"trainings\">\r\n\t\t\t\t<Column key=\"trainingName\" :header=\"$t('training.lblCourse')\">\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\tclass=\"d-flex flex-wrap flex-lg-nowrap flex-row-reverse flex-lg-row text-right text-lg-left\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\tv-if=\"item.data.productIconUrl\"\r\n\t\t\t\t\t\t\t\t:alt=\"item.data.productIconAlt || item.data.subject\"\r\n\t\t\t\t\t\t\t\tclass=\"flex-shrink-0\"\r\n\t\t\t\t\t\t\t\t:image=\"item.data.productIconUrl\"\r\n\t\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\t\tsize=\"large\"\r\n\t\t\t\t\t\t\t\t:title=\"item.data.subject\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<div class=\"d-flex px-1 flex-column\">\r\n\t\t\t\t\t\t\t\t<small class=\"mb-0 text-muted d-block\">\r\n\t\t\t\t\t\t\t\t\t{{ item.data.brand }}\r\n\t\t\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t\t\t<span class=\"mb-0 text-bold\">\r\n\t\t\t\t\t\t\t\t\t{{ item.data.name }}\r\n\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\tclass=\"d-flex align-items-center justify-content-end justify-content-lg-start\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t\tclass=\"pi pi-user text-primary mr-1\"\r\n\t\t\t\t\t\t\t\t\t\t:title=\"$t('myCadac.trainingOverview.table.colParticipants')\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t<span>\r\n\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t$tc(\"myCadac.trainingOverview.table.lblParticipantsCount\", {\r\n\t\t\t\t\t\t\t\t\t\t\t\tcount: item.data.participants?.length,\r\n\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\r\n\t\t\t\t<Column\r\n\t\t\t\t\tkey=\"trainingType\"\r\n\t\t\t\t\tfield=\"trainingType\"\r\n\t\t\t\t\t:header=\"$t('myCadac.trainingOverview.table.trainingInfo.colType')\"\r\n\t\t\t\t\tstyle=\"width: 12.5%\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<span class=\"\">\r\n\t\t\t\t\t\t\t{{ $t(`enum.trainingType.${item.data.trainingType}`) }}\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\r\n\t\t\t\t<Column\r\n\t\t\t\t\tkey=\"location\"\r\n\t\t\t\t\tbody-class=\"text-nowrap \"\r\n\t\t\t\t\tfield=\"location\"\r\n\t\t\t\t\t:header=\"$t('myCadac.trainingOverview.table.colLocation')\"\r\n\t\t\t\t\tstyle=\"width: 17.5%\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<span class=\"text-preline\">\r\n\t\t\t\t\t\t\t{{ formattedAddress(item.data) }}\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\r\n\t\t\t\t<Column\r\n\t\t\t\t\tkey=\"date\"\r\n\t\t\t\t\tfield=\"date\"\r\n\t\t\t\t\t:header=\"$t('myCadac.trainingOverview.table.colDate')\"\r\n\t\t\t\t\tstyle=\"width: 22.5%\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t\t\t<div class=\"d-flex flex-column text-right text-lg-left\">\r\n\t\t\t\t\t\t\t\t<p class=\"mb-0 text-bold\">\r\n\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t$tc(\"myCadac.trainingOverview.table.lblDays\", {\r\n\t\t\t\t\t\t\t\t\t\t\tcount: item.data.dates?.length,\r\n\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t<p class=\"mb-0\">{{ item.data?.formattedDates }}</p>\r\n\t\t\t\t\t\t\t\t<small v-if=\"item.data.remainingDays > 0\" class=\"text-info\">\r\n\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t$tc(\"myCadac.trainingOverview.table.lblDaysRemaining\", {\r\n\t\t\t\t\t\t\t\t\t\t\tcount: item.data.remainingDays,\r\n\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\r\n\t\t\t\t<Column key=\"actions\" body-class=\"text-right\">\r\n\t\t\t\t\t<template #body=\"training\">\r\n\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\tv-if=\"!vm.isInstructorOfATraining\"\r\n\t\t\t\t\t\t\tclass=\"p-button-primary p-button-raised p-button-text p-button-rounded ml-auto\"\r\n\t\t\t\t\t\t\ticon=\"pi pi-eye\"\r\n\t\t\t\t\t\t\t:title=\"$t('myCadac.trainingOverview.table.lblView')\"\r\n\t\t\t\t\t\t\t@click=\"openUrl(`${vm.finishedTrainingDetailUrl}?traininglistid=${training.data.id}`)\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\tv-else\r\n\t\t\t\t\t\t\tclass=\"p-button-success ml-auto\"\r\n\t\t\t\t\t\t\t:label=\"$t('myCadac.trainingOverview.table.lblEdit')\"\r\n\t\t\t\t\t\t\t@click=\"openUrl(`${vm.finishedTrainingDetailUrl}?traininglistid=${training.data.id}`)\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\t\t\t</DataTable>\r\n\t\t</template>\r\n\t</Card>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport MyCadacMenu from \"@/components/common/menu/myCadacMenu.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { IFinishedTrainingOverview } from \"@/types/viewModels/myCadac/finishedTrainingOverviewViewModel\";\r\nimport { PropType } from \"vue\";\r\nimport { TrainingListOverviewItemViewModel } from \"@/types/models/training/trainingListOverviewItemViewModel\";\r\nimport { entries, groupBy } from \"lodash\";\r\n\r\n@Component({ components: { MyCadacMenu } })\r\nexport default class FinishedTrainingOverview extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<IFinishedTrainingOverview>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: IFinishedTrainingOverview;\r\n\r\n\tget trainingsGroupedByLinkId() {\r\n\t\treturn entries(groupBy(this.vm.finishedTrainings, \"trainingLinkId\"));\r\n\t}\r\n\r\n\tget formattedAddress() {\r\n\t\treturn (training: TrainingListOverviewItemViewModel) => {\r\n\t\t\treturn training.trainingAddress\r\n\t\t\t\t? `${training.trainingAddress.street}\r\n\t\t\t${training.trainingAddress.postalCode} ${training.trainingAddress.city}\r\n\t\t\t${training.trainingAddress.country}`\r\n\t\t\t\t: training.trainingLocation?.name;\r\n\t\t};\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n::v-deep(.p-card-body) {\r\n\tpadding: 0.5rem 1rem;\r\n}\r\n</style>\r\n","import { render } from \"./finishedTrainingOverview.vue?vue&type=template&id=42a5c754&scoped=true&ts=true\"\nimport script from \"./finishedTrainingOverview.vue?vue&type=script&lang=ts\"\nexport * from \"./finishedTrainingOverview.vue?vue&type=script&lang=ts\"\n\nimport \"./finishedTrainingOverview.vue?vue&type=style&index=0&id=42a5c754&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-42a5c754\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, resolveDirective as _resolveDirective, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, withCtx as _withCtx, createTextVNode as _createTextVNode, createBlock as _createBlock, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-67b13b6c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"d-flex justify-content-between flex-wrap my-1\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"d-flex align-items-center\"\n}\nconst _hoisted_3 = [\"alt\"]\nconst _hoisted_4 = { class: \"d-flex flex-column justify-content-between\" }\nconst _hoisted_5 = { class: \"text-muted lead mb-0\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"\"\n}\nconst _hoisted_7 = { class: \"d-flex flex-column col-lg-6\" }\nconst _hoisted_8 = { class: \"d-flex text-muted\" }\nconst _hoisted_9 = { class: \"lead mr-1 flex-grow-1 flex-shrink-0\" }\nconst _hoisted_10 = { key: 0 }\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-exclamation-circle\" }, null, -1))\nconst _hoisted_12 = {\n key: 0,\n class: \"text-muted d-flex align-items-center flex-wrap flex-lg-nowrap\"\n}\nconst _hoisted_13 = { class: \"lead mr-1 flex-grow-1 flex-shrink-0\" }\nconst _hoisted_14 = { class: \"d-flex align-items-center\" }\nconst _hoisted_15 = [\"title\"]\nconst _hoisted_16 = [\"href\"]\nconst _hoisted_17 = { class: \"d-flex justify-content-between flex-grow-1 flex-wrap\" }\nconst _hoisted_18 = { class: \"d-flex flex-column\" }\nconst _hoisted_19 = { class: \"mb-1\" }\nconst _hoisted_20 = { class: \"ml-auto col-md-6 col-xl-4 p-0\" }\nconst _hoisted_21 = { class: \"p-input-icon-left w-100\" }\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-search\" }, null, -1))\nconst _hoisted_23 = {\n key: 0,\n class: \"text-danger d-flex flex-nowrap\"\n}\nconst _hoisted_24 = { class: \"mr-1\" }\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-exclamation-circle\" }, null, -1))\nconst _hoisted_26 = { key: 1 }\nconst _hoisted_27 = {\n key: 0,\n class: \"d-flex justify-content-lg-end justify-content-between w-100\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_BackButton = _resolveComponent(\"BackButton\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_PopoverIcon = _resolveComponent(\"PopoverIcon\")!\n const _component_Inplace = _resolveComponent(\"Inplace\")!\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_InputText = _resolveComponent(\"InputText\")!\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n const _component_Panel = _resolveComponent(\"Panel\")!\n const _component_LicenceFormModal = _resolveComponent(\"LicenceFormModal\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_BackButton, {\n label: _ctx.$t('myCadac.licenceManagementDetail.button.back'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.onBackClick()))\n }, null, 8, [\"label\"]),\n _createElementVNode(\"div\", _hoisted_1, [\n (_ctx.selectedLicenceProduct)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _withDirectives(_createElementVNode(\"img\", {\n alt: _ctx.selectedLicenceProduct?.productName,\n class: \"mr-2 align-self-start\",\n height: \"67\",\n width: \"67\"\n }, null, 8, _hoisted_3), [\n [_directive_lazy, _ctx.selectedLicenceProduct?.productIconUrl]\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"p\", _hoisted_5, _toDisplayString(_ctx.selectedLicenceProduct?.productBrand), 1),\n (_ctx.selectedLicenceProduct?.productName)\n ? (_openBlock(), _createElementBlock(\"h1\", _hoisted_6, _toDisplayString(_ctx.selectedLicenceProduct?.productName), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", null, [\n _createVNode(_component_Button, {\n class: \"p-button-success p-button-raised p-button-arrow mr-1 flex-shrink-0\",\n label: _ctx.$t('myCadac.licenceManagementDetail.button.buyLicences'),\n onClick: _cache[1] || (_cache[1] = ($event: any) => {\r\n\t\t\t\t\t_ctx.openUrl(_ctx.selectedLicenceProduct?.productPageUrl);\r\n\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t})\n }, null, 8, [\"label\"])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t(\"myCadac.licenceManagementDetail.lblNumberOfLicences\")), 1),\n _createElementVNode(\"b\", {\n class: _normalizeClass([\"mx-1 text-bold text-black\", { 'text-danger': !_ctx.hasAvailableLicences }])\n }, _toDisplayString(_ctx.selectedLicenceProduct?.totalActiveLicences) + \" / \" + _toDisplayString(_ctx.selectedLicenceProduct?.totalSeats), 3),\n (!_ctx.hasAvailableLicences)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_10, [\n _createVNode(_component_PopoverIcon, {\n class: \"d-inline-flex text-danger\",\n placement: \"right\",\n style: {\"line-height\":\"1.75rem\"}\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.$t(\"myCadac.licenceManagementDetail.licenceLimitReached\")), 1)\n ]),\n default: _withCtx(() => [\n _hoisted_11\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.selectedLicenceProduct?.applicationKeyAllowed && _ctx.selectedLicenceProduct?.applicationKey)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.$t(\"myCadac.licenceManagementDetail.lblApplicationKey\")), 1),\n _createVNode(_component_Inplace, { closable: false }, {\n display: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.licenceManagementDetail.lblShowApplicationKey\")), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"p\", {\n class: \"m-0 limit-line-width text-truncate text-bold text-black\",\n title: _ctx.selectedLicenceProduct?.applicationKey\n }, _toDisplayString(_ctx.selectedLicenceProduct?.applicationKey), 9, _hoisted_15),\n _createVNode(_component_Button, {\n class: \"p-button-outlined p-button-secondary copy-button\",\n icon: \"pi pi-copy\",\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.copyTextToClipboard(_ctx.selectedLicenceProduct?.applicationKey)))\n })\n ])\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (!_ctx.hasAvailableLicences && _ctx.vm.licenceOveruseAllowed)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n closable: false,\n icon: \"pi pi-exclamation-triangle\",\n severity: \"error\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_i18n_t, { keypath: \"myCadac.licenceManagementDetail.message.overUsageAllowed\" }, {\n link: _withCtx(() => [\n _createElementVNode(\"a\", {\n href: _ctx.overuseSupportUrl,\n target: \"_blank\"\n }, _toDisplayString(_ctx.$t(\"myCadac.licenceManagementDetail.message.overUsageAllowed_linkText\")), 9, _hoisted_16)\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Panel, {\n id: \"panel-licences\",\n class: \"my-3\",\n toggleable: false\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"div\", _hoisted_18, [\n _createElementVNode(\"h3\", _hoisted_19, _toDisplayString(_ctx.$t(\"myCadac.licenceManagementDetail.panel.titleLicences\")), 1)\n ]),\n (_ctx.hasAvailableLicences || _ctx.vm.licenceOveruseAllowed)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-primary mr-lg-1 ml-0 flex-shrink-0\",\n icon: \"pi pi-plus\",\n label: _ctx.$t('myCadac.licenceManagementDetail.button.addLicence'),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.onAddLicenceClick()))\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n default: _withCtx(() => [\n _createVNode(_component_DataTable, {\n filters: _ctx.licenceFilters,\n \"onUpdate:filters\": _cache[5] || (_cache[5] = ($event: any) => ((_ctx.licenceFilters) = $event)),\n \"auto-layout\": \"\",\n \"data-key\": \"id\",\n \"global-filter-fields\": ['fullName', 'name', 'email'],\n paginator: _ctx.showPagination,\n \"removable-sort\": \"\",\n \"responsive-layout\": \"stack\",\n \"row-class\": _ctx.getRowClass,\n rows: _ctx.maxRowsToShow,\n value: _ctx.allLicences\n }, {\n empty: _withCtx(() => [\n (!_ctx.allLicences?.length)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n class: \"my-0\",\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.licenceManagementDetail.message.noLicences\")), 1)\n ]),\n _: 1\n }))\n : (_ctx.licenceFilters['global'].value)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 1,\n class: \"my-0\",\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.licenceManagementDetail.message.noLicencesFound\", [\r\n\t\t\t\t\t\t\t_ctx.licenceFilters[\"global\"].value,\r\n\t\t\t\t\t\t])), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"span\", _hoisted_21, [\n _hoisted_22,\n _createVNode(_component_InputText, {\n modelValue: _ctx.licenceFilters['global'].value,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_ctx.licenceFilters['global'].value) = $event)),\n placeholder: _ctx.$t('myCadac.licenceManagementDetail.table.searchLicence_placeholder')\n }, null, 8, [\"modelValue\", \"placeholder\"])\n ])\n ])\n ]),\n default: _withCtx(() => [\n _createVNode(_component_Column, {\n key: \"displayName\",\n field: \"displayName\",\n header: _ctx.$t('myCadac.licenceManagementDetail.table.colName'),\n sortable: true\n }, null, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"email\",\n field: \"email\",\n header: _ctx.$t('myCadac.licenceManagementDetail.table.colEmail'),\n sortable: true\n }, null, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"roles\",\n header: _ctx.$t('myCadac.licenceManagementDetail.table.colRoles')\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.getRoleDescriptions(item.data).join(\",\")), 1)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"licenceType\",\n field: \"licenceType\",\n header: _ctx.$t('myCadac.licenceManagementDetail.table.colType'),\n sortable: true\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(`enum.licenceType.${item.data.licenceType}`)), 1)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"endDate\",\n field: \"endDate\",\n header: _ctx.$t('myCadac.licenceManagementDetail.table.colDate'),\n sortable: true\n }, {\n body: _withCtx((item) => [\n (_ctx.shouldShowContractExpirationWarning(item.data))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_23, [\n _createElementVNode(\"span\", _hoisted_24, _toDisplayString(_ctx.formatDate(_ctx.getContractExpirationDate(item.data))), 1),\n _createVNode(_component_PopoverIcon, {\n class: \"d-inline-flex\",\n style: {\"line-height\":\"1.75rem\"}\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.$tc(\"myCadac.contractOverview.table.contractExpirationWarning\", {\r\n\t\t\t\t\t\t\t\t\t\t\tcount: _ctx.getRemainingContractDays(item.data),\r\n\t\t\t\t\t\t\t\t\t\t})), 1)\n ]),\n default: _withCtx(() => [\n _hoisted_25\n ]),\n _: 2\n }, 1024)\n ]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_26, _toDisplayString(_ctx.formatDate(_ctx.getContractExpirationDate(item.data))), 1))\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, { key: \"actions\" }, {\n body: _withCtx((item) => [\n (!_ctx.shouldShowPendingDeletionWarning(item.data))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_27, [\n _createVNode(_component_Button, {\n class: \"p-button-primary p-button-icon p-button-rounded p-button-raised p-button-text flex-shrink-0\",\n icon: \"pi pi-pencil\",\n label: _ctx.isSmallScreen ? _ctx.$t('common.edit') : '',\n title: _ctx.$t('common.edit'),\n onClick: ($event: any) => (_ctx.onEditLicenceClick(item.data))\n }, null, 8, [\"label\", \"title\", \"onClick\"]),\n _createVNode(_component_Button, {\n class: \"p-button-danger p-button-icon p-button-rounded p-button-raised p-button-text flex-shrink-0 ml-1\",\n icon: \"pi pi-trash\",\n label: _ctx.isSmallScreen ? _ctx.$t('common.remove') : '',\n title: _ctx.$t('common.remove'),\n onClick: ($event: any) => (_ctx.onDeleteLicenceClick(item.data))\n }, null, 8, [\"label\", \"title\", \"onClick\"])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: _normalizeClass([\"text-warning lg-end w-100\", { 'warning-message': !_ctx.isSmallScreen }])\n }, _toDisplayString(_ctx.$t(\"myCadac.licenceManagementDetail.table.pendingDeletionWarning\")), 3))\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"filters\", \"paginator\", \"row-class\", \"rows\", \"value\"])\n ]),\n _: 1\n }),\n (_ctx.licenceStore.isLicenceFormModalVisible)\n ? (_openBlock(), _createBlock(_component_LicenceFormModal, {\n key: 1,\n vm: _ctx.vm,\n onLicenceSaved: _cache[6] || (_cache[6] = ($event: any) => (_ctx.onLicenceSaved($event)))\n }, null, 8, [\"vm\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<BackButton :label=\"$t('myCadac.licenceManagementDetail.button.back')\" @click=\"onBackClick()\" />\r\n\r\n\t<div class=\"d-flex justify-content-between flex-wrap my-1\">\r\n\t\t<div v-if=\"selectedLicenceProduct\" class=\"d-flex align-items-center\">\r\n\t\t\t<img\r\n\t\t\t\tv-lazy=\"selectedLicenceProduct?.productIconUrl\"\r\n\t\t\t\t:alt=\"selectedLicenceProduct?.productName\"\r\n\t\t\t\tclass=\"mr-2 align-self-start\"\r\n\t\t\t\theight=\"67\"\r\n\t\t\t\twidth=\"67\"\r\n\t\t\t/>\r\n\t\t\t<div class=\"d-flex flex-column justify-content-between\">\r\n\t\t\t\t<p class=\"text-muted lead mb-0\">{{ selectedLicenceProduct?.productBrand }}</p>\r\n\t\t\t\t<h1 v-if=\"selectedLicenceProduct?.productName\" class=\"\">\r\n\t\t\t\t\t{{ selectedLicenceProduct?.productName }}\r\n\t\t\t\t</h1>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div>\r\n\t\t\t<Button\r\n\t\t\t\tclass=\"p-button-success p-button-raised p-button-arrow mr-1 flex-shrink-0\"\r\n\t\t\t\t:label=\"$t('myCadac.licenceManagementDetail.button.buyLicences')\"\r\n\t\t\t\t@click=\"\r\n\t\t\t\t\topenUrl(selectedLicenceProduct?.productPageUrl);\r\n\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"d-flex flex-column col-lg-6\">\r\n\t\t<div class=\"d-flex text-muted\">\r\n\t\t\t<span class=\"lead mr-1 flex-grow-1 flex-shrink-0\">\r\n\t\t\t\t{{ $t(\"myCadac.licenceManagementDetail.lblNumberOfLicences\") }}\r\n\t\t\t</span>\r\n\t\t\t<b class=\"mx-1 text-bold text-black\" :class=\"{ 'text-danger': !hasAvailableLicences }\">\r\n\t\t\t\t{{ selectedLicenceProduct?.totalActiveLicences }} / {{ selectedLicenceProduct?.totalSeats }}\r\n\t\t\t</b>\r\n\t\t\t<span v-if=\"!hasAvailableLicences\">\r\n\t\t\t\t<PopoverIcon class=\"d-inline-flex text-danger\" placement=\"right\" style=\"line-height: 1.75rem\">\r\n\t\t\t\t\t<i class=\"pi pi-exclamation-circle\" />\r\n\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t<p>\r\n\t\t\t\t\t\t\t{{ $t(\"myCadac.licenceManagementDetail.licenceLimitReached\") }}\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</PopoverIcon>\r\n\t\t\t</span>\r\n\t\t</div>\r\n\t\t<div\r\n\t\t\tv-if=\"selectedLicenceProduct?.applicationKeyAllowed && selectedLicenceProduct?.applicationKey\"\r\n\t\t\tclass=\"text-muted d-flex align-items-center flex-wrap flex-lg-nowrap\"\r\n\t\t>\r\n\t\t\t<span class=\"lead mr-1 flex-grow-1 flex-shrink-0\">\r\n\t\t\t\t{{ $t(\"myCadac.licenceManagementDetail.lblApplicationKey\") }}\r\n\t\t\t</span>\r\n\t\t\t<Inplace :closable=\"false\">\r\n\t\t\t\t<template #display>\r\n\t\t\t\t\t{{ $t(\"myCadac.licenceManagementDetail.lblShowApplicationKey\") }}\r\n\t\t\t\t</template>\r\n\t\t\t\t<template #content>\r\n\t\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t\t<p\r\n\t\t\t\t\t\t\tclass=\"m-0 limit-line-width text-truncate text-bold text-black\"\r\n\t\t\t\t\t\t\t:title=\"selectedLicenceProduct?.applicationKey\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{{ selectedLicenceProduct?.applicationKey }}\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\tclass=\"p-button-outlined p-button-secondary copy-button\"\r\n\t\t\t\t\t\t\ticon=\"pi pi-copy\"\r\n\t\t\t\t\t\t\t@click=\"copyTextToClipboard(selectedLicenceProduct?.applicationKey)\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</Inplace>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<Message\r\n\t\tv-if=\"!hasAvailableLicences && vm.licenceOveruseAllowed\"\r\n\t\t:closable=\"false\"\r\n\t\ticon=\"pi pi-exclamation-triangle\"\r\n\t\tseverity=\"error\"\r\n\t>\r\n\t\t<i18n-t keypath=\"myCadac.licenceManagementDetail.message.overUsageAllowed\">\r\n\t\t\t<template #link>\r\n\t\t\t\t<a :href=\"overuseSupportUrl\" target=\"_blank\">\r\n\t\t\t\t\t{{ $t(\"myCadac.licenceManagementDetail.message.overUsageAllowed_linkText\") }}\r\n\t\t\t\t</a>\r\n\t\t\t</template>\r\n\t\t</i18n-t>\r\n\t</Message>\r\n\r\n\t<Panel id=\"panel-licences\" class=\"my-3\" :toggleable=\"false\">\r\n\t\t<template #header>\r\n\t\t\t<div class=\"d-flex justify-content-between flex-grow-1 flex-wrap\">\r\n\t\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t\t<h3 class=\"mb-1\">\r\n\t\t\t\t\t\t{{ $t(\"myCadac.licenceManagementDetail.panel.titleLicences\") }}\r\n\t\t\t\t\t</h3>\r\n\t\t\t\t</div>\r\n\t\t\t\t<Button\r\n\t\t\t\t\tv-if=\"hasAvailableLicences || vm.licenceOveruseAllowed\"\r\n\t\t\t\t\tclass=\"p-button-primary mr-lg-1 ml-0 flex-shrink-0\"\r\n\t\t\t\t\ticon=\"pi pi-plus\"\r\n\t\t\t\t\t:label=\"$t('myCadac.licenceManagementDetail.button.addLicence')\"\r\n\t\t\t\t\t@click=\"onAddLicenceClick()\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t\t<DataTable\r\n\t\t\tv-model:filters=\"licenceFilters\"\r\n\t\t\tauto-layout\r\n\t\t\tdata-key=\"id\"\r\n\t\t\t:global-filter-fields=\"['fullName', 'name', 'email']\"\r\n\t\t\t:paginator=\"showPagination\"\r\n\t\t\tremovable-sort\r\n\t\t\tresponsive-layout=\"stack\"\r\n\t\t\t:row-class=\"getRowClass\"\r\n\t\t\t:rows=\"maxRowsToShow\"\r\n\t\t\t:value=\"allLicences\"\r\n\t\t>\r\n\t\t\t<template #empty>\r\n\t\t\t\t<Message v-if=\"!allLicences?.length\" class=\"my-0\" :closable=\"false\" severity=\"warn\">\r\n\t\t\t\t\t{{ $t(\"myCadac.licenceManagementDetail.message.noLicences\") }}\r\n\t\t\t\t</Message>\r\n\t\t\t\t<Message v-else-if=\"licenceFilters['global'].value\" class=\"my-0\" :closable=\"false\" severity=\"warn\">\r\n\t\t\t\t\t{{\r\n\t\t\t\t\t\t$t(\"myCadac.licenceManagementDetail.message.noLicencesFound\", [\r\n\t\t\t\t\t\t\tlicenceFilters[\"global\"].value,\r\n\t\t\t\t\t\t])\r\n\t\t\t\t\t}}\r\n\t\t\t\t</Message>\r\n\t\t\t</template>\r\n\t\t\t<template #header>\r\n\t\t\t\t<div class=\"ml-auto col-md-6 col-xl-4 p-0\">\r\n\t\t\t\t\t<span class=\"p-input-icon-left w-100\">\r\n\t\t\t\t\t\t<i class=\"pi pi-search\" />\r\n\t\t\t\t\t\t<InputText\r\n\t\t\t\t\t\t\tv-model=\"licenceFilters['global'].value\"\r\n\t\t\t\t\t\t\t:placeholder=\"$t('myCadac.licenceManagementDetail.table.searchLicence_placeholder')\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t\t<Column\r\n\t\t\t\tkey=\"displayName\"\r\n\t\t\t\tfield=\"displayName\"\r\n\t\t\t\t:header=\"$t('myCadac.licenceManagementDetail.table.colName')\"\r\n\t\t\t\t:sortable=\"true\"\r\n\t\t\t/>\r\n\t\t\t<Column\r\n\t\t\t\tkey=\"email\"\r\n\t\t\t\tfield=\"email\"\r\n\t\t\t\t:header=\"$t('myCadac.licenceManagementDetail.table.colEmail')\"\r\n\t\t\t\t:sortable=\"true\"\r\n\t\t\t/>\r\n\t\t\t<Column key=\"roles\" :header=\"$t('myCadac.licenceManagementDetail.table.colRoles')\">\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<span>{{ getRoleDescriptions(item.data).join(\",\") }}</span>\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\t\t\t<Column\r\n\t\t\t\tkey=\"licenceType\"\r\n\t\t\t\tfield=\"licenceType\"\r\n\t\t\t\t:header=\"$t('myCadac.licenceManagementDetail.table.colType')\"\r\n\t\t\t\t:sortable=\"true\"\r\n\t\t\t>\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<span>{{ $t(`enum.licenceType.${item.data.licenceType}`) }}</span>\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\t\t\t<Column\r\n\t\t\t\tkey=\"endDate\"\r\n\t\t\t\tfield=\"endDate\"\r\n\t\t\t\t:header=\"$t('myCadac.licenceManagementDetail.table.colDate')\"\r\n\t\t\t\t:sortable=\"true\"\r\n\t\t\t>\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<div\r\n\t\t\t\t\t\tv-if=\"shouldShowContractExpirationWarning(item.data)\"\r\n\t\t\t\t\t\tclass=\"text-danger d-flex flex-nowrap\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<span class=\"mr-1\">{{ formatDate(getContractExpirationDate(item.data)) }}</span>\r\n\t\t\t\t\t\t<PopoverIcon class=\"d-inline-flex\" style=\"line-height: 1.75rem\">\r\n\t\t\t\t\t\t\t<i class=\"pi pi-exclamation-circle\" />\r\n\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t<p>\r\n\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t$tc(\"myCadac.contractOverview.table.contractExpirationWarning\", {\r\n\t\t\t\t\t\t\t\t\t\t\tcount: getRemainingContractDays(item.data),\r\n\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</PopoverIcon>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<span v-else>{{ formatDate(getContractExpirationDate(item.data)) }}</span>\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\t\t\t<Column key=\"actions\">\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<div\r\n\t\t\t\t\t\tv-if=\"!shouldShowPendingDeletionWarning(item.data)\"\r\n\t\t\t\t\t\tclass=\"d-flex justify-content-lg-end justify-content-between w-100\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\tclass=\"p-button-primary p-button-icon p-button-rounded p-button-raised p-button-text flex-shrink-0\"\r\n\t\t\t\t\t\t\ticon=\"pi pi-pencil\"\r\n\t\t\t\t\t\t\t:label=\"isSmallScreen ? $t('common.edit') : ''\"\r\n\t\t\t\t\t\t\t:title=\"$t('common.edit')\"\r\n\t\t\t\t\t\t\t@click=\"onEditLicenceClick(item.data)\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\tclass=\"p-button-danger p-button-icon p-button-rounded p-button-raised p-button-text flex-shrink-0 ml-1\"\r\n\t\t\t\t\t\t\ticon=\"pi pi-trash\"\r\n\t\t\t\t\t\t\t:label=\"isSmallScreen ? $t('common.remove') : ''\"\r\n\t\t\t\t\t\t\t:title=\"$t('common.remove')\"\r\n\t\t\t\t\t\t\t@click=\"onDeleteLicenceClick(item.data)\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div v-else class=\"text-warning lg-end w-100\" :class=\"{ 'warning-message': !isSmallScreen }\">\r\n\t\t\t\t\t\t{{ $t(\"myCadac.licenceManagementDetail.table.pendingDeletionWarning\") }}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\t\t</DataTable>\r\n\t</Panel>\r\n\t<LicenceFormModal\r\n\t\tv-if=\"licenceStore.isLicenceFormModalVisible\"\r\n\t\t:vm=\"vm\"\r\n\t\t@licence-saved=\"onLicenceSaved($event)\"\r\n\t/>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BackButton from \"@/components/common/backButton.vue\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport LicenceFormModal from \"@/components/licenceManagement/licenceFormModal.vue\";\r\nimport PopoverIcon from \"@/components/common/popoverIcon.vue\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { FilterMatchMode } from \"primevue/api\";\r\nimport { ILicenceManagementDetail } from \"@/types/viewModels/myCadac/licenceManagementDetailViewModel\";\r\nimport { Licence } from \"@/types/generated/licence\";\r\nimport { LicenceForm } from \"@/types/models/form/licenceForm\";\r\nimport { LicenceProduct } from \"@/types/generated/licenceProduct\";\r\nimport { LicenseAsset } from \"@/types/generated/licenseAsset\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { cloneDeep, concat, orderBy } from \"lodash\";\r\nimport { differenceInCalendarDays, isBefore, sub } from \"date-fns\";\r\nimport { getActiveLocale } from \"@/types/utils/i18n\";\r\nimport { useLicenceStore } from \"@/store/software/licenceStore\";\r\nimport { useSessionStorage } from \"@vueuse/core\";\r\n\r\n@Component({ components: { LicenceFormModal, BackButton, PopoverIcon } })\r\nexport default class LicenceManagementDetail extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<ILicenceManagementDetail>, required: true, default: {} })\r\n\tvm!: ILicenceManagementDetail;\r\n\r\n\tisLoading = false;\r\n\tlicenceFilters = { global: { value: null, matchMode: FilterMatchMode.CONTAINS } };\r\n\tmaxRowsToShow = 10;\r\n\tcanSeeLicences = useSessionStorage(\"licenceViewUnlocked\", false);\r\n\tallLicences: Licence[] = [];\r\n\r\n\tlicenceStore = useLicenceStore();\r\n\r\n\tcreated(): void {\r\n\t\tthis.licenceStore.selectedLicenceProduct = this.vm.licenceProduct;\r\n\t\tthis.allLicences = this.getAllSortedLicences();\r\n\t}\r\n\r\n\tget showPagination(): boolean {\r\n\t\treturn this.allLicences?.length > this.maxRowsToShow;\r\n\t}\r\n\r\n\tget licenceRoleFilterOptions(): string[] {\r\n\t\treturn this.selectedLicenceProduct.possibleRoles.map((x) =>\r\n\t\t\tthis.$i18n.locale === \"nl\" ? x.descriptionNL : x.descriptionEN\r\n\t\t);\r\n\t}\r\n\r\n\tget selectedLicenceProduct(): LicenceProduct {\r\n\t\treturn this.licenceStore.selectedLicenceProduct as LicenceProduct;\r\n\t}\r\n\r\n\tget hasAvailableLicences(): boolean {\r\n\t\treturn this.selectedLicenceProduct.totalSeats - this.selectedLicenceProduct.totalActiveLicences > 0;\r\n\t}\r\n\r\n\tget overuseSupportUrl(): string {\r\n\t\treturn getActiveLocale() === \"nl\"\r\n\t\t\t? \"/service-support/service/algemeen/cadac-transition-to-named-user-agent-only/uitleg-over-usage-cadac-named-use/\"\r\n\t\t\t: \"/service-contact/service/algemeen/cadac-transtion-to-named-user/explanation-over-usage-cadac-named-use/\";\r\n\t}\r\n\r\n\tshouldShowContractExpirationWarning(licence: Licence): boolean {\r\n\t\treturn this.getRemainingContractDays(licence) < 90 && !this.shouldShowPendingDeletionWarning(licence);\r\n\t}\r\n\r\n\tshouldShowPendingDeletionWarning(licence: Licence): boolean {\r\n\t\tif (!licence.dateDeleted) return false;\r\n\t\tconst currentDateMinusGracePeriod = sub(new Date(), { days: 1 });\r\n\t\treturn isBefore(currentDateMinusGracePeriod, this.toDate(licence.dateDeleted));\r\n\t}\r\n\r\n\tgetRowClass(licence: Licence): string {\r\n\t\treturn this.shouldShowPendingDeletionWarning(licence) ? \"disabled\" : \"\";\r\n\t}\r\n\r\n\tgetContractExpirationDate(licence: Licence): Date {\r\n\t\treturn this.toDate(this.getLicenceAssetForLicence(licence.id)?.endDate);\r\n\t}\r\n\r\n\tgetRemainingContractDays(licence: Licence): number {\r\n\t\treturn differenceInCalendarDays(this.getContractExpirationDate(licence), new Date());\r\n\t}\r\n\r\n\tgetLicenceAssetForLicence(licenceId: string): LicenseAsset {\r\n\t\treturn (this.selectedLicenceProduct.licenceAssets as LicenseAsset[]).find(\r\n\t\t\t(licenceAsset) =>\r\n\t\t\t\tlicenceAsset.licences.findIndex((licenceOfAsset: Licence) => licenceOfAsset.id === licenceId) > -1\r\n\t\t) as LicenseAsset;\r\n\t}\r\n\r\n\tgetRoleDescriptions(_licence: Licence): string[] {\r\n\t\treturn _licence.roles.map((x) => (this.$i18n.locale === \"nl\" ? x.descriptionNL : x.descriptionEN));\r\n\t}\r\n\r\n\tonLicenceSaved(_licence: LicenceForm): void {\r\n\t\tif (_licence.id) this.updateLicence(_licence);\r\n\t\telse this.addNewLicence(_licence);\r\n\t}\r\n\r\n\tonAddLicenceClick(): void {\r\n\t\tthis.licenceStore.selectedLicence = null;\r\n\t\tthis.licenceStore.showModal(\"LicenceForm\");\r\n\t}\r\n\r\n\tonEditLicenceClick(_licence: Licence): void {\r\n\t\tthis.licenceStore.selectedLicence = _licence;\r\n\t\tthis.licenceStore.showModal(\"LicenceForm\");\r\n\t}\r\n\r\n\tonDeleteLicenceClick(_licence: LicenceForm): void {\r\n\t\t// Confirm dialog with reverse buttons\r\n\t\tthis.$confirm.require({\r\n\t\t\theader: this.$t(\"myCadac.licenceManagementDetail.dialog.confirmDeleteLicenceTitle\"),\r\n\t\t\tmessage: this.$t(\"myCadac.licenceManagementDetail.dialog.confirmDeleteLicenceMessage\", [\r\n\t\t\t\t_licence.email,\r\n\t\t\t]),\r\n\t\t\trejectLabel: this.$t(\"common.yes\"),\r\n\t\t\tacceptLabel: this.$t(\"common.no\"),\r\n\t\t\treject: () => {\r\n\t\t\t\tthis.deleteLicence(_licence);\r\n\t\t\t},\r\n\t\t});\r\n\t}\r\n\r\n\tonBackClick(): void {\r\n\t\tthis.licenceStore.setCanSeeLicences(true);\r\n\t}\r\n\r\n\tcopyTextToClipboard(text: string): void {\r\n\t\tthis.copyToClipboard(text)\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"info\",\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.licenceManagementDetail.toast.copiedToClipboard\", [\r\n\t\t\t\t\t\tthis.selectedLicenceProduct.applicationKey,\r\n\t\t\t\t\t]),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t});\r\n\t}\r\n\r\n\tprivate addNewLicence(_licence: LicenceForm): void {\r\n\t\tthis.isLoading = true;\r\n\t\tthis.axios\r\n\t\t\t.post(`/api/licence/create/${this.selectedLicenceProduct.id}`, _licence)\r\n\t\t\t.then(this.getLicenceProduct)\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.licenceStore.selectedLicence = null;\r\n\t\t\t\tthis.licenceStore.hideModal(\"LicenceForm\");\r\n\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"success\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleSuccess\"),\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.licenceManagementDetail.toast.createLicenceSuccess\", [\r\n\t\t\t\t\t\t_licence.email,\r\n\t\t\t\t\t]),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.licenceManagementDetail.toast.createLicenceError\", [_licence.email]),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t\tLog.error(err);\r\n\t\t\t})\r\n\t\t\t.finally(() => (this.isLoading = false));\r\n\t}\r\n\r\n\tprivate updateLicence(_licence: LicenceForm): void {\r\n\t\tthis.isLoading = true;\r\n\t\tthis.axios\r\n\t\t\t.put(`/api/licence/update/${this.selectedLicenceProduct.id}`, _licence)\r\n\t\t\t.then(this.getLicenceProduct)\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.licenceStore.selectedLicence = null;\r\n\t\t\t\tthis.licenceStore.hideModal(\"LicenceForm\");\r\n\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"success\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleSuccess\"),\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.licenceManagementDetail.toast.updateLicenceSuccess\", [\r\n\t\t\t\t\t\t_licence.email,\r\n\t\t\t\t\t]),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.licenceManagementDetail.toast.updateLicenceError\", [_licence.email]),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t\tLog.error(err);\r\n\t\t\t})\r\n\t\t\t.finally(() => (this.isLoading = false));\r\n\t}\r\n\r\n\tprivate deleteLicence(_licence: LicenceForm): void {\r\n\t\tthis.isLoading = true;\r\n\t\tthis.axios\r\n\t\t\t.put(`/api/licence/remove`, _licence)\r\n\t\t\t.then(this.getLicenceProduct)\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"success\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleSuccess\"),\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.licenceManagementDetail.toast.deleteLicenceSuccess\", [\r\n\t\t\t\t\t\t_licence.email,\r\n\t\t\t\t\t]),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.licenceManagementDetail.toast.deleteLicenceError\", [_licence.email]),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t\tLog.error(err);\r\n\t\t\t})\r\n\t\t\t.finally(() => (this.isLoading = false));\r\n\t}\r\n\r\n\tprivate getLicenceProduct(): void {\r\n\t\tthis.isLoading = true;\r\n\t\tthis.axios\r\n\t\t\t.get<LicenceProduct>(`/api/licenceProduct/${this.selectedLicenceProduct.id}`)\r\n\t\t\t.then((result: AxiosResponse<LicenceProduct>) => {\r\n\t\t\t\tthis.licenceStore.selectedLicenceProduct = cloneDeep(result.data);\r\n\t\t\t\tthis.allLicences = this.getAllSortedLicences();\r\n\t\t\t\tthis.$forceUpdate();\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t})\r\n\t\t\t.finally(() => (this.isLoading = false));\r\n\t}\r\n\r\n\tprivate getAllSortedLicences(): Licence[] {\r\n\t\treturn orderBy(\r\n\t\t\tconcat(...this.selectedLicenceProduct.licenceAssets.map((x) => x.licences)),\r\n\t\t\t\"dateDeleted\",\r\n\t\t\t\"asc\"\r\n\t\t);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.copy-button {\r\n\tmax-width: 1.5rem;\r\n\tmax-height: 1.5rem;\r\n\tflex-shrink: 0;\r\n\tpadding: 0.25rem;\r\n\tmargin-left: 0.25rem;\r\n}\r\n\r\n.limit-line-width {\r\n\tmin-width: 0;\r\n\tmax-width: 250px;\r\n}\r\n\r\n.warning-message {\r\n\tmax-width: 240px;\r\n}\r\n\r\n::v-deep(.p-inplace .p-inplace-display) {\r\n\tpadding: 0;\r\n\r\n\t&:hover {\r\n\t\tcolor: var(--primary-color);\r\n\t\tbackground: inherit;\r\n\t}\r\n}\r\n</style>\r\n","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, withCtx as _withCtx } from \"vue\"\n\nconst _hoisted_1 = { class: \"mb-0\" }\nconst _hoisted_2 = { class: \"form-row\" }\nconst _hoisted_3 = { class: \"form-group col-12\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_5 = {\n key: 2,\n class: \"p-field-checkbox mr-2 mb-2\"\n}\nconst _hoisted_6 = {\n class: \"ml-1 mb-0\",\n for: \"sendEmailToLicenseUser\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Dropdown = _resolveComponent(\"Dropdown\")!\n const _component_UserLicenceForm = _resolveComponent(\"UserLicenceForm\")!\n const _component_ServerLicenceForm = _resolveComponent(\"ServerLicenceForm\")!\n const _component_Checkbox = _resolveComponent(\"Checkbox\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Dialog = _resolveComponent(\"Dialog\")!\n\n return (_openBlock(), _createBlock(_component_Dialog, {\n visible: _ctx.isVisible,\n \"onUpdate:visible\": _cache[6] || (_cache[6] = ($event: any) => ((_ctx.isVisible) = $event)),\n breakpoints: { '1600px': '40vw', '1200px': '50vw', '992px': '60vw', '768px': '75vw', '576px': '90vw' },\n modal: true,\n style: { width: '30vw' },\n onHide: _cache[7] || (_cache[7] = ($event: any) => (_ctx.onCancel()))\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"h3\", _hoisted_1, _toDisplayString(_ctx.selectedLicence\r\n\t\t\t\t\t\t? _ctx.$t(\"myCadac.licenceManagementDetail.dialog.titleEditLicence\")\r\n\t\t\t\t\t\t: _ctx.$t(\"myCadac.licenceManagementDetail.dialog.titleNewLicence\")), 1)\n ]),\n footer: _withCtx(() => [\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-plain\",\n label: _ctx.$t('common.cancel'),\n onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.onCancel()))\n }, null, 8, [\"label\"]),\n _createVNode(_component_Button, {\n disabled: !_ctx.canSubmit,\n label: _ctx.isEditing ? _ctx.$t('common.save') : _ctx.$t('common.add'),\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.onSubmit()))\n }, null, 8, [\"disabled\", \"label\"])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"form\", null, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['licenceForm'].licenceType?.required })\n }, _toDisplayString(_ctx.$t(\"myCadac.licenceManagementDetail.dialog.lblLicenceType\")), 3),\n _createVNode(_component_Dropdown, {\n modelValue: _ctx.v$['licenceForm'].licenceType.$model,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.v$['licenceForm'].licenceType.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['licenceForm'].licenceType) }),\n disabled: _ctx.possibleLicenceTypes.length === 1,\n \"option-label\": \"label\",\n \"option-value\": \"value\",\n options: _ctx.possibleLicenceTypes\n }, null, 8, [\"modelValue\", \"class\", \"disabled\", \"options\"]),\n (_ctx.shouldShowError(_ctx.v$['licenceForm'].licenceType))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_4, _toDisplayString(_ctx.v$[\"licenceForm\"].licenceType?.required?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n (_ctx.isUserLicence)\n ? (_openBlock(), _createBlock(_component_UserLicenceForm, {\n key: 0,\n modelValue: _ctx.v$,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.v$) = $event)),\n submitted: _ctx.submitted,\n vm: _ctx.vm\n }, null, 8, [\"modelValue\", \"submitted\", \"vm\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.isServerLicence)\n ? (_openBlock(), _createBlock(_component_ServerLicenceForm, {\n key: 1,\n modelValue: _ctx.v$,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.v$) = $event)),\n submitted: _ctx.submitted,\n vm: _ctx.vm\n }, null, 8, [\"modelValue\", \"submitted\", \"vm\"]))\n : _createCommentVNode(\"\", true),\n (!_ctx.isEditing)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createVNode(_component_Checkbox, {\n modelValue: _ctx.v$['licenceForm'].sendEmailToLicenseUser.$model,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.v$['licenceForm'].sendEmailToLicenseUser.$model) = $event)),\n id: \"sendEmailToLicenseUser\",\n binary: \"\",\n name: \"sendEmailToLicenseUser\"\n }, null, 8, [\"modelValue\"]),\n _createElementVNode(\"label\", _hoisted_6, _toDisplayString(_ctx.$t(\"myCadac.licenceManagementDetail.dialog.lblSendEmailToLicenceUser\")), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n }, 8, [\"visible\"]))\n}","<template>\r\n\t<Dialog\r\n\t\tv-model:visible=\"isVisible\"\r\n\t\t:breakpoints=\"{ '1600px': '40vw', '1200px': '50vw', '992px': '60vw', '768px': '75vw', '576px': '90vw' }\"\r\n\t\t:modal=\"true\"\r\n\t\t:style=\"{ width: '30vw' }\"\r\n\t\t@hide=\"onCancel()\"\r\n\t>\r\n\t\t<template #header>\r\n\t\t\t<h3 class=\"mb-0\">\r\n\t\t\t\t{{\r\n\t\t\t\t\tselectedLicence\r\n\t\t\t\t\t\t? $t(\"myCadac.licenceManagementDetail.dialog.titleEditLicence\")\r\n\t\t\t\t\t\t: $t(\"myCadac.licenceManagementDetail.dialog.titleNewLicence\")\r\n\t\t\t\t}}\r\n\t\t\t</h3>\r\n\t\t</template>\r\n\t\t<form>\r\n\t\t\t<div class=\"form-row\">\r\n\t\t\t\t<div class=\"form-group col-12\">\r\n\t\t\t\t\t<label :class=\"{ required: v$['licenceForm'].licenceType?.required }\">\r\n\t\t\t\t\t\t{{ $t(\"myCadac.licenceManagementDetail.dialog.lblLicenceType\") }}\r\n\t\t\t\t\t</label>\r\n\t\t\t\t\t<Dropdown\r\n\t\t\t\t\t\tv-model=\"v$['licenceForm'].licenceType.$model\"\r\n\t\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['licenceForm'].licenceType) }\"\r\n\t\t\t\t\t\t:disabled=\"possibleLicenceTypes.length === 1\"\r\n\t\t\t\t\t\toption-label=\"label\"\r\n\t\t\t\t\t\toption-value=\"value\"\r\n\t\t\t\t\t\t:options=\"possibleLicenceTypes\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<small v-if=\"shouldShowError(v$['licenceForm'].licenceType)\" class=\"p-error\">\r\n\t\t\t\t\t\t{{ v$[\"licenceForm\"].licenceType?.required?.$message }}\r\n\t\t\t\t\t</small>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<UserLicenceForm v-if=\"isUserLicence\" v-model=\"v$\" :submitted=\"submitted\" :vm=\"vm\" />\r\n\t\t\t<ServerLicenceForm v-if=\"isServerLicence\" v-model=\"v$\" :submitted=\"submitted\" :vm=\"vm\" />\r\n\t\t\t<div v-if=\"!isEditing\" class=\"p-field-checkbox mr-2 mb-2\">\r\n\t\t\t\t<Checkbox\r\n\t\t\t\t\tv-model=\"v$['licenceForm'].sendEmailToLicenseUser.$model\"\r\n\t\t\t\t\tid=\"sendEmailToLicenseUser\"\r\n\t\t\t\t\tbinary\r\n\t\t\t\t\tname=\"sendEmailToLicenseUser\"\r\n\t\t\t\t/>\r\n\t\t\t\t<label class=\"ml-1 mb-0\" for=\"sendEmailToLicenseUser\">\r\n\t\t\t\t\t{{ $t(\"myCadac.licenceManagementDetail.dialog.lblSendEmailToLicenceUser\") }}\r\n\t\t\t\t</label>\r\n\t\t\t</div>\r\n\t\t</form>\r\n\t\t<template #footer>\r\n\t\t\t<Button class=\"p-button-text p-button-plain\" :label=\"$t('common.cancel')\" @click=\"onCancel()\" />\r\n\t\t\t<Button\r\n\t\t\t\t:disabled=\"!canSubmit\"\r\n\t\t\t\t:label=\"isEditing ? $t('common.save') : $t('common.add')\"\r\n\t\t\t\t@click=\"onSubmit()\"\r\n\t\t\t/>\r\n\t\t</template>\r\n\t</Dialog>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Checkbox from \"primevue/checkbox\";\r\nimport ServerLicenceForm from \"@/components/licenceManagement/serverLicenceForm.vue\";\r\nimport UserLicenceForm from \"@/components/licenceManagement/userLicenceForm.vue\";\r\nimport useVuelidate, { Validation } from \"@vuelidate/core\";\r\nimport { Component, Emit, Prop } from \"vue-facing-decorator\";\r\nimport { IDropdownItem } from \"@/types/models/common/dropdownItem.interface\";\r\nimport { ILicenceManagementDetail } from \"@/types/viewModels/myCadac/licenceManagementDetailViewModel\";\r\nimport { Licence } from \"@/types/generated/licence\";\r\nimport { LicenceForm } from \"@/types/models/form/licenceForm\";\r\nimport { LicenceStatus } from \"@/types/enum/licenceStatus\";\r\nimport { LicenceType } from \"@/types/enum/licenceType\";\r\nimport { PropType } from \"vue\";\r\nimport { email, minLength, required } from \"@/types/utils/i18n-validators\";\r\nimport { merge } from \"lodash\";\r\nimport { useLicenceStore } from \"@/store/software/licenceStore\";\r\n\r\n@Component({\r\n\tcomponents: { UserLicenceForm, ServerLicenceForm, Checkbox },\r\n\temits: [\"licence-saved\"],\r\n\toptions: {\r\n\t\tvalidations: {\r\n\t\t\tlicenceForm: { licenceType: { required }, sendEmailToLicenseUser: { required } },\r\n\t\t\tserverLicenceForm: {\r\n\t\t\t\tserverName: { required },\r\n\t\t\t\temail: { required, email },\r\n\t\t\t\troles: { required, minLength: minLength(1) },\r\n\t\t\t},\r\n\t\t\tuserLicenceForm: {\r\n\t\t\t\tfirstName: { required },\r\n\t\t\t\tlastName: { required },\r\n\t\t\t\temail: { required, email },\r\n\t\t\t\troles: { required, minLength: minLength(1) },\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n})\r\nexport default class LicenceFormModal extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<ILicenceManagementDetail>, required: true, default: {} })\r\n\tvm!: ILicenceManagementDetail;\r\n\r\n\tv$ = useVuelidate();\r\n\r\n\tisEditing = false;\r\n\tsubmitted = false;\r\n\tisLoading = false;\r\n\tisVisible = true;\r\n\r\n\tlicenceForm: LicenceForm | null = null;\r\n\tserverLicenceForm: Partial<LicenceForm> | null = null;\r\n\tuserLicenceForm: Partial<LicenceForm> | null = null;\r\n\tlicenceStore = useLicenceStore();\r\n\r\n\t@Emit()\r\n\tlicenceSaved(): LicenceForm {\r\n\t\treturn {\r\n\t\t\t...this.licenceFormModel,\r\n\t\t\tid: this.selectedLicence?.id || \"\",\r\n\t\t};\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.isEditing = !!this.selectedLicence?.id;\r\n\t\tconst formData: LicenceForm = this.selectedLicence\r\n\t\t\t? { ...this.selectedLicence, sendEmailToLicenseUser: !this.isEditing }\r\n\t\t\t: {\r\n\t\t\t\t\tfirstName: \"\",\r\n\t\t\t\t\tlastName: \"\",\r\n\t\t\t\t\temail: \"\",\r\n\t\t\t\t\troles: [],\r\n\t\t\t\t\tserverName: \"\",\r\n\t\t\t\t\tlicenceStatus: LicenceStatus.assigned,\r\n\t\t\t\t\tlicenceType: LicenceType.user,\r\n\t\t\t\t\tsendEmailToLicenseUser: !this.isEditing,\r\n\t\t\t\t};\r\n\t\tthis.licenceForm = formData;\r\n\t\tthis.serverLicenceForm = formData;\r\n\t\tthis.userLicenceForm = formData;\r\n\t}\r\n\r\n\tget isUserLicence(): boolean {\r\n\t\treturn this.v$[\"licenceForm\"].$model.licenceType === LicenceType.user;\r\n\t}\r\n\r\n\tget isServerLicence(): boolean {\r\n\t\treturn this.v$[\"licenceForm\"].$model.licenceType === LicenceType.server;\r\n\t}\r\n\r\n\tget licenceFormModel(): LicenceForm {\r\n\t\tif (this.isUserLicence) {\r\n\t\t\treturn merge(this.v$[\"licenceForm\"].$model, this.v$[\"userLicenceForm\"].$model);\r\n\t\t} else if (this.isServerLicence) {\r\n\t\t\treturn merge(this.v$[\"licenceForm\"].$model, this.v$[\"serverLicenceForm\"].$model);\r\n\t\t}\r\n\t\treturn this.v$[\"licenceForm\"].$model;\r\n\t}\r\n\r\n\tget canSubmit(): boolean {\r\n\t\treturn !this.v$[\"licenceForm\"].$invalid && this.isSubformValid && !this.isLoading;\r\n\t}\r\n\r\n\tget isSubformValid(): boolean {\r\n\t\tswitch (this.v$[\"licenceForm\"].licenceType.$model) {\r\n\t\t\tcase LicenceType.user:\r\n\t\t\t\treturn !this.v$[\"userLicenceForm\"].$invalid && this.v$[\"userLicenceForm\"].$anyDirty;\r\n\t\t\tcase LicenceType.server:\r\n\t\t\t\treturn !this.v$[\"serverLicenceForm\"].$invalid && this.v$[\"serverLicenceForm\"].$anyDirty;\r\n\t\t\tcase LicenceType.service:\r\n\t\t\tcase LicenceType.connector:\r\n\t\t\tdefault:\r\n\t\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\r\n\tget selectedLicence(): Licence | null {\r\n\t\treturn this.licenceStore.selectedLicence;\r\n\t}\r\n\r\n\tget possibleLicenceTypes(): IDropdownItem[] {\r\n\t\tconst licenceTypes = [\r\n\t\t\t{ label: this.$t(`enum.licenceType.${LicenceType.user}`), value: LicenceType.user },\r\n\t\t\t{ label: this.$t(`enum.licenceType.${LicenceType.server}`), value: LicenceType.server },\r\n\t\t];\r\n\t\treturn licenceTypes.filter((x) => {\r\n\t\t\tif (x.value === LicenceType.user) {\r\n\t\t\t\treturn this.vm.licenceProduct.namedUserLicencesAllowed;\r\n\t\t\t} else if (x.value === LicenceType.server) {\r\n\t\t\t\treturn this.vm.licenceProduct.serverUserLicencesAllowed;\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t});\r\n\t}\r\n\r\n\tshouldShowError(fieldToValidate: Validation): boolean {\r\n\t\treturn fieldToValidate.$invalid && (this.submitted || fieldToValidate.$dirty);\r\n\t}\r\n\r\n\tonSubmit(): void {\r\n\t\tthis.submitted = true;\r\n\t\tif (!this.canSubmit) return;\r\n\t\tthis.licenceSaved();\r\n\t}\r\n\r\n\tonCancel(): void {\r\n\t\tthis.licenceStore.hideModal(\"LicenceForm\");\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = { class: \"form-row\" }\nconst _hoisted_2 = { class: \"form-group col-12\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_4 = { class: \"form-row\" }\nconst _hoisted_5 = { class: \"form-group col-md-12\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_7 = {\n key: 1,\n class: \"p-error\"\n}\nconst _hoisted_8 = {\n key: 0,\n class: \"form-row\"\n}\nconst _hoisted_9 = { class: \"form-group col-md-12\" }\nconst _hoisted_10 = { class: \"d-flex align-items-start flex-wrap\" }\nconst _hoisted_11 = [\"for\"]\nconst _hoisted_12 = {\n key: 0,\n class: \"p-error\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_InputText = _resolveComponent(\"InputText\")!\n const _component_Checkbox = _resolveComponent(\"Checkbox\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['serverLicenceForm'].serverName?.required })\n }, _toDisplayString(_ctx.$t(\"myCadac.licenceManagementDetail.dialog.lblName\")), 3),\n _createVNode(_component_InputText, {\n modelValue: _ctx.v$['serverLicenceForm'].serverName.$model,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.v$['serverLicenceForm'].serverName.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['serverLicenceForm'].serverName) }),\n type: \"text\"\n }, null, 8, [\"modelValue\", \"class\"]),\n (_ctx.shouldShowError(_ctx.v$['serverLicenceForm'].serverName))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_3, _toDisplayString(_ctx.v$[\"serverLicenceForm\"].serverName?.required?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['serverLicenceForm'].email?.required })\n }, _toDisplayString(_ctx.$t(\"myCadac.licenceManagementDetail.dialog.lblEmail\")), 3),\n _createVNode(_component_InputText, {\n modelValue: _ctx.v$['serverLicenceForm'].email.$model,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.v$['serverLicenceForm'].email.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['serverLicenceForm'].email) }),\n disabled: _ctx.isEditing,\n type: \"email\"\n }, null, 8, [\"modelValue\", \"class\", \"disabled\"]),\n (_ctx.shouldShowError(_ctx.v$['serverLicenceForm'].email) && !_ctx.v$['serverLicenceForm'].email.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_6, _toDisplayString(_ctx.v$[\"serverLicenceForm\"].email?.required?.$message), 1))\n : (_ctx.shouldShowError(_ctx.v$['serverLicenceForm'].email) && _ctx.v$['serverLicenceForm'].email.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_7, _toDisplayString(_ctx.v$[\"serverLicenceForm\"].email.email?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n (_ctx.selectedLicenceProduct.possibleRoles?.length > 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['serverLicenceForm'].roles?.required })\n }, _toDisplayString(_ctx.$t(\"myCadac.licenceManagementDetail.dialog.lblRoles\")), 3),\n _createElementVNode(\"div\", _hoisted_10, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.selectedLicenceProduct.possibleRoles, (role, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: index,\n class: \"p-field-checkbox mr-2 mb-2\"\n }, [\n _createVNode(_component_Checkbox, {\n modelValue: _ctx.v$['serverLicenceForm'].roles.$model,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.v$['serverLicenceForm'].roles.$model) = $event)),\n id: `role${index}`,\n name: \"roles\",\n value: role\n }, null, 8, [\"modelValue\", \"id\", \"value\"]),\n _createElementVNode(\"label\", {\n class: \"ml-1 mb-0\",\n for: `role${index}`\n }, _toDisplayString(_ctx.$i18n.locale === \"nl\" ? role.descriptionNL : role.descriptionEN), 9, _hoisted_11)\n ]))\n }), 128))\n ]),\n (_ctx.shouldShowError(_ctx.v$['serverLicenceForm'].roles))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_12, _toDisplayString(_ctx.v$[\"serverLicenceForm\"].roles?.required?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<div class=\"form-row\">\r\n\t\t<div class=\"form-group col-12\">\r\n\t\t\t<label :class=\"{ required: v$['serverLicenceForm'].serverName?.required }\">\r\n\t\t\t\t{{ $t(\"myCadac.licenceManagementDetail.dialog.lblName\") }}\r\n\t\t\t</label>\r\n\t\t\t<InputText\r\n\t\t\t\tv-model=\"v$['serverLicenceForm'].serverName.$model\"\r\n\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['serverLicenceForm'].serverName) }\"\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t/>\r\n\t\t\t<small v-if=\"shouldShowError(v$['serverLicenceForm'].serverName)\" class=\"p-error\">\r\n\t\t\t\t{{ v$[\"serverLicenceForm\"].serverName?.required?.$message }}\r\n\t\t\t</small>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"form-row\">\r\n\t\t<div class=\"form-group col-md-12\">\r\n\t\t\t<label :class=\"{ required: v$['serverLicenceForm'].email?.required }\">\r\n\t\t\t\t{{ $t(\"myCadac.licenceManagementDetail.dialog.lblEmail\") }}\r\n\t\t\t</label>\r\n\t\t\t<InputText\r\n\t\t\t\tv-model=\"v$['serverLicenceForm'].email.$model\"\r\n\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['serverLicenceForm'].email) }\"\r\n\t\t\t\t:disabled=\"isEditing\"\r\n\t\t\t\ttype=\"email\"\r\n\t\t\t/>\r\n\t\t\t<small\r\n\t\t\t\tv-if=\"shouldShowError(v$['serverLicenceForm'].email) && !v$['serverLicenceForm'].email.$model\"\r\n\t\t\t\tclass=\"p-error\"\r\n\t\t\t>\r\n\t\t\t\t{{ v$[\"serverLicenceForm\"].email?.required?.$message }}\r\n\t\t\t</small>\r\n\t\t\t<small\r\n\t\t\t\tv-else-if=\"shouldShowError(v$['serverLicenceForm'].email) && v$['serverLicenceForm'].email.$model\"\r\n\t\t\t\tclass=\"p-error\"\r\n\t\t\t>\r\n\t\t\t\t{{ v$[\"serverLicenceForm\"].email.email?.$message }}\r\n\t\t\t</small>\r\n\t\t</div>\r\n\t</div>\r\n\t<div v-if=\"selectedLicenceProduct.possibleRoles?.length > 1\" class=\"form-row\">\r\n\t\t<div class=\"form-group col-md-12\">\r\n\t\t\t<label :class=\"{ required: v$['serverLicenceForm'].roles?.required }\">\r\n\t\t\t\t{{ $t(\"myCadac.licenceManagementDetail.dialog.lblRoles\") }}\r\n\t\t\t</label>\r\n\t\t\t<div class=\"d-flex align-items-start flex-wrap\">\r\n\t\t\t\t<div\r\n\t\t\t\t\tv-for=\"(role, index) in selectedLicenceProduct.possibleRoles\"\r\n\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\tclass=\"p-field-checkbox mr-2 mb-2\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<Checkbox\r\n\t\t\t\t\t\tv-model=\"v$['serverLicenceForm'].roles.$model\"\r\n\t\t\t\t\t\t:id=\"`role${index}`\"\r\n\t\t\t\t\t\tname=\"roles\"\r\n\t\t\t\t\t\t:value=\"role\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<label class=\"ml-1 mb-0\" :for=\"`role${index}`\">\r\n\t\t\t\t\t\t{{ $i18n.locale === \"nl\" ? role.descriptionNL : role.descriptionEN }}\r\n\t\t\t\t\t</label>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<small v-if=\"shouldShowError(v$['serverLicenceForm'].roles)\" class=\"p-error\">\r\n\t\t\t\t{{ v$[\"serverLicenceForm\"].roles?.required?.$message }}\r\n\t\t\t</small>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Checkbox from \"primevue/checkbox\";\r\nimport { Component, Prop, VModel } from \"vue-facing-decorator\";\r\nimport { ILicenceManagementDetail } from \"@/types/viewModels/myCadac/licenceManagementDetailViewModel\";\r\nimport { Licence } from \"@/types/generated/licence\";\r\nimport { LicenceProduct } from \"@/types/generated/licenceProduct\";\r\nimport { LicenceRole } from \"@/types/generated/licenceRole\";\r\nimport { PropType } from \"vue\";\r\nimport { Validation } from \"@vuelidate/core\";\r\nimport { useLicenceStore } from \"@/store/software/licenceStore\";\r\n\r\n@Component({ components: { Checkbox } })\r\nexport default class ServerLicenceForm extends BaseComponent {\r\n\t@VModel() v$!: Validation;\r\n\t@Prop({ type: Object as PropType<ILicenceManagementDetail>, required: true, default: {} })\r\n\tvm!: ILicenceManagementDetail;\r\n\t@Prop({ required: false, default: false }) submitted!: boolean;\r\n\r\n\tisEditing = false;\r\n\tlicenceStore = useLicenceStore();\r\n\r\n\tcreated(): void {\r\n\t\tthis.v$[\"serverLicenceForm\"].roles.$model = [];\r\n\t\tthis.v$[\"serverLicenceForm\"].$reset();\r\n\t\tthis.isEditing = !!this.selectedLicence?.id;\r\n\t\tif (this.licenceStore.selectedLicenceProduct?.possibleRoles.length === 1)\r\n\t\t\tthis.v$[\"serverLicenceForm\"].roles.$model = this.licenceStore.selectedLicenceProduct?.possibleRoles;\r\n\t}\r\n\r\n\tget selectedLicenceProduct(): LicenceProduct | null {\r\n\t\treturn this.licenceStore.selectedLicenceProduct;\r\n\t}\r\n\r\n\tget selectedLicence(): Licence | null {\r\n\t\treturn this.licenceStore.selectedLicence;\r\n\t}\r\n\r\n\tget possibleRoles(): string[] {\r\n\t\treturn (this.selectedLicenceProduct?.possibleRoles as LicenceRole[]).map((x) =>\r\n\t\t\tthis.$i18n.locale === \"nl\" ? x.descriptionNL : x.descriptionEN\r\n\t\t) as string[];\r\n\t}\r\n\r\n\tshouldShowError(fieldToValidate: Validation): boolean {\r\n\t\treturn fieldToValidate.$invalid && (this.submitted || fieldToValidate.$dirty);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { defineStore } from 'pinia';\r\nimport { Licence } from '@/types/generated/licence';\r\nimport { LicenceProduct } from '@/types/generated/licenceProduct';\r\nimport { useSessionStorage } from '@vueuse/core';\r\n\r\ninterface LicenceStoreState {\r\n\tcanSeeLicences: boolean;\r\n\tisLicenceFormModalVisible: boolean;\r\n\tselectedLicence: Licence | null;\r\n\tselectedLicenceProduct: LicenceProduct | null;\r\n}\r\n\r\nexport type LicenceModalType = 'LicenceForm';\r\n\r\nexport const useLicenceStore = defineStore('licence', {\r\n\tstate: () =>\r\n\t\t({\r\n\t\t\tcanSeeLicences: false,\r\n\t\t\tisLicenceFormModalVisible: false,\r\n\t\t\tselectedLicence: null,\r\n\t\t\tselectedLicenceProduct: null,\r\n\t\t}) as LicenceStoreState,\r\n\tgetters: {\r\n\t\tcanSeeLicences(): boolean {\r\n\t\t\tconst canSeeLicences = useSessionStorage('licenceViewUnlocked', false);\r\n\t\t\treturn canSeeLicences?.value;\r\n\t\t},\r\n\t},\r\n\tactions: {\r\n\t\tsetCanSeeLicences(value: boolean) {\r\n\t\t\tconst canSeeLicences = useSessionStorage('licenceViewUnlocked', false);\r\n\t\t\tcanSeeLicences.value = value;\r\n\t\t},\r\n\t\tshowModal(type: LicenceModalType) {\r\n\t\t\tswitch (type) {\r\n\t\t\t\tcase 'LicenceForm':\r\n\t\t\t\t\tthis.isLicenceFormModalVisible = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t},\r\n\t\thideModal(type: LicenceModalType) {\r\n\t\t\tswitch (type) {\r\n\t\t\t\tcase 'LicenceForm':\r\n\t\t\t\t\tthis.isLicenceFormModalVisible = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t},\r\n\t},\r\n});\r\n","import { render } from \"./serverLicenceForm.vue?vue&type=template&id=6f430ace&ts=true\"\nimport script from \"./serverLicenceForm.vue?vue&type=script&lang=ts\"\nexport * from \"./serverLicenceForm.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, renderList as _renderList, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = { class: \"form-row\" }\nconst _hoisted_2 = { class: \"form-group col-md-6\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_4 = { class: \"form-group col-md-6\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_6 = { class: \"form-row\" }\nconst _hoisted_7 = { class: \"form-group col-md-12\" }\nconst _hoisted_8 = { class: \"p-inputgroup\" }\nconst _hoisted_9 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_10 = {\n key: 1,\n class: \"p-error\"\n}\nconst _hoisted_11 = {\n key: 0,\n class: \"form-row\"\n}\nconst _hoisted_12 = { class: \"form-group col-md-12\" }\nconst _hoisted_13 = { class: \"d-flex align-items-start flex-wrap\" }\nconst _hoisted_14 = [\"for\"]\nconst _hoisted_15 = {\n key: 0,\n class: \"p-error\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_InputText = _resolveComponent(\"InputText\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Checkbox = _resolveComponent(\"Checkbox\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['userLicenceForm'].firstName?.required })\n }, _toDisplayString(_ctx.$t(\"myCadac.licenceManagementDetail.dialog.lblFirstName\")), 3),\n _createVNode(_component_InputText, {\n modelValue: _ctx.v$['userLicenceForm'].firstName.$model,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.v$['userLicenceForm'].firstName.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['userLicenceForm'].firstName) }),\n type: \"text\"\n }, null, 8, [\"modelValue\", \"class\"]),\n (_ctx.shouldShowError(_ctx.v$['userLicenceForm'].firstName))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_3, _toDisplayString(_ctx.v$[\"userLicenceForm\"].firstName?.required?.$message), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['userLicenceForm'].lastName?.required })\n }, _toDisplayString(_ctx.$t(\"myCadac.licenceManagementDetail.dialog.lblLastName\")), 3),\n _createVNode(_component_InputText, {\n modelValue: _ctx.v$['userLicenceForm'].lastName.$model,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.v$['userLicenceForm'].lastName.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['userLicenceForm'].lastName) }),\n type: \"text\"\n }, null, 8, [\"modelValue\", \"class\"]),\n (_ctx.shouldShowError(_ctx.v$['userLicenceForm'].lastName))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_5, _toDisplayString(_ctx.v$[\"userLicenceForm\"].lastName?.required?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['userLicenceForm'].email?.required })\n }, _toDisplayString(_ctx.$t(\"myCadac.licenceManagementDetail.dialog.lblEmail\")), 3),\n _createElementVNode(\"div\", _hoisted_8, [\n _createVNode(_component_InputText, {\n modelValue: _ctx.v$['userLicenceForm'].email.$model,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.v$['userLicenceForm'].email.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['userLicenceForm'].email) }),\n disabled: _ctx.isEditing,\n type: \"email\"\n }, null, 8, [\"modelValue\", \"class\", \"disabled\"]),\n (_ctx.canSendEmail)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-outlined\",\n icon: \"pi pi-envelope\",\n title: _ctx.$t('myCadac.licenceManagementDetail.dialog.btnSendEmail'),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.onResendEmailClick()))\n }, null, 8, [\"title\"]))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.shouldShowError(_ctx.v$['userLicenceForm'].email) && !_ctx.v$['userLicenceForm'].email.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_9, _toDisplayString(_ctx.v$[\"userLicenceForm\"].email?.required?.$message), 1))\n : (_ctx.shouldShowError(_ctx.v$['userLicenceForm'].email) && _ctx.v$['userLicenceForm'].email.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_10, _toDisplayString(_ctx.v$[\"userLicenceForm\"].email.email?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n (_ctx.selectedLicenceProduct.possibleRoles?.length > 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['userLicenceForm'].roles?.required })\n }, _toDisplayString(_ctx.$t(\"myCadac.licenceManagementDetail.dialog.lblRoles\")), 3),\n _createElementVNode(\"div\", _hoisted_13, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.selectedLicenceProduct.possibleRoles, (role, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: index,\n class: \"p-field-checkbox mr-2 mb-2\"\n }, [\n _createVNode(_component_Checkbox, {\n modelValue: _ctx.v$['userLicenceForm'].roles.$model,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_ctx.v$['userLicenceForm'].roles.$model) = $event)),\n id: `role${index}`,\n name: \"roles\",\n value: role\n }, null, 8, [\"modelValue\", \"id\", \"value\"]),\n _createElementVNode(\"label\", {\n class: \"ml-1 mb-0\",\n for: `role${index}`\n }, _toDisplayString(_ctx.$i18n.locale === \"nl\" ? role.descriptionNL : role.descriptionEN), 9, _hoisted_14)\n ]))\n }), 128))\n ]),\n (_ctx.shouldShowError(_ctx.v$['userLicenceForm'].roles))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_15, _toDisplayString(_ctx.v$[\"userLicenceForm\"].roles?.required?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<div class=\"form-row\">\r\n\t\t<div class=\"form-group col-md-6\">\r\n\t\t\t<label :class=\"{ required: v$['userLicenceForm'].firstName?.required }\">\r\n\t\t\t\t{{ $t(\"myCadac.licenceManagementDetail.dialog.lblFirstName\") }}\r\n\t\t\t</label>\r\n\t\t\t<InputText\r\n\t\t\t\tv-model=\"v$['userLicenceForm'].firstName.$model\"\r\n\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['userLicenceForm'].firstName) }\"\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t/>\r\n\t\t\t<small v-if=\"shouldShowError(v$['userLicenceForm'].firstName)\" class=\"p-error\">\r\n\t\t\t\t{{ v$[\"userLicenceForm\"].firstName?.required?.$message }}\r\n\t\t\t</small>\r\n\t\t</div>\r\n\t\t<div class=\"form-group col-md-6\">\r\n\t\t\t<label :class=\"{ required: v$['userLicenceForm'].lastName?.required }\">\r\n\t\t\t\t{{ $t(\"myCadac.licenceManagementDetail.dialog.lblLastName\") }}\r\n\t\t\t</label>\r\n\t\t\t<InputText\r\n\t\t\t\tv-model=\"v$['userLicenceForm'].lastName.$model\"\r\n\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['userLicenceForm'].lastName) }\"\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t/>\r\n\t\t\t<small v-if=\"shouldShowError(v$['userLicenceForm'].lastName)\" class=\"p-error\">\r\n\t\t\t\t{{ v$[\"userLicenceForm\"].lastName?.required?.$message }}\r\n\t\t\t</small>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"form-row\">\r\n\t\t<div class=\"form-group col-md-12\">\r\n\t\t\t<label :class=\"{ required: v$['userLicenceForm'].email?.required }\">\r\n\t\t\t\t{{ $t(\"myCadac.licenceManagementDetail.dialog.lblEmail\") }}\r\n\t\t\t</label>\r\n\t\t\t<div class=\"p-inputgroup\">\r\n\t\t\t\t<InputText\r\n\t\t\t\t\tv-model=\"v$['userLicenceForm'].email.$model\"\r\n\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['userLicenceForm'].email) }\"\r\n\t\t\t\t\t:disabled=\"isEditing\"\r\n\t\t\t\t\ttype=\"email\"\r\n\t\t\t\t/>\r\n\t\t\t\t<Button\r\n\t\t\t\t\tv-if=\"canSendEmail\"\r\n\t\t\t\t\tclass=\"p-button-outlined\"\r\n\t\t\t\t\ticon=\"pi pi-envelope\"\r\n\t\t\t\t\t:title=\"$t('myCadac.licenceManagementDetail.dialog.btnSendEmail')\"\r\n\t\t\t\t\t@click=\"onResendEmailClick()\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t\t<small\r\n\t\t\t\tv-if=\"shouldShowError(v$['userLicenceForm'].email) && !v$['userLicenceForm'].email.$model\"\r\n\t\t\t\tclass=\"p-error\"\r\n\t\t\t>\r\n\t\t\t\t{{ v$[\"userLicenceForm\"].email?.required?.$message }}\r\n\t\t\t</small>\r\n\t\t\t<small\r\n\t\t\t\tv-else-if=\"shouldShowError(v$['userLicenceForm'].email) && v$['userLicenceForm'].email.$model\"\r\n\t\t\t\tclass=\"p-error\"\r\n\t\t\t>\r\n\t\t\t\t{{ v$[\"userLicenceForm\"].email.email?.$message }}\r\n\t\t\t</small>\r\n\t\t</div>\r\n\t</div>\r\n\t<div v-if=\"selectedLicenceProduct.possibleRoles?.length > 1\" class=\"form-row\">\r\n\t\t<div class=\"form-group col-md-12\">\r\n\t\t\t<label :class=\"{ required: v$['userLicenceForm'].roles?.required }\">\r\n\t\t\t\t{{ $t(\"myCadac.licenceManagementDetail.dialog.lblRoles\") }}\r\n\t\t\t</label>\r\n\t\t\t<div class=\"d-flex align-items-start flex-wrap\">\r\n\t\t\t\t<div\r\n\t\t\t\t\tv-for=\"(role, index) in selectedLicenceProduct.possibleRoles\"\r\n\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\tclass=\"p-field-checkbox mr-2 mb-2\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<Checkbox\r\n\t\t\t\t\t\tv-model=\"v$['userLicenceForm'].roles.$model\"\r\n\t\t\t\t\t\t:id=\"`role${index}`\"\r\n\t\t\t\t\t\tname=\"roles\"\r\n\t\t\t\t\t\t:value=\"role\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<label class=\"ml-1 mb-0\" :for=\"`role${index}`\">\r\n\t\t\t\t\t\t{{ $i18n.locale === \"nl\" ? role.descriptionNL : role.descriptionEN }}\r\n\t\t\t\t\t</label>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<small v-if=\"shouldShowError(v$['userLicenceForm'].roles)\" class=\"p-error\">\r\n\t\t\t\t{{ v$[\"userLicenceForm\"].roles?.required?.$message }}\r\n\t\t\t</small>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Checkbox from \"primevue/checkbox\";\r\nimport { Component, Prop, VModel } from \"vue-facing-decorator\";\r\nimport { ILicenceManagementDetail } from \"@/types/viewModels/myCadac/licenceManagementDetailViewModel\";\r\nimport { Licence } from \"@/types/generated/licence\";\r\nimport { LicenceProduct } from \"@/types/generated/licenceProduct\";\r\nimport { LicenceRole } from \"@/types/generated/licenceRole\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { Validation } from \"@vuelidate/core\";\r\nimport { useLicenceStore } from \"@/store/software/licenceStore\";\r\n\r\n@Component({ components: { Checkbox } })\r\nexport default class UserLicenceForm extends BaseComponent {\r\n\t@VModel() v$!: Validation;\r\n\t@Prop({ type: Object as PropType<ILicenceManagementDetail>, required: true, default: {} })\r\n\tvm!: ILicenceManagementDetail;\r\n\t@Prop({ required: false, default: false }) submitted!: boolean;\r\n\r\n\tisEditing = false;\r\n\tisLoading = false;\r\n\tcanSendEmail = false;\r\n\tlicenceStore = useLicenceStore();\r\n\r\n\tget selectedLicenceProduct(): LicenceProduct | null {\r\n\t\treturn this.licenceStore.selectedLicenceProduct;\r\n\t}\r\n\r\n\tget selectedLicence(): Licence | null {\r\n\t\treturn this.licenceStore.selectedLicence;\r\n\t}\r\n\r\n\tget possibleRoles(): string[] {\r\n\t\treturn (this.selectedLicenceProduct?.possibleRoles as LicenceRole[]).map((x) =>\r\n\t\t\tthis.$i18n.locale === \"nl\" ? x.descriptionNL : x.descriptionEN\r\n\t\t) as string[];\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.v$[\"userLicenceForm\"].roles.$model = [];\r\n\t\tthis.v$[\"userLicenceForm\"].$reset();\r\n\r\n\t\tthis.isEditing = !!this.selectedLicence?.id;\r\n\t\tthis.canSendEmail = this.isEditing && this.vm.licenceProduct.sendLicenceNotification;\r\n\r\n\t\tif (this.licenceStore.selectedLicenceProduct?.possibleRoles.length === 1)\r\n\t\t\tthis.v$[\"userLicenceForm\"].roles.$model = this.licenceStore.selectedLicenceProduct?.possibleRoles;\r\n\t}\r\n\r\n\tshouldShowError(fieldToValidate: Validation): boolean {\r\n\t\treturn fieldToValidate.$invalid && (this.submitted || fieldToValidate.$dirty);\r\n\t}\r\n\r\n\tonResendEmailClick(): void {\r\n\t\tif (this.v$[\"userLicenceForm\"].email.$invalid) return;\r\n\t\tthis.$confirm.require({\r\n\t\t\theader: this.$t(\"myCadac.licenceManagementDetail.dialog.confirmResendEmailTitle\"),\r\n\t\t\tmessage: this.$t(\"myCadac.licenceManagementDetail.dialog.confirmResendEmailMessage\", [\r\n\t\t\t\tthis.v$[\"userLicenceForm\"].email.$model,\r\n\t\t\t]),\r\n\t\t\tacceptLabel: this.$t(\"common.yes\"),\r\n\t\t\trejectLabel: this.$t(\"common.no\"),\r\n\t\t\taccept: () => {\r\n\t\t\t\tthis.resendEmail();\r\n\t\t\t},\r\n\t\t});\r\n\t}\r\n\r\n\tprivate resendEmail(): void {\r\n\t\tthis.isLoading = true;\r\n\t\tthis.canSendEmail = false;\r\n\t\tthis.axios\r\n\t\t\t.post(`/api/licence/sendlicencenotification/${this.selectedLicence?.id}`)\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"success\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleSuccess\"),\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.licenceManagementDetail.toast.resendEmailSuccess\", [\r\n\t\t\t\t\t\tthis.v$[\"userLicenceForm\"].email.$model,\r\n\t\t\t\t\t]),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.canSendEmail = true;\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.licenceManagementDetail.toast.resendEmailError\", [\r\n\t\t\t\t\t\tthis.v$[\"userLicenceForm\"].email.$model,\r\n\t\t\t\t\t]),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t\tLog.error(err);\r\n\t\t\t})\r\n\t\t\t.finally(() => (this.isLoading = false));\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { render } from \"./userLicenceForm.vue?vue&type=template&id=7577bdf5&ts=true\"\nimport script from \"./userLicenceForm.vue?vue&type=script&lang=ts\"\nexport * from \"./userLicenceForm.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","/* Auto Generated */\r\n\r\nexport enum LicenceStatus {\r\n\tunassigned = 229380000,\r\n\tassigned = 229380001,\r\n\tdeleted = 229380002,\r\n}\r\n","/* Auto Generated */\r\n\r\nexport enum LicenceType {\r\n\tuser = 229380000,\r\n\tserver = 229380001,\r\n\tservice = 229380002,\r\n\tconnector = 229380003,\r\n}\r\n","import { render } from \"./licenceFormModal.vue?vue&type=template&id=60ac1e7c&ts=true\"\nimport script from \"./licenceFormModal.vue?vue&type=script&lang=ts\"\nexport * from \"./licenceFormModal.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./licenceManagementDetail.vue?vue&type=template&id=67b13b6c&scoped=true&ts=true\"\nimport script from \"./licenceManagementDetail.vue?vue&type=script&lang=ts\"\nexport * from \"./licenceManagementDetail.vue?vue&type=script&lang=ts\"\n\nimport \"./licenceManagementDetail.vue?vue&type=style&index=0&id=67b13b6c&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-67b13b6c\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createBlock as _createBlock, createVNode as _createVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-16f72696\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { key: 0 }\nconst _hoisted_2 = { class: \"row\" }\nconst _hoisted_3 = { class: \"col-12 mb-1\" }\nconst _hoisted_4 = { class: \"d-flex flex-column\" }\nconst _hoisted_5 = { class: \"mb-1\" }\nconst _hoisted_6 = { class: \"mb-0\" }\nconst _hoisted_7 = { class: \"d-flex align-items-center ml-1 ml-lg-0\" }\nconst _hoisted_8 = { class: \"d-flex flex-column\" }\nconst _hoisted_9 = { class: \"mb-0 text-muted d-block\" }\nconst _hoisted_10 = { class: \"mb-0 text-bold\" }\nconst _hoisted_11 = { class: \"d-flex justify-content-end\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n const _component_Panel = _resolveComponent(\"Panel\")!\n const _component_BlockUI = _resolveComponent(\"BlockUI\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (_ctx.vm.pageTitle)\n ? (_openBlock(), _createElementBlock(\"h1\", _hoisted_1, _toDisplayString(_ctx.vm.pageTitle), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (!_ctx.licenceProducts?.length)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.licenceManagementOverview.message.noLicences\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (!_ctx.licencePanelUnlocked && _ctx.licenceProducts?.length)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 1,\n class: \"message-with-button\",\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_i18n_t, { keypath: \"myCadac.licenceManagementOverview.message.confirmUnlock\" }, {\n default: _withCtx(() => [\n _createVNode(_component_Button, {\n class: \"p-button-sm p-button-secondary ml-auto\",\n label: _ctx.$t('common.confirm'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.unlockPanel()))\n }, null, 8, [\"label\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.licenceProducts?.length)\n ? (_openBlock(), _createBlock(_component_BlockUI, {\n key: 2,\n \"base-z-index\": 1,\n blocked: !_ctx.licencePanelUnlocked,\n class: _normalizeClass(!_ctx.licencePanelUnlocked ? 'p-2' : '')\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Panel, {\n id: \"panel-softwareLicences\",\n toggleable: false\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"h3\", _hoisted_5, _toDisplayString(_ctx.$t(\"myCadac.licenceManagementOverview.panel.titleSoftware\")), 1),\n _createElementVNode(\"p\", _hoisted_6, _toDisplayString(_ctx.$t(\"myCadac.licenceManagementOverview.panel.subtitleSoftware\")), 1)\n ])\n ]),\n default: _withCtx(() => [\n (_ctx.licenceProducts?.length)\n ? (_openBlock(), _createBlock(_component_DataTable, {\n key: 0,\n \"removable-sort\": \"\",\n \"responsive-layout\": \"stack\",\n value: _ctx.licenceProducts\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Column, {\n field: \"productName\",\n header: _ctx.$t('myCadac.licenceManagementOverview.table.colProduct'),\n sortable: false\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_7, [\n (item.data.productIcon)\n ? (_openBlock(), _createBlock(_component_Avatar, {\n key: 0,\n alt: item.data.productName,\n class: \"mr-1 bg-transparent flex-shrink-0\",\n image: item.data.productIconUrl,\n shape: \"square\",\n size: \"large\",\n title: item.data.productName\n }, null, 8, [\"alt\", \"image\", \"title\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"small\", _hoisted_9, _toDisplayString(item.data.productBrand), 1),\n _createElementVNode(\"p\", _hoisted_10, _toDisplayString(item.data.productName), 1)\n ])\n ])\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"licenceAmount\",\n header: _ctx.$t('myCadac.licenceManagementOverview.table.colLicences')\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"span\", {\n class: _normalizeClass(_ctx.isOutOfLicences(item.data) ? 'text-danger' : '')\n }, _toDisplayString(item.data.totalActiveLicences) + \" / \" + _toDisplayString(item.data.totalSeats), 3)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, { key: \"actions\" }, {\n body: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_11, [\n (_ctx.showBuyLicencesButton(item.data))\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-success p-button-sm mr-auto mr-lg-1 flex-shrink-0\",\n label: _ctx.$t('myCadac.licenceManagementOverview.button.buyLicences'),\n onClick: ($event: any) => {\r\n\t\t\t\t\t\t\t\t\t\t\t_ctx.openUrl(item.data.productPageUrl);\r\n\t\t\t\t\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t\t\t\t\t}\n }, null, 8, [\"label\", \"onClick\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Button, {\n class: \"p-button-primary p-button-icon p-button-rounded p-button-raised p-button-text ml-1 flex-shrink-0\",\n icon: \"pi pi-pencil\",\n label: \r\n\t\t\t\t\t\t\t\t\t\t\t_ctx.isSmallScreen\r\n\t\t\t\t\t\t\t\t\t\t\t\t? _ctx.$t('myCadac.licenceManagementOverview.button.viewDetails')\r\n\t\t\t\t\t\t\t\t\t\t\t\t: ''\r\n\t\t\t\t\t\t\t\t\t\t,\n title: _ctx.$t('myCadac.licenceManagementOverview.button.viewDetails'),\n onClick: ($event: any) => {\r\n\t\t\t\t\t\t\t\t\t\t\t_ctx.openUrl(\r\n\t\t\t\t\t\t\t\t\t\t\t\t`${_ctx.vm.softwareLicenceDetailUrl}?productGroupId=${item.data.id}`\r\n\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t\t\t\t\t}\n }, null, 8, [\"label\", \"title\", \"onClick\"])\n ])\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"value\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"blocked\", \"class\"]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ], 64))\n}","<template>\r\n\t<h1 v-if=\"vm.pageTitle\">{{ vm.pageTitle }}</h1>\r\n\r\n\t<div class=\"row\">\r\n\t\t<div class=\"col-12 mb-1\">\r\n\t\t\t<Message v-if=\"!licenceProducts?.length\" :closable=\"false\" severity=\"warn\">\r\n\t\t\t\t{{ $t(\"myCadac.licenceManagementOverview.message.noLicences\") }}\r\n\t\t\t</Message>\r\n\t\t\t<Message\r\n\t\t\t\tv-if=\"!licencePanelUnlocked && licenceProducts?.length\"\r\n\t\t\t\tclass=\"message-with-button\"\r\n\t\t\t\t:closable=\"false\"\r\n\t\t\t\tseverity=\"warn\"\r\n\t\t\t>\r\n\t\t\t\t<i18n-t keypath=\"myCadac.licenceManagementOverview.message.confirmUnlock\">\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\tclass=\"p-button-sm p-button-secondary ml-auto\"\r\n\t\t\t\t\t\t:label=\"$t('common.confirm')\"\r\n\t\t\t\t\t\t@click=\"unlockPanel()\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</i18n-t>\r\n\t\t\t</Message>\r\n\t\t\t<BlockUI\r\n\t\t\t\tv-if=\"licenceProducts?.length\"\r\n\t\t\t\t:base-z-index=\"1\"\r\n\t\t\t\t:blocked=\"!licencePanelUnlocked\"\r\n\t\t\t\t:class=\"!licencePanelUnlocked ? 'p-2' : ''\"\r\n\t\t\t>\r\n\t\t\t\t<Panel id=\"panel-softwareLicences\" :toggleable=\"false\">\r\n\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t\t\t\t<h3 class=\"mb-1\">{{ $t(\"myCadac.licenceManagementOverview.panel.titleSoftware\") }}</h3>\r\n\t\t\t\t\t\t\t<p class=\"mb-0\">\r\n\t\t\t\t\t\t\t\t{{ $t(\"myCadac.licenceManagementOverview.panel.subtitleSoftware\") }}\r\n\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<DataTable\r\n\t\t\t\t\t\tv-if=\"licenceProducts?.length\"\r\n\t\t\t\t\t\tremovable-sort\r\n\t\t\t\t\t\tresponsive-layout=\"stack\"\r\n\t\t\t\t\t\t:value=\"licenceProducts\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<Column\r\n\t\t\t\t\t\t\tfield=\"productName\"\r\n\t\t\t\t\t\t\t:header=\"$t('myCadac.licenceManagementOverview.table.colProduct')\"\r\n\t\t\t\t\t\t\t:sortable=\"false\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t\t\t<div class=\"d-flex align-items-center ml-1 ml-lg-0\">\r\n\t\t\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\t\t\tv-if=\"item.data.productIcon\"\r\n\t\t\t\t\t\t\t\t\t\t:alt=\"item.data.productName\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"mr-1 bg-transparent flex-shrink-0\"\r\n\t\t\t\t\t\t\t\t\t\t:image=\"item.data.productIconUrl\"\r\n\t\t\t\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\t\t\t\tsize=\"large\"\r\n\t\t\t\t\t\t\t\t\t\t:title=\"item.data.productName\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t</Avatar>\r\n\t\t\t\t\t\t\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t\t\t\t\t\t\t<small class=\"mb-0 text-muted d-block\">\r\n\t\t\t\t\t\t\t\t\t\t\t{{ item.data.productBrand }}\r\n\t\t\t\t\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t\t\t\t\t<p class=\"mb-0 text-bold\">\r\n\t\t\t\t\t\t\t\t\t\t\t{{ item.data.productName }}\r\n\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</Column>\r\n\t\t\t\t\t\t<Column\r\n\t\t\t\t\t\t\tkey=\"licenceAmount\"\r\n\t\t\t\t\t\t\t:header=\"$t('myCadac.licenceManagementOverview.table.colLicences')\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t\t\t<span :class=\"isOutOfLicences(item.data) ? 'text-danger' : ''\">\r\n\t\t\t\t\t\t\t\t\t{{ item.data.totalActiveLicences }} / {{ item.data.totalSeats }}\r\n\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</Column>\r\n\t\t\t\t\t\t<Column key=\"actions\">\r\n\t\t\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t\t\t<div class=\"d-flex justify-content-end\">\r\n\t\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\t\tv-if=\"showBuyLicencesButton(item.data)\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"p-button-success p-button-sm mr-auto mr-lg-1 flex-shrink-0\"\r\n\t\t\t\t\t\t\t\t\t\t:label=\"$t('myCadac.licenceManagementOverview.button.buyLicences')\"\r\n\t\t\t\t\t\t\t\t\t\t@click=\"\r\n\t\t\t\t\t\t\t\t\t\t\topenUrl(item.data.productPageUrl);\r\n\t\t\t\t\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\t\tclass=\"p-button-primary p-button-icon p-button-rounded p-button-raised p-button-text ml-1 flex-shrink-0\"\r\n\t\t\t\t\t\t\t\t\t\ticon=\"pi pi-pencil\"\r\n\t\t\t\t\t\t\t\t\t\t:label=\"\r\n\t\t\t\t\t\t\t\t\t\t\tisSmallScreen\r\n\t\t\t\t\t\t\t\t\t\t\t\t? $t('myCadac.licenceManagementOverview.button.viewDetails')\r\n\t\t\t\t\t\t\t\t\t\t\t\t: ''\r\n\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\t:title=\"$t('myCadac.licenceManagementOverview.button.viewDetails')\"\r\n\t\t\t\t\t\t\t\t\t\t@click=\"\r\n\t\t\t\t\t\t\t\t\t\t\topenUrl(\r\n\t\t\t\t\t\t\t\t\t\t\t\t`${vm.softwareLicenceDetailUrl}?productGroupId=${item.data.id}`\r\n\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</Column>\r\n\t\t\t\t\t</DataTable>\r\n\t\t\t\t</Panel>\r\n\t\t\t</BlockUI>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { ILicenceManagementOverview } from \"@/types/viewModels/myCadac/licenceManagementOverviewViewModel\";\r\nimport { LicenceProduct } from \"@/types/generated/licenceProduct\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { useSessionStorage } from \"@vueuse/core\";\r\n\r\n@Component\r\nexport default class LicenceManagementOverview extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<ILicenceManagementOverview>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: ILicenceManagementOverview;\r\n\r\n\tlicenceProducts: LicenceProduct[] = [];\r\n\r\n\tisLoading = false;\r\n\tlicencePanelUnlocked = false;\r\n\r\n\tcanSeeLicences = useSessionStorage(\"licenceViewUnlocked\", false);\r\n\r\n\tcreated(): void {\r\n\t\tif (this.canSeeLicences) {\r\n\t\t\tthis.licencePanelUnlocked = true;\r\n\t\t\t(this.canSeeLicences as unknown as boolean) = false;\r\n\t\t}\r\n\t\tthis.licenceProducts = this.vm.licenceProducts;\r\n\t\t//reload from server to make sure there are no cached changes.\r\n\t\tthis.getLicenceProducts();\r\n\t}\r\n\r\n\tisOutOfLicences(licenceProduct: LicenceProduct): boolean {\r\n\t\treturn licenceProduct.totalSeats <= licenceProduct.totalActiveLicences;\r\n\t}\r\n\r\n\tshowBuyLicencesButton(licenceProduct: LicenceProduct): boolean {\r\n\t\treturn this.isOutOfLicences(licenceProduct);\r\n\t}\r\n\r\n\tunlockPanel(): void {\r\n\t\tthis.licencePanelUnlocked = true;\r\n\t\t(this.canSeeLicences as unknown as boolean) = true;\r\n\t}\r\n\r\n\tconfirmUnlockPanel(): void {\r\n\t\tif (this.canSeeLicences) return;\r\n\t\t// Confirm dialog with reverse buttons\r\n\t\tthis.$confirm.require({\r\n\t\t\theader: this.$t(\"myCadac.licenceManagementOverview.dialog.confirmUnlockLicencesTitle\"),\r\n\t\t\tmessage: this.$t(\"myCadac.licenceManagementOverview.dialog.confirmUnlockLicencesMessage\"),\r\n\t\t\trejectLabel: this.$t(\"common.yes\"),\r\n\t\t\tacceptLabel: this.$t(\"common.no\"),\r\n\t\t\treject: () => {\r\n\t\t\t\tthis.unlockPanel();\r\n\t\t\t},\r\n\t\t});\r\n\t}\r\n\r\n\tgetLicenceProducts(): void {\r\n\t\tthis.isLoading = true;\r\n\t\tthis.axios\r\n\t\t\t.get<LicenceProduct[]>(`/api/licenceProduct/all`)\r\n\t\t\t.then((result: AxiosResponse<LicenceProduct[]>) => {\r\n\t\t\t\tthis.licenceProducts = result.data;\r\n\t\t\t\tthis.$forceUpdate();\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t})\r\n\t\t\t.finally(() => (this.isLoading = false));\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n::v-deep(.message-with-button) {\r\n\t.p-message-text {\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tflex: 1;\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./licenceManagementOverview.vue?vue&type=template&id=16f72696&scoped=true&ts=true\"\nimport script from \"./licenceManagementOverview.vue?vue&type=script&lang=ts\"\nexport * from \"./licenceManagementOverview.vue?vue&type=script&lang=ts\"\n\nimport \"./licenceManagementOverview.vue?vue&type=style&index=0&id=16f72696&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-16f72696\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, renderSlot as _renderSlot, createVNode as _createVNode, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveDynamicComponent as _resolveDynamicComponent, withCtx as _withCtx, Teleport as _Teleport, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = {\n key: 2,\n class: \"p-dialog-mask p-component-overlay loading-overlay\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_MainNavBar = _resolveComponent(\"MainNavBar\")!\n const _component_MainFooter = _resolveComponent(\"MainFooter\")!\n const _component_ConfirmDialog = _resolveComponent(\"ConfirmDialog\")!\n const _component_DynamicDialog = _resolveComponent(\"DynamicDialog\")!\n const _component_Toast = _resolveComponent(\"Toast\")!\n const _component_ProgressSpinner = _resolveComponent(\"ProgressSpinner\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (!_ctx.vm?.hideMenuAndFooter)\n ? (_openBlock(), _createBlock(_component_MainNavBar, { key: 0 }))\n : _createCommentVNode(\"\", true),\n _renderSlot(_ctx.$slots, \"default\"),\n (!_ctx.vm?.hideMenuAndFooter)\n ? (_openBlock(), _createBlock(_component_MainFooter, { key: 1 }))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_ConfirmDialog, {\n breakpoints: { '768px': '70vw', '576px': '90vw' },\n style: { width: '30vw' }\n }),\n _createVNode(_component_DynamicDialog, {\n breakpoints: {\r\n\t\t\t'2000px': '35vw',\r\n\t\t\t'1600px': '40vw',\r\n\t\t\t'1200px': '50vw',\r\n\t\t\t'992px': '60vw',\r\n\t\t\t'768px': '75vw',\r\n\t\t\t'576px': '90vw',\r\n\t\t},\n modal: true,\n style: { width: '30vw' }\n }),\n _createVNode(_component_Toast, {\n \"auto-z-index\": false,\n \"base-z-index\": 1001,\n position: \"top-right\"\n }),\n (_ctx.isLoading)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_ProgressSpinner, {\n \"animation-duration\": \"1.75s\",\n \"stroke-width\": \"3.5\"\n })\n ]))\n : _createCommentVNode(\"\", true),\n (_openBlock(), _createBlock(_Teleport, { to: \"head\" }, [\n (_openBlock(), _createBlock(_resolveDynamicComponent('script'), { type: \"application/ld+json\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.breadCrumbsLinkedData), 1)\n ]),\n _: 1\n })),\n (_openBlock(), _createBlock(_resolveDynamicComponent('script'), { type: \"application/ld+json\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.searchLinkedData), 1)\n ]),\n _: 1\n }))\n ]))\n ], 64))\n}","<template>\r\n\t<MainNavBar v-if=\"!vm?.hideMenuAndFooter\" />\r\n\t<slot />\r\n\t<MainFooter v-if=\"!vm?.hideMenuAndFooter\" />\r\n\t<ConfirmDialog :breakpoints=\"{ '768px': '70vw', '576px': '90vw' }\" :style=\"{ width: '30vw' }\" />\r\n\t<DynamicDialog\r\n\t\t:breakpoints=\"{\r\n\t\t\t'2000px': '35vw',\r\n\t\t\t'1600px': '40vw',\r\n\t\t\t'1200px': '50vw',\r\n\t\t\t'992px': '60vw',\r\n\t\t\t'768px': '75vw',\r\n\t\t\t'576px': '90vw',\r\n\t\t}\"\r\n\t\t:modal=\"true\"\r\n\t\t:style=\"{ width: '30vw' }\"\r\n\t/>\r\n\t<Toast :auto-z-index=\"false\" :base-z-index=\"1001\" position=\"top-right\" />\r\n\t<div v-if=\"isLoading\" class=\"p-dialog-mask p-component-overlay loading-overlay\">\r\n\t\t<ProgressSpinner animation-duration=\"1.75s\" stroke-width=\"3.5\" />\r\n\t</div>\r\n\r\n\t<!--\tJSON For Linked Data (Displays additional info to google search results) -->\r\n\t<teleport to=\"head\">\r\n\t\t<component :is=\"'script'\" type=\"application/ld+json\">\r\n\t\t\t{{ breadCrumbsLinkedData }}\r\n\t\t</component>\r\n\t\t<component :is=\"'script'\" type=\"application/ld+json\">\r\n\t\t\t{{ searchLinkedData }}\r\n\t\t</component>\r\n\t</teleport>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport ConfirmDialog from \"primevue/confirmdialog\";\r\nimport DynamicDialog from \"primevue/dynamicdialog\";\r\nimport MainFooter from \"@/components/common/menu/mainFooter.vue\";\r\nimport MainNavBar from \"@/components/common/menu/mainNavBar.vue\";\r\nimport ProgressSpinner from \"primevue/progressspinner\";\r\nimport Toast from \"primevue/toast\";\r\nimport i18n, { loadPrimeVueLocale } from \"@/types/utils/i18n\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { IMainLayout } from \"@/types/viewModels/common/mainLayoutViewModel\";\r\nimport { IntlNumberFormat } from \"vue-i18n\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { usePrimeVue } from \"primevue/config\";\r\nimport { FormData } from \"@/types/models/googleAnalytics/properties/formData\";\r\nimport { entries } from \"lodash\";\r\nimport { GaEvent } from \"@/types/models/googleAnalytics/enum/gaEvent\";\r\nimport { BooleanString } from \"@/types/enum/boolean\";\r\nimport { pushToGaDataLayer } from \"@/types/utils/ga4\";\r\nimport { hash } from \"@/types/helpers/hashHelper\";\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tMainNavBar,\r\n\t\tMainFooter,\r\n\t\tConfirmDialog,\r\n\t\tProgressSpinner,\r\n\t\tToast,\r\n\t\tDynamicDialog,\r\n\t},\r\n})\r\n/// Wrapper component for views\r\nexport default class MainLayout extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IMainLayout>, required: true, default: {} }) vm!: IMainLayout;\r\n\r\n\tbreadCrumbsLinkedData;\r\n\tsearchLinkedData;\r\n\r\n\tcreated(): void {\r\n\t\tthis.layoutStore.vm = this.vm;\r\n\t\tLog.info(\"MainLayoutVm\", this.vm);\r\n\t\tthis.initSeoData();\r\n\t\tconst primeVue = usePrimeVue();\r\n\t\tloadPrimeVueLocale().then((messages) => {\r\n\t\t\tprimeVue.config.locale = messages;\r\n\t\t});\r\n\t\ti18n.global.setNumberFormat(this.currentRegion, this.getNumberFormatForCurrentCurrency());\r\n\r\n\t\tif (this.layoutStore.isLoggedIn) {\r\n\t\t\tconst trackVerified = !!localStorage.getItem(\"trackVerified\");\r\n\t\t\tif (!this.layoutStore.isAuthenticated && !trackVerified) localStorage.setItem(\"trackVerified\", \"true\");\r\n\t\t\tif (this.layoutStore.isAuthenticated && trackVerified) {\r\n\t\t\t\tthis.setDataLayer.accountVerified(this.userProfile);\r\n\t\t\t\tlocalStorage.removeItem(\"trackVerified\");\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tmounted(): void {\r\n\t\tif (this.vm.impersonationErrorMessage)\r\n\t\t\tthis.$toast.add({\r\n\t\t\t\tseverity: \"error\",\r\n\t\t\t\tdetail: this.vm.impersonationErrorMessage,\r\n\t\t\t\tlife: 300000,\r\n\t\t\t});\r\n\r\n\r\n\t\twindow.addEventListener(\"chat-loaded\", () => {\r\n\t\t\tthis.layoutStore.chatWidgetAvailable = window.fcWidget.isInitialized();\r\n\t\t});\r\n\r\n\t\tdocument.documentElement.style.setProperty(\"--navbarHeightInPx\", `${this.layoutStore.navBarHeight}px`);\r\n\t\tthis.initDataLayerListeners();\r\n\r\n\t\tconst urlSearchParams = new URLSearchParams(window.location.search);\r\n\t\tconst params = Object.fromEntries(urlSearchParams.entries());\r\n\r\n\t\tif (params && params.dl_track === BooleanString.True && params.type === GaEvent.NewsletterSubscribe) {\r\n\t\t\tthis.handleNewsletterSubscribeTracking(params.email);\r\n\t\t}\r\n\t}\r\n\r\n\tinitDataLayerListeners(): void {\r\n\t\twindow.addEventListener(\"track-form-submit\", (event) => {\r\n\t\t\tthis.handleFormTracking((event as any).detail);\r\n\t\t});\r\n\t\twindow.addEventListener(\"track-upload-quotation\", () => {\r\n\t\t\tthis.setDataLayer.uploadQuotation(this.layoutStore.vm?.currentUser);\r\n\t\t});\r\n\t\twindow.addEventListener(\"track-error-page\", (event: any) => {\r\n\t\t\tthis.setDataLayer.errorEvent(event.detail);\r\n\t\t});\r\n\r\n\t\tif (!this.layoutStore.isLoggedIn) {\r\n\t\t\tlocalStorage.setItem(\"trackLogin\", \"true\");\r\n\t\t} else if (localStorage.getItem(\"trackLogin\")) {\r\n\t\t\tthis.setDataLayer.loginEvent(this.userProfile);\r\n\t\t\tlocalStorage.removeItem(\"trackLogin\");\r\n\t\t}\r\n\t}\r\n\r\n\tasync handleNewsletterSubscribeTracking(email: string): Promise<void> {\r\n\t\tconst currentUser = this.layoutStore.vm?.currentUser;\r\n\t\tpushToGaDataLayer.newsLetterSubscribe({\r\n\t\t\tevent: GaEvent.NewsletterSubscribe,\r\n\t\t\tcustomer: {\r\n\t\t\t\tlogin_state: currentUser?.email ? \"true\" : \"false\",\r\n\t\t\t\tuser_id: currentUser?.email ? currentUser.cadacAccountId : null,\r\n\t\t\t\tuser_email_hashed: currentUser?.emailHash ? currentUser?.emailHash : await hash(email),\r\n\t\t\t\tuser_email: currentUser.email ? currentUser.email : null,\r\n\t\t\t},\r\n\t\t});\r\n\t}\r\n\r\n\thandleFormTracking(form: FormData): void {\r\n\t\tswitch (form.form_type?.toLowerCase()) {\r\n\t\t\tcase \"contact email\":\r\n\t\t\t\tthis.setDataLayer.newsLetterSubscribe(this.layoutStore.vm?.currentUser);\r\n\t\t\t\tbreak;\r\n\t\t\tcase \"demo request\":\r\n\t\t\tcase \"training request\":\r\n\t\t\tcase \"service request\":\r\n\t\t\tcase \"software request\":\r\n\t\t\tcase \"trial request\":\r\n\t\t\tcase \"trial download\":\r\n\t\t\t\tthis.setDataLayer.generateLead(this.layoutStore.vm?.currentUser, form);\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tthis.setDataLayer.generateLead(this.layoutStore.vm?.currentUser, form);\r\n\t\t}\r\n\t}\r\n\r\n\tget isLoading(): boolean {\r\n\t\treturn this.loadingStore.loadingCount > 0;\r\n\t}\r\n\r\n\tprivate getNumberFormatForCurrentCurrency(): IntlNumberFormat {\r\n\t\treturn {\r\n\t\t\tcurrency: {\r\n\t\t\t\tstyle: \"currency\",\r\n\t\t\t\tcurrency: this.vm.currentCurrency,\r\n\t\t\t\tcurrencyDisplay: \"symbol\",\r\n\t\t\t},\r\n\t\t};\r\n\t}\r\n\r\n\tinitSeoData(): void {\r\n\t\tthis.breadCrumbsLinkedData = {\r\n\t\t\t\"@context\": \"https://schema.org\",\r\n\t\t\t\"@type\": \"BreadcrumbList\",\r\n\t\t\titemListElement: entries(this.vm.seo?.breadCrumbs)?.map(([key, value], index) => ({\r\n\t\t\t\t\"@type\": \"ListItem\",\r\n\t\t\t\tposition: index + 1,\r\n\t\t\t\tname: key,\r\n\t\t\t\titem: value,\r\n\t\t\t})),\r\n\t\t};\r\n\r\n\t\tthis.searchLinkedData = {\r\n\t\t\t\"@context\": \"https://schema.org\",\r\n\t\t\t\"@type\": \"WebSite\",\r\n \"name\": 'Cadac Group | Enabling digital. | Autodesk Platinum Partner',\r\n\t\t\turl: location.origin,\r\n\t\t\tpotentialAction: {\r\n\t\t\t\t\"@type\": \"SearchAction\",\r\n\t\t\t\ttarget: {\r\n\t\t\t\t\t\"@type\": \"EntryPoint\",\r\n\t\t\t\t\turlTemplate: `${location.origin}${this.vm.searchPageUrl}?type=all&query={search_term_string}`,\r\n\t\t\t\t},\r\n\t\t\t\t\"query-input\": \"required name=search_term_string\",\r\n\t\t\t},\r\n\t\t};\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n.loading-overlay {\r\n\tbackground-color: rgba(0, 0, 0, 0.08);\r\n\tz-index: 9999;\r\n}\r\n\r\n.p-toast {\r\n\tz-index: 1002;\r\n}\r\n</style>\r\n","import { resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, createBlock as _createBlock, createStaticVNode as _createStaticVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-64e65e78\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"hidden-print\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"container\"\n}\nconst _hoisted_3 = {\n key: 0,\n class: \"region-container\"\n}\nconst _hoisted_4 = { class: \"m-0 ml-1\" }\nconst _hoisted_5 = { class: \"m-0 ml-2 lead\" }\nconst _hoisted_6 = { class: \"row\" }\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = [\"href\"]\nconst _hoisted_9 = { class: \"col-12 mt-3\" }\nconst _hoisted_10 = { class: \"row align-items-center\" }\nconst _hoisted_11 = /*#__PURE__*/_createStaticVNode(\"<div class=\\\"col my-1\\\" data-v-64e65e78><div class=\\\"cadac-logo\\\" data-v-64e65e78><a href=\\\"/\\\" data-v-64e65e78><svg height=\\\"43\\\" width=\\\"237\\\" data-v-64e65e78><use xlink:href=\\\"#cadac-logo-white\\\" data-v-64e65e78></use></svg></a></div></div>\", 1)\nconst _hoisted_12 = { class: \"col my-1 d-flex flex-wrap\" }\nconst _hoisted_13 = {\n class: \"mr-2\",\n href: \"/\"\n}\nconst _hoisted_14 = [\"href\"]\nconst _hoisted_15 = [\"href\", \"target\"]\nconst _hoisted_16 = { class: \"col my-1\" }\nconst _hoisted_17 = {\n key: 0,\n class: \"iso-icons justify-content-lg-end\"\n}\nconst _hoisted_18 = [\"src\", \"alt\"]\nconst _hoisted_19 = { class: \"col my-1\" }\nconst _hoisted_20 = { class: \"social-icons justify-content-lg-end\" }\nconst _hoisted_21 = { class: \"linkedin\" }\nconst _hoisted_22 = { class: \"youtube ml-2\" }\nconst _hoisted_23 = { class: \"spotify ml-2\" }\nconst _hoisted_24 = { class: \"facebook ml-2\" }\nconst _hoisted_25 = {\n key: 1,\n class: \"row\"\n}\nconst _hoisted_26 = { class: \"col-12 d-flex flex-wrap\" }\nconst _hoisted_27 = { class: \"font-weight-500 m-0 mr-2 ml-0\" }\nconst _hoisted_28 = [\"href\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_font_awesome_icon = _resolveComponent(\"font-awesome-icon\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Divider = _resolveComponent(\"Divider\")!\n const _component_ChangeRegionModal = _resolveComponent(\"ChangeRegionModal\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"footer\", _hoisted_1, [\n (_ctx.vm)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n (!_ctx.layoutStore.isAuthenticated || !_ctx.vm?.currentUser?.company?.companyName)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-secondary btn-change-region\",\n disabled: _ctx.vm?.availableLocationOptions?.length < 1,\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.onShowRegionModalClick()))\n }, {\n default: _withCtx(() => [\n _createVNode(_component_font_awesome_icon, {\n icon: ['far', 'location-dot'],\n size: \"1x\"\n }),\n _createElementVNode(\"h5\", _hoisted_4, _toDisplayString(`${_ctx.$t(\"footer.region\")}:`), 1),\n _createElementVNode(\"p\", _hoisted_5, _toDisplayString(_ctx.currentRegionName), 1)\n ]),\n _: 1\n }, 8, [\"disabled\"])\n ]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Divider),\n _createElementVNode(\"div\", _hoisted_6, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.mainFooterBlocks, (block, i) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: i,\n class: \"col-md-6 col-lg-3 d-flex flex-column mb-2\"\n }, [\n (block.header)\n ? (_openBlock(), _createElementBlock(\"h2\", _hoisted_7, _toDisplayString(block.header), 1))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(block.items, (item, itemIndex) => {\n return (_openBlock(), _createElementBlock(\"a\", {\n key: itemIndex,\n href: item.url\n }, _toDisplayString(item.label), 9, _hoisted_8))\n }), 128))\n ]))\n }), 128)),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.$t(\"footer.allPricesExclVat\")), 1)\n ])\n ]),\n _createVNode(_component_Divider),\n _createElementVNode(\"div\", _hoisted_10, [\n _hoisted_11,\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"a\", _hoisted_13, _toDisplayString(_ctx.$t(\"footer.copyright\")), 1),\n _createElementVNode(\"a\", {\n class: \"mr-2\",\n href: _ctx.vm.privacyPolicyUrl,\n target: \"_blank\"\n }, _toDisplayString(_ctx.$t(\"footer.privacy\")), 9, _hoisted_14),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.termsAndConditions, (term) => {\n return (_openBlock(), _createElementBlock(\"a\", {\n class: \"mr-2\",\n key: term.text,\n href: term.href,\n target: term.target\n }, _toDisplayString(term.text), 9, _hoisted_15))\n }), 128))\n ]),\n _createElementVNode(\"div\", _hoisted_16, [\n (_ctx.vm.isoIconsBlock.items && _ctx.vm.isoIconsBlock.items.length && _ctx.vm.isoIconsBlock.isVisible)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.isoIconsBlock.items, (isoItem) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: isoItem.standardNumber,\n align: \"center\",\n class: \"ml-2\"\n }, [\n _createElementVNode(\"img\", {\n src: isoItem.icon.url,\n alt: isoItem.icon.alt\n }, null, 8, _hoisted_18)\n ]))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"div\", _hoisted_21, [\n _createVNode(_component_font_awesome_icon, {\n icon: ['fab', 'linkedin-in'],\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.openUrl(_ctx.vm.linkedInUrl, ' _blank')))\n })\n ]),\n _createElementVNode(\"div\", _hoisted_22, [\n _createVNode(_component_font_awesome_icon, {\n icon: ['fab', 'youtube'],\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.openUrl(_ctx.vm.youtubeUrl, ' _blank')))\n })\n ]),\n _createElementVNode(\"div\", _hoisted_23, [\n _createVNode(_component_font_awesome_icon, {\n icon: ['fab', 'spotify'],\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.openUrl(_ctx.vm.spotifyUrl, ' _blank')))\n })\n ]),\n _createElementVNode(\"div\", _hoisted_24, [\n _createVNode(_component_font_awesome_icon, {\n icon: ['fab', 'facebook-f'],\n onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.openUrl(_ctx.vm.facebookUrl, ' _blank')))\n })\n ])\n ])\n ])\n ]),\n _createVNode(_component_Divider),\n (_ctx.vm.subFooterBlock)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_25, [\n _createElementVNode(\"div\", _hoisted_26, [\n _createElementVNode(\"span\", _hoisted_27, _toDisplayString(_ctx.vm.subFooterBlock?.header), 1),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.subFooterBlock.items, (item, index) => {\n return (_openBlock(), _createElementBlock(\"a\", {\n key: index,\n class: \"mr-2\",\n href: item.url\n }, _toDisplayString(item.label), 9, _hoisted_28))\n }), 128))\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.layoutStore.changeRegionModalVisible)\n ? (_openBlock(), _createBlock(_component_ChangeRegionModal, {\n key: 0,\n \"should-confirm-region\": _ctx.vm.showRedirect,\n vm: _ctx.vm.availableLocationOptions\n }, null, 8, [\"should-confirm-region\", \"vm\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<footer class=\"hidden-print\">\r\n\t\t<div v-if=\"vm\" class=\"container\">\r\n\t\t\t<div\r\n\t\t\t\tv-if=\"!layoutStore.isAuthenticated || !vm?.currentUser?.company?.companyName\"\r\n\t\t\t\tclass=\"region-container\"\r\n\t\t\t>\r\n\t\t\t\t<Button\r\n\t\t\t\t\tclass=\"p-button-text p-button-secondary btn-change-region\"\r\n\t\t\t\t\t:disabled=\"vm?.availableLocationOptions?.length < 1\"\r\n\t\t\t\t\t@click=\"onShowRegionModalClick()\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<font-awesome-icon :icon=\"['far', 'location-dot']\" size=\"1x\" />\r\n\t\t\t\t\t<h5 class=\"m-0 ml-1\">{{ `${$t(\"footer.region\")}:` }}</h5>\r\n\t\t\t\t\t<p class=\"m-0 ml-2 lead\">{{ currentRegionName }}</p>\r\n\t\t\t\t</Button>\r\n\t\t\t</div>\r\n\r\n\t\t\t<Divider />\r\n\r\n\t\t\t<div class=\"row\">\r\n\t\t\t\t<div\r\n\t\t\t\t\tv-for=\"(block, i) in vm.mainFooterBlocks\"\r\n\t\t\t\t\t:key=\"i\"\r\n\t\t\t\t\tclass=\"col-md-6 col-lg-3 d-flex flex-column mb-2\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<h2 v-if=\"block.header\">{{ block.header }}</h2>\r\n\t\t\t\t\t<a v-for=\"(item, itemIndex) in block.items\" :key=\"itemIndex\" :href=\"item.url\">{{\r\n\t\t\t\t\t\titem.label\r\n\t\t\t\t\t}}</a>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"col-12 mt-3\">\r\n\t\t\t\t\t<p>{{ $t(\"footer.allPricesExclVat\") }}</p>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<Divider />\r\n\r\n\t\t\t<div class=\"row align-items-center\">\r\n\t\t\t\t<div class=\"col my-1\">\r\n\t\t\t\t\t<div class=\"cadac-logo\">\r\n\t\t\t\t\t\t<a href=\"/\">\r\n\t\t\t\t\t\t\t<svg height=\"43\" width=\"237\">\r\n\t\t\t\t\t\t\t\t<use xlink:href=\"#cadac-logo-white\" />\r\n\t\t\t\t\t\t\t</svg>\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div class=\"col my-1 d-flex flex-wrap\">\r\n\t\t\t\t\t<a class=\"mr-2\" href=\"/\">{{ $t(\"footer.copyright\") }}</a>\r\n\t\t\t\t\t<a class=\"mr-2\" :href=\"vm.privacyPolicyUrl\" target=\"_blank\">{{ $t(\"footer.privacy\") }}</a>\r\n\t\t\t\t\t<a v-for=\"term in vm.termsAndConditions\" class=\"mr-2\" :key=\"term.text\" :href=\"term.href\" :target=\"term.target\">\r\n\t\t\t\t\t\t{{ term.text }}\r\n\t\t\t\t\t</a>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div class=\"col my-1\">\r\n\t\t\t\t\t<div class=\"iso-icons justify-content-lg-end\" v-if=\"vm.isoIconsBlock.items && vm.isoIconsBlock.items.length && vm.isoIconsBlock.isVisible\">\r\n\t\t\t\t\t\t<div v-for=\"isoItem in vm.isoIconsBlock.items\" :key=\"isoItem.standardNumber\" align=\"center\" class=\"ml-2\">\r\n\t\t\t\t\t\t\t<img :src=\"isoItem.icon.url\" :alt=\"isoItem.icon.alt\" />\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div class=\"col my-1\">\r\n\t\t\t\t\t<div class=\"social-icons justify-content-lg-end\">\r\n\t\t\t\t\t\t<div class=\"linkedin\">\r\n\t\t\t\t\t\t\t<font-awesome-icon :icon=\"['fab', 'linkedin-in']\"\r\n\t\t\t\t\t\t\t\t\t\t\t @click=\"openUrl(vm.linkedInUrl, ' _blank')\" />\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"youtube ml-2\">\r\n\t\t\t\t\t\t\t<font-awesome-icon :icon=\"['fab', 'youtube']\"\r\n\t\t\t\t\t\t\t\t\t\t\t @click=\"openUrl(vm.youtubeUrl, ' _blank')\" />\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"spotify ml-2\">\r\n\t\t\t\t\t\t\t<font-awesome-icon :icon=\"['fab', 'spotify']\" \r\n\t\t\t\t\t\t\t\t\t\t\t @click=\"openUrl(vm.spotifyUrl, ' _blank')\"/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"facebook ml-2\">\r\n\t\t\t\t\t\t\t<font-awesome-icon :icon=\"['fab', 'facebook-f']\"\r\n\t\t\t\t\t\t\t\t\t\t\t @click=\"openUrl(vm.facebookUrl, ' _blank')\" />\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<Divider />\r\n\r\n\t\t\t<div v-if=\"vm.subFooterBlock\" class=\"row\">\r\n\t\t\t\t<div class=\"col-12 d-flex flex-wrap\">\r\n\t\t\t\t\t<span class=\"font-weight-500 m-0 mr-2 ml-0\">{{ vm.subFooterBlock?.header }}</span>\r\n\t\t\t\t\t<a v-for=\"(item, index) in vm.subFooterBlock.items\" :key=\"index\" class=\"mr-2\" :href=\"item.url\">\r\n\t\t\t\t\t\t{{ item.label }}\r\n\t\t\t\t\t</a>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</footer>\r\n\t<ChangeRegionModal\r\n\t\tv-if=\"layoutStore.changeRegionModalVisible\"\r\n\t\t:should-confirm-region=\"vm.showRedirect\"\r\n\t\t:vm=\"vm.availableLocationOptions\"\r\n\t/>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport ChangeRegionModal from \"@/components/common/menu/changeRegionModal.vue\";\r\nimport Divider from \"primevue/divider\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component } from \"vue-facing-decorator\";\r\nimport { IMainLayout } from \"@/types/viewModels/common/mainLayoutViewModel\";\r\n\r\n@Component({ components: { Divider, ChangeRegionModal } })\r\nexport default class MainFooter extends BaseComponent {\r\n\tget vm(): IMainLayout {\r\n\t\treturn this.layoutStore.vm;\r\n\t}\r\n\r\n\tget currentRegionName(): string {\r\n\t\treturn this.layoutStore.vm?.currentLocation?.value || \"\";\r\n\t}\r\n\r\n\tonShowRegionModalClick(): void {\r\n\t\tif (this.layoutStore.vm.availableLocationOptions?.length < 1) return;\r\n\t\tthis.layoutStore.showModal(\"ChangeRegion\");\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n footer {\r\n display: flex;\r\n flex-direction: column;\r\n background-color: var(--surface-footer);\r\n color: var(--primary-color-text);\r\n padding: 1rem 0;\r\n\r\n a {\r\n color: var(--primary-color-text);\r\n }\r\n\r\n a:hover {\r\n color: var(--bluegray-200);\r\n cursor: pointer;\r\n text-decoration: underline;\r\n }\r\n\r\n .p-divider.p-divider-horizontal:before {\r\n border: 0.5px solid #535353;\r\n }\r\n\r\n .btn-change-region {\r\n &.p-button {\r\n color: var(--primary-color-text);\r\n }\r\n\r\n &.p-disabled {\r\n opacity: 1;\r\n }\r\n }\r\n\r\n .social-icons {\r\n display: flex;\r\n align-items: center;\r\n\r\n div {\r\n cursor: pointer;\r\n border: 2px solid #fff;\r\n border-radius: 50%;\r\n height: 2em;\r\n width: 2em;\r\n display: flex;\r\n justify-content: center;\r\n flex-shrink: 0;\r\n align-items: center;\r\n transition: all 0.2s ease-in-out;\r\n }\r\n\r\n .spotify:hover {\r\n color: #1ed760;\r\n border-color: #1ed760;\r\n }\r\n\r\n .facebook:hover {\r\n color: #4267b2;\r\n border-color: #4267b2;\r\n }\r\n\r\n .linkedin:hover {\r\n color: #0077b5;\r\n border-color: #0077b5;\r\n }\r\n\r\n .youtube:hover {\r\n color: #ff0000;\r\n border-color: #ff0000;\r\n }\r\n }\r\n\r\n .iso-icons {\r\n display: flex;\r\n align-items: center;\r\n\r\n div {\r\n height: 2em;\r\n width: 2em;\r\n display: flex;\r\n justify-content: center;\r\n flex-shrink: 0;\r\n align-items: center;\r\n\r\n img {\r\n width: 100%;\r\n }\r\n }\r\n }\r\n }\r\n</style>\r\n","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, withCtx as _withCtx, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = {\n key: 0,\n class: \"row p-lg-2 p-md-1\"\n}\nconst _hoisted_2 = { class: \"col-md-6 col-lg-10 mb-3\" }\nconst _hoisted_3 = { class: \"lead mb-2\" }\nconst _hoisted_4 = { class: \"d-flex align-items-center\" }\nconst _hoisted_5 = { class: \"col-12 d-flex justify-content-end\" }\nconst _hoisted_6 = {\n key: 1,\n class: \"row p-lg-2 p-md-1\"\n}\nconst _hoisted_7 = { class: \"col-md-6 col-lg-7 mb-3\" }\nconst _hoisted_8 = { class: \"d-flex align-items-center mb-2 text-muted\" }\nconst _hoisted_9 = { class: \"ml-2 mb-0\" }\nconst _hoisted_10 = { class: \"d-flex flex-column\" }\nconst _hoisted_11 = { class: \"m-0 ml-2 text-left\" }\nconst _hoisted_12 = { class: \"col-md-6 col-lg-5\" }\nconst _hoisted_13 = { class: \"d-flex align-items-center mb-2 text-muted\" }\nconst _hoisted_14 = { class: \"ml-2 ml-2 mb-0\" }\nconst _hoisted_15 = { class: \"d-flex flex-column\" }\nconst _hoisted_16 = { class: \"m-0 ml-2 text-left\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_SelectButton = _resolveComponent(\"SelectButton\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_font_awesome_icon = _resolveComponent(\"font-awesome-icon\")!\n const _component_Dialog = _resolveComponent(\"Dialog\")!\n\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createVNode(_component_Dialog, {\n visible: _ctx.isVisible,\n \"onUpdate:visible\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.isVisible) = $event)),\n breakpoints: {\r\n\t\t\t\t'2000px': '35vw',\r\n\t\t\t\t'1600px': '40vw',\r\n\t\t\t\t'1200px': '50vw',\r\n\t\t\t\t'992px': '60vw',\r\n\t\t\t\t'768px': '75vw',\r\n\t\t\t\t'576px': '90vw',\r\n\t\t\t},\n class: \"change-region-dialog p-dialog-secondary\",\n header: \r\n\t\t\t\t_ctx.shouldConfirmRegion\r\n\t\t\t\t\t? _ctx.$t('footer.dialog.confirmCurrentRegionTitle')\r\n\t\t\t\t\t: _ctx.$t('footer.dialog.chooseRegionTitle')\r\n\t\t\t,\n modal: true,\n style: { width: '28vw' },\n onHide: _cache[3] || (_cache[3] = ($event: any) => (_ctx.onCancel()))\n }, {\n default: _withCtx(() => [\n (_ctx.shouldConfirmRegion)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"p\", _hoisted_3, _toDisplayString(`${_ctx.$t(\"footer.dialog.confirmCurrentRegionSubtitle\", {\r\n\t\t\t\t\t\t\t\tcountry: _ctx.layoutStore.vm.preferredLocationOption?.name,\r\n\t\t\t\t\t\t\t})}`), 1),\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(_component_SelectButton, {\n modelValue: _ctx.selectedLocationOption,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.selectedLocationOption) = $event)),\n class: \"custom-select-button\",\n \"option-label\": \"name\",\n options: _ctx.redirectCountries\n }, null, 8, [\"modelValue\", \"options\"])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createVNode(_component_Button, {\n class: \"p-button-raised\",\n label: _ctx.$t('footer.dialog.confirm'),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onRegionSelected(_ctx.selectedLocationOption)))\n }, null, 8, [\"label\"])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createVNode(_component_font_awesome_icon, {\n icon: ['far', 'earth-europe'],\n size: \"2x\"\n }),\n _createElementVNode(\"h5\", _hoisted_9, _toDisplayString(`${_ctx.$t(\"footer.dialog.regionEurope\")}`), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.europeCountries?.availableLocations, (option, index) => {\n return (_openBlock(), _createBlock(_component_Button, {\n key: index,\n class: \"p-button-text p-button-secondary ml-0\",\n onClick: ($event: any) => (_ctx.onRegionSelected(option))\n }, {\n default: _withCtx(() => [\n _createVNode(_component_font_awesome_icon, {\n icon: ['far', 'location-dot'],\n size: \"lg\"\n }),\n _createElementVNode(\"p\", _hoisted_11, _toDisplayString(option.name), 1)\n ]),\n _: 2\n }, 1032, [\"onClick\"]))\n }), 128))\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", _hoisted_13, [\n _createVNode(_component_font_awesome_icon, {\n icon: ['far', 'earth'],\n size: \"2x\"\n }),\n _createElementVNode(\"h5\", _hoisted_14, _toDisplayString(`${_ctx.$t(\"footer.dialog.regionOther\")}`), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.otherCountries?.availableLocations, (option, index) => {\n return (_openBlock(), _createBlock(_component_Button, {\n key: index,\n class: \"p-button-text p-button-secondary ml-0\",\n onClick: ($event: any) => (_ctx.onRegionSelected(option))\n }, {\n default: _withCtx(() => [\n _createVNode(_component_font_awesome_icon, {\n icon: ['far', 'location-dot'],\n size: \"lg\"\n }),\n _createElementVNode(\"p\", _hoisted_16, _toDisplayString(option.name), 1)\n ]),\n _: 2\n }, 1032, [\"onClick\"]))\n }), 128))\n ])\n ])\n ]))\n ]),\n _: 1\n }, 8, [\"visible\", \"header\"])\n ]))\n}","<template>\r\n\t<div>\r\n\t\t<Dialog\r\n\t\t\tv-model:visible=\"isVisible\"\r\n\t\t\t:breakpoints=\"{\r\n\t\t\t\t'2000px': '35vw',\r\n\t\t\t\t'1600px': '40vw',\r\n\t\t\t\t'1200px': '50vw',\r\n\t\t\t\t'992px': '60vw',\r\n\t\t\t\t'768px': '75vw',\r\n\t\t\t\t'576px': '90vw',\r\n\t\t\t}\"\r\n\t\t\tclass=\"change-region-dialog p-dialog-secondary\"\r\n\t\t\t:header=\"\r\n\t\t\t\tshouldConfirmRegion\r\n\t\t\t\t\t? $t('footer.dialog.confirmCurrentRegionTitle')\r\n\t\t\t\t\t: $t('footer.dialog.chooseRegionTitle')\r\n\t\t\t\"\r\n\t\t\t:modal=\"true\"\r\n\t\t\t:style=\"{ width: '28vw' }\"\r\n\t\t\t@hide=\"onCancel()\"\r\n\t\t>\r\n\t\t\t<div v-if=\"shouldConfirmRegion\" class=\"row p-lg-2 p-md-1\">\r\n\t\t\t\t<div class=\"col-md-6 col-lg-10 mb-3\">\r\n\t\t\t\t\t<p class=\"lead mb-2\">\r\n\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t`${$t(\"footer.dialog.confirmCurrentRegionSubtitle\", {\r\n\t\t\t\t\t\t\t\tcountry: layoutStore.vm.preferredLocationOption?.name,\r\n\t\t\t\t\t\t\t})}`\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t</p>\r\n\t\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t\t<SelectButton\r\n\t\t\t\t\t\t\tv-model=\"selectedLocationOption\"\r\n\t\t\t\t\t\t\tclass=\"custom-select-button\"\r\n\t\t\t\t\t\t\toption-label=\"name\"\r\n\t\t\t\t\t\t\t:options=\"redirectCountries\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div class=\"col-12 d-flex justify-content-end\">\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\tclass=\"p-button-raised\"\r\n\t\t\t\t\t\t:label=\"$t('footer.dialog.confirm')\"\r\n\t\t\t\t\t\t@click=\"onRegionSelected(selectedLocationOption)\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div v-else class=\"row p-lg-2 p-md-1\">\r\n\t\t\t\t<div class=\"col-md-6 col-lg-7 mb-3\">\r\n\t\t\t\t\t<div class=\"d-flex align-items-center mb-2 text-muted\">\r\n\t\t\t\t\t\t<font-awesome-icon :icon=\"['far', 'earth-europe']\" size=\"2x\" />\r\n\t\t\t\t\t\t<h5 class=\"ml-2 mb-0\">{{ `${$t(\"footer.dialog.regionEurope\")}` }}</h5>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\tv-for=\"(option, index) in europeCountries?.availableLocations\"\r\n\t\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\t\tclass=\"p-button-text p-button-secondary ml-0\"\r\n\t\t\t\t\t\t\t@click=\"onRegionSelected(option)\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<font-awesome-icon :icon=\"['far', 'location-dot']\" size=\"lg\" />\r\n\t\t\t\t\t\t\t<p class=\"m-0 ml-2 text-left\">{{ option.name }}</p>\r\n\t\t\t\t\t\t</Button>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div class=\"col-md-6 col-lg-5\">\r\n\t\t\t\t\t<div class=\"d-flex align-items-center mb-2 text-muted\">\r\n\t\t\t\t\t\t<font-awesome-icon :icon=\"['far', 'earth']\" size=\"2x\" />\r\n\t\t\t\t\t\t<h5 class=\"ml-2 ml-2 mb-0\">{{ `${$t(\"footer.dialog.regionOther\")}` }}</h5>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\tv-for=\"(option, index) in otherCountries?.availableLocations\"\r\n\t\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\t\tclass=\"p-button-text p-button-secondary ml-0\"\r\n\t\t\t\t\t\t\t@click=\"onRegionSelected(option)\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<font-awesome-icon :icon=\"['far', 'location-dot']\" size=\"lg\" />\r\n\t\t\t\t\t\t\t<p class=\"m-0 ml-2 text-left\">{{ option.name }}</p>\r\n\t\t\t\t\t\t</Button>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</Dialog>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Checkbox from \"primevue/checkbox\";\r\nimport SelectButton from \"primevue/selectbutton\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { Continent } from \"@/types/enum/continent\";\r\nimport { ContinentViewModel } from \"@/types/models/menu/continentViewModel\";\r\nimport { CookieType } from \"@/types/enum/cookieType\";\r\nimport { LocationOptionViewModel } from \"@/types/models/menu/locationOptionViewModel\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { SetCookieRequest } from \"@/types/models/menu/setCookieRequest\";\r\n\r\n@Component({\r\n\tcomponents: { Checkbox, SelectButton },\r\n})\r\nexport default class ChangeRegionModal extends BaseComponent {\r\n\t@Prop({ required: false, default: false }) shouldConfirmRegion!: boolean;\r\n\t@Prop({ type: Object as PropType<ContinentViewModel[]>, required: true, default: [] })\r\n\tvm!: ContinentViewModel[];\r\n\r\n\tisVisible = true;\r\n\r\n\tselectedLocationOption!: LocationOptionViewModel;\r\n\r\n\tcreated(): void {\r\n\t\tif (this.shouldConfirmRegion) this.selectedLocationOption = this.layoutStore.vm.preferredLocationOption;\r\n\t}\r\n\r\n\tget europeCountries() {\r\n\t\treturn this.vm.find((x) => x.continent === Continent.Europe);\r\n\t}\r\n\r\n\tget otherCountries() {\r\n\t\treturn this.vm.find((x) => x.continent === Continent.Other);\r\n\t}\r\n\r\n\tget redirectCountries() {\r\n\t\tconst { preferredLocationOption, pageLocationOption } = this.layoutStore.vm;\r\n\t\treturn [pageLocationOption, preferredLocationOption];\r\n\t}\r\n\r\n\tonCancel(): void {\r\n\t\tthis.layoutStore.hideModal(\"ChangeRegion\");\r\n\t}\r\n\r\n\tonRegionSelected(region: LocationOptionViewModel): void {\r\n\t\tconst payload: SetCookieRequest = {\r\n\t\t\ttype: CookieType.PreferredLocation,\r\n\t\t\tvalue: region.code,\r\n\t\t};\r\n\t\tthis.axios\r\n\t\t\t.put(\"/api/cookie\", payload)\r\n\t\t\t.then(() => {\r\n\t\t\t\tif (region.redirectUrl) {\r\n\t\t\t\t\twindow.location.href = region.redirectUrl;\r\n\t\t\t\t} else {\r\n\t\t\t\t\twindow.location.reload();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => Log.error(err));\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n.change-region-dialog {\r\n\t.p-dialog-content {\r\n\t\tpadding: 2rem;\r\n\t}\r\n\r\n\t.p-dialog-footer {\r\n\t\tdisplay: none;\r\n\t}\r\n\r\n\t.p-button-text.p-button-secondary {\r\n\t\tflex: 1;\r\n\t\tflex-basis: 50%;\r\n\t\tfont-size: 1.05rem;\r\n\t}\r\n}\r\n</style>\r\n","export enum Continent {\r\n\tOther,\r\n\tEurope,\r\n}\r\n","import { render } from \"./changeRegionModal.vue?vue&type=template&id=11929639&ts=true\"\nimport script from \"./changeRegionModal.vue?vue&type=script&lang=ts\"\nexport * from \"./changeRegionModal.vue?vue&type=script&lang=ts\"\n\nimport \"./changeRegionModal.vue?vue&type=style&index=0&id=11929639&lang=scss\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./mainFooter.vue?vue&type=template&id=64e65e78&scoped=true&ts=true\"\nimport script from \"./mainFooter.vue?vue&type=script&lang=ts\"\nexport * from \"./mainFooter.vue?vue&type=script&lang=ts\"\n\nimport \"./mainFooter.vue?vue&type=style&index=0&id=64e65e78&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-64e65e78\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_MainMenuBarMobile = _resolveComponent(\"MainMenuBarMobile\")!\n const _component_MainMenuBar = _resolveComponent(\"MainMenuBar\")!\n\n return (_ctx.isSmallScreen)\n ? (_openBlock(), _createBlock(_component_MainMenuBarMobile, { key: 0 }))\n : (_openBlock(), _createBlock(_component_MainMenuBar, { key: 1 }))\n}","<template>\r\n\t<MainMenuBarMobile v-if=\"isSmallScreen\" />\r\n\t<MainMenuBar v-else />\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport MainMenuBar from \"@/components/common/menu/mainMenuBar.vue\";\r\nimport MainMenuBarMobile from \"@/components/common/menu/mainMenuBarMobile.vue\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component } from \"vue-facing-decorator\";\r\n\r\n@Component({ components: { MainMenuBar, MainMenuBarMobile } })\r\nexport default class MainNavBar extends BaseComponent {\r\n\tcreated(): void {\r\n\t\tif (\r\n\t\t\tthis.layoutStore.hasMultipleCompanies &&\r\n\t\t\t!this.layoutStore.preferredCompany &&\r\n\t\t\t!this.userProfile?.isImpersonated &&\r\n\t\t\tthis.layoutStore.vm.isDebug\r\n\t\t) {\r\n\t\t\tthis.layoutStore.showModal(\"ChangeCompany\");\r\n\t\t}\r\n\r\n\t\tif (this.layoutStore.vm.showRedirect) {\r\n\t\t\tthis.layoutStore.showModal(\"ChangeRegion\");\r\n\t\t}\r\n\t}\r\n}\r\n</script>\r\n","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, resolveDirective as _resolveDirective, withDirectives as _withDirectives, createVNode as _createVNode, normalizeClass as _normalizeClass, withCtx as _withCtx, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5590f9d2\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"top-menu hidden-print\" }\nconst _hoisted_2 = { class: \"container d-flex flex-row justify-content-between\" }\nconst _hoisted_3 = { class: \"top-menu-impersonate\" }\nconst _hoisted_4 = { class: \"top-menu-nav\" }\nconst _hoisted_5 = { class: \"top-menu-items\" }\nconst _hoisted_6 = [\"href\", \"title\"]\nconst _hoisted_7 = {\n ref: \"mainMenu\",\n class: \"main-menu hidden-print\"\n}\nconst _hoisted_8 = { class: \"container\" }\nconst _hoisted_9 = {\n key: 0,\n class: \"main-menu-logo\"\n}\nconst _hoisted_10 = [\"href\"]\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"svg\", {\n height: \"46.45\",\n width: \"253.08\"\n}, [\n /*#__PURE__*/_createElementVNode(\"use\", { \"xlink:href\": \"#main-logo\" })\n], -1))\nconst _hoisted_12 = [\n _hoisted_11\n]\nconst _hoisted_13 = {\n key: 1,\n class: \"main-menu-logo-mobile\"\n}\nconst _hoisted_14 = { class: \"main-menu-nav\" }\nconst _hoisted_15 = { class: \"main-menu-nav-items\" }\nconst _hoisted_16 = [\"href\", \"title\"]\nconst _hoisted_17 = { class: \"main-menu-icons\" }\nconst _hoisted_18 = {\n key: 0,\n class: \"container\"\n}\nconst _hoisted_19 = {\n key: 0,\n class: \"usp-bar w-100 hidden-print\"\n}\nconst _hoisted_20 = { class: \"container d-flex\" }\nconst _hoisted_21 = [\"href\"]\nconst _hoisted_22 = { class: \"usp-text-small\" }\nconst _hoisted_23 = { class: \"usp-text-small\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ImpersonationForm = _resolveComponent(\"ImpersonationForm\")!\n const _component_MainSearchBar = _resolveComponent(\"MainSearchBar\")!\n const _component_font_awesome_icon = _resolveComponent(\"font-awesome-icon\")!\n const _component_font_awesome_layers_text = _resolveComponent(\"font-awesome-layers-text\")!\n const _component_font_awesome_layers = _resolveComponent(\"font-awesome-layers\")!\n const _component_LanguageDropdown = _resolveComponent(\"LanguageDropdown\")!\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_InlineMessage = _resolveComponent(\"InlineMessage\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_MainUserMenu = _resolveComponent(\"MainUserMenu\")!\n const _component_OverlayPanel = _resolveComponent(\"OverlayPanel\")!\n const _component_ChangeCompanyModal = _resolveComponent(\"ChangeCompanyModal\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"nav\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (!_ctx.layoutStore.isImpersonated && _ctx.layoutStore.canImpersonate)\n ? (_openBlock(), _createBlock(_component_ImpersonationForm, { key: 0 }))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"ul\", _hoisted_5, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.layoutStore.vm.subMenuItems, (menuItem) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: menuItem,\n class: \"\"\n }, [\n _createElementVNode(\"a\", {\n href: menuItem.url,\n title: menuItem.title\n }, _toDisplayString(menuItem.label), 9, _hoisted_6)\n ]))\n }), 128))\n ])\n ])\n ])\n ]),\n _createElementVNode(\"nav\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n (!_ctx.isLargeScreen)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"a\", {\n href: _ctx.layoutStore.vm.homePageUrl\n }, _hoisted_12, 8, _hoisted_10)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _withDirectives(_createElementVNode(\"img\", {\n style: {\"cursor\":\"pointer\"},\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.openUrl(_ctx.layoutStore.vm.homePageUrl)))\n }, null, 512), [\n [_directive_lazy, '/Static/images/cadacgroup-logo-mobile.svg']\n ])\n ])),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"ul\", _hoisted_15, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.layoutStore.vm.mainMenuItems, (menuItem) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: menuItem,\n class: \"\"\n }, [\n _createElementVNode(\"a\", {\n href: menuItem.url,\n title: menuItem.title\n }, _toDisplayString(menuItem.label), 9, _hoisted_16)\n ]))\n }), 128))\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"main-menu-search\", { searchActive: _ctx.layoutStore.showSearchBar }])\n }, [\n _createVNode(_component_MainSearchBar, {\n vm: _ctx.layoutStore.vm\n }, null, 8, [\"vm\"])\n ], 2),\n _createElementVNode(\"div\", _hoisted_17, [\n _createVNode(_component_font_awesome_icon, {\n class: _normalizeClass({ 'text-primary': _ctx.layoutStore.showSearchBar }),\n icon: ['far', 'magnifying-glass'],\n title: _ctx.$t('menu.button.search_title'),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onToggleSearchClick()))\n }, null, 8, [\"class\", \"title\"]),\n (_ctx.layoutStore.vm.itemsInCart)\n ? (_openBlock(), _createBlock(_component_font_awesome_layers, {\n key: 0,\n class: \"fa-fw fa-2x\",\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.onCartClick()))\n }, {\n default: _withCtx(() => [\n _createVNode(_component_font_awesome_icon, {\n icon: ['far', 'cart-shopping'],\n title: _ctx.$t('menu.button.cart_title')\n }, null, 8, [\"title\"]),\n _createVNode(_component_font_awesome_layers_text, {\n class: \"fa-layers-counter\",\n transform: \"up-1 right-15\",\n value: _ctx.layoutStore.vm.itemsInCart\n }, null, 8, [\"value\"])\n ]),\n _: 1\n }))\n : (_openBlock(), _createBlock(_component_font_awesome_icon, {\n key: 1,\n icon: ['far', 'cart-shopping'],\n title: _ctx.$t('menu.button.cartEmpty_title'),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.onCartClick()))\n }, null, 8, [\"title\"])),\n _createVNode(_component_font_awesome_icon, {\n class: _normalizeClass({ 'text-info': _ctx.layoutStore.isImpersonated }),\n icon: \r\n\t\t\t\t\t\t\t_ctx.layoutStore.isImpersonated\r\n\t\t\t\t\t\t\t\t? ['far', 'user-shield']\r\n\t\t\t\t\t\t\t\t: _ctx.layoutStore.isAuthenticated\r\n\t\t\t\t\t\t\t\t\t? ['fas', 'circle-user']\r\n\t\t\t\t\t\t\t\t\t: ['far', 'circle-user']\r\n\t\t\t\t\t\t,\n title: _ctx.$t('menu.button.userMenu_title'),\n onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.onToggleUserMenuClick($event)))\n }, null, 8, [\"class\", \"icon\", \"title\"]),\n _createVNode(_component_LanguageDropdown, {\n languages: _ctx.layoutStore.vm.availableLanguageOptions,\n title: _ctx.$t('menu.chooseLanguage_title'),\n \"update-cookie\": \"\"\n }, null, 8, [\"languages\", \"title\"])\n ])\n ])\n ]),\n (_ctx.layoutStore.isImpersonated)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_18, [\n _createVNode(_component_Message, {\n class: \"m-0 w-100 message-with-button\",\n closable: false,\n severity: \"info\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", null, [\n _createVNode(_component_i18n_t, { keypath: \"menu.loggedInAsCustomer\" }, {\n user: _withCtx(() => [\n _createElementVNode(\"span\", null, [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.layoutStore.vm?.impersonatedUser?.userName), 1),\n _createTextVNode(\" \" + _toDisplayString(`- ${_ctx.layoutStore.vm?.impersonatedUser?.company?.companyName} (${_ctx.layoutStore.vm?.impersonatedUser?.company?.cadacOrganizationCode})`), 1)\n ])\n ]),\n _: 1\n }),\n (!_ctx.layoutStore.vm?.impersonatedUser?.isEmailVerified)\n ? (_openBlock(), _createBlock(_component_InlineMessage, {\n key: 0,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"menu.unverifiedEmail\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", null, [\n _createVNode(_component_ImpersonationForm)\n ])\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true)\n ], 512),\n (\r\n\t\t\t_ctx.layoutStore.vm.uspBlock.items &&\r\n\t\t\t_ctx.layoutStore.vm.uspBlock.items.length &&\r\n\t\t\t_ctx.layoutStore.vm.uspBlock.isVisible)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"ul\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.layoutStore.vm.uspBlock.items, (item) => {\n return (_openBlock(), _createElementBlock(\"li\", { key: item }, [\n (item.uspCollectionLink)\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 0,\n href: item.uspCollectionLink.url\n }, [\n _createVNode(_component_font_awesome_icon, {\n class: \"usp-icon\",\n icon: item.uspIcon\n }, null, 8, [\"icon\"]),\n _createTextVNode(\" \" + _toDisplayString(item.uspCollectionTitle) + \" \", 1),\n _createElementVNode(\"span\", _hoisted_22, _toDisplayString(item.uspSubText), 1)\n ], 8, _hoisted_21))\n : _createCommentVNode(\"\", true),\n (!item.uspCollectionLink)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createVNode(_component_font_awesome_icon, {\n class: \"usp-icon\",\n icon: item.uspIcon\n }, null, 8, [\"icon\"]),\n _createTextVNode(\" \" + _toDisplayString(item.uspCollectionTitle) + \" \", 1),\n _createElementVNode(\"span\", _hoisted_23, _toDisplayString(item.uspSubText), 1)\n ], 64))\n : _createCommentVNode(\"\", true)\n ]))\n }), 128))\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_OverlayPanel, {\n ref: \"userMenuPanel\",\n \"append-to\": \".main-menu\",\n breakpoints: { '1400px': '250px' },\n class: \"main-menu-overlay\",\n dismissable: true,\n \"show-close-icon\": false,\n style: { width: '300px' }\n }, {\n default: _withCtx(() => [\n _createVNode(_component_MainUserMenu)\n ]),\n _: 1\n }, 512),\n (_ctx.layoutStore.changeCompanyModalVisible)\n ? (_openBlock(), _createBlock(_component_ChangeCompanyModal, {\n key: 1,\n vm: _ctx.layoutStore.vm.organizationOptions\n }, null, 8, [\"vm\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<nav class=\"top-menu hidden-print\">\r\n\t\t<div class=\"container d-flex flex-row justify-content-between\">\r\n\t\t\t<div class=\"top-menu-impersonate\">\r\n\t\t\t\t<ImpersonationForm v-if=\"!layoutStore.isImpersonated && layoutStore.canImpersonate\" />\r\n\t\t\t</div>\r\n\t\t\t<div class=\"top-menu-nav\">\r\n\t\t\t\t<ul class=\"top-menu-items\">\r\n\t\t\t\t\t<li v-for=\"menuItem in layoutStore.vm.subMenuItems\" :key=\"menuItem\" class=\"\">\r\n\t\t\t\t\t\t<a :href=\"menuItem.url\" :title=\"menuItem.title\"> {{ menuItem.label }}</a>\r\n\t\t\t\t\t</li>\r\n\t\t\t\t</ul>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</nav>\r\n\t<nav ref=\"mainMenu\" class=\"main-menu hidden-print\">\r\n\t\t<div class=\"container\">\r\n\t\t\t<div v-if=\"!isLargeScreen\" class=\"main-menu-logo\">\r\n\t\t\t\t<a :href=\"layoutStore.vm.homePageUrl\">\r\n\t\t\t\t\t<svg height=\"46.45\" width=\"253.08\">\r\n\t\t\t\t\t\t<use xlink:href=\"#main-logo\" />\r\n\t\t\t\t\t</svg>\r\n\t\t\t\t</a>\r\n\t\t\t</div>\r\n\t\t\t<div v-else class=\"main-menu-logo-mobile\">\r\n\t\t\t\t<img\r\n\t\t\t\t\tv-lazy=\"'/Static/images/cadacgroup-logo-mobile.svg'\"\r\n\t\t\t\t\tstyle=\"cursor: pointer\"\r\n\t\t\t\t\t@click=\"openUrl(layoutStore.vm.homePageUrl)\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"main-menu-nav\">\r\n\t\t\t\t<ul class=\"main-menu-nav-items\">\r\n\t\t\t\t\t<li v-for=\"menuItem in layoutStore.vm.mainMenuItems\" :key=\"menuItem\" class=\"\">\r\n\t\t\t\t\t\t<a :href=\"menuItem.url\" :title=\"menuItem.title\"> {{ menuItem.label }}</a>\r\n\t\t\t\t\t</li>\r\n\t\t\t\t</ul>\r\n\t\t\t\t<div class=\"main-menu-search\" :class=\"{ searchActive: layoutStore.showSearchBar }\">\r\n\t\t\t\t\t<MainSearchBar :vm=\"layoutStore.vm\" />\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"main-menu-icons\">\r\n\t\t\t\t\t<font-awesome-icon\r\n\t\t\t\t\t\t:class=\"{ 'text-primary': layoutStore.showSearchBar }\"\r\n\t\t\t\t\t\t:icon=\"['far', 'magnifying-glass']\"\r\n\t\t\t\t\t\t:title=\"$t('menu.button.search_title')\"\r\n\t\t\t\t\t\t@click=\"onToggleSearchClick()\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<font-awesome-layers\r\n\t\t\t\t\t\tv-if=\"layoutStore.vm.itemsInCart\"\r\n\t\t\t\t\t\tclass=\"fa-fw fa-2x\"\r\n\t\t\t\t\t\t@click=\"onCartClick()\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<font-awesome-icon\r\n\t\t\t\t\t\t\t:icon=\"['far', 'cart-shopping']\"\r\n\t\t\t\t\t\t\t:title=\"$t('menu.button.cart_title')\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<font-awesome-layers-text\r\n\t\t\t\t\t\t\tclass=\"fa-layers-counter\"\r\n\t\t\t\t\t\t\ttransform=\"up-1 right-15\"\r\n\t\t\t\t\t\t\t:value=\"layoutStore.vm.itemsInCart\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</font-awesome-layers>\r\n\t\t\t\t\t<font-awesome-icon\r\n\t\t\t\t\t\tv-else\r\n\t\t\t\t\t\t:icon=\"['far', 'cart-shopping']\"\r\n\t\t\t\t\t\t:title=\"$t('menu.button.cartEmpty_title')\"\r\n\t\t\t\t\t\t@click=\"onCartClick()\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<font-awesome-icon\r\n\t\t\t\t\t\t:class=\"{ 'text-info': layoutStore.isImpersonated }\"\r\n\t\t\t\t\t\t:icon=\"\r\n\t\t\t\t\t\t\tlayoutStore.isImpersonated\r\n\t\t\t\t\t\t\t\t? ['far', 'user-shield']\r\n\t\t\t\t\t\t\t\t: layoutStore.isAuthenticated\r\n\t\t\t\t\t\t\t\t\t? ['fas', 'circle-user']\r\n\t\t\t\t\t\t\t\t\t: ['far', 'circle-user']\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t:title=\"$t('menu.button.userMenu_title')\"\r\n\t\t\t\t\t\t@click=\"onToggleUserMenuClick($event)\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<LanguageDropdown\r\n\t\t\t\t\t\t:languages=\"layoutStore.vm.availableLanguageOptions\"\r\n\t\t\t\t\t\t:title=\"$t('menu.chooseLanguage_title')\"\r\n\t\t\t\t\t\tupdate-cookie\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div v-if=\"layoutStore.isImpersonated\" class=\"container\">\r\n\t\t\t<Message class=\"m-0 w-100 message-with-button\" :closable=\"false\" severity=\"info\">\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<i18n-t keypath=\"menu.loggedInAsCustomer\">\r\n\t\t\t\t\t\t<template #user>\r\n\t\t\t\t\t\t\t<span>\r\n\t\t\t\t\t\t\t\t<b>{{ layoutStore.vm?.impersonatedUser?.userName }}</b>\r\n\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t`- ${layoutStore.vm?.impersonatedUser?.company?.companyName} (${layoutStore.vm?.impersonatedUser?.company?.cadacOrganizationCode})`\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</i18n-t>\r\n\t\t\t\t\t<InlineMessage v-if=\"!layoutStore.vm?.impersonatedUser?.isEmailVerified\" severity=\"warn\">\r\n\t\t\t\t\t\t{{ $t(\"menu.unverifiedEmail\") }}\r\n\t\t\t\t\t</InlineMessage>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<ImpersonationForm />\r\n\t\t\t\t</div>\r\n\t\t\t</Message>\r\n\t\t</div>\r\n\t</nav>\r\n\t<div\r\n\t\tv-if=\"\r\n\t\t\tlayoutStore.vm.uspBlock.items &&\r\n\t\t\tlayoutStore.vm.uspBlock.items.length &&\r\n\t\t\tlayoutStore.vm.uspBlock.isVisible\"\r\n\t\tclass=\"usp-bar w-100 hidden-print\"\r\n\t>\r\n\t\t<div class=\"container d-flex\">\r\n\t\t\t<ul>\r\n\t\t\t\t<li v-for=\"item in layoutStore.vm.uspBlock.items\" :key=\"item\">\r\n\t\t\t\t\t<template v-if=\"item.uspCollectionLink\">\r\n\t\t\t\t\t\t<a :href=\"item.uspCollectionLink.url\">\r\n\t\t\t\t\t\t\t<font-awesome-icon class=\"usp-icon\" :icon=\"item.uspIcon\" />\r\n\t\t\t\t\t\t\t{{ item.uspCollectionTitle }}\r\n\t\t\t\t\t\t\t<span class=\"usp-text-small\">{{ item.uspSubText }}</span>\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template v-if=\"!item.uspCollectionLink\">\r\n\t\t\t\t\t\t<font-awesome-icon class=\"usp-icon\" :icon=\"item.uspIcon\" />\r\n\t\t\t\t\t\t{{ item.uspCollectionTitle }}\r\n\t\t\t\t\t\t<span class=\"usp-text-small\">{{ item.uspSubText }}</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</li>\r\n\t\t\t</ul>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<OverlayPanel\r\n\t\tref=\"userMenuPanel\"\r\n\t\tappend-to=\".main-menu\"\r\n\t\t:breakpoints=\"{ '1400px': '250px' }\"\r\n\t\tclass=\"main-menu-overlay\"\r\n\t\t:dismissable=\"true\"\r\n\t\t:show-close-icon=\"false\"\r\n\t\t:style=\"{ width: '300px' }\"\r\n\t>\r\n\t\t<MainUserMenu />\r\n\t</OverlayPanel>\r\n\t<ChangeCompanyModal v-if=\"layoutStore.changeCompanyModalVisible\" :vm=\"layoutStore.vm.organizationOptions\" />\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport ChangeCompanyModal from \"@/components/common/menu/changeCompanyModal.vue\";\r\nimport Divider from \"primevue/divider\";\r\nimport Dropdown from \"primevue/dropdown\";\r\nimport InlineMessage from \"primevue/inlinemessage\";\r\nimport ImpersonationForm from \"@/components/common/forms/impersonationForm.vue\";\r\nimport LanguageDropdown from \"@/components/common/menu/languageDropdown.vue\";\r\nimport MainSearchBar from \"@/components/common/menu/mainSearchBar.vue\";\r\nimport MainUserMenu from \"@/components/common/menu/mainUserMenu.vue\";\r\nimport OverlayPanel from \"primevue/overlaypanel\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Ref } from \"vue-facing-decorator\";\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tChangeCompanyModal,\r\n\t\tMainSearchBar,\r\n\t\tDropdown,\r\n\t\tLanguageDropdown,\r\n\t\tDivider,\r\n\t\tMainUserMenu,\r\n\t\tOverlayPanel,\r\n\t\tImpersonationForm,\r\n\t\tInlineMessage,\r\n\t},\r\n})\r\nexport default class MainMenuBar extends BaseComponent {\r\n\t@Ref readonly userMenuPanel!: OverlayPanel;\r\n\t@Ref readonly mainMenu!: HTMLElement;\r\n\r\n\tmounted(): void {\r\n\t\tthis.layoutStore.navBarHeight = this.mainMenu?.clientHeight;\r\n\t\tconst showedCompanyModal: string | null = localStorage.getItem(\"showedCompanyModal\");\r\n\r\n\t\tif (\r\n\t\t\tthis.layoutStore.isAuthenticated &&\r\n\t\t\t// process.env.NODE_ENV === \"production\" &&\r\n\t\t\tthis.layoutStore.vm.organizationOptions.length > 1\r\n\t\t) {\r\n\t\t\tif (showedCompanyModal === \"false\") {\r\n\t\t\t\tthis.layoutStore.showModal(\"ChangeCompany\");\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tonToggleUserMenuClick(event: Event): void {\r\n\t\tthis.layoutStore.toggleUserMenu();\r\n\t\tthis.userMenuPanel.toggle(event);\r\n\t}\r\n\r\n\tonToggleSearchClick(): void {\r\n\t\tthis.layoutStore.toggleSearchBar();\r\n\t}\r\n\r\n\tonCartClick(): void {\r\n\t\tthis.openUrl(this.layoutStore.vm.cartPageUrl);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.top-menu {\r\n\tbackground-color: #fff;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tpadding: 0.5rem 0.5rem;\r\n\tborder-bottom: 0.8px solid rgba(0, 0, 0, 0.15);\r\n\r\n\t.top-menu-nav {\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\r\n\t\t.top-menu-items {\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\t\t\tmargin-bottom: 0;\r\n\r\n\t\t\tli {\r\n\t\t\t\tflex-shrink: 0;\r\n\t\t\t\tmargin-right: 2rem;\r\n\r\n\t\t\t\ta {\r\n\t\t\t\t\tcolor: rgba(51, 51, 51, 0.6);\r\n\t\t\t\t\tfont-size: 1.05rem;\r\n\t\t\t\t\tfont-weight: 400;\r\n\t\t\t\t\tletter-spacing: 0.2px;\r\n\t\t\t\t\tcursor: pointer;\r\n\r\n\t\t\t\t\t&:hover {\r\n\t\t\t\t\t\tcolor: rgba(51, 51, 51, 1);\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.top-menu-impersonate {\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tpadding-right: 1.5rem;\r\n\r\n\t\t::v-deep(.p-button) {\r\n\t\t\tflex-shrink: 0;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n.main-menu {\r\n\tpadding: 0.5rem;\r\n\tposition: sticky;\r\n\ttop: 0;\r\n\tz-index: 120;\r\n\tbackground: var(--surface-a);\r\n\tborder-bottom: 0.8px solid rgba(0, 0, 0, 0.15);\r\n\r\n\t.container {\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t}\r\n\r\n\t.main-menu-logo-mobile {\r\n\t\tdisplay: flex;\r\n\t\tflex: 1;\r\n\t\theight: 3rem;\r\n\t}\r\n\r\n\t.main-menu-nav {\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tmargin-left: auto;\r\n\t\tposition: relative;\r\n\r\n\t\t.main-menu-nav-items {\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\t\t\tmargin-bottom: 0;\r\n\t\t\tflex: 1 1 0;\r\n\t\t\tmin-width: 0;\r\n\t\t\ttext-align: center;\r\n\r\n\t\t\tli {\r\n\t\t\t\tflex-shrink: 0;\r\n\t\t\t\tmargin-right: 1rem;\r\n\r\n\t\t\t\ta {\r\n\t\t\t\t\tfont-size: 1.35rem;\r\n\t\t\t\t\tfont-weight: 500;\r\n\t\t\t\t\tletter-spacing: 0.25px;\r\n\t\t\t\t\tcolor: var(--text-color);\r\n\t\t\t\t\tposition: relative;\r\n\t\t\t\t\tcursor: pointer;\r\n\r\n\t\t\t\t\t&::after {\r\n\t\t\t\t\t\tcontent: \"\";\r\n\t\t\t\t\t\tbottom: -6px;\r\n\t\t\t\t\t\tleft: 0;\r\n\t\t\t\t\t\tposition: absolute;\r\n\t\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\t\theight: 2px;\r\n\t\t\t\t\t\tbackground-color: var(--primary-color);\r\n\t\t\t\t\t\ttransition: transform 0.3s;\r\n\t\t\t\t\t\ttransform: scaleX(0);\r\n\t\t\t\t\t\ttransform-origin: right;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t&:hover {\r\n\t\t\t\t\t\ttext-decoration: none;\r\n\t\t\t\t\t\tbox-shadow: none;\r\n\r\n\t\t\t\t\t\t&::after {\r\n\t\t\t\t\t\t\topacity: 1;\r\n\t\t\t\t\t\t\ttransform: scaleX(1);\r\n\t\t\t\t\t\t\ttransform-origin: left;\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\r\n\t\t.main-menu-icons {\r\n\t\t\tflex-shrink: 0;\r\n\t\t\tz-index: 2;\r\n\t\t\tbackground: var(--surface-a);\r\n\t\t\tpadding: 0.25rem 0.75rem;\r\n\t\t\tborder-left: 1px solid var(--surface-d);\r\n\t\t\tdisplay: flex;\r\n\t\t\talign-items: center;\r\n\r\n\t\t\t::v-deep(.p-button) {\r\n\t\t\t\t&.p-button-icon-only .p-button-icon {\r\n\t\t\t\t\tfont-size: 1.35rem;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\ti,\r\n\t\t\tsvg {\r\n\t\t\t\tfont-size: 1.35rem;\r\n\t\t\t\tcolor: var(--secondary-color);\r\n\t\t\t\tpadding: 0.25rem 0.5rem;\r\n\t\t\t\tmargin-right: 0.25rem;\r\n\t\t\t\tcursor: pointer;\r\n\t\t\t}\r\n\r\n\t\t\tsvg {\r\n\t\t\t\tfont-size: 1.35rem;\r\n\t\t\t}\r\n\r\n\t\t\t::v-deep(.p-badge) {\r\n\t\t\t\ttransform: translate(30%, -45%);\r\n\t\t\t\tmin-width: 1.2rem;\r\n\t\t\t\theight: 1.2rem;\r\n\t\t\t\tline-height: 1.2rem;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.main-menu-search {\r\n\t\t\tflex: 0 1 0;\r\n\t\t\tmin-width: 0;\r\n\t\t\twidth: 0;\r\n\t\t\ttransition: all 0.3s ease-in-out;\r\n\t\t\tz-index: 2;\r\n\t\t\tbackground: var(--surface-a);\r\n\r\n\t\t\t.header-search {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t}\r\n\r\n\t\t\t&.searchActive {\r\n\t\t\t\tmin-width: 200px;\r\n\t\t\t\tflex-basis: 100%;\r\n\t\t\t\ttransition: all 0.3s ease-in-out;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n.usp-bar {\r\n\tbackground: #373737;\r\n\r\n\tul {\r\n\t\tdisplay: flex;\r\n\t\tflex: 1;\r\n\t\talign-items: center;\r\n\t\tjustify-content: space-between;\r\n\t\tmargin: 0;\r\n\t\theight: 2.5rem;\r\n\t\tfont-size: 0.8125rem;\r\n\r\n\t\t@media (min-width: 75rem) {\r\n\t\t\tfont-size: 0.9375rem;\r\n\t\t}\r\n\r\n\t\tli {\r\n\t\t\tflex-grow: 1;\r\n\t\t\tcolor: #fff;\r\n\t\t\ttext-overflow: ellipsis;\r\n\t\t\twhite-space: nowrap;\r\n\t\t\tmin-width: 0px;\r\n\t\t\toverflow: hidden;\r\n\t\t\tdisplay: block;\r\n\t\t}\r\n\r\n\t\ta {\r\n\t\t\tcursor: pointer;\r\n\t\t\tcolor: #fff;\r\n\r\n\t\t\t&:hover {\r\n\t\t\t\ttext-decoration: underline;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.usp-text-small {\r\n\t\t\tfont-size: 0.6875rem;\r\n\r\n\t\t\t@media (min-width: 75rem) {\r\n\t\t\t\tfont-size: 0.75rem;\r\n\t\t\t}\r\n\r\n\t\t\tmargin-left: 0.25rem;\r\n\t\t}\r\n\r\n\t\t.usp-icon {\r\n\t\t\tcolor: #fff;\r\n\t\t\tmargin: 0.2rem 0.25rem;\r\n\t\t\tfloat: left;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n.p-inline-message {\r\n\tpadding: 0 0.5rem;\r\n\tmargin-left: 1rem;\r\n\tborder-radius: 3px;\r\n\tbackground: white;\r\n}\r\n\r\n::v-deep(.message-with-button) {\r\n\t.p-message-wrapper {\r\n\t\tpadding: 0.5rem 1rem;\r\n\t}\r\n}\r\n\r\n::v-deep(.fa-layers-counter) {\r\n\tz-index: 1;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\twidth: fit-content;\r\n\tmin-width: 1.2rem;\r\n\theight: 1.2rem;\r\n\tpadding: 0 0.25rem;\r\n\tfont-size: 0.7rem;\r\n\tfont-weight: 500;\r\n\tline-height: inherit;\r\n\tcontent: \"\";\r\n\tbackground-color: var(--primary-color);\r\n\tborder-radius: 0.75rem;\r\n}\r\n\r\n::v-deep(.main-menu-overlay) {\r\n\ttop: 60px !important;\r\n\tright: 0;\r\n\tleft: auto;\r\n}\r\n</style>\r\n","import { resolveComponent as _resolveComponent, createVNode as _createVNode, withKeys as _withKeys, createElementVNode as _createElementVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, Fragment as _Fragment, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-c0b20862\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"d-flex\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_InputText = _resolveComponent(\"InputText\")!\n const _component_Inplace = _resolveComponent(\"Inplace\")!\n const _component_font_awesome_icon = _resolveComponent(\"font-awesome-icon\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (!_ctx.layoutStore.isImpersonated)\n ? (_openBlock(), _createBlock(_component_Inplace, {\n key: 0,\n class: \"\"\n }, {\n display: _withCtx(() => [\n _createVNode(_component_Button, {\n class: \"p-button-outlined p-button-sm\",\n label: _ctx.$t('menu.button.impersonateUser')\n }, null, 8, [\"label\"])\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createVNode(_component_InputText, {\n modelValue: _ctx.impersonationUserName,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.impersonationUserName) = $event)),\n class: \"mr-1 username-input\",\n name: \"userName\",\n placeholder: _ctx.$t('menu.impersonateUser_placeholder'),\n type: \"email\",\n onKeyup: _cache[1] || (_cache[1] = _withKeys(($event: any) => (_ctx.impersonateUser()), [\"enter\"]))\n }, null, 8, [\"modelValue\", \"placeholder\"]),\n _createVNode(_component_Button, {\n class: \"p-button-outlined p-button-sm\",\n disabled: !_ctx.impersonationUserName,\n label: _ctx.$t('common.login'),\n icon: _ctx.isValidInput() ? 'pi pi-check' : '',\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.impersonateUser()))\n }, null, 8, [\"disabled\", \"label\", \"icon\"])\n ])\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Button, {\n class: _normalizeClass([\"p-button-text p-button-rounded\", { 'p-button-info': _ctx.layoutStore.isImpersonated }]),\n title: _ctx.$t('menu.button.refreshUserData_title'),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.refreshUserInfo()))\n }, {\n default: _withCtx(() => [\n _createVNode(_component_font_awesome_icon, {\n icon: ['far', 'rotate-right'],\n size: \"lg\"\n })\n ]),\n _: 1\n }, 8, [\"class\", \"title\"]),\n (_ctx.layoutStore.isImpersonated)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-text p-button-rounded p-button-info\",\n title: _ctx.$t('menu.button.cancelImpersonation_title'),\n onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.cancelImpersonation()))\n }, {\n default: _withCtx(() => [\n _createVNode(_component_font_awesome_icon, {\n icon: ['far', 'arrow-right-from-bracket'],\n size: \"lg\"\n })\n ]),\n _: 1\n }, 8, [\"title\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<Inplace v-if=\"!layoutStore.isImpersonated\" class=\"\">\r\n\t\t<template #display>\r\n\t\t\t<Button class=\"p-button-outlined p-button-sm\" :label=\"$t('menu.button.impersonateUser')\" />\r\n\t\t</template>\r\n\t\t<template #content>\r\n\t\t\t<div class=\"d-flex\">\r\n\t\t\t\t<InputText\r\n\t\t\t\t\tv-model=\"impersonationUserName\"\r\n\t\t\t\t\tclass=\"mr-1 username-input\"\r\n\t\t\t\t\tname=\"userName\"\r\n\t\t\t\t\t:placeholder=\"$t('menu.impersonateUser_placeholder')\"\r\n\t\t\t\t\ttype=\"email\"\r\n\t\t\t\t\t@keyup.enter=\"impersonateUser()\"\r\n\t\t\t\t/>\r\n\t\t\t\t<Button\r\n\t\t\t\t\tclass=\"p-button-outlined p-button-sm\"\r\n\t\t\t\t\t:disabled=\"!impersonationUserName\"\r\n\t\t\t\t\t:label=\"$t('common.login')\"\r\n\t\t\t\t\t:icon=\"isValidInput() ? 'pi pi-check' : ''\"\r\n\t\t\t\t\t@click=\"impersonateUser()\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t</Inplace>\r\n\r\n\t<Button\r\n\t\tclass=\"p-button-text p-button-rounded\"\r\n\t\t:class=\"{ 'p-button-info': layoutStore.isImpersonated }\"\r\n\t\t:title=\"$t('menu.button.refreshUserData_title')\"\r\n\t\t@click=\"refreshUserInfo()\"\r\n\t>\r\n\t\t<font-awesome-icon :icon=\"['far', 'rotate-right']\" size=\"lg\" />\r\n\t</Button>\r\n\t<Button\r\n\t\tv-if=\"layoutStore.isImpersonated\"\r\n\t\tclass=\"p-button-text p-button-rounded p-button-info\"\r\n\t\t:title=\"$t('menu.button.cancelImpersonation_title')\"\r\n\t\t@click=\"cancelImpersonation()\"\r\n\t>\r\n\t\t<font-awesome-icon :icon=\"['far', 'arrow-right-from-bracket']\" size=\"lg\" />\r\n\t</Button>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component } from \"vue-facing-decorator\";\r\n\r\n@Component\r\nexport default class ImpersonationForm extends BaseComponent {\r\n\timpersonationUserName = \"\";\r\n\r\n\t/** Input can be an email address or an order number [ORD123...] If correct only shows icon checkmark in button */\r\n isValidInput() {\r\n\t\tconst emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/;\r\n\t\tconst orderNumberPattern = /^ORD\\d+$/;\r\n\t\treturn (emailPattern.test(this.impersonationUserName) || orderNumberPattern.test(this.impersonationUserName));\r\n\t}\r\n\r\n\timpersonateUser(): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tlocalStorage.setItem(\"showedCompanyModal\", \"false\");\r\n\t\twindow.location.href = `/MyCadacStore/ImpersonateUser?userName=${this.impersonationUserName}`;\r\n\t}\r\n\r\n\tcancelImpersonation(): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\twindow.location.href = `/MyCadacStore/RevertImpersonation`;\r\n\t}\r\n\r\n\trefreshUserInfo(): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\twindow.location.href = `/MyCadacStore/RefreshUser`;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.username-input {\r\n\twidth: clamp(250px, 300px, 350px);\r\n}\r\n</style>\r\n","import { render } from \"./impersonationForm.vue?vue&type=template&id=c0b20862&scoped=true&ts=true\"\nimport script from \"./impersonationForm.vue?vue&type=script&lang=ts\"\nexport * from \"./impersonationForm.vue?vue&type=script&lang=ts\"\n\nimport \"./impersonationForm.vue?vue&type=style&index=0&id=c0b20862&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-c0b20862\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createBlock as _createBlock, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-513c3e35\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"personal-overview d-flex flex-column\"\n}\nconst _hoisted_2 = { class: \"logged-in-user-text mb-0 px-1\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"mb-0 px-1 text-info\"\n}\nconst _hoisted_4 = [\"href\", \"title\"]\nconst _hoisted_5 = {\n key: 1,\n class: \"mb-0 px-1 text-info\"\n}\nconst _hoisted_6 = [\"href\", \"title\"]\nconst _hoisted_7 = { class: \"wallet-text pr-1\" }\nconst _hoisted_8 = { class: \"d-block\" }\nconst _hoisted_9 = { class: \"d-block text-fade\" }\nconst _hoisted_10 = {\n key: 0,\n class: \"mb-0 d-block text-break\"\n}\nconst _hoisted_11 = { class: \"wallet-text pr-1\" }\nconst _hoisted_12 = {\n key: 0,\n class: \"d-block\"\n}\nconst _hoisted_13 = {\n key: 1,\n class: \"d-block text-fade\"\n}\nconst _hoisted_14 = {\n key: 1,\n class: \"mb-0 d-block text-break\"\n}\nconst _hoisted_15 = {\n key: 3,\n class: \"d-flex flex-column\"\n}\nconst _hoisted_16 = {\n key: 4,\n class: \"d-flex flex-column\"\n}\nconst _hoisted_17 = {\n key: 1,\n class: \"d-flex flex-column\"\n}\nconst _hoisted_18 = { class: \"p-1\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_Divider = _resolveComponent(\"Divider\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_font_awesome_icon = _resolveComponent(\"font-awesome-icon\")!\n\n return (_ctx.layoutStore.isAuthenticated)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"p\", _hoisted_2, [\n (_ctx.layoutStore.isImpersonated)\n ? (_openBlock(), _createBlock(_component_i18n_t, {\n key: 0,\n keypath: \"menu.loggedInAsCustomer\"\n }, {\n user: _withCtx(() => [\n (_ctx.vm.impersonatedUser?.firstName)\n ? (_openBlock(), _createElementBlock(\"b\", _hoisted_3, [\n _createElementVNode(\"a\", {\n class: \"d-block\",\n href: _ctx.vm?.impersonatedUser?.crmUrl,\n target: \"_blank\",\n title: _ctx.$t('common.goToCrm')\n }, _toDisplayString(_ctx.vm.impersonatedUser?.firstName) + \" \" + _toDisplayString(_ctx.vm.impersonatedUser?.lastName), 9, _hoisted_4)\n ]))\n : (_openBlock(), _createElementBlock(\"b\", _hoisted_5, [\n _createElementVNode(\"a\", {\n class: \"d-block text-break\",\n href: _ctx.vm?.impersonatedUser?.crmUrl,\n target: \"_blank\",\n title: _ctx.$t('common.goToCrm')\n }, _toDisplayString(_ctx.vm.impersonatedUser?.displayName), 9, _hoisted_6)\n ])),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"small\", _hoisted_8, _toDisplayString(_ctx.vm.currentUser?.company?.companyName), 1),\n _createElementVNode(\"small\", _hoisted_9, _toDisplayString(_ctx.vm.currentUser?.company?.cadacOrganizationCode), 1)\n ])\n ]),\n _: 1\n }))\n : (_openBlock(), _createBlock(_component_i18n_t, {\n key: 1,\n keypath: \"menu.loggedInAs\"\n }, {\n user: _withCtx(() => [\n (_ctx.vm.currentUser?.firstName)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.vm.currentUser?.firstName) + \" \" + _toDisplayString(_ctx.vm.currentUser?.lastName), 1),\n (_ctx.vm.currentUser?.isEmailVerified)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_12, _toDisplayString(_ctx.vm.currentUser?.company?.companyName), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.currentUser?.isEmailVerified)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_13, _toDisplayString(_ctx.vm.currentUser?.company?.cadacOrganizationCode), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"b\", _hoisted_14, _toDisplayString(_ctx.vm.currentUser?.displayName), 1))\n ]),\n _: 1\n }))\n ]),\n _createVNode(_component_Divider),\n (_ctx.vm.myCadacPageUrl && !_ctx.shouldVerifyEmail)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-primary p-button-raised ml-1 mb-2\",\n icon: \"pi pi-arrow-right ml-2\",\n \"icon-pos\": \"right\",\n label: _ctx.$t('menu.button.myCadac'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.onGoToMyCadacClick()))\n }, null, 8, [\"label\"]))\n : (_ctx.vm.myCadacPageUrl)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-success p-button-raised ml-1 mb-2\",\n icon: \"pi pi-arrow-right ml-2\",\n \"icon-pos\": \"right\",\n label: _ctx.$t('menu.button.verifyEmail'),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onGoToMyCadacClick()))\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.organizationOptions?.length > 1)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 2,\n class: \"p-button-secondary p-button-rounded p-button-text ml-0\",\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.onChangeCompanyClick()))\n }, {\n default: _withCtx(() => [\n _createVNode(_component_font_awesome_icon, {\n class: \"mr-1\",\n icon: ['far', 'arrow-right-arrow-left']\n }),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(\"menu.button.changeOrganisation\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (!_ctx.layoutStore.isImpersonated)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n _createVNode(_component_Button, {\n class: \"p-button-secondary p-button-rounded p-button-text\",\n label: _ctx.$t('menu.button.logout'),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.onLogoutClick()))\n }, {\n default: _withCtx(() => [\n _createVNode(_component_font_awesome_icon, {\n class: \"mr-1\",\n icon: ['far', 'arrow-right-from-bracket']\n }),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(\"menu.button.logout\")), 1)\n ]),\n _: 1\n }, 8, [\"label\"])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_16, [\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-rounded font-weight-normal ml-0\",\n title: _ctx.$t('menu.button.refreshUserData_title'),\n onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.refreshUserInfo()))\n }, {\n default: _withCtx(() => [\n _createVNode(_component_font_awesome_icon, {\n class: \"mr-1\",\n icon: ['far', 'rotate-right'],\n size: \"lg\"\n }),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(\"menu.button.refreshUserData_title\")), 1)\n ]),\n _: 1\n }, 8, [\"title\"]),\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-rounded p-button-secondary ml-0\",\n title: _ctx.$t('menu.button.cancelImpersonation_title'),\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.cancelImpersonation()))\n }, {\n default: _withCtx(() => [\n _createVNode(_component_font_awesome_icon, {\n class: \"mr-1\",\n icon: ['far', 'arrow-right-from-bracket'],\n size: \"lg\"\n }),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(\"menu.button.cancelImpersonation_title\")), 1)\n ]),\n _: 1\n }, 8, [\"title\"])\n ]))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createElementVNode(\"p\", _hoisted_18, _toDisplayString(_ctx.$t(\"menu.youAreNotLoggedIn\")), 1),\n _createVNode(_component_Button, {\n class: \"p-button-success p-button-raised ml-1 mb-1\",\n label: _ctx.$t('common.login'),\n onClick: _cache[6] || (_cache[6] = ($event: any) => (_ctx.onLoginClick()))\n }, null, 8, [\"label\"]),\n _createVNode(_component_Button, {\n class: \"p-button-text ml-1 mb-1\",\n label: _ctx.$t('common.register'),\n onClick: _cache[7] || (_cache[7] = ($event: any) => (_ctx.onCreateAccountClick()))\n }, null, 8, [\"label\"])\n ]))\n}","<template>\r\n\t<div v-if=\"layoutStore.isAuthenticated\" class=\"personal-overview d-flex flex-column\">\r\n\t\t<p class=\"logged-in-user-text mb-0 px-1\">\r\n\t\t\t<i18n-t v-if=\"layoutStore.isImpersonated\" keypath=\"menu.loggedInAsCustomer\">\r\n\t\t\t\t<template #user>\r\n\t\t\t\t\t<b v-if=\"vm.impersonatedUser?.firstName\" class=\"mb-0 px-1 text-info\">\r\n\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\tclass=\"d-block\"\r\n\t\t\t\t\t\t\t:href=\"vm?.impersonatedUser?.crmUrl\"\r\n\t\t\t\t\t\t\ttarget=\"_blank\"\r\n\t\t\t\t\t\t\t:title=\"$t('common.goToCrm')\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{{ vm.impersonatedUser?.firstName }} {{ vm.impersonatedUser?.lastName }}\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t</b>\r\n\t\t\t\t\t<b v-else class=\"mb-0 px-1 text-info\">\r\n\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\tclass=\"d-block text-break\"\r\n\t\t\t\t\t\t\t:href=\"vm?.impersonatedUser?.crmUrl\"\r\n\t\t\t\t\t\t\ttarget=\"_blank\"\r\n\t\t\t\t\t\t\t:title=\"$t('common.goToCrm')\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{{ vm.impersonatedUser?.displayName }}\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t</b>\r\n\t\t\t\t\t<div class=\"wallet-text pr-1\">\r\n\t\t\t\t\t\t<small class=\"d-block\">{{ vm.currentUser?.company?.companyName }}</small>\r\n\t\t\t\t\t\t<small class=\"d-block text-fade\">{{\r\n\t\t\t\t\t\t\tvm.currentUser?.company?.cadacOrganizationCode\r\n\t\t\t\t\t\t}}</small>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</i18n-t>\r\n\t\t\t<i18n-t v-else keypath=\"menu.loggedInAs\">\r\n\t\t\t\t<template #user>\r\n\t\t\t\t\t<div v-if=\"vm.currentUser?.firstName\" class=\"mb-0 d-block text-break\">\r\n\t\t\t\t\t\t<div class=\"wallet-text pr-1\">\r\n\t\t\t\t\t\t\t<b>{{ vm.currentUser?.firstName }} {{ vm.currentUser?.lastName }}</b>\r\n\t\t\t\t\t\t\t<small v-if=\"vm.currentUser?.isEmailVerified\" class=\"d-block\">{{\r\n\t\t\t\t\t\t\t\tvm.currentUser?.company?.companyName\r\n\t\t\t\t\t\t\t}}</small>\r\n\t\t\t\t\t\t\t<small v-if=\"vm.currentUser?.isEmailVerified\" class=\"d-block text-fade\">{{\r\n\t\t\t\t\t\t\t\tvm.currentUser?.company?.cadacOrganizationCode\r\n\t\t\t\t\t\t\t}}</small>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<b v-else class=\"mb-0 d-block text-break\"> {{ vm.currentUser?.displayName }} </b>\r\n\t\t\t\t</template>\r\n\t\t\t</i18n-t>\r\n\t\t</p>\r\n\r\n\t\t<Divider />\r\n\r\n\t\t<Button\r\n\t\t\tv-if=\"vm.myCadacPageUrl && !shouldVerifyEmail\"\r\n\t\t\tclass=\"p-button-primary p-button-raised ml-1 mb-2\"\r\n\t\t\ticon=\"pi pi-arrow-right ml-2\"\r\n\t\t\ticon-pos=\"right\"\r\n\t\t\t:label=\"$t('menu.button.myCadac')\"\r\n\t\t\t@click=\"onGoToMyCadacClick()\"\r\n\t\t/>\r\n\t\t<Button\r\n\t\t\tv-else-if=\"vm.myCadacPageUrl\"\r\n\t\t\tclass=\"p-button-success p-button-raised ml-1 mb-2\"\r\n\t\t\ticon=\"pi pi-arrow-right ml-2\"\r\n\t\t\ticon-pos=\"right\"\r\n\t\t\t:label=\"$t('menu.button.verifyEmail')\"\r\n\t\t\t@click=\"onGoToMyCadacClick()\"\r\n\t\t/>\r\n\t\t<Button\r\n\t\t\tv-if=\"vm.organizationOptions?.length > 1\"\r\n\t\t\tclass=\"p-button-secondary p-button-rounded p-button-text ml-0\"\r\n\t\t\t@click=\"onChangeCompanyClick()\"\r\n\t\t>\r\n\t\t\t<font-awesome-icon class=\"mr-1\" :icon=\"['far', 'arrow-right-arrow-left']\" />\r\n\t\t\t<span>{{ $t(\"menu.button.changeOrganisation\") }}</span>\r\n\t\t</Button>\r\n\r\n\t\t<div v-if=\"!layoutStore.isImpersonated\" class=\"d-flex flex-column\">\r\n\t\t\t<Button\r\n\t\t\t\tclass=\"p-button-secondary p-button-rounded p-button-text\"\r\n\t\t\t\t:label=\"$t('menu.button.logout')\"\r\n\t\t\t\t@click=\"onLogoutClick()\"\r\n\t\t\t>\r\n\t\t\t\t<font-awesome-icon class=\"mr-1\" :icon=\"['far', 'arrow-right-from-bracket']\" />\r\n\t\t\t\t<span>{{ $t(\"menu.button.logout\") }}</span>\r\n\t\t\t</Button>\r\n\t\t</div>\r\n\t\t<div v-else class=\"d-flex flex-column\">\r\n\t\t\t<Button\r\n\t\t\t\tclass=\"p-button-text p-button-rounded font-weight-normal ml-0\"\r\n\t\t\t\t:title=\"$t('menu.button.refreshUserData_title')\"\r\n\t\t\t\t@click=\"refreshUserInfo()\"\r\n\t\t\t>\r\n\t\t\t\t<font-awesome-icon class=\"mr-1\" :icon=\"['far', 'rotate-right']\" size=\"lg\" />\r\n\t\t\t\t<span>{{ $t(\"menu.button.refreshUserData_title\") }}</span>\r\n\t\t\t</Button>\r\n\t\t\t<Button\r\n\t\t\t\tclass=\"p-button-text p-button-rounded p-button-secondary ml-0\"\r\n\t\t\t\t:title=\"$t('menu.button.cancelImpersonation_title')\"\r\n\t\t\t\t@click=\"cancelImpersonation()\"\r\n\t\t\t>\r\n\t\t\t\t<font-awesome-icon class=\"mr-1\" :icon=\"['far', 'arrow-right-from-bracket']\" size=\"lg\" />\r\n\t\t\t\t<span>{{ $t(\"menu.button.cancelImpersonation_title\") }}</span>\r\n\t\t\t</Button>\r\n\t\t</div>\r\n\t</div>\r\n\t<div v-else class=\"d-flex flex-column\">\r\n\t\t<p class=\"p-1\">{{ $t(\"menu.youAreNotLoggedIn\") }}</p>\r\n\t\t<Button\r\n\t\t\tclass=\"p-button-success p-button-raised ml-1 mb-1\"\r\n\t\t\t:label=\"$t('common.login')\"\r\n\t\t\t@click=\"onLoginClick()\"\r\n\t\t/>\r\n\t\t<Button class=\"p-button-text ml-1 mb-1\" :label=\"$t('common.register')\" @click=\"onCreateAccountClick()\" />\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport Divider from \"primevue/divider\";\r\nimport OverlayPanel from \"primevue/overlaypanel\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component } from \"vue-facing-decorator\";\r\nimport { IMainLayout } from \"@/types/viewModels/common/mainLayoutViewModel\";\r\n\r\n@Component({\r\n\tcomponents: { OverlayPanel, Divider },\r\n})\r\nexport default class MainUserMenu extends BaseComponent {\r\n\tget vm(): IMainLayout {\r\n\t\treturn this.layoutStore.vm as IMainLayout;\r\n\t}\r\n\r\n\tget shouldVerifyEmail(): boolean {\r\n\t\treturn !this.layoutStore.isImpersonated && !this.layoutStore.vm.currentUser.isEmailVerified;\r\n\t}\r\n\r\n\tasync onLoginClick(): Promise<void> {\r\n\t\tawait localStorage.setItem(\"showedCompanyModal\", \"false\");\r\n\t\tthis.openUrl(this.loginPageUrl);\r\n\t}\r\n\r\n\tonCreateAccountClick(): void {\r\n\t\tthis.openUrl(this.registerPageUrl);\r\n\t}\r\n\r\n\tasync onLogoutClick(): Promise<void> {\r\n\t\tawait localStorage.setItem(\"showedCompanyModal\", \"false\");\r\n\t\twindow.location.href = \"/MyCadacStore/Logout\";\r\n\t}\r\n\r\n\tonGoToMyCadacClick(): void {\r\n\t\tthis.openUrl(this.vm.myCadacPageUrl);\r\n\t}\r\n\r\n\tonGoToAccountSettingsClick(): void {\r\n\t\tthis.openUrl(this.vm.accountSettingsPageUrl);\r\n\t}\r\n\r\n\tonChangeCompanyClick(): void {\r\n\t\tthis.layoutStore.showModal(\"ChangeCompany\");\r\n\t}\r\n\r\n\tcancelImpersonation(): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\twindow.location.href = `/MyCadacStore/RevertImpersonation`;\r\n\t}\r\n\r\n\trefreshUserInfo(): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\twindow.location.href = `/MyCadacStore/RefreshUser`;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.personal-overview {\r\n\t.badge {\r\n\t\tbackground: var(--primary-color);\r\n\t\tcolor: var(--primary-color-text);\r\n\t\tfont-size: 0.9rem;\r\n\t\tborder-radius: 3rem;\r\n\t}\r\n\r\n\t.p-button {\r\n\t\twidth: fit-content;\r\n\t}\r\n\r\n\t.p-button-secondary {\r\n\t\tfont-size: 1.05rem;\r\n\t\tfont-weight: 400;\r\n\t}\r\n\r\n\t.logged-in-user-text {\r\n\t\tfont-size: 1.3rem;\r\n\t}\r\n\r\n\t.wallet-text {\r\n\t\tfont-size: 1.3rem;\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./mainUserMenu.vue?vue&type=template&id=513c3e35&scoped=true&ts=true\"\nimport script from \"./mainUserMenu.vue?vue&type=script&lang=ts\"\nexport * from \"./mainUserMenu.vue?vue&type=script&lang=ts\"\n\nimport \"./mainUserMenu.vue?vue&type=style&index=0&id=513c3e35&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-513c3e35\"]])\n\nexport default __exports__","import { render } from \"./mainMenuBar.vue?vue&type=template&id=5590f9d2&scoped=true&ts=true\"\nimport script from \"./mainMenuBar.vue?vue&type=script&lang=ts\"\nexport * from \"./mainMenuBar.vue?vue&type=script&lang=ts\"\n\nimport \"./mainMenuBar.vue?vue&type=style&index=0&id=5590f9d2&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5590f9d2\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, resolveDirective as _resolveDirective, createElementVNode as _createElementVNode, withDirectives as _withDirectives, normalizeClass as _normalizeClass, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementBlock as _createElementBlock, Fragment as _Fragment, renderList as _renderList, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-37e5a6d8\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n ref: \"mainMenu\",\n class: \"main-menu\"\n}\nconst _hoisted_2 = { class: \"button-container pl-1\" }\nconst _hoisted_3 = { class: \"main-menu-logo-mobile\" }\nconst _hoisted_4 = { class: \"button-container justify-content-end\" }\nconst _hoisted_5 = { class: \"main-menu-icons d-flex justify-content-center\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"w-100 hidden-print\"\n}\nconst _hoisted_7 = { class: \"usp-bar-item\" }\nconst _hoisted_8 = [\"href\"]\nconst _hoisted_9 = { class: \"usp-text-small\" }\nconst _hoisted_10 = { class: \"usp-text-small\" }\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"svg\", {\n height: \"46.45\",\n width: \"253.08\"\n}, [\n /*#__PURE__*/_createElementVNode(\"use\", { \"xlink:href\": \"#main-logo\" })\n], -1))\nconst _hoisted_12 = { class: \"sidebar\" }\nconst _hoisted_13 = { class: \"main-list p-1 mb-0\" }\nconst _hoisted_14 = [\"href\", \"title\"]\nconst _hoisted_15 = { class: \"sub-list p-1 mb-0\" }\nconst _hoisted_16 = [\"href\", \"title\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_font_awesome_icon = _resolveComponent(\"font-awesome-icon\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_font_awesome_layers_text = _resolveComponent(\"font-awesome-layers-text\")!\n const _component_font_awesome_layers = _resolveComponent(\"font-awesome-layers\")!\n const _component_Carousel = _resolveComponent(\"Carousel\")!\n const _component_Divider = _resolveComponent(\"Divider\")!\n const _component_LanguageDropdown = _resolveComponent(\"LanguageDropdown\")!\n const _component_Sidebar = _resolveComponent(\"Sidebar\")!\n const _component_MainSearchBar = _resolveComponent(\"MainSearchBar\")!\n const _component_OverlayPanel = _resolveComponent(\"OverlayPanel\")!\n const _component_MainUserMenu = _resolveComponent(\"MainUserMenu\")!\n const _component_ChangeCompanyModal = _resolveComponent(\"ChangeCompanyModal\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"nav\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"menu-bar\", { 'border-bottom': _ctx.isMenuCollapsed, 'px-1': _ctx.isTablet }])\n }, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-primary p-button-rounded\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.isMenuCollapsed = !_ctx.isMenuCollapsed))\n }, {\n default: _withCtx(() => [\n _createVNode(_component_font_awesome_icon, {\n icon: ['far', 'bars'],\n size: \"lg\"\n })\n ]),\n _: 1\n }),\n _createElementVNode(\"div\", _hoisted_3, [\n _withDirectives(_createElementVNode(\"img\", {\n style: {\"cursor\":\"pointer\"},\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.openUrl(_ctx.layoutStore.vm.homePageUrl)))\n }, null, 512), [\n [_directive_lazy, '/Static/images/cadacgroup-logo-mobile.svg']\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createVNode(_component_font_awesome_icon, {\n class: _normalizeClass({ 'text-primary': _ctx.layoutStore.showSearchBar }),\n icon: ['far', 'magnifying-glass'],\n title: _ctx.$t('menu.button.search_title'),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.onSearchToggle($event)))\n }, null, 8, [\"class\", \"title\"]),\n (_ctx.layoutStore.vm.itemsInCart)\n ? (_openBlock(), _createBlock(_component_font_awesome_layers, {\n key: 0,\n class: \"fa-fw fa-2x\",\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.onCartClick()))\n }, {\n default: _withCtx(() => [\n _createVNode(_component_font_awesome_icon, {\n icon: ['far', 'cart-shopping'],\n title: _ctx.$t('menu.button.cart_title')\n }, null, 8, [\"title\"]),\n _createVNode(_component_font_awesome_layers_text, {\n class: \"fa-layers-counter\",\n transform: \"up-1 right-15\",\n value: _ctx.layoutStore.vm.itemsInCart\n }, null, 8, [\"value\"])\n ]),\n _: 1\n }))\n : (_openBlock(), _createBlock(_component_font_awesome_icon, {\n key: 1,\n icon: ['far', 'cart-shopping'],\n title: _ctx.$t('menu.button.cartEmpty_title')\n }, null, 8, [\"title\"])),\n _createVNode(_component_font_awesome_icon, {\n icon: _ctx.layoutStore.isAuthenticated ? ['fas', 'circle-user'] : ['fas', 'user'],\n title: _ctx.$t('menu.button.userMenu_title'),\n onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.onToggleUserMenuClick($event)))\n }, null, 8, [\"icon\", \"title\"])\n ])\n ])\n ], 2)\n ], 512),\n (_ctx.layoutStore.vm.uspBlock.items && \r\n\t\t _ctx.layoutStore.vm.uspBlock.items.length && \r\n\t\t _ctx.layoutStore.vm.uspBlock.isVisible)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode(_component_Carousel, {\n \"autoplay-interval\": 5000,\n circular: \"\",\n class: \"usp-bar\",\n \"num-scroll\": 2,\n \"num-visible\": 2,\n \"responsive-options\": _ctx.responsiveOptions,\n \"show-indicators\": false,\n \"show-navigators\": false,\n value: _ctx.layoutStore.vm.uspBlock.items\n }, {\n item: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_7, [\n (item.data.uspCollectionLink)\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 0,\n href: item.data.uspCollectionLink.url\n }, [\n _createVNode(_component_font_awesome_icon, {\n class: \"usp-icon\",\n icon: item.data.uspIcon\n }, null, 8, [\"icon\"]),\n _createTextVNode(\" \" + _toDisplayString(item.data.uspCollectionTitle) + \" \", 1),\n _createElementVNode(\"span\", _hoisted_9, _toDisplayString(item.data.uspSubText), 1)\n ], 8, _hoisted_8))\n : _createCommentVNode(\"\", true),\n (!item.data.uspCollectionLink)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createVNode(_component_font_awesome_icon, {\n class: \"usp-icon\",\n icon: item.data.uspIcon\n }, null, 8, [\"icon\"]),\n _createTextVNode(\" \" + _toDisplayString(item.data.uspCollectionTitle) + \" \", 1),\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(item.data.uspSubText), 1)\n ], 64))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n }, 8, [\"responsive-options\", \"value\"])\n ]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Sidebar, {\n visible: _ctx.isMenuCollapsed,\n \"onUpdate:visible\": _cache[5] || (_cache[5] = ($event: any) => ((_ctx.isMenuCollapsed) = $event)),\n \"base-z-index\": 1000,\n dismissable: true,\n position: _ctx.isTablet ? 'left' : 'full',\n \"show-close-icon\": true\n }, {\n header: _withCtx(() => [\n _hoisted_11\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"ul\", _hoisted_13, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.layoutStore.vm.mainMenuItems, (menuItem) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: menuItem,\n class: \"p-ripple h4\"\n }, [\n _createElementVNode(\"a\", {\n href: menuItem.url,\n title: menuItem.title\n }, _toDisplayString(menuItem.label), 9, _hoisted_14)\n ]))\n }), 128))\n ]),\n _createVNode(_component_Divider),\n _createElementVNode(\"ul\", _hoisted_15, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.layoutStore.vm.subMenuItems, (menuItem) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: menuItem,\n class: \"p-ripple h6\"\n }, [\n _createElementVNode(\"a\", {\n href: menuItem.url,\n title: menuItem.title\n }, _toDisplayString(menuItem.label), 9, _hoisted_16)\n ]))\n }), 128))\n ]),\n _createVNode(_component_LanguageDropdown, {\n languages: _ctx.layoutStore.vm.availableLanguageOptions,\n \"update-cookie\": \"\",\n \"use-full-width\": \"\"\n }, null, 8, [\"languages\"])\n ])\n ]),\n _: 1\n }, 8, [\"visible\", \"position\"]),\n _createVNode(_component_OverlayPanel, {\n ref: \"searchMenuPanel\",\n \"append-to\": \".main-menu\",\n breakpoints: { '960px': '75vw', '640px': '100vw' },\n class: \"main-menu-overlay\",\n style: { width: '450px' }\n }, {\n default: _withCtx(() => [\n _createVNode(_component_MainSearchBar, {\n vm: _ctx.layoutStore.vm\n }, null, 8, [\"vm\"])\n ]),\n _: 1\n }, 512),\n _createVNode(_component_OverlayPanel, {\n ref: \"userMenuPanel\",\n \"append-to\": \".main-menu\",\n class: \"main-menu-overlay\",\n dismissable: true,\n \"show-close-icon\": false\n }, {\n default: _withCtx(() => [\n _createVNode(_component_MainUserMenu, {\n vm: _ctx.layoutStore.vm\n }, null, 8, [\"vm\"])\n ]),\n _: 1\n }, 512),\n (_ctx.layoutStore.changeCompanyModalVisible)\n ? (_openBlock(), _createBlock(_component_ChangeCompanyModal, {\n key: 1,\n vm: _ctx.layoutStore.vm.organizationOptions\n }, null, 8, [\"vm\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<nav ref=\"mainMenu\" class=\"main-menu\">\r\n\t\t<div class=\"menu-bar\" :class=\"{ 'border-bottom': isMenuCollapsed, 'px-1': isTablet }\">\r\n\t\t\t<div class=\"button-container pl-1\">\r\n\t\t\t\t<Button\r\n\t\t\t\t\tclass=\"p-button-text p-button-primary p-button-rounded\"\r\n\t\t\t\t\t@click=\"isMenuCollapsed = !isMenuCollapsed\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<font-awesome-icon :icon=\"['far', 'bars']\" size=\"lg\" />\r\n\t\t\t\t</Button>\r\n\t\t\t\t<div class=\"main-menu-logo-mobile\">\r\n\t\t\t\t\t<img\r\n\t\t\t\t\t\tv-lazy=\"'/Static/images/cadacgroup-logo-mobile.svg'\"\r\n\t\t\t\t\t\tstyle=\"cursor: pointer\"\r\n\t\t\t\t\t\t@click=\"openUrl(layoutStore.vm.homePageUrl)\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"button-container justify-content-end\">\r\n\t\t\t\t<div class=\"main-menu-icons d-flex justify-content-center\">\r\n\t\t\t\t\t<font-awesome-icon\r\n\t\t\t\t\t\t:class=\"{ 'text-primary': layoutStore.showSearchBar }\"\r\n\t\t\t\t\t\t:icon=\"['far', 'magnifying-glass']\"\r\n\t\t\t\t\t\t:title=\"$t('menu.button.search_title')\"\r\n\t\t\t\t\t\t@click=\"onSearchToggle($event)\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<font-awesome-layers\r\n\t\t\t\t\t\tv-if=\"layoutStore.vm.itemsInCart\"\r\n\t\t\t\t\t\tclass=\"fa-fw fa-2x\"\r\n\t\t\t\t\t\t@click=\"onCartClick()\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<font-awesome-icon\r\n\t\t\t\t\t\t\t:icon=\"['far', 'cart-shopping']\"\r\n\t\t\t\t\t\t\t:title=\"$t('menu.button.cart_title')\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<font-awesome-layers-text\r\n\t\t\t\t\t\t\tclass=\"fa-layers-counter\"\r\n\t\t\t\t\t\t\ttransform=\"up-1 right-15\"\r\n\t\t\t\t\t\t\t:value=\"layoutStore.vm.itemsInCart\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</font-awesome-layers>\r\n\t\t\t\t\t<font-awesome-icon\r\n\t\t\t\t\t\tv-else\r\n\t\t\t\t\t\t:icon=\"['far', 'cart-shopping']\"\r\n\t\t\t\t\t\t:title=\"$t('menu.button.cartEmpty_title')\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<font-awesome-icon\r\n\t\t\t\t\t\t:icon=\"layoutStore.isAuthenticated ? ['fas', 'circle-user'] : ['fas', 'user']\"\r\n\t\t\t\t\t\t:title=\"$t('menu.button.userMenu_title')\"\r\n\t\t\t\t\t\t@click=\"onToggleUserMenuClick($event)\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</nav>\r\n\t<div\r\n\t\t v-if=\"layoutStore.vm.uspBlock.items && \r\n\t\t layoutStore.vm.uspBlock.items.length && \r\n\t\t layoutStore.vm.uspBlock.isVisible\"\r\n\t\t class=\"w-100 hidden-print\"\r\n\t >\r\n\t\t<Carousel\r\n\t\t\t:autoplay-interval=\"5000\"\r\n\t\t\tcircular\r\n\t\t\tclass=\"usp-bar\"\r\n\t\t\t:num-scroll=\"2\"\r\n\t\t\t:num-visible=\"2\"\r\n\t\t\t:responsive-options=\"responsiveOptions\"\r\n\t\t\t:show-indicators=\"false\"\r\n\t\t\t:show-navigators=\"false\"\r\n\t\t\t:value=\"layoutStore.vm.uspBlock.items\"\r\n\t\t>\r\n\t\t\t<template #item=\"item\">\r\n\t\t\t\t<div class=\"usp-bar-item\">\r\n\t\t\t\t\t<template v-if=\"item.data.uspCollectionLink\">\r\n\t\t\t\t\t\t<a :href=\"item.data.uspCollectionLink.url\">\r\n\t\t\t\t\t\t\t<font-awesome-icon class=\"usp-icon\" :icon=\"item.data.uspIcon\" />\r\n\t\t\t\t\t\t\t{{ item.data.uspCollectionTitle }}\r\n\t\t\t\t\t\t\t<span class=\"usp-text-small\">{{ item.data.uspSubText }}</span>\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template v-if=\"!item.data.uspCollectionLink\">\r\n\t\t\t\t\t\t<font-awesome-icon class=\"usp-icon\" :icon=\"item.data.uspIcon\" />\r\n\t\t\t\t\t\t{{ item.data.uspCollectionTitle }}\r\n\t\t\t\t\t\t<span class=\"usp-text-small\">{{ item.data.uspSubText }}</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t</Carousel>\r\n\t</div>\r\n\r\n\t<Sidebar\r\n\t\tv-model:visible=\"isMenuCollapsed\"\r\n\t\t:base-z-index=\"1000\"\r\n\t\t:dismissable=\"true\"\r\n\t\t:position=\"isTablet ? 'left' : 'full'\"\r\n\t\t:show-close-icon=\"true\"\r\n\t>\r\n\t\t<template #header>\r\n\t\t\t<svg height=\"46.45\" width=\"253.08\">\r\n\t\t\t\t<use xlink:href=\"#main-logo\" />\r\n\t\t\t</svg>\r\n\t\t</template>\r\n\t\t<div class=\"sidebar\">\r\n\t\t\t<ul class=\"main-list p-1 mb-0\">\r\n\t\t\t\t<li v-for=\"menuItem in layoutStore.vm.mainMenuItems\" :key=\"menuItem\" class=\"p-ripple h4\">\r\n\t\t\t\t\t<a :href=\"menuItem.url\" :title=\"menuItem.title\"> {{ menuItem.label }}</a>\r\n\t\t\t\t</li>\r\n\t\t\t</ul>\r\n\t\t\t<Divider />\r\n\t\t\t<ul class=\"sub-list p-1 mb-0\">\r\n\t\t\t\t<li v-for=\"menuItem in layoutStore.vm.subMenuItems\" :key=\"menuItem\" class=\"p-ripple h6\">\r\n\t\t\t\t\t<a :href=\"menuItem.url\" :title=\"menuItem.title\"> {{ menuItem.label }}</a>\r\n\t\t\t\t</li>\r\n\t\t\t</ul>\r\n\t\t\t<LanguageDropdown :languages=\"layoutStore.vm.availableLanguageOptions\" update-cookie use-full-width />\r\n\t\t</div>\r\n\t</Sidebar>\r\n\r\n\t<OverlayPanel\r\n\t\tref=\"searchMenuPanel\"\r\n\t\tappend-to=\".main-menu\"\r\n\t\t:breakpoints=\"{ '960px': '75vw', '640px': '100vw' }\"\r\n\t\tclass=\"main-menu-overlay\"\r\n\t\t:style=\"{ width: '450px' }\"\r\n\t>\r\n\t\t<MainSearchBar :vm=\"layoutStore.vm\" />\r\n\t</OverlayPanel>\r\n\r\n\t<OverlayPanel\r\n\t\tref=\"userMenuPanel\"\r\n\t\tappend-to=\".main-menu\"\r\n\t\tclass=\"main-menu-overlay\"\r\n\t\t:dismissable=\"true\"\r\n\t\t:show-close-icon=\"false\"\r\n\t>\r\n\t\t<MainUserMenu :vm=\"layoutStore.vm\" />\r\n\t</OverlayPanel>\r\n\r\n\t<ChangeCompanyModal v-if=\"layoutStore.changeCompanyModalVisible\" :vm=\"layoutStore.vm.organizationOptions\" />\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport ChangeCompanyModal from \"@/components/common/menu/changeCompanyModal.vue\";\r\nimport Divider from \"primevue/divider\";\r\nimport LanguageDropdown from \"@/components/common/menu/languageDropdown.vue\";\r\nimport MainSearchBar from \"@/components/common/menu/mainSearchBar.vue\";\r\nimport MainUserMenu from \"@/components/common/menu/mainUserMenu.vue\";\r\nimport OverlayPanel from \"primevue/overlaypanel\";\r\nimport Sidebar from \"primevue/sidebar\";\r\nimport Carousel from \"primevue/carousel\";\r\nimport { Component, Ref } from \"vue-facing-decorator\";\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tChangeCompanyModal,\r\n\t\tOverlayPanel,\r\n\t\tSidebar,\r\n\t\tDivider,\r\n\t\tLanguageDropdown,\r\n\t\tMainUserMenu,\r\n\t\tMainSearchBar,\r\n\t\tCarousel,\r\n\t},\r\n})\r\nexport default class MainMenuBarMobile extends BaseComponent {\r\n\t@Ref readonly userMenuPanel!: OverlayPanel;\r\n\t@Ref readonly searchMenuPanel!: OverlayPanel;\r\n\t@Ref readonly mainMenu!: HTMLElement;\r\n\r\n\tisMenuCollapsed = false;\r\n\r\n\tresponsiveOptions = [\r\n\t\t{\r\n\t\t\tbreakpoint: \"1200px\",\r\n\t\t\tnumVisible: 2,\r\n\t\t\tnumScroll: 2,\r\n\t\t},\r\n\t\t{\r\n\t\t\tbreakpoint: \"635px\",\r\n\t\t\tnumVisible: 1,\r\n\t\t\tnumScroll: 1,\r\n\t\t},\r\n\t];\r\n\r\n\tmounted(): void {\r\n\t\tthis.layoutStore.navBarHeight = this.mainMenu?.clientHeight;\r\n\t}\r\n\r\n\tonCartClick(): void {\r\n\t\tthis.openUrl(this.layoutStore.vm.cartPageUrl);\r\n\t}\r\n\r\n\tonToggleUserMenuClick(event: Event): void {\r\n\t\tthis.userMenuPanel.toggle(event);\r\n\t}\r\n\r\n\tonChangeCompanyClick(): void {\r\n\t\tthis.layoutStore.showModal(\"ChangeCompany\");\r\n\t}\r\n\r\n\tonMenuToggle(): void {\r\n\t\tthis.isMenuCollapsed = !this.isMenuCollapsed;\r\n\t}\r\n\r\n\tonSearchToggle(event: Event): void {\r\n\t\tthis.layoutStore.toggleSearchBar();\r\n\t\tthis.searchMenuPanel.toggle(event);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.main-menu {\r\n\tposition: sticky;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tjustify-content: space-between;\r\n\talign-items: center;\r\n\tpadding: 0;\r\n\ttop: 0;\r\n\tz-index: 120;\r\n\tbackground: var(--surface-a);\r\n\tborder-bottom: 0.8px solid rgba(0, 0, 0, 0.15);\r\n\r\n\t.container {\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t}\r\n\r\n\t.menu-bar {\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tjustify-content: space-between;\r\n\t\twidth: 100%;\r\n\t\theight: 72px;\r\n\r\n\t\t.main-menu-logo-mobile {\r\n\t\t\tdisplay: flex;\r\n\t\t\tflex: 1;\r\n\t\t\theight: 3rem;\r\n\t\t}\r\n\r\n\t\t.button-container {\r\n\t\t\tdisplay: flex;\r\n\t\t\tflex: 1;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n.main-menu-icons {\r\n\tflex-shrink: 0;\r\n\tz-index: 2;\r\n\tbackground: var(--surface-a);\r\n\tpadding: 0.25rem 0.75rem;\r\n\tborder-left: 1px solid var(--surface-d);\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\r\n\tsvg {\r\n\t\tfont-size: 1.35rem;\r\n\t\tcolor: var(--secondary-color);\r\n\t\tpadding: 0.25rem 0.5rem;\r\n\t\tcursor: pointer;\r\n\t}\r\n\r\n\t::v-deep(.p-badge) {\r\n\t\ttransform: translate(30%, -45%);\r\n\t\tmin-width: 1.2rem;\r\n\t\theight: 1.2rem;\r\n\t\tline-height: 1.2rem;\r\n\t}\r\n}\r\n\r\n.main-list {\r\n\tli {\r\n\t\tflex-shrink: 0;\r\n\r\n\t\t&:last-of-type {\r\n\t\t\tmargin-bottom: 0;\r\n\t\t}\r\n\r\n\t\ta {\r\n\t\t\tfont-size: 1.4rem;\r\n\t\t\tfont-weight: 600;\r\n\t\t\tcolor: var(--text-color);\r\n\t\t\tposition: relative;\r\n\t\t\tcursor: pointer;\r\n\r\n\t\t\t&::after {\r\n\t\t\t\tcontent: \"\";\r\n\t\t\t\tbottom: -6px;\r\n\t\t\t\tleft: 0;\r\n\t\t\t\tposition: absolute;\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 2px;\r\n\t\t\t\tbackground-color: var(--primary-color);\r\n\t\t\t\ttransition: transform 0.3s;\r\n\t\t\t\ttransform: scaleX(0);\r\n\t\t\t\ttransform-origin: right;\r\n\t\t\t}\r\n\r\n\t\t\t&:hover {\r\n\t\t\t\ttext-decoration: none;\r\n\t\t\t\tbox-shadow: none;\r\n\r\n\t\t\t\t&::after {\r\n\t\t\t\t\topacity: 1;\r\n\t\t\t\t\ttransform: scaleX(1);\r\n\t\t\t\t\ttransform-origin: left;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n.sub-list {\r\n\tli {\r\n\t\tflex-shrink: 0;\r\n\t\tmargin-right: 1rem;\r\n\r\n\t\ta {\r\n\t\t\tfont-size: 1.05rem;\r\n\t\t\tfont-weight: 500;\r\n\t\t\tcolor: var(--text-color);\r\n\t\t\tposition: relative;\r\n\t\t\tcursor: pointer;\r\n\r\n\t\t\t&::after {\r\n\t\t\t\tcontent: \"\";\r\n\t\t\t\tbottom: -6px;\r\n\t\t\t\tleft: 0;\r\n\t\t\t\tposition: absolute;\r\n\t\t\t\twidth: 100%;\r\n\t\t\t\theight: 2px;\r\n\t\t\t\tbackground-color: var(--primary-color);\r\n\t\t\t\ttransition: transform 0.3s;\r\n\t\t\t\ttransform: scaleX(0);\r\n\t\t\t\ttransform-origin: right;\r\n\t\t\t}\r\n\r\n\t\t\t&:hover {\r\n\t\t\t\ttext-decoration: none;\r\n\t\t\t\tbox-shadow: none;\r\n\r\n\t\t\t\t&::after {\r\n\t\t\t\t\topacity: 1;\r\n\t\t\t\t\ttransform: scaleX(1);\r\n\t\t\t\t\ttransform-origin: left;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n.usp-bar {\r\n\tbackground: #373737;\r\n\theight: 2.5rem;\r\n\tfont-size: 0.8125rem;\r\n\tpadding: 0 1rem;\r\n\r\n\t@media (min-width: 576px) {\r\n\t\tpadding: 0 1.5rem;\r\n\t}\r\n\r\n\t.usp-bar-item {\r\n\t\tcolor: #fff;\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tmargin: 0;\r\n\t\theight: 2.5rem;\r\n\t}\r\n\r\n\ta {\r\n\t\tcursor: pointer;\r\n\t\tcolor: #fff;\r\n\r\n\t\t&:hover {\r\n\t\t\ttext-decoration: underline;\r\n\t\t}\r\n\t}\r\n\r\n\t.usp-text-small {\r\n\t\tfont-size: 0.6875rem;\r\n\t\tmargin-left: 0.25rem;\r\n\t}\r\n\r\n\t.usp-icon {\r\n\t\tcolor: #fff;\r\n\t\tmargin: 0.2rem 0.25rem;\r\n\t\tfloat: left;\r\n\t}\r\n}\r\n\r\n.language-menu {\r\n\tmargin-top: 1rem;\r\n\tmargin-left: -0.8rem;\r\n}\r\n\r\n.mobile-image {\r\n\ttransform: scale(0.9);\r\n}\r\n\r\n:deep(.personal-overview) {\r\n\twidth: 100%;\r\n\tmin-width: 275px;\r\n}\r\n\r\n:deep(.main-search-bar) {\r\n\tflex-wrap: wrap;\r\n\r\n\t.search-category-dropdown {\r\n\t\tmargin-left: 0;\r\n\t\tmargin-right: 1rem;\r\n\t\tmargin-bottom: 1rem;\r\n\t}\r\n\r\n\t.search-input {\r\n\t\tflex-basis: 100%;\r\n\t\tmargin-left: 0 !important;\r\n\t}\r\n}\r\n\r\n::v-deep(.fa-layers-counter) {\r\n\toverflow: visible;\r\n\twidth: fit-content;\r\n\tbackground-color: var(--primary-color);\r\n\tfont-size: 0.9rem;\r\n\tfont-weight: 500;\r\n}\r\n\r\n::v-deep(.main-menu-overlay) {\r\n\ttop: 60px !important;\r\n\tright: 0;\r\n\tleft: auto;\r\n}\r\n</style>\r\n","import { render } from \"./mainMenuBarMobile.vue?vue&type=template&id=37e5a6d8&scoped=true&ts=true\"\nimport script from \"./mainMenuBarMobile.vue?vue&type=script&lang=ts\"\nexport * from \"./mainMenuBarMobile.vue?vue&type=script&lang=ts\"\n\nimport \"./mainMenuBarMobile.vue?vue&type=style&index=0&id=37e5a6d8&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-37e5a6d8\"]])\n\nexport default __exports__","import { render } from \"./mainNavBar.vue?vue&type=template&id=19b590ef&ts=true\"\nimport script from \"./mainNavBar.vue?vue&type=script&lang=ts\"\nexport * from \"./mainNavBar.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","export enum BooleanString {\r\n\tTrue = 'true',\r\n\tFalse = 'false',\r\n}\r\n","export const hash = (string: string) => {\r\n\tconst utf8 = new TextEncoder().encode(string);\r\n\treturn crypto.subtle.digest('SHA-256', utf8).then((hashBuffer) => {\r\n\t\tconst hashArray = Array.from(new Uint8Array(hashBuffer));\r\n\t\tconst hashHex = hashArray.map((bytes) => bytes.toString(16).padStart(2, '0')).join('');\r\n\t\treturn hashHex;\r\n\t});\r\n};\r\n","import { render } from \"./mainLayout.vue?vue&type=template&id=e6b8bd04&ts=true\"\nimport script from \"./mainLayout.vue?vue&type=script&lang=ts\"\nexport * from \"./mainLayout.vue?vue&type=script&lang=ts\"\n\nimport \"./mainLayout.vue?vue&type=style&index=0&id=e6b8bd04&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveDirective as _resolveDirective, withDirectives as _withDirectives, withCtx as _withCtx, createBlock as _createBlock, renderSlot as _renderSlot, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-91ed2dc4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"container\" }\nconst _hoisted_2 = { class: \"row my-2\" }\nconst _hoisted_3 = { class: \"col-12 hidden-print\" }\nconst _hoisted_4 = { class: \"d-flex flex-row align-items-center\" }\nconst _hoisted_5 = { class: \"px-1 d-flex flex-column\" }\nconst _hoisted_6 = { class: \"mb-0 ml-1\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"d-block mb-0 ml-1 mt-1\"\n}\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", { class: \"mt-1 mb-2\" }, null, -1))\nconst _hoisted_9 = { class: \"d-flex flex-wrap gap-1\" }\nconst _hoisted_10 = {\n alt: \"cadac loyalty discount icon\",\n class: \"coin-image\"\n}\nconst _hoisted_11 = { class: \"button-text\" }\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-angle-right\" }, null, -1))\nconst _hoisted_13 = {\n alt: \"cadac prepaid icon\",\n class: \"coin-image\"\n}\nconst _hoisted_14 = { class: \"button-text\" }\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-angle-right\" }, null, -1))\nconst _hoisted_16 = {\n alt: \"autodesk loyalty cashback icon\",\n class: \"coin-image\"\n}\nconst _hoisted_17 = { class: \"button-text\" }\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-angle-right\" }, null, -1))\nconst _hoisted_19 = {\n key: 1,\n class: \"profile-progress\"\n}\nconst _hoisted_20 = {\n key: 0,\n class: \"mb-0\"\n}\nconst _hoisted_21 = {\n key: 1,\n class: \"mb-0 text-info\"\n}\nconst _hoisted_22 = {\n key: 2,\n class: \"profile-status\"\n}\nconst _hoisted_23 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", { class: \"my-1 my-lg-3\" }, null, -1))\nconst _hoisted_24 = { class: \"row\" }\nconst _hoisted_25 = { class: \"col-md-3 hidden-print\" }\nconst _hoisted_26 = { class: \"col-md-9 col-print-12 pb-3\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ProfileImage = _resolveComponent(\"ProfileImage\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_MyCadacBannerBlock = _resolveComponent(\"MyCadacBannerBlock\")!\n const _component_ProgressBar = _resolveComponent(\"ProgressBar\")!\n const _component_StatusBadge = _resolveComponent(\"StatusBadge\")!\n const _component_MyCadacMenu = _resolveComponent(\"MyCadacMenu\")!\n const _component_CtaBlockModal = _resolveComponent(\"CtaBlockModal\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", null, [\n _createVNode(_component_ProfileImage, {\n \"can-change-image\": !!_ctx.expertStore.expertProfile,\n \"first-letter-avatar\": _ctx.firstLetterAvatar,\n \"profile-image-url\": _ctx.profileImageUrl,\n onOnProfilePictureChange: _ctx.onProfilePictureChange\n }, null, 8, [\"can-change-image\", \"first-letter-avatar\", \"profile-image-url\", \"onOnProfilePictureChange\"])\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"h2\", _hoisted_6, _toDisplayString(_ctx.userFullName), 1),\n (_ctx.displayUser?.isEmailVerified)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_7, _toDisplayString(_ctx.displayUser?.company?.companyName), 1))\n : _createCommentVNode(\"\", true),\n _hoisted_8,\n _createElementVNode(\"div\", _hoisted_9, [\n (_ctx.displayUser?.company?.walletBalance?.earnedWalletAmount > 0 || _ctx.displayUser?.company?.usedWalletBalances?.hasUsedEarnedWalletAmount)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"custom-button\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (this.openUrl(_ctx.vm.walletOverviewPageUrl)))\n }, {\n default: _withCtx(() => [\n _withDirectives(_createElementVNode(\"img\", _hoisted_10, null, 512), [\n [_directive_lazy, '/Static/images/loyalty-silver.png']\n ]),\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.formatCurrency(_ctx.displayUser?.company?.walletBalance?.earnedWalletAmount)), 1),\n _hoisted_12\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.displayUser?.company?.walletBalance?.depositedWalletAmount > 0 || _ctx.displayUser?.company?.usedWalletBalances?.hasUsedDepositedWalletAmount)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"custom-button\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (this.openUrl(_ctx.vm.walletOverviewPageUrl)))\n }, {\n default: _withCtx(() => [\n _withDirectives(_createElementVNode(\"img\", _hoisted_13, null, 512), [\n [_directive_lazy, '/Static/images/loyalty-gold.png']\n ]),\n _createElementVNode(\"span\", _hoisted_14, _toDisplayString(_ctx.formatCurrency(_ctx.displayUser?.company?.walletBalance?.depositedWalletAmount)), 1),\n _hoisted_15\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.displayUser?.company?.walletBalance?.autodeskWalletAmount > 0 || _ctx.displayUser?.company?.usedWalletBalances?.hasUsedLoyaltyCashbackWalletAmount)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 2,\n class: \"custom-button\",\n onClick: _cache[2] || (_cache[2] = ($event: any) => (this.openUrl(_ctx.vm.walletOverviewPageUrl)))\n }, {\n default: _withCtx(() => [\n _withDirectives(_createElementVNode(\"img\", _hoisted_16, null, 512), [\n [_directive_lazy, '/Static/images/autodesk-coin.png']\n ]),\n _createElementVNode(\"span\", _hoisted_17, _toDisplayString(_ctx.formatCurrency(_ctx.displayUser?.company?.walletBalance?.autodeskWalletAmount)), 1),\n _hoisted_18\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n (!_ctx.isSmallScreen && _ctx.vm.bannerBlock)\n ? (_openBlock(), _createBlock(_component_MyCadacBannerBlock, {\n key: 0,\n vm: _ctx.vm.bannerBlock\n }, null, 8, [\"vm\"]))\n : (_ctx.showProfileProgress)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_19, [\n (_ctx.expertStore.expertProfile?.profileCompletionPercentage === 100)\n ? (_openBlock(), _createElementBlock(\"label\", _hoisted_20, _toDisplayString(_ctx.$t(\"myCadac.expertSettings.profileComplete\")), 1))\n : (_openBlock(), _createElementBlock(\"label\", _hoisted_21, _toDisplayString(_ctx.$t(\"myCadac.expertSettings.profileIncomplete\")), 1)),\n _createVNode(_component_ProgressBar, {\n class: \"mb-1\",\n style: {\"height\":\"1.25rem\"},\n value: _ctx.expertStore.expertProfile?.profileCompletionPercentage\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.expertStore.expertProfile?.profileCompletionPercentage) + \"%\", 1)\n ]),\n _: 1\n }, 8, [\"value\"]),\n (_ctx.isProfileComplete && _ctx.cta)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 2,\n class: \"flex-shrink-0 p-button-success\",\n icon: \"pi pi-check-circle\",\n label: _ctx.$t('myCadac.expertProfile.btnSendProfile'),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.expertStore.showModal('SendProfile')))\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]))\n : (_ctx.expertStore?.expertProfile && _ctx.expertStore.expertProfile.state)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_22, [\n _createVNode(_component_StatusBadge, {\n status: _ctx.expertStore.expertProfile.state,\n \"translation-prefix\": \"enum.expertPageState\",\n type: 2\n }, null, 8, [\"status\"])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _hoisted_23\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_24, [\n _createElementVNode(\"div\", _hoisted_25, [\n _createVNode(_component_MyCadacMenu, {\n \"menu-items\": _ctx.vm.menuItems\n }, null, 8, [\"menu-items\"])\n ]),\n _createElementVNode(\"div\", _hoisted_26, [\n _renderSlot(_ctx.$slots, \"default\", {}, undefined, true)\n ])\n ])\n ]),\n (_ctx.expertStore.isSendProfileModalVisible)\n ? (_openBlock(), _createBlock(_component_CtaBlockModal, {\n key: 0,\n header: _ctx.$t('myCadac.expertSettings.dialogRequestApprovalHeader'),\n vm: _ctx.cta,\n onCancel: _cache[4] || (_cache[4] = ($event: any) => (_ctx.expertStore.hideModal('SendProfile'))),\n onSubmit: _ctx.onApprovalRequested\n }, null, 8, [\"header\", \"vm\", \"onSubmit\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<div class=\"container\">\r\n\t\t<div class=\"row my-2\">\r\n\t\t\t<div class=\"col-12 hidden-print\">\r\n\t\t\t\t<div class=\"d-flex flex-row align-items-center\">\r\n\t\t\t\t\t<div>\r\n\t\t\t\t\t\t<ProfileImage\r\n\t\t\t\t\t\t\t:can-change-image=\"!!expertStore.expertProfile\"\r\n\t\t\t\t\t\t\t:first-letter-avatar=\"firstLetterAvatar\"\r\n\t\t\t\t\t\t\t:profile-image-url=\"profileImageUrl\"\r\n\t\t\t\t\t\t\t@onProfilePictureChange=\"onProfilePictureChange\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<div class=\"px-1 d-flex flex-column\">\r\n\t\t\t\t\t\t<h2 class=\"mb-0 ml-1\">\r\n\t\t\t\t\t\t\t{{ userFullName }}\r\n\t\t\t\t\t\t</h2>\r\n\t\t\t\t\t\t<p v-if=\"displayUser?.isEmailVerified\" class=\"d-block mb-0 ml-1 mt-1\">\r\n\t\t\t\t\t\t\t{{ displayUser?.company?.companyName }}\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t<hr class=\"mt-1 mb-2\" />\r\n\t\t\t\t\t\t<div class=\"d-flex flex-wrap gap-1\">\r\n\t\t\t\t\t\t\t<Button v-if=\"displayUser?.company?.walletBalance?.earnedWalletAmount > 0 || displayUser?.company?.usedWalletBalances?.hasUsedEarnedWalletAmount\"\r\n\t\t\t\t\t\t\t\t\tclass=\"custom-button\"\r\n\t\t\t\t\t\t\t\t\t@click=\"this.openUrl(vm.walletOverviewPageUrl)\">\r\n\t\t\t\t\t\t\t\t<img v-lazy=\"'/Static/images/loyalty-silver.png'\"\r\n\t\t\t\t\t\t\t\t\t alt=\"cadac loyalty discount icon\"\r\n\t\t\t\t\t\t\t\t\t class=\"coin-image\" />\r\n\t\t\t\t\t\t\t\t<span class=\"button-text\">{{ formatCurrency(displayUser?.company?.walletBalance?.earnedWalletAmount) }}</span>\r\n\t\t\t\t\t\t\t\t<i class=\"pi pi-angle-right\"></i>\r\n\t\t\t\t\t\t\t</Button>\r\n\r\n\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\tv-if=\"displayUser?.company?.walletBalance?.depositedWalletAmount > 0 || displayUser?.company?.usedWalletBalances?.hasUsedDepositedWalletAmount\"\r\n\t\t\t\t\t\t\t\t\tclass=\"custom-button\"\r\n\t\t\t\t\t\t\t\t\t@click=\"this.openUrl(vm.walletOverviewPageUrl)\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<img v-lazy=\"'/Static/images/loyalty-gold.png'\"\r\n\t\t\t\t\t\t\t\t\t alt=\"cadac prepaid icon\"\r\n\t\t\t\t\t\t\t\t\t class=\"coin-image\" />\r\n\t\t\t\t\t\t\t\t<span class=\"button-text\">{{ formatCurrency(displayUser?.company?.walletBalance?.depositedWalletAmount) }}</span>\r\n\t\t\t\t\t\t\t\t<i class=\"pi pi-angle-right\"></i>\r\n\t\t\t\t\t\t\t</Button>\r\n\r\n\t\t\t\t\t\t\t<Button v-if=\"displayUser?.company?.walletBalance?.autodeskWalletAmount > 0 || displayUser?.company?.usedWalletBalances?.hasUsedLoyaltyCashbackWalletAmount\"\r\n\t\t\t\t\t\t\t\t\tclass=\"custom-button\"\r\n\t\t\t\t\t\t\t\t\t@click=\"this.openUrl(vm.walletOverviewPageUrl)\">\r\n\t\t\t\t\t\t\t\t<img v-lazy=\"'/Static/images/autodesk-coin.png'\"\r\n\t\t\t\t\t\t\t\t\t alt=\"autodesk loyalty cashback icon\"\r\n\t\t\t\t\t\t\t\t\t class=\"coin-image\" />\r\n\t\t\t\t\t\t\t\t<span class=\"button-text\">{{ formatCurrency(displayUser?.company?.walletBalance?.autodeskWalletAmount) }}</span>\r\n\t\t\t\t\t\t\t\t<i class=\"pi pi-angle-right\"></i>\r\n\t\t\t\t\t\t\t</Button>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t<MyCadacBannerBlock v-if=\"!isSmallScreen && vm.bannerBlock\" :vm=\"vm.bannerBlock\" />\r\n\r\n\t\t\t\t\t<div v-else-if=\"showProfileProgress\" class=\"profile-progress\">\r\n\t\t\t\t\t\t<label v-if=\"expertStore.expertProfile?.profileCompletionPercentage === 100\" class=\"mb-0\">\r\n\t\t\t\t\t\t\t{{ $t(\"myCadac.expertSettings.profileComplete\") }}\r\n\t\t\t\t\t\t</label>\r\n\t\t\t\t\t\t<label v-else class=\"mb-0 text-info\">{{\r\n\t\t\t\t\t\t\t$t(\"myCadac.expertSettings.profileIncomplete\")\r\n\t\t\t\t\t\t}}</label>\r\n\t\t\t\t\t\t<ProgressBar\r\n\t\t\t\t\t\t\tclass=\"mb-1\"\r\n\t\t\t\t\t\t\tstyle=\"height: 1.25rem\"\r\n\t\t\t\t\t\t\t:value=\"expertStore.expertProfile?.profileCompletionPercentage\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<b>{{ expertStore.expertProfile?.profileCompletionPercentage }}%</b>\r\n\t\t\t\t\t\t</ProgressBar>\r\n\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\tv-if=\"isProfileComplete && cta\"\r\n\t\t\t\t\t\t\tclass=\"flex-shrink-0 p-button-success\"\r\n\t\t\t\t\t\t\ticon=\"pi pi-check-circle\"\r\n\t\t\t\t\t\t\t:label=\"$t('myCadac.expertProfile.btnSendProfile')\"\r\n\t\t\t\t\t\t\t@click=\"expertStore.showModal('SendProfile')\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div\r\n\t\t\t\t\t\tv-else-if=\"expertStore?.expertProfile && expertStore.expertProfile.state\"\r\n\t\t\t\t\t\tclass=\"profile-status\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<StatusBadge\r\n\t\t\t\t\t\t\t:status=\"expertStore.expertProfile.state\"\r\n\t\t\t\t\t\t\ttranslation-prefix=\"enum.expertPageState\"\r\n\t\t\t\t\t\t\t:type=\"2\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<hr class=\"my-1 my-lg-3\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-md-3 hidden-print\">\r\n\t\t\t\t<MyCadacMenu :menu-items=\"vm.menuItems\" />\r\n\t\t\t</div>\r\n\t\t\t<div class=\"col-md-9 col-print-12 pb-3\">\r\n\t\t\t\t<slot />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<CtaBlockModal\r\n\t\tv-if=\"expertStore.isSendProfileModalVisible\"\r\n\t\t:header=\"$t('myCadac.expertSettings.dialogRequestApprovalHeader')\"\r\n\t\t:vm=\"cta\"\r\n\t\t@cancel=\"expertStore.hideModal('SendProfile')\"\r\n\t\t@submit=\"onApprovalRequested\"\r\n\t/>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport CtaBlockModal from \"@/components/common/ctaBlockModal.vue\";\r\nimport MyCadacBannerBlock from \"@/views/blocks/myCadacBannerBlock.vue\";\r\nimport MyCadacMenu from \"@/components/common/menu/myCadacMenu.vue\";\r\nimport ProgressBar from \"primevue/progressbar\";\r\nimport StatusBadge from \"@/components/common/statusBadge.vue\";\r\nimport { CadacUserProfileViewModel } from \"@/types/models/common/cadacUserProfileViewModel\";\r\nimport { CallToActionModalBlockViewModel } from \"@/types/models/common/callToActionModalBlockViewModel\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { ExpertPageState } from \"@/types/enum/expertPageState\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { MyCadacPageViewModel } from \"@/types/viewModels/common/myCadacPageViewModel\";\r\nimport { PropType } from \"vue\";\r\nimport { useExpertStore } from \"@/store/expert/expertStore\";\r\nimport ProfileImage from \"@/components/common/profileImage.vue\";\r\n\r\n@Component({\r\n\tcomponents: { ProfileImage, MyCadacBannerBlock, MyCadacMenu, ProgressBar, StatusBadge, CtaBlockModal },\r\n})\r\nexport default class MyCadacLayout extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<MyCadacPageViewModel>, required: true, default: {} })\r\n\tvm!: MyCadacPageViewModel;\r\n\tcta!: CallToActionModalBlockViewModel;\r\n\r\n\tvalidProfileImage = false;\r\n\r\n\texpertStore = useExpertStore();\r\n\r\n\tcreated(): void {\r\n\t\tthis.expertStore.fetchExpertProfile(this.displayUser.cadacAccountId, this.currentLanguage).then(() => {\r\n\t\t\tthis.validProfileImage = !!this.profileImageUrl;\r\n\t\t});\r\n\t\tthis.cta = (this.vm as any)?.requestApprovalBlock;\r\n\t}\r\n\r\n\tget displayUser(): CadacUserProfileViewModel {\r\n\t\treturn this.layoutStore.isImpersonated\r\n\t\t\t? this.layoutStore.vm.impersonatedUser\r\n\t\t\t: this.layoutStore.vm.currentUser;\r\n\t}\r\n\r\n\tget userFullName(): string {\r\n\t\treturn this.displayUser?.firstName\r\n\t\t\t? `${this.displayUser?.firstName} ${this.displayUser?.lastName}`\r\n\t\t\t: this.displayUser.displayName;\r\n\t}\r\n\r\n\tget firstLetterAvatar(): string {\r\n\t\treturn this.displayUser?.firstName ? this.displayUser?.firstName?.substr(0, 1) : \"*\";\r\n\t}\r\n\r\n\tget profileImageUrl(): string {\r\n\t\treturn this.expertStore.expertProfile?.imageUrl as string;\r\n\t}\r\n\r\n\tget showProfileProgress(): boolean {\r\n\t\treturn this.expertStore?.expertProfile?.state === ExpertPageState.created;\r\n\t}\r\n\r\n\tget isProfileComplete(): boolean {\r\n\t\treturn this.expertStore?.expertProfile?.profileCompletionPercentage === 100;\r\n\t}\r\n\r\n\tonProfilePictureError(): void {\r\n\t\tthis.validProfileImage = false;\r\n\t}\r\n\r\n\tonProfilePictureChange(evt): void {\r\n\t\tthis.loadingStore.showSpinner(\"avatar\");\r\n\t\tthis.updateProfilePicture(evt);\r\n\t}\r\n\r\n\tonApprovalRequested(): void {\r\n\t\tthis.sendApprovalRequest();\r\n\t}\r\n\r\n\tprivate updateProfilePicture(file: File): void {\r\n\t\tlet formData = new FormData();\r\n\t\tformData.append(\"file\", file);\r\n\t\tthis.axios\r\n\t\t\t.post(\"/api/expert/updateprofilepicture\", formData, {\r\n\t\t\t\trequestId: \"updateProfilePicture\",\r\n\t\t\t\theaders: {\r\n\t\t\t\t\t\"Content-Type\": \"multipart/form-data\",\r\n\t\t\t\t},\r\n\t\t\t})\r\n\t\t\t.then(() => this.expertStore.fetchExpertProfile(this.displayUser.cadacAccountId, this.currentLanguage))\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"success\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleSuccess\"),\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.expertSettings.toast.updateProfilePictureSuccess\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.expertSettings.toast.updateProfilePictureError\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.finally(() => this.loadingStore.hideSpinner(\"avatar\"));\r\n\t}\r\n\r\n\tprivate sendApprovalRequest(): void {\r\n\t\tthis.axios\r\n\t\t\t.post(\"/api/expert/request-approval\", {}, { requestId: \"requestApproval\" })\r\n\t\t\t.then(() => this.expertStore.fetchExpertProfile(this.displayUser.cadacAccountId, this.currentLanguage))\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"success\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleSuccess\"),\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.expertSettings.toast.requestApprovalSuccess\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.expertSettings.toast.requestApprovalError\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.finally(() => this.expertStore.hideModal(\"SendProfile\"));\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.avatar {\r\n\twidth: 4rem;\r\n\theight: 4rem;\r\n\tfont-weight: 700;\r\n\tfont-size: 1.75rem;\r\n\tbackground: var(--surface-c);\r\n\r\n\t&:hover {\r\n\t\tbackground: var(--surface-c);\r\n\t}\r\n\r\n\t&.avatar--large {\r\n\t\twidth: 6rem;\r\n\t\theight: 6rem;\r\n\t\tfont-size: 3rem;\r\n\t}\r\n}\r\n\r\n.profile-status {\r\n\tmargin-left: auto;\r\n\twidth: clamp(300px, 15%, 600px);\r\n}\r\n\r\n.profile-progress {\r\n\tposition: relative;\r\n\tmargin-left: auto;\r\n\twidth: clamp(600px, 25%, 900px);\r\n\ttext-align: center;\r\n\tmargin-bottom: 1rem;\r\n\r\n\t::v-deep(.p-progressbar) {\r\n\t\tbackground: var(--surface-b);\r\n\r\n\t\t.p-progressbar-value {\r\n\t\t\tbackground: var(--secondary-color);\r\n\t\t}\r\n\t}\r\n\r\n\t&::before {\r\n\t\tcontent: \"0%\";\r\n\t\tfont-size: 85%;\r\n\t\tleft: 0;\r\n\t\ttop: 2px;\r\n\t\tposition: absolute;\r\n\t}\r\n\r\n\t&::after {\r\n\t\tfont-size: 85%;\r\n\t\tcontent: \"100%\";\r\n\t\tright: 0;\r\n\t\ttop: 2px;\r\n\t\tposition: absolute;\r\n\t}\r\n}\r\n\r\n.profile-figure {\r\n\tposition: relative;\r\n\twidth: 6rem;\r\n\theight: 6rem;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n}\r\n\r\n.profile-avatar {\r\n\tcursor: pointer;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tbox-sizing: border-box;\r\n\tborder-radius: 100%;\r\n\tborder: 2px solid transparent;\r\n\ttransition: all ease-in-out 0.3s;\r\n\tobject-fit: cover;\r\n\r\n\t.profile-avatar-loading {\r\n\t\tfont-size: 1.5rem;\r\n\t}\r\n}\r\n\r\n.profile-figcaption {\r\n\tcursor: pointer;\r\n\tposition: absolute;\r\n\tfont-size: 1.2rem;\r\n\tfont-weight: 500;\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\ttop: 0;\r\n\tleft: 0;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tcolor: var(--primary-color-text);\r\n\tborder-radius: 100%;\r\n\topacity: 0;\r\n\tbackground-color: rgba(0, 0, 0, 0);\r\n\ttransition: all ease-in-out 0.3s;\r\n\r\n\t&:hover {\r\n\t\topacity: 1;\r\n\t\tbackground-color: rgba(0, 0, 0, 0.4);\r\n\t}\r\n}\r\n\r\n .custom-button {\r\n display: flex;\r\n align-items: center;\r\n background-color: #f3f3f3;\r\n border-radius: 50px;\r\n padding: 0 5px;\r\n border: none;\r\n color: #8e234a;\r\n font-weight: 500;\r\n gap: 4px;\r\n margin-left: 0 !important;\r\n }\r\n\r\n .coin-image {\r\n width: 1rem;\r\n }\r\n</style>\r\n","import { resolveDirective as _resolveDirective, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-67f3ec1a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"mycadac-banner\" }\nconst _hoisted_2 = { class: \"d-flex\" }\nconst _hoisted_3 = [\"alt\"]\nconst _hoisted_4 = { class: \"d-flex align-items-center flex-1 justify-content-center p-2\" }\nconst _hoisted_5 = { class: \"lead\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_LinkButton = _resolveComponent(\"LinkButton\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_ctx.vm.imageUrl)\n ? _withDirectives((_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n alt: _ctx.vm.imageAlt,\n class: \"banner-image\"\n }, null, 8, _hoisted_3)), [\n [_directive_lazy, _ctx.vm.imageUrl]\n ])\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"p\", _hoisted_5, _toDisplayString(_ctx.vm.text), 1),\n (_ctx.vm.cta)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 0,\n class: \"p-button-link p-button-primary text-primary ml-auto flex-shrink-0\",\n label: _ctx.vm.cta.text,\n target: _ctx.vm.cta.target,\n title: _ctx.vm.cta.title,\n url: _ctx.vm.cta.url\n }, null, 8, [\"label\", \"target\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n}","<template>\r\n\t<div class=\"mycadac-banner\">\r\n\t\t<div class=\"d-flex\">\r\n\t\t\t<img v-if=\"vm.imageUrl\" v-lazy=\"vm.imageUrl\" :alt=\"vm.imageAlt\" class=\"banner-image\" />\r\n\r\n\t\t\t<div class=\"d-flex align-items-center flex-1 justify-content-center p-2\">\r\n\t\t\t\t<p class=\"lead\">{{ vm.text }}</p>\r\n\t\t\t\t<LinkButton\r\n\t\t\t\t\tv-if=\"vm.cta\"\r\n\t\t\t\t\tclass=\"p-button-link p-button-primary text-primary ml-auto flex-shrink-0\"\r\n\t\t\t\t\t:label=\"vm.cta.text\"\r\n\t\t\t\t\t:target=\"vm.cta.target\"\r\n\t\t\t\t\t:title=\"vm.cta.title\"\r\n\t\t\t\t\t:url=\"vm.cta.url\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { MyCadacBannerBlockViewModel } from \"@/types/viewModels/blocks/myCadacBannerBlockViewModel\";\r\nimport { PropType } from \"vue\";\r\n\r\n@Component\r\nexport default class MyCadacBannerBlock extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<MyCadacBannerBlockViewModel>, required: true, default: {} })\r\n\tvm!: MyCadacBannerBlockViewModel;\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.mycadac-banner {\r\n\tmargin-left: auto;\r\n\tmin-height: 75x;\r\n\tmax-width: clamp(600px, 60%, 1000px);\r\n\tborder: 1px solid var(--surface-d);\r\n\tborder-radius: var(--border-radius);\r\n\r\n\t.banner-image {\r\n\t\tmax-width: clamp(75px, 30%, 125px);\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./myCadacBannerBlock.vue?vue&type=template&id=67f3ec1a&scoped=true&ts=true\"\nimport script from \"./myCadacBannerBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./myCadacBannerBlock.vue?vue&type=script&lang=ts\"\n\nimport \"./myCadacBannerBlock.vue?vue&type=style&index=0&id=67f3ec1a&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-67f3ec1a\"]])\n\nexport default __exports__","import { render } from \"./myCadacLayout.vue?vue&type=template&id=91ed2dc4&scoped=true&ts=true\"\nimport script from \"./myCadacLayout.vue?vue&type=script&lang=ts\"\nexport * from \"./myCadacLayout.vue?vue&type=script&lang=ts\"\n\nimport \"./myCadacLayout.vue?vue&type=style&index=0&id=91ed2dc4&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-91ed2dc4\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, createBlock as _createBlock, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = { key: 0 }\nconst _hoisted_2 = { class: \"row\" }\nconst _hoisted_3 = { class: \"col-12\" }\nconst _hoisted_4 = [\"href\"]\nconst _hoisted_5 = { key: 1 }\nconst _hoisted_6 = [\"title\"]\nconst _hoisted_7 = {\n key: 1,\n class: \"d-flex align-items-center\"\n}\nconst _hoisted_8 = [\"title\"]\nconst _hoisted_9 = { key: 1 }\nconst _hoisted_10 = { key: 2 }\nconst _hoisted_11 = { key: 1 }\nconst _hoisted_12 = { key: 2 }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (_ctx.vm.pageTitle)\n ? (_openBlock(), _createElementBlock(\"h1\", _hoisted_1, _toDisplayString(_ctx.vm.pageTitle), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_ctx.tableData.length)\n ? (_openBlock(), _createBlock(_component_DataTable, {\n key: 0,\n \"auto-layout\": \"\",\n class: \"mt-2\",\n paginator: _ctx.showPagination,\n \"removable-sort\": \"\",\n \"responsive-layout\": \"stack\",\n \"row-class\": _ctx.getRowClass,\n rows: _ctx.maxRowsToShow,\n value: _ctx.tableData\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Column, {\n key: \"orderNumber\",\n field: \"orderNumber\",\n header: _ctx.$t('myCadac.orderOverview.table.colOrderNumber'),\n sortable: false\n }, {\n body: _withCtx((item) => [\n (_ctx.canGenerateInvoice(item.data))\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 0,\n class: \"text-bold\",\n href: item.data.urlToGenerateInvoice\n }, _toDisplayString(item.data.orderNumber), 9, _hoisted_4))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_5, _toDisplayString(item.data.orderNumber), 1))\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"customerName\",\n field: \"customerName\",\n header: _ctx.$t('myCadac.orderOverview.table.colOrganisation'),\n sortable: false\n }, null, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"invoiceDateTime\",\n field: \"invoiceDateTime\",\n header: _ctx.$t('myCadac.orderOverview.table.colInvoiceDate'),\n sortable: true\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.formatDate(item.data.invoiceDateTime)), 1)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"isPaid\",\n field: \"isPaid\",\n header: _ctx.$t('myCadac.orderOverview.table.colPaid'),\n sortable: true\n }, {\n body: _withCtx((item) => [\n (_ctx.layoutStore.vm.isImpersonatedByCadacSales && item.data.paymentMethod)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"d-flex align-items-center\",\n title: 'Betaalmethode: ' + item.data.paymentMethod\n }, [\n _createElementVNode(\"i\", {\n class: _normalizeClass(\r\n\t\t\t\t\t\t\t\t\titem.data.isPaid\r\n\t\t\t\t\t\t\t\t\t\t? 'pi pi-check text-success mr-1'\r\n\t\t\t\t\t\t\t\t\t\t: 'pi pi-times text-danger mr-1'\r\n\t\t\t\t\t\t\t\t)\n }, null, 2),\n _createElementVNode(\"span\", null, _toDisplayString(item.data.isPaid ? _ctx.$t(\"common.yes\") : _ctx.$t(\"common.no\")), 1)\n ], 8, _hoisted_6))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createElementVNode(\"i\", {\n class: _normalizeClass(\r\n\t\t\t\t\t\t\t\t\titem.data.isPaid\r\n\t\t\t\t\t\t\t\t\t\t? 'pi pi-check text-success mr-1'\r\n\t\t\t\t\t\t\t\t\t\t: 'pi pi-times text-danger mr-1'\r\n\t\t\t\t\t\t\t\t)\n }, null, 2),\n _createElementVNode(\"span\", null, _toDisplayString(item.data.isPaid ? _ctx.$t(\"common.yes\") : _ctx.$t(\"common.no\")), 1)\n ]))\n ]),\n _: 1\n }, 8, [\"header\"]),\n (_ctx.showTotalColumn)\n ? (_openBlock(), _createBlock(_component_Column, {\n key: \"total\",\n field: \"total\",\n header: _ctx.$t('myCadac.orderOverview.table.colTotalAmount'),\n sortable: true\n }, {\n body: _withCtx((item) => [\n (_ctx.layoutStore.vm.isImpersonatedByCadacSales && item.data.orderStatus)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n title: 'Orderstatus: ' + item.data.orderStatus\n }, _toDisplayString(_ctx.formatCurrency(item.data.total)), 9, _hoisted_8))\n : (!item.data.isInvoicedByPartner)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_9, _toDisplayString(_ctx.formatCurrency(item.data.total)), 1))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_10, \"-\"))\n ]),\n _: 1\n }, 8, [\"header\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Column, {\n key: \"invoice\",\n header: _ctx.$t('myCadac.orderOverview.table.lblInvoice')\n }, {\n body: _withCtx((item) => [\n (_ctx.canSeeInvoiceForOrder(item.data))\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-primary p-button-icon p-button-rounded p-button-raised p-button-text\",\n icon: \"pi pi-file-pdf\",\n onClick: ($event: any) => (_ctx.viewPdf(item.data.orderNumber))\n }, null, 8, [\"onClick\"]))\n : _createCommentVNode(\"\", true),\n (item.data.isInvoicedByPartner)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_11, _toDisplayString(_ctx.$t(\"myCadac.orderOverview.table.lblInvoicedByPartner\")), 1))\n : _createCommentVNode(\"\", true),\n (item.data.isCancelled)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_12, _toDisplayString(_ctx.$t(\"myCadac.orderOverview.table.lblCancelled\")), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"header\"])\n ]),\n _: 1\n }, 8, [\"paginator\", \"row-class\", \"rows\", \"value\"]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ], 64))\n}","<template>\r\n\t<h1 v-if=\"vm.pageTitle\">{{ vm.pageTitle }}</h1>\r\n\r\n\t<div class=\"row\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<DataTable\r\n\t\t\t\tv-if=\"tableData.length\"\r\n\t\t\t\tauto-layout\r\n\t\t\t\tclass=\"mt-2\"\r\n\t\t\t\t:paginator=\"showPagination\"\r\n\t\t\t\tremovable-sort\r\n\t\t\t\tresponsive-layout=\"stack\"\r\n\t\t\t\t:row-class=\"getRowClass\"\r\n\t\t\t\t:rows=\"maxRowsToShow\"\r\n\t\t\t\t:value=\"tableData\"\r\n\t\t\t>\r\n\t\t\t\t<Column\r\n\t\t\t\t\tkey=\"orderNumber\"\r\n\t\t\t\t\tfield=\"orderNumber\"\r\n\t\t\t\t\t:header=\"$t('myCadac.orderOverview.table.colOrderNumber')\"\r\n\t\t\t\t\t:sortable=\"false\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\tv-if=\"canGenerateInvoice(item.data)\"\r\n\t\t\t\t\t\t\tclass=\"text-bold\"\r\n\t\t\t\t\t\t\t:href=\"item.data.urlToGenerateInvoice\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{{ item.data.orderNumber }}\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t<span v-else>\r\n\t\t\t\t\t\t\t{{ item.data.orderNumber }}\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\t\t\t\t<Column\r\n\t\t\t\t\tkey=\"customerName\"\r\n\t\t\t\t\tfield=\"customerName\"\r\n\t\t\t\t\t:header=\"$t('myCadac.orderOverview.table.colOrganisation')\"\r\n\t\t\t\t\t:sortable=\"false\"\r\n\t\t\t\t>\r\n\t\t\t\t</Column>\r\n\t\t\t\t<Column\r\n\t\t\t\t\tkey=\"invoiceDateTime\"\r\n\t\t\t\t\tfield=\"invoiceDateTime\"\r\n\t\t\t\t\t:header=\"$t('myCadac.orderOverview.table.colInvoiceDate')\"\r\n\t\t\t\t\t:sortable=\"true\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<span>{{ formatDate(item.data.invoiceDateTime) }}</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\t\t\t\t<Column\r\n\t\t\t\t\tkey=\"isPaid\"\r\n\t\t\t\t\tfield=\"isPaid\"\r\n\t\t\t\t\t:header=\"$t('myCadac.orderOverview.table.colPaid')\"\r\n\t\t\t\t\t:sortable=\"true\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\tv-if=\"layoutStore.vm.isImpersonatedByCadacSales && item.data.paymentMethod\"\r\n\t\t\t\t\t\t\tclass=\"d-flex align-items-center\"\r\n\t\t\t\t\t\t\t:title=\"'Betaalmethode: ' + item.data.paymentMethod\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t:class=\"\r\n\t\t\t\t\t\t\t\t\titem.data.isPaid\r\n\t\t\t\t\t\t\t\t\t\t? 'pi pi-check text-success mr-1'\r\n\t\t\t\t\t\t\t\t\t\t: 'pi pi-times text-danger mr-1'\r\n\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<span>\r\n\t\t\t\t\t\t\t\t{{ item.data.isPaid ? $t(\"common.yes\") : $t(\"common.no\") }}\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div v-else class=\"d-flex align-items-center\">\r\n\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t:class=\"\r\n\t\t\t\t\t\t\t\t\titem.data.isPaid\r\n\t\t\t\t\t\t\t\t\t\t? 'pi pi-check text-success mr-1'\r\n\t\t\t\t\t\t\t\t\t\t: 'pi pi-times text-danger mr-1'\r\n\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t<span>\r\n\t\t\t\t\t\t\t\t{{ item.data.isPaid ? $t(\"common.yes\") : $t(\"common.no\") }}\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\t\t\t\t<Column\r\n\t\t\t\t\tv-if=\"showTotalColumn\"\r\n\t\t\t\t\tkey=\"total\"\r\n\t\t\t\t\tfield=\"total\"\r\n\t\t\t\t\t:header=\"$t('myCadac.orderOverview.table.colTotalAmount')\"\r\n\t\t\t\t\t:sortable=\"true\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<span\r\n\t\t\t\t\t\t\tv-if=\"layoutStore.vm.isImpersonatedByCadacSales && item.data.orderStatus\"\r\n\t\t\t\t\t\t\t:title=\"'Orderstatus: ' + item.data.orderStatus\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{{ formatCurrency(item.data.total) }}\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<span v-else-if=\"!item.data.isInvoicedByPartner\">\r\n\t\t\t\t\t\t\t{{ formatCurrency(item.data.total) }}\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<span v-else>-</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\r\n\t\t\t\t<Column key=\"invoice\" :header=\"$t('myCadac.orderOverview.table.lblInvoice')\">\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\tv-if=\"canSeeInvoiceForOrder(item.data)\"\r\n\t\t\t\t\t\t\tclass=\"p-button-primary p-button-icon p-button-rounded p-button-raised p-button-text\"\r\n\t\t\t\t\t\t\ticon=\"pi pi-file-pdf\"\r\n\t\t\t\t\t\t\t@click=\"viewPdf(item.data.orderNumber)\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<span v-if=\"item.data.isInvoicedByPartner\">\r\n\t\t\t\t\t\t\t{{ $t(\"myCadac.orderOverview.table.lblInvoicedByPartner\") }}\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<span v-if=\"item.data.isCancelled\">\r\n\t\t\t\t\t\t\t{{ $t(\"myCadac.orderOverview.table.lblCancelled\") }}\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\t\t\t</DataTable>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { IOrderOverview } from \"@/types/viewModels/myCadac/orderOverviewViewModel\";\r\nimport { OrderInfo } from \"@/types/models/order/orderInfo\";\r\nimport { PropType } from \"vue\";\r\n\r\n@Component\r\nexport default class OrderOverview extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<IOrderOverview>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: IOrderOverview;\r\n\r\n\tmaxRowsToShow = 15;\r\n\tcancelReason!: string;\r\n\r\n\tget tableData(): OrderInfo[] {\r\n\t\treturn this.vm.orders;\r\n\t}\r\n\r\n\tget showPagination(): boolean {\r\n\t\treturn this.tableData?.length > this.maxRowsToShow;\r\n\t}\r\n\r\n\tget showTotalColumn(): boolean {\r\n\t\treturn this.vm.orders?.some((x) => !x.isInvoicedByPartner);\r\n\t}\r\n\r\n\tget canSeeInvoiceForOrder(): (order: OrderInfo) => boolean {\r\n\t\treturn (order: OrderInfo) => {\r\n\t\t\treturn !order.isCancelled && !!order.invoiceNumber && !order.isInvoicedByPartner;\r\n\t\t};\r\n\t}\r\n\r\n\tget canGenerateInvoice(): (order: OrderInfo) => boolean {\r\n\t\treturn (order: OrderInfo) => {\r\n\t\t\tif (!order.urlToGenerateInvoice || order.isInvoicedByPartner) return false;\r\n\t\t\treturn this.layoutStore.vm.isImpersonatedByCadacSales || !!this.userProfile?.isCadacSales;\r\n\t\t};\r\n\t}\r\n\r\n\tgetRowClass(order: OrderInfo): string {\r\n\t\treturn order.isCancelled ? \"disabled\" : \"\";\r\n\t}\r\n\r\n\tviewPdf(orderNumber: string): void {\r\n\t\tthis.openUrl(`${window.location.href}GetPDF/?ordernumber=${orderNumber}`, \"_blank\");\r\n\t}\r\n}\r\n</script>\r\n","import { render } from \"./orderOverview.vue?vue&type=template&id=67a0e6ec&ts=true\"\nimport script from \"./orderOverview.vue?vue&type=script&lang=ts\"\nexport * from \"./orderOverview.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, resolveDirective as _resolveDirective, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, withCtx as _withCtx, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-24869c57\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"d-flex align-items-center mt-2 mb-2\"\n}\nconst _hoisted_2 = [\"alt\"]\nconst _hoisted_3 = { class: \"d-flex flex-column justify-content-between\" }\nconst _hoisted_4 = { class: \"lead text-muted mb-0\" }\nconst _hoisted_5 = { class: \"m-0\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_BackButton = _resolveComponent(\"BackButton\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_TrainingDetailSummary = _resolveComponent(\"TrainingDetailSummary\")!\n const _component_TrainingParticipantsTable = _resolveComponent(\"TrainingParticipantsTable\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_BackButton, {\n label: _ctx.$t('myCadac.trainingDetail.button.back')\n }, null, 8, [\"label\"]),\n (_ctx.vm.training)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _withDirectives(_createElementVNode(\"img\", {\n alt: _ctx.vm.training.productIconAlt,\n class: \"icon-training-item mr-2\"\n }, null, 8, _hoisted_2), [\n [_directive_lazy, _ctx.vm.training.productIconUrl]\n ]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"p\", _hoisted_4, _toDisplayString(_ctx.vm.training.brand), 1),\n _createElementVNode(\"h4\", _hoisted_5, _toDisplayString(_ctx.vm.training.name), 1)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_TrainingDetailSummary, {\n class: \"mb-2\",\n \"is-instructor\": _ctx.vm.isInstructor,\n vm: _ctx.vm.training\n }, {\n default: _withCtx(() => [\n (_ctx.vm.isParticipant && _ctx.vm.isVdiTraining)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-success\",\n icon: \"pi pi-play\",\n label: _ctx.$t('myCadac.trainingDetail.button.startTeams'),\n title: _ctx.$t('myCadac.trainingDetail.button.startTeams_title'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.startTraining()))\n }, null, 8, [\"label\", \"title\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"is-instructor\", \"vm\"]),\n _createVNode(_component_TrainingParticipantsTable, { vm: _ctx.vm }, null, 8, [\"vm\"])\n ], 64))\n}","<template>\r\n\t<BackButton :label=\"$t('myCadac.trainingDetail.button.back')\" />\r\n\r\n\t<div v-if=\"vm.training\" class=\"d-flex align-items-center mt-2 mb-2\">\r\n\t\t<img\r\n\t\t\tv-lazy=\"vm.training.productIconUrl\"\r\n\t\t\t:alt=\"vm.training.productIconAlt\"\r\n\t\t\tclass=\"icon-training-item mr-2\"\r\n\t\t/>\r\n\t\t<div class=\"d-flex flex-column justify-content-between\">\r\n\t\t\t<p class=\"lead text-muted mb-0\">{{ vm.training.brand }}</p>\r\n\t\t\t<h4 class=\"m-0\">{{ vm.training.name }}</h4>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<TrainingDetailSummary class=\"mb-2\" :is-instructor=\"vm.isInstructor\" :vm=\"vm.training\">\r\n\t\t<Button\r\n\t\t\tv-if=\"vm.isParticipant && vm.isVdiTraining\"\r\n\t\t\tclass=\"p-button-success\"\r\n\t\t\ticon=\"pi pi-play\"\r\n\t\t\t:label=\"$t('myCadac.trainingDetail.button.startTeams')\"\r\n\t\t\t:title=\"$t('myCadac.trainingDetail.button.startTeams_title')\"\r\n\t\t\t@click=\"startTraining()\"\r\n\t\t/>\r\n\t</TrainingDetailSummary>\r\n\r\n\t<TrainingParticipantsTable :vm=\"vm\" />\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BackButton from \"@/components/common/backButton.vue\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport TrainingAddParticipantsModal from \"@/components/training/trainingAddParticipantsModal.vue\";\r\nimport TrainingDetailSummary from \"@/components/training/trainingDetailSummary.vue\";\r\nimport TrainingParticipantsTable from \"@/components/training/trainingParticipantsTable.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { IPlannedTrainingDetail } from \"@/types/viewModels/myCadac/plannedTrainingDetailViewModel\";\r\nimport { PropType } from \"vue\";\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tTrainingDetailSummary,\r\n\t\tTrainingParticipantsTable,\r\n\t\tTrainingAddParticipantsModal,\r\n\t\tBackButton,\r\n\t},\r\n})\r\nexport default class PlannedTrainingDetail extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<IPlannedTrainingDetail>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: IPlannedTrainingDetail;\r\n\r\n\tstartTraining(): void {\r\n\t\tthis.openUrl(this.vm.training.teamUrl, \"blank\");\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.icon-training-item {\r\n\twidth: 64px;\r\n\theight: 64px;\r\n}\r\n</style>\r\n","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"mb-0\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_TrainingParticipantForm = _resolveComponent(\"TrainingParticipantForm\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Dialog = _resolveComponent(\"Dialog\")!\n\n return (_openBlock(), _createBlock(_component_Dialog, {\n visible: _ctx.isVisible,\n \"onUpdate:visible\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.isVisible) = $event)),\n breakpoints: { '1600px': '40vw', '1200px': '50vw', '992px': '60vw', '768px': '75vw', '576px': '90vw' },\n modal: true,\n style: { width: '30vw' },\n onHide: _cache[4] || (_cache[4] = ($event: any) => (_ctx.onCancel()))\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"h3\", _hoisted_1, _toDisplayString(_ctx.$t(\"training.dialog.titleAddParticipant\")), 1)\n ]),\n footer: _withCtx(() => [\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-plain\",\n label: _ctx.$t('common.cancel'),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onCancel()))\n }, null, 8, [\"label\"]),\n _createVNode(_component_Button, {\n disabled: !_ctx.canSubmit,\n label: _ctx.$t('common.add'),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.onSubmit()))\n }, null, 8, [\"disabled\", \"label\"])\n ]),\n default: _withCtx(() => [\n _createVNode(_component_TrainingParticipantForm, {\n modelValue: _ctx.participantForm,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.participantForm) = $event)),\n ref: \"trainingParticipantForm\",\n submitted: true\n }, null, 8, [\"modelValue\"])\n ]),\n _: 1\n }, 8, [\"visible\"]))\n}","<template>\r\n\t<Dialog\r\n\t\tv-model:visible=\"isVisible\"\r\n\t\t:breakpoints=\"{ '1600px': '40vw', '1200px': '50vw', '992px': '60vw', '768px': '75vw', '576px': '90vw' }\"\r\n\t\t:modal=\"true\"\r\n\t\t:style=\"{ width: '30vw' }\"\r\n\t\t@hide=\"onCancel()\"\r\n\t>\r\n\t\t<template #header>\r\n\t\t\t<h3 class=\"mb-0\">\r\n\t\t\t\t{{ $t(\"training.dialog.titleAddParticipant\") }}\r\n\t\t\t</h3>\r\n\t\t</template>\r\n\r\n\t\t<TrainingParticipantForm v-model=\"participantForm\" ref=\"trainingParticipantForm\" :submitted=\"true\" />\r\n\r\n\t\t<template #footer>\r\n\t\t\t<Button class=\"p-button-text p-button-plain\" :label=\"$t('common.cancel')\" @click=\"onCancel()\" />\r\n\t\t\t<Button :disabled=\"!canSubmit\" :label=\"$t('common.add')\" @click=\"onSubmit()\" />\r\n\t\t</template>\r\n\t</Dialog>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport TrainingParticipantForm from \"@/components/common/forms/trainingParticipantForm.vue\";\r\nimport { Component, Emit, Ref, Watch } from \"vue-facing-decorator\";\r\nimport { TrainingParticipantForm as TrainingParticipantFormModel } from \"@/types/models/form/trainingParticipantForm\";\r\nimport { useTrainingStore } from \"@/store/training/trainingStore\";\r\n\r\n@Component({\r\n\tcomponents: { TrainingParticipantForm },\r\n})\r\nexport default class TrainingAddParticipantsModal extends BaseComponent {\r\n\t@Ref() readonly trainingParticipantForm!: TrainingParticipantForm;\r\n\r\n\tparticipantForm!: TrainingParticipantFormModel;\r\n\r\n\tisVisible = true;\r\n\tsubmitted = false;\r\n\tcanSubmit = false;\r\n\r\n\t@Emit addParticipant(): TrainingParticipantFormModel {\r\n\t\treturn this.participantForm as TrainingParticipantFormModel;\r\n\t}\r\n\r\n\t@Watch(\"participantForm\", { deep: true }) onParticipantFormChange(): void {\r\n\t\tthis.canSubmit = this.trainingParticipantForm?.isAnyDirty && this.trainingParticipantForm?.isValid;\r\n\t}\r\n\r\n\tcreated() {\r\n\t\tthis.participantForm = {\r\n\t\t\tfirstName: \"\",\r\n\t\t\tlastName: \"\",\r\n\t\t\temail: \"\",\r\n\t\t\tid: \"\",\r\n\t\t\tdisplayName: \"\",\r\n\t\t\tisUnknown: true,\r\n\t\t};\r\n\t}\r\n\r\n\tonCancel(): void {\r\n\t\tuseTrainingStore().hideModal(\"AddParticipant\");\r\n\t}\r\n\r\n\tonSubmit(): void {\r\n\t\tthis.submitted = true;\r\n\t\tif (!this.canSubmit) return;\r\n\t\tthis.addParticipant();\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"form-row\" }\nconst _hoisted_2 = { class: \"form-group col-md-6\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_4 = { class: \"form-group col-md-6\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_6 = { class: \"form-row\" }\nconst _hoisted_7 = { class: \"form-group col-12\" }\nconst _hoisted_8 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_9 = {\n key: 1,\n class: \"p-error\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_InputText = _resolveComponent(\"InputText\")!\n\n return (_openBlock(), _createElementBlock(\"form\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['trainingParticipantForm'].firstName?.required })\n }, _toDisplayString(_ctx.$t(\"common.forms.lblFirstName\")), 3),\n _createVNode(_component_InputText, {\n modelValue: _ctx.v$['trainingParticipantForm'].firstName.$model,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.v$['trainingParticipantForm'].firstName.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['trainingParticipantForm'].firstName) }),\n type: \"text\"\n }, null, 8, [\"modelValue\", \"class\"]),\n (_ctx.shouldShowError(_ctx.v$['trainingParticipantForm'].firstName))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_3, _toDisplayString(_ctx.v$[\"trainingParticipantForm\"].firstName?.required?.$message), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['trainingParticipantForm'].lastName?.required })\n }, _toDisplayString(_ctx.$t(\"common.forms.lblLastName\")), 3),\n _createVNode(_component_InputText, {\n modelValue: _ctx.v$['trainingParticipantForm'].lastName.$model,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.v$['trainingParticipantForm'].lastName.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['trainingParticipantForm'].lastName) }),\n type: \"text\"\n }, null, 8, [\"modelValue\", \"class\"]),\n (_ctx.shouldShowError(_ctx.v$['trainingParticipantForm'].lastName))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_5, _toDisplayString(_ctx.v$[\"trainingParticipantForm\"].lastName?.required?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['trainingParticipantForm'].email?.required })\n }, _toDisplayString(_ctx.$t(\"myCadac.licenceManagementDetail.dialog.lblEmail\")), 3),\n _createVNode(_component_InputText, {\n modelValue: _ctx.v$['trainingParticipantForm'].email.$model,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.v$['trainingParticipantForm'].email.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['trainingParticipantForm'].email) }),\n type: \"email\"\n }, null, 8, [\"modelValue\", \"class\"]),\n (\r\n\t\t\t\t\t\t_ctx.shouldShowError(_ctx.v$['trainingParticipantForm'].email) &&\r\n\t\t\t\t\t\t!_ctx.v$['trainingParticipantForm'].email.$model\r\n\t\t\t\t\t)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_8, _toDisplayString(_ctx.v$[\"trainingParticipantForm\"].email?.required?.$message), 1))\n : (\r\n\t\t\t\t\t\t_ctx.shouldShowError(_ctx.v$['trainingParticipantForm'].email) &&\r\n\t\t\t\t\t\t_ctx.v$['trainingParticipantForm'].email.$model\r\n\t\t\t\t\t)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_9, _toDisplayString(_ctx.v$[\"trainingParticipantForm\"].email.email?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n}","<template>\r\n\t<form>\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-md-6\">\r\n\t\t\t\t<label :class=\"{ required: v$['trainingParticipantForm'].firstName?.required }\">\r\n\t\t\t\t\t{{ $t(\"common.forms.lblFirstName\") }}\r\n\t\t\t\t</label>\r\n\t\t\t\t<InputText\r\n\t\t\t\t\tv-model=\"v$['trainingParticipantForm'].firstName.$model\"\r\n\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['trainingParticipantForm'].firstName) }\"\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t/>\r\n\t\t\t\t<small v-if=\"shouldShowError(v$['trainingParticipantForm'].firstName)\" class=\"p-error\">\r\n\t\t\t\t\t{{ v$[\"trainingParticipantForm\"].firstName?.required?.$message }}\r\n\t\t\t\t</small>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"form-group col-md-6\">\r\n\t\t\t\t<label :class=\"{ required: v$['trainingParticipantForm'].lastName?.required }\">\r\n\t\t\t\t\t{{ $t(\"common.forms.lblLastName\") }}\r\n\t\t\t\t</label>\r\n\t\t\t\t<InputText\r\n\t\t\t\t\tv-model=\"v$['trainingParticipantForm'].lastName.$model\"\r\n\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['trainingParticipantForm'].lastName) }\"\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t/>\r\n\t\t\t\t<small v-if=\"shouldShowError(v$['trainingParticipantForm'].lastName)\" class=\"p-error\">\r\n\t\t\t\t\t{{ v$[\"trainingParticipantForm\"].lastName?.required?.$message }}\r\n\t\t\t\t</small>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-12\">\r\n\t\t\t\t<label :class=\"{ required: v$['trainingParticipantForm'].email?.required }\">\r\n\t\t\t\t\t{{ $t(\"myCadac.licenceManagementDetail.dialog.lblEmail\") }}\r\n\t\t\t\t</label>\r\n\t\t\t\t<InputText\r\n\t\t\t\t\tv-model=\"v$['trainingParticipantForm'].email.$model\"\r\n\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['trainingParticipantForm'].email) }\"\r\n\t\t\t\t\ttype=\"email\"\r\n\t\t\t\t/>\r\n\t\t\t\t<small\r\n\t\t\t\t\tv-if=\"\r\n\t\t\t\t\t\tshouldShowError(v$['trainingParticipantForm'].email) &&\r\n\t\t\t\t\t\t!v$['trainingParticipantForm'].email.$model\r\n\t\t\t\t\t\"\r\n\t\t\t\t\tclass=\"p-error\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ v$[\"trainingParticipantForm\"].email?.required?.$message }}\r\n\t\t\t\t</small>\r\n\t\t\t\t<small\r\n\t\t\t\t\tv-else-if=\"\r\n\t\t\t\t\t\tshouldShowError(v$['trainingParticipantForm'].email) &&\r\n\t\t\t\t\t\tv$['trainingParticipantForm'].email.$model\r\n\t\t\t\t\t\"\r\n\t\t\t\t\tclass=\"p-error\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ v$[\"trainingParticipantForm\"].email.email?.$message }}\r\n\t\t\t\t</small>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</form>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport useVuelidate, { Validation } from \"@vuelidate/core\";\r\nimport { Component, Prop, VModel } from \"vue-facing-decorator\";\r\nimport { PropType } from \"vue\";\r\nimport { TrainingParticipantForm as TrainingParticipantFormModel } from \"@/types/models/form/trainingParticipantForm\";\r\nimport { email, minLength } from \"@/types/utils/i18n-validators\";\r\nimport { maxLength } from \"@vuelidate/validators\";\r\nimport { throttledWatch } from \"@vueuse/core\";\r\n\r\n@Component({\r\n\toptions: {\r\n\t\tvalidations: {\r\n\t\t\ttrainingParticipantForm: {\r\n\t\t\t\tfirstName: { minLength: minLength(2), maxLength: maxLength(55) },\r\n\t\t\t\tlastName: { minLength: minLength(2), maxLength: maxLength(75) },\r\n\t\t\t\temail: { email },\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n})\r\nexport default class TrainingParticipantForm extends BaseComponent {\r\n\t@VModel({\r\n\t\ttype: Object as PropType<TrainingParticipantFormModel>,\r\n\t\trequired: false,\r\n\t})\r\n\tmodel!: TrainingParticipantFormModel;\r\n\r\n\t@Prop({\r\n\t\ttype: Object as PropType<TrainingParticipantFormModel>,\r\n\t\trequired: false,\r\n\t\tdefault: {},\r\n\t})\r\n\titem!: TrainingParticipantFormModel;\r\n\r\n\t@Prop({\r\n\t\ttype: Number,\r\n\t\trequired: false,\r\n\t\tdefault: 0,\r\n\t})\r\n\tindex!: number;\r\n\t@Prop({ type: Boolean, required: true, default: false }) submitted!: boolean;\r\n\r\n\tv$ = useVuelidate();\r\n\r\n\ttrainingParticipantForm: TrainingParticipantFormModel | null = null;\r\n\r\n\tget isAnyDirty(): boolean {\r\n\t\treturn this.v$[\"trainingParticipantForm\"]?.$anyDirty;\r\n\t}\r\n\r\n\tget isValid(): boolean {\r\n\t\treturn !this.v$[\"trainingParticipantForm\"]?.$invalid;\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.trainingParticipantForm = this.model || this.item;\r\n\r\n\t\t// Watch for changes on the participant form and update isUnknown property, updates only every 750 ms\r\n\t\tthrottledWatch(this.trainingParticipantForm, (val) => this.checkIfParticipantIsUnknown(val), {\r\n\t\t\tthrottle: 750,\r\n\t\t});\r\n\t}\r\n\r\n\tshouldShowError(fieldToValidate: Validation): boolean {\r\n\t\treturn fieldToValidate.$invalid && (this.submitted || fieldToValidate.$dirty);\r\n\t}\r\n\r\n\tprivate checkIfParticipantIsUnknown(trainingParticipantForm: TrainingParticipantFormModel): void {\r\n\t\ttrainingParticipantForm.isUnknown =\r\n\t\t\t!(\r\n\t\t\t\t!!trainingParticipantForm.firstName &&\r\n\t\t\t\t!!trainingParticipantForm.lastName &&\r\n\t\t\t\t!!trainingParticipantForm.email\r\n\t\t\t) || !this.isValid;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { render } from \"./trainingParticipantForm.vue?vue&type=template&id=bb4cc9aa&ts=true\"\nimport script from \"./trainingParticipantForm.vue?vue&type=script&lang=ts\"\nexport * from \"./trainingParticipantForm.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineStore } from 'pinia';\r\n\r\ninterface TrainingStoreState {\r\n\tisTrainingAddCourseModalVisible: boolean;\r\n\tisTrainingAddParticipantModalVisible: boolean;\r\n}\r\n\r\nexport type TrainingModalType = 'AddCourse' | 'AddParticipant';\r\n\r\nexport const useTrainingStore = defineStore('training', {\r\n\tstate: () =>\r\n\t\t({\r\n\t\t\tisTrainingAddCourseModalVisible: false,\r\n\t\t\tisTrainingAddParticipantModalVisible: false,\r\n\t\t}) as TrainingStoreState,\r\n\tactions: {\r\n\t\tshowModal(type: TrainingModalType) {\r\n\t\t\tswitch (type) {\r\n\t\t\t\tcase 'AddCourse':\r\n\t\t\t\t\tthis.isTrainingAddCourseModalVisible = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'AddParticipant':\r\n\t\t\t\t\tthis.isTrainingAddParticipantModalVisible = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t},\r\n\t\thideModal(type: TrainingModalType) {\r\n\t\t\tswitch (type) {\r\n\t\t\t\tcase 'AddCourse':\r\n\t\t\t\t\tthis.isTrainingAddCourseModalVisible = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'AddParticipant':\r\n\t\t\t\t\tthis.isTrainingAddParticipantModalVisible = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t},\r\n\t},\r\n});\r\n","import { render } from \"./trainingAddParticipantsModal.vue?vue&type=template&id=2a5babe0&ts=true\"\nimport script from \"./trainingAddParticipantsModal.vue?vue&type=script&lang=ts\"\nexport * from \"./trainingAddParticipantsModal.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, withCtx as _withCtx, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, createElementBlock as _createElementBlock, renderList as _renderList, Fragment as _Fragment, withModifiers as _withModifiers, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-134eeb3f\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"d-flex justify-content-end\" }\nconst _hoisted_2 = { class: \"row-expansion-content\" }\nconst _hoisted_3 = [\"href\"]\nconst _hoisted_4 = { class: \"d-flex flex-wrap\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"training-summary\"\n}\nconst _hoisted_6 = { class: \"mb-1\" }\nconst _hoisted_7 = { class: \"text-underline\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"ml-1 popover-icon pi pi-question\" }, null, -1))\nconst _hoisted_9 = [\"innerHTML\"]\nconst _hoisted_10 = [\"title\"]\nconst _hoisted_11 = { class: \"training-summary\" }\nconst _hoisted_12 = { class: \"mb-1\" }\nconst _hoisted_13 = { class: \"text-underline\" }\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"ml-1 popover-icon pi pi-question\" }, null, -1))\nconst _hoisted_15 = [\"innerHTML\"]\nconst _hoisted_16 = { key: 0 }\nconst _hoisted_17 = [\"title\"]\nconst _hoisted_18 = { key: 1 }\nconst _hoisted_19 = [\"title\"]\nconst _hoisted_20 = { key: 2 }\nconst _hoisted_21 = { key: 0 }\nconst _hoisted_22 = [\"title\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_InputText = _resolveComponent(\"InputText\")!\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_PopoverIcon = _resolveComponent(\"PopoverIcon\")!\n const _component_Inplace = _resolveComponent(\"Inplace\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n const _component_TrainingAddParticipantsModal = _resolveComponent(\"TrainingAddParticipantsModal\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (_ctx.vm?.training)\n ? (_openBlock(), _createBlock(_component_DataTable, {\n key: 0,\n editingRows: _ctx.editingRows,\n \"onUpdate:editingRows\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.editingRows) = $event)),\n \"expanded-rows\": _ctx.expandedRows,\n \"onUpdate:expandedRows\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.expandedRows) = $event)),\n \"auto-layout\": \"\",\n \"data-key\": \"id\",\n \"edit-mode\": \"row\",\n \"row-class\": _ctx.highlightRow,\n \"row-hover\": _ctx.vm?.training?.canBeEdited,\n value: _ctx.currentRows,\n onRowClick: _withModifiers(_ctx.onRowClick, [\"self\"])\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n (_ctx.canAddParticipant)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-raised p-button-primary p-button-sm\",\n icon: \"pi pi-plus-circle\",\n \"icon-pos\": \"left\",\n label: _ctx.$t('myCadac.trainingDetail.button.addParticipant'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.onAddParticipantClick()))\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n expansion: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_2, [\n (_ctx.vm.howToStartTrainingLink)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n class: \"mt-0\",\n closable: false,\n severity: \"info\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_i18n_t, { keypath: \"myCadac.trainingDetail.table.vdiInfo.firstTimeHelp\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"a\", {\n href: _ctx.vm.howToStartTrainingLink,\n target: \"_blank\"\n }, _toDisplayString(_ctx.$t(\"myCadac.trainingDetail.table.vdiInfo.firstTimeHelpLink\")), 9, _hoisted_3)\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_4, [\n (_ctx.canShowVdiInfo(item.data))\n ? (_openBlock(), _createElementBlock(\"dl\", _hoisted_5, [\n _createElementVNode(\"dt\", _hoisted_6, [\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(_ctx.vm.isInstructor\r\n\t\t\t\t\t\t\t\t\t\t? _ctx.$t(\"myCadac.trainingDetail.table.vdiInfo.lblAccountDetails\")\r\n\t\t\t\t\t\t\t\t\t\t: _ctx.$t(\"myCadac.trainingDetail.table.vdiInfo.lblYourAccountDetails\")), 1),\n _createVNode(_component_PopoverIcon, { class: \"d-inline-flex\" }, {\n content: _withCtx(() => [\n _createElementVNode(\"span\", {\n innerHTML: \r\n\t\t\t\t\t\t\t\t\t\t\t_ctx.vm.isInstructor\r\n\t\t\t\t\t\t\t\t\t\t\t\t? _ctx.$t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'myCadac.trainingDetail.table.vdiInfo.accountDetailsPopOverText'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t: _ctx.$t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'myCadac.trainingDetail.table.vdiInfo.yourAccountDetailsPopOverText'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\n }, null, 8, _hoisted_9)\n ]),\n default: _withCtx(() => [\n _hoisted_8\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"myCadac.trainingDetail.table.vdiInfo.lblParticipant\")), 1),\n _createElementVNode(\"dd\", null, _toDisplayString(item.data.email), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"myCadac.trainingDetail.table.vdiInfo.lblAccountName\")), 1),\n _createElementVNode(\"dd\", null, _toDisplayString(item.data.vmAccount), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"myCadac.trainingDetail.table.vdiInfo.lblPassword\")), 1),\n _createElementVNode(\"dd\", null, [\n _createVNode(_component_Inplace, { closable: false }, {\n display: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.trainingDetail.table.vdiInfo.lblShowPassword\")), 1)\n ]),\n content: _withCtx(() => [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"p\", {\n class: \"m-0 limit-line-width text-truncate\",\n title: _ctx.$t('myCadac.trainingDetail.table.vdiInfo.lblPassword')\n }, _toDisplayString(item.data.vmPassword), 9, _hoisted_10),\n _createVNode(_component_Button, {\n class: \"p-button-outlined p-button-secondary copy-button\",\n icon: \"pi pi-copy\",\n onClick: ($event: any) => (_ctx.copyTextToClipboard(item.data.vmPassword))\n }, null, 8, [\"onClick\"])\n ])\n ]),\n _: 2\n }, 1024)\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"dl\", _hoisted_11, [\n _createElementVNode(\"dt\", _hoisted_12, [\n _createElementVNode(\"span\", _hoisted_13, _toDisplayString(_ctx.$t(\"myCadac.trainingDetail.table.vdiInfo.lblLinks\")), 1),\n _createVNode(_component_PopoverIcon, { class: \"d-inline-flex\" }, {\n content: _withCtx(() => [\n _createElementVNode(\"span\", {\n innerHTML: \r\n\t\t\t\t\t\t\t\t\t\t\t_ctx.canShowVdiInfo(item.data)\r\n\t\t\t\t\t\t\t\t\t\t\t\t? _ctx.vm.isInstructor\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t? _ctx.$t('myCadac.trainingDetail.table.vdiInfo.linksPopOverText')\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t: _ctx.$t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'myCadac.trainingDetail.table.vdiInfo.yourLinksPopOverText'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t: _ctx.$t('myCadac.trainingDetail.table.vdiInfo.bookCodesPopOverText')\r\n\t\t\t\t\t\t\t\t\t\t\n }, null, 8, _hoisted_15)\n ]),\n default: _withCtx(() => [\n _hoisted_14\n ]),\n _: 2\n }, 1024)\n ]),\n (_ctx.vm.training?.teamUrl)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_16, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"myCadac.trainingDetail.table.vdiInfo.lblMicrosoftTeams\")), 1),\n _createElementVNode(\"dd\", null, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"p\", {\n class: \"m-0 limit-line-width text-truncate\",\n title: _ctx.vm.training.teamUrl\n }, _toDisplayString(_ctx.vm.training.teamUrl), 9, _hoisted_17),\n _createVNode(_component_Button, {\n class: \"p-button-outlined p-button-secondary copy-button\",\n icon: \"pi pi-copy\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.copyTextToClipboard(_ctx.vm.training.teamUrl)))\n })\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.canShowVdiInfo(item.data))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_18, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"myCadac.trainingDetail.table.vdiInfo.lblRemoteDesktop\")), 1),\n _createElementVNode(\"dd\", null, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"p\", {\n class: \"m-0 limit-line-width text-truncate\",\n title: item.data.vmUrl\n }, _toDisplayString(item.data.vmUrl), 9, _hoisted_19),\n _createVNode(_component_Button, {\n class: \"p-button-outlined p-button-secondary copy-button\",\n icon: \"pi pi-copy\",\n onClick: ($event: any) => (_ctx.copyTextToClipboard(item.data.vmUrl))\n }, null, 8, [\"onClick\"])\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.canShowBookCodes(item.data))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_20, [\n _createElementVNode(\"dt\", null, _toDisplayString(_ctx.$t(\"myCadac.trainingDetail.table.vdiInfo.lblStudyBookCodes\")), 1),\n _createElementVNode(\"dd\", null, [\n _createElementVNode(\"ol\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(item.data.studyBookCodes, (code) => {\n return (_openBlock(), _createElementBlock(\"li\", { key: code }, [\n code\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_21, [\n _createElementVNode(\"p\", {\n class: \"m-0 limit-line-width text-truncate\",\n title: code\n }, _toDisplayString(code), 9, _hoisted_22),\n _createVNode(_component_Button, {\n class: \"p-button-outlined p-button-secondary copy-button ml-1\",\n icon: \"pi pi-copy\",\n onClick: ($event: any) => (_ctx.copyTextToClipboard(code))\n }, null, 8, [\"onClick\"])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n }), 128))\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.vm.canRestartVdi)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-danger\",\n disabled: _ctx.isRestartVdiButtonLocked,\n icon: \"pi pi-refresh\",\n label: _ctx.$t('myCadac.trainingDetail.button.restartMachine'),\n title: _ctx.$t('myCadac.trainingDetail.button.restartMachine'),\n onClick: ($event: any) => (_ctx.restartVdi(item.data))\n }, null, 8, [\"disabled\", \"label\", \"title\", \"onClick\"]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n default: _withCtx(() => [\n _createVNode(_component_Column, { \"header-style\": \"width: 1.75rem\" }, {\n body: _withCtx((item) => [\n (_ctx.canExpandRow(item.data))\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: _normalizeClass(_ctx.isSmallScreen ? 'p-button-link text-primary' : 'p-row-toggler p-link'),\n icon: _ctx.isExpandedRow(item.data) ? 'pi pi-chevron-down' : 'pi pi-chevron-right',\n label: \r\n\t\t\t\t\t\t_ctx.isSmallScreen\r\n\t\t\t\t\t\t\t? _ctx.isExpandedRow(item.data)\r\n\t\t\t\t\t\t\t\t? _ctx.$t('myCadac.trainingDetail.table.lblHideExpandButton')\r\n\t\t\t\t\t\t\t\t: _ctx.$t('myCadac.trainingDetail.table.lblExpandButton')\r\n\t\t\t\t\t\t\t: ''\r\n\t\t\t\t\t,\n title: \r\n\t\t\t\t\t\t_ctx.isExpandedRow(item.data)\r\n\t\t\t\t\t\t\t? _ctx.$t('myCadac.trainingDetail.table.lblHideExpandButton')\r\n\t\t\t\t\t\t\t: _ctx.$t('myCadac.trainingDetail.table.lblExpandButton')\r\n\t\t\t\t\t,\n onClick: ($event: any) => (_ctx.toggleRowExpansion(item.data))\n }, null, 8, [\"class\", \"icon\", \"label\", \"title\", \"onClick\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }),\n _createVNode(_component_Column, {\n key: \"firstName\",\n \"body-class\": \"\",\n field: \"firstName\",\n header: _ctx.$t('myCadac.trainingDetail.table.firstName')\n }, {\n editor: _withCtx((participant) => [\n _createVNode(_component_InputText, {\n modelValue: participant.data[participant.column.props.field],\n \"onUpdate:modelValue\": ($event: any) => ((participant.data[participant.column.props.field]) = $event)\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\"])\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"lastName\",\n \"body-class\": \"\",\n field: \"lastName\",\n header: _ctx.$t('myCadac.trainingDetail.table.lastName')\n }, {\n editor: _withCtx((participant) => [\n _createVNode(_component_InputText, {\n modelValue: participant.data[participant.column.props.field],\n \"onUpdate:modelValue\": ($event: any) => ((participant.data[participant.column.props.field]) = $event)\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\"])\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"email\",\n \"body-class\": \"\",\n field: \"email\",\n header: _ctx.$t('myCadac.trainingDetail.table.email')\n }, {\n editor: _withCtx((participant) => [\n _createVNode(_component_InputText, {\n modelValue: participant.data[participant.column.props.field],\n \"onUpdate:modelValue\": ($event: any) => ((participant.data[participant.column.props.field]) = $event)\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\"])\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"actions\",\n \"body-class\": \"text-right\",\n sortable: false\n }, {\n body: _withCtx((item) => [\n (_ctx.canEditParticipant)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-icon p-button-rounded p-button-text p-button-raised\",\n icon: \"pi pi-pencil\",\n label: _ctx.isSmallScreen ? _ctx.$t('myCadac.trainingDetail.table.lblEditButton') : '',\n title: _ctx.$t('myCadac.trainingDetail.table.lblEditButton'),\n onClick: ($event: any) => (_ctx.onEditClick(item.data))\n }, null, 8, [\"label\", \"title\", \"onClick\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.canRemoveParticipant)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-icon p-button-rounded p-button-text p-button-raised p-button-danger ml-1\",\n icon: \"pi pi-trash\",\n label: _ctx.isSmallScreen ? _ctx.$t('common.remove') : '',\n title: _ctx.$t('common.remove'),\n onClick: ($event: any) => (_ctx.confirmRemoveParticipant(item.data))\n }, null, 8, [\"label\", \"title\", \"onClick\"]))\n : _createCommentVNode(\"\", true)\n ]),\n editor: _withCtx((item) => [\n _createVNode(_component_Button, {\n class: \"p-button-icon p-button-rounded p-button-text p-button-sm p-button-secondary\",\n icon: \"pi pi-times\",\n title: _ctx.$t('myCadac.trainingDetail.table.lblCancelRowEditButon'),\n onClick: ($event: any) => (_ctx.cancelEditingRows(item.data))\n }, null, 8, [\"title\", \"onClick\"]),\n _createVNode(_component_Button, {\n class: \"p-button-icon p-button-rounded p-button-sm p-button-success ml-2\",\n icon: \"pi pi-check\",\n loading: _ctx.isSpinnerVisible(item.data.id),\n title: _ctx.$t('myCadac.trainingDetail.table.lblSaveRowEditButon'),\n onClick: ($event: any) => (_ctx.updateParticipant(item.data))\n }, null, 8, [\"loading\", \"title\", \"onClick\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"editingRows\", \"expanded-rows\", \"row-class\", \"row-hover\", \"value\", \"onRowClick\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.trainingStore.isTrainingAddParticipantModalVisible)\n ? (_openBlock(), _createBlock(_component_TrainingAddParticipantsModal, {\n key: 1,\n onAddParticipant: _ctx.addParticipant\n }, null, 8, [\"onAddParticipant\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<DataTable\r\n\t\tv-if=\"vm?.training\"\r\n\t\tv-model:editingRows=\"editingRows\"\r\n\t\tv-model:expanded-rows=\"expandedRows\"\r\n\t\tauto-layout\r\n\t\tdata-key=\"id\"\r\n\t\tedit-mode=\"row\"\r\n\t\t:row-class=\"highlightRow\"\r\n\t\t:row-hover=\"vm?.training?.canBeEdited\"\r\n\t\t:value=\"currentRows\"\r\n\t\t@row-click.self=\"onRowClick\"\r\n\t>\r\n\t\t<template #header>\r\n\t\t\t<div class=\"d-flex justify-content-end\">\r\n\t\t\t\t<Button\r\n\t\t\t\t\tv-if=\"canAddParticipant\"\r\n\t\t\t\t\tclass=\"p-button-raised p-button-primary p-button-sm\"\r\n\t\t\t\t\ticon=\"pi pi-plus-circle\"\r\n\t\t\t\t\ticon-pos=\"left\"\r\n\t\t\t\t\t:label=\"$t('myCadac.trainingDetail.button.addParticipant')\"\r\n\t\t\t\t\t@click=\"onAddParticipantClick()\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t\t<Column header-style=\"width: 1.75rem\">\r\n\t\t\t<template #body=\"item\">\r\n\t\t\t\t<Button\r\n\t\t\t\t\tv-if=\"canExpandRow(item.data)\"\r\n\t\t\t\t\t:class=\"isSmallScreen ? 'p-button-link text-primary' : 'p-row-toggler p-link'\"\r\n\t\t\t\t\t:icon=\"isExpandedRow(item.data) ? 'pi pi-chevron-down' : 'pi pi-chevron-right'\"\r\n\t\t\t\t\t:label=\"\r\n\t\t\t\t\t\tisSmallScreen\r\n\t\t\t\t\t\t\t? isExpandedRow(item.data)\r\n\t\t\t\t\t\t\t\t? $t('myCadac.trainingDetail.table.lblHideExpandButton')\r\n\t\t\t\t\t\t\t\t: $t('myCadac.trainingDetail.table.lblExpandButton')\r\n\t\t\t\t\t\t\t: ''\r\n\t\t\t\t\t\"\r\n\t\t\t\t\t:title=\"\r\n\t\t\t\t\t\tisExpandedRow(item.data)\r\n\t\t\t\t\t\t\t? $t('myCadac.trainingDetail.table.lblHideExpandButton')\r\n\t\t\t\t\t\t\t: $t('myCadac.trainingDetail.table.lblExpandButton')\r\n\t\t\t\t\t\"\r\n\t\t\t\t\t@click=\"toggleRowExpansion(item.data)\"\r\n\t\t\t\t/>\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\r\n\t\t<Column\r\n\t\t\tkey=\"firstName\"\r\n\t\t\tbody-class=\"\"\r\n\t\t\tfield=\"firstName\"\r\n\t\t\t:header=\"$t('myCadac.trainingDetail.table.firstName')\"\r\n\t\t>\r\n\t\t\t<template #editor=\"participant\">\r\n\t\t\t\t<InputText v-model=\"participant.data[participant.column.props.field]\" />\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\r\n\t\t<Column\r\n\t\t\tkey=\"lastName\"\r\n\t\t\tbody-class=\"\"\r\n\t\t\tfield=\"lastName\"\r\n\t\t\t:header=\"$t('myCadac.trainingDetail.table.lastName')\"\r\n\t\t>\r\n\t\t\t<template #editor=\"participant\">\r\n\t\t\t\t<InputText v-model=\"participant.data[participant.column.props.field]\" />\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\r\n\t\t<Column key=\"email\" body-class=\"\" field=\"email\" :header=\"$t('myCadac.trainingDetail.table.email')\">\r\n\t\t\t<template #editor=\"participant\">\r\n\t\t\t\t<InputText v-model=\"participant.data[participant.column.props.field]\" />\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\t\t<Column key=\"actions\" body-class=\"text-right\" :sortable=\"false\">\r\n\t\t\t<template #body=\"item\">\r\n\t\t\t\t<Button\r\n\t\t\t\t\tv-if=\"canEditParticipant\"\r\n\t\t\t\t\tclass=\"p-button-icon p-button-rounded p-button-text p-button-raised\"\r\n\t\t\t\t\ticon=\"pi pi-pencil\"\r\n\t\t\t\t\t:label=\"isSmallScreen ? $t('myCadac.trainingDetail.table.lblEditButton') : ''\"\r\n\t\t\t\t\t:title=\"$t('myCadac.trainingDetail.table.lblEditButton')\"\r\n\t\t\t\t\t@click=\"onEditClick(item.data)\"\r\n\t\t\t\t/>\r\n\t\t\t\t<Button\r\n\t\t\t\t\tv-if=\"canRemoveParticipant\"\r\n\t\t\t\t\tclass=\"p-button-icon p-button-rounded p-button-text p-button-raised p-button-danger ml-1\"\r\n\t\t\t\t\ticon=\"pi pi-trash\"\r\n\t\t\t\t\t:label=\"isSmallScreen ? $t('common.remove') : ''\"\r\n\t\t\t\t\t:title=\"$t('common.remove')\"\r\n\t\t\t\t\t@click=\"confirmRemoveParticipant(item.data)\"\r\n\t\t\t\t/>\r\n\t\t\t</template>\r\n\t\t\t<template #editor=\"item\">\r\n\t\t\t\t<Button\r\n\t\t\t\t\tclass=\"p-button-icon p-button-rounded p-button-text p-button-sm p-button-secondary\"\r\n\t\t\t\t\ticon=\"pi pi-times\"\r\n\t\t\t\t\t:title=\"$t('myCadac.trainingDetail.table.lblCancelRowEditButon')\"\r\n\t\t\t\t\t@click=\"cancelEditingRows(item.data)\"\r\n\t\t\t\t/>\r\n\t\t\t\t<Button\r\n\t\t\t\t\tclass=\"p-button-icon p-button-rounded p-button-sm p-button-success ml-2\"\r\n\t\t\t\t\ticon=\"pi pi-check\"\r\n\t\t\t\t\t:loading=\"isSpinnerVisible(item.data.id)\"\r\n\t\t\t\t\t:title=\"$t('myCadac.trainingDetail.table.lblSaveRowEditButon')\"\r\n\t\t\t\t\t@click=\"updateParticipant(item.data)\"\r\n\t\t\t\t/>\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\t\t<template #expansion=\"item\">\r\n\t\t\t<div class=\"row-expansion-content\">\r\n\t\t\t\t<Message v-if=\"vm.howToStartTrainingLink\" class=\"mt-0\" :closable=\"false\" severity=\"info\">\r\n\t\t\t\t\t<i18n-t keypath=\"myCadac.trainingDetail.table.vdiInfo.firstTimeHelp\">\r\n\t\t\t\t\t\t<a :href=\"vm.howToStartTrainingLink\" target=\"_blank\">\r\n\t\t\t\t\t\t\t{{ $t(\"myCadac.trainingDetail.table.vdiInfo.firstTimeHelpLink\") }}\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t</i18n-t>\r\n\t\t\t\t</Message>\r\n\t\t\t\t<div class=\"d-flex flex-wrap\">\r\n\t\t\t\t\t<dl v-if=\"canShowVdiInfo(item.data)\" class=\"training-summary\">\r\n\t\t\t\t\t\t<dt class=\"mb-1\">\r\n\t\t\t\t\t\t\t<span class=\"text-underline\">\r\n\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\tvm.isInstructor\r\n\t\t\t\t\t\t\t\t\t\t? $t(\"myCadac.trainingDetail.table.vdiInfo.lblAccountDetails\")\r\n\t\t\t\t\t\t\t\t\t\t: $t(\"myCadac.trainingDetail.table.vdiInfo.lblYourAccountDetails\")\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t<PopoverIcon class=\"d-inline-flex\">\r\n\t\t\t\t\t\t\t\t<i class=\"ml-1 popover-icon pi pi-question\" />\r\n\t\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t\t<span\r\n\t\t\t\t\t\t\t\t\t\tv-html=\"\r\n\t\t\t\t\t\t\t\t\t\t\tvm.isInstructor\r\n\t\t\t\t\t\t\t\t\t\t\t\t? $t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'myCadac.trainingDetail.table.vdiInfo.accountDetailsPopOverText'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t: $t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'myCadac.trainingDetail.table.vdiInfo.yourAccountDetailsPopOverText'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</PopoverIcon>\r\n\t\t\t\t\t\t</dt>\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t<dt>\r\n\t\t\t\t\t\t\t\t{{ $t(\"myCadac.trainingDetail.table.vdiInfo.lblParticipant\") }}\r\n\t\t\t\t\t\t\t</dt>\r\n\t\t\t\t\t\t\t<dd>\r\n\t\t\t\t\t\t\t\t{{ item.data.email }}\r\n\t\t\t\t\t\t\t</dd>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t<dt>\r\n\t\t\t\t\t\t\t\t{{ $t(\"myCadac.trainingDetail.table.vdiInfo.lblAccountName\") }}\r\n\t\t\t\t\t\t\t</dt>\r\n\t\t\t\t\t\t\t<dd>\r\n\t\t\t\t\t\t\t\t{{ item.data.vmAccount }}\r\n\t\t\t\t\t\t\t</dd>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t<dt>\r\n\t\t\t\t\t\t\t\t{{ $t(\"myCadac.trainingDetail.table.vdiInfo.lblPassword\") }}\r\n\t\t\t\t\t\t\t</dt>\r\n\t\t\t\t\t\t\t<dd>\r\n\t\t\t\t\t\t\t\t<Inplace :closable=\"false\">\r\n\t\t\t\t\t\t\t\t\t<template #display>\r\n\t\t\t\t\t\t\t\t\t\t{{ $t(\"myCadac.trainingDetail.table.vdiInfo.lblShowPassword\") }}\r\n\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t\t\t<p\r\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"m-0 limit-line-width text-truncate\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t:title=\"$t('myCadac.trainingDetail.table.vdiInfo.lblPassword')\"\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ item.data.vmPassword }}\r\n\t\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"p-button-outlined p-button-secondary copy-button\"\r\n\t\t\t\t\t\t\t\t\t\t\t\ticon=\"pi pi-copy\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t@click=\"copyTextToClipboard(item.data.vmPassword)\"\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t</Inplace>\r\n\t\t\t\t\t\t\t</dd>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</dl>\r\n\r\n\t\t\t\t\t<dl class=\"training-summary\">\r\n\t\t\t\t\t\t<dt class=\"mb-1\">\r\n\t\t\t\t\t\t\t<span class=\"text-underline\">{{\r\n\t\t\t\t\t\t\t\t$t(\"myCadac.trainingDetail.table.vdiInfo.lblLinks\")\r\n\t\t\t\t\t\t\t}}</span>\r\n\t\t\t\t\t\t\t<PopoverIcon class=\"d-inline-flex\">\r\n\t\t\t\t\t\t\t\t<i class=\"ml-1 popover-icon pi pi-question\" />\r\n\t\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t\t<span\r\n\t\t\t\t\t\t\t\t\t\tv-html=\"\r\n\t\t\t\t\t\t\t\t\t\t\tcanShowVdiInfo(item.data)\r\n\t\t\t\t\t\t\t\t\t\t\t\t? vm.isInstructor\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t? $t('myCadac.trainingDetail.table.vdiInfo.linksPopOverText')\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t: $t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'myCadac.trainingDetail.table.vdiInfo.yourLinksPopOverText'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t: $t('myCadac.trainingDetail.table.vdiInfo.bookCodesPopOverText')\r\n\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</PopoverIcon>\r\n\t\t\t\t\t\t</dt>\r\n\r\n\t\t\t\t\t\t<div v-if=\"vm.training?.teamUrl\">\r\n\t\t\t\t\t\t\t<dt>\r\n\t\t\t\t\t\t\t\t{{ $t(\"myCadac.trainingDetail.table.vdiInfo.lblMicrosoftTeams\") }}\r\n\t\t\t\t\t\t\t</dt>\r\n\t\t\t\t\t\t\t<dd>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<p class=\"m-0 limit-line-width text-truncate\" :title=\"vm.training.teamUrl\">\r\n\t\t\t\t\t\t\t\t\t\t{{ vm.training.teamUrl }}\r\n\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\t\tclass=\"p-button-outlined p-button-secondary copy-button\"\r\n\t\t\t\t\t\t\t\t\t\ticon=\"pi pi-copy\"\r\n\t\t\t\t\t\t\t\t\t\t@click=\"copyTextToClipboard(vm.training.teamUrl)\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</dd>\r\n\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t<div v-if=\"canShowVdiInfo(item.data)\">\r\n\t\t\t\t\t\t\t<dt>\r\n\t\t\t\t\t\t\t\t{{ $t(\"myCadac.trainingDetail.table.vdiInfo.lblRemoteDesktop\") }}\r\n\t\t\t\t\t\t\t</dt>\r\n\t\t\t\t\t\t\t<dd>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<p class=\"m-0 limit-line-width text-truncate\" :title=\"item.data.vmUrl\">\r\n\t\t\t\t\t\t\t\t\t\t{{ item.data.vmUrl }}\r\n\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\t\tclass=\"p-button-outlined p-button-secondary copy-button\"\r\n\t\t\t\t\t\t\t\t\t\ticon=\"pi pi-copy\"\r\n\t\t\t\t\t\t\t\t\t\t@click=\"copyTextToClipboard(item.data.vmUrl)\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</dd>\r\n\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t<div v-if=\"canShowBookCodes(item.data)\">\r\n\t\t\t\t\t\t\t<dt>\r\n\t\t\t\t\t\t\t\t{{ $t(\"myCadac.trainingDetail.table.vdiInfo.lblStudyBookCodes\") }}\r\n\t\t\t\t\t\t\t</dt>\r\n\t\t\t\t\t\t\t<dd>\r\n\t\t\t\t\t\t\t\t<ol>\r\n\t\t\t\t\t\t\t\t\t<li v-for=\"code in item.data.studyBookCodes\" :key=\"code\">\r\n\t\t\t\t\t\t\t\t\t\t<div v-if=\"code\">\r\n\t\t\t\t\t\t\t\t\t\t\t<p class=\"m-0 limit-line-width text-truncate\" :title=\"code\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ code }}\r\n\t\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"p-button-outlined p-button-secondary copy-button ml-1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\ticon=\"pi pi-copy\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t@click=\"copyTextToClipboard(code)\"\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t\t\t</ol>\r\n\t\t\t\t\t\t\t</dd>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</dl>\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\tv-if=\"vm.canRestartVdi\"\r\n\t\t\t\t\t\tclass=\"p-button-danger\"\r\n\t\t\t\t\t\t:disabled=\"isRestartVdiButtonLocked\"\r\n\t\t\t\t\t\ticon=\"pi pi-refresh\"\r\n\t\t\t\t\t\t:label=\"$t('myCadac.trainingDetail.button.restartMachine')\"\r\n\t\t\t\t\t\t:title=\"$t('myCadac.trainingDetail.button.restartMachine')\"\r\n\t\t\t\t\t\t@click=\"restartVdi(item.data)\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t</DataTable>\r\n\t<TrainingAddParticipantsModal\r\n\t\tv-if=\"trainingStore.isTrainingAddParticipantModalVisible\"\r\n\t\t@add-participant=\"addParticipant\"\r\n\t/>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport TrainingAddParticipantsModal from \"@/components/training/trainingAddParticipantsModal.vue\";\r\nimport { AddTrainingParticipantRequest } from \"@/types/models/training/addTrainingParticipantRequest\";\r\nimport { CartClient } from \"@/types/models/cart/cartClient\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { DeleteTrainingParticipantRequest } from \"@/types/models/training/deleteTrainingParticipantRequest\";\r\nimport { IPlannedTrainingDetail } from \"@/types/viewModels/myCadac/plannedTrainingDetailViewModel\";\r\nimport { LocalTrainingType } from \"@/types/enum/localTrainingType\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { TrainingParticipantViewModel } from \"@/types/models/training/trainingParticipantViewModel\";\r\nimport { cloneDeep } from \"lodash\";\r\nimport { useTrainingStore } from \"@/store/training/trainingStore\";\r\n\r\n@Component({ components: { TrainingAddParticipantsModal } })\r\nexport default class TrainingParticipantsTable extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<IPlannedTrainingDetail>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: IPlannedTrainingDetail;\r\n\r\n\tisRestartVdiButtonLocked = false;\r\n\r\n\tcurrentRows: TrainingParticipantViewModel[] = [];\r\n\toriginalRows: TrainingParticipantViewModel[] = [];\r\n\teditingRows: TrainingParticipantViewModel[] = [];\r\n\texpandedRows: TrainingParticipantViewModel[] = [];\r\n\ttrainingStore = useTrainingStore();\r\n\r\n\tcreated(): void {\r\n\t\tthis.currentRows = this.vm.training.participants;\r\n\t\tthis.originalRows = cloneDeep(this.currentRows);\r\n\t}\r\n\r\n\tmounted(): void {\r\n\t\t// Expand row for current user\r\n\t\tif (this.vm.isParticipant) {\r\n\t\t\tconst userParticipant = this.currentRows.find((x) => x.email === this.userProfile?.email);\r\n\t\t\tif (userParticipant) this.toggleRowExpansion(userParticipant);\r\n\t\t}\r\n\t}\r\n\r\n\tget canAddParticipant(): boolean {\r\n\t\tconst { canBeEdited, trainingType, maxParticipants } = this.vm.training;\r\n\t\treturn (\r\n\t\t\t(this.vm.isOwningCustomer || this.vm.isInstructor) &&\r\n\t\t\tcanBeEdited &&\r\n\t\t\tthis.currentRows.length < maxParticipants &&\r\n\t\t\t(trainingType === LocalTrainingType.companyTrainingLocal ||\r\n\t\t\t\ttrainingType === LocalTrainingType.companyTrainingRemote)\r\n\t\t);\r\n\t}\r\n\r\n\tget canEditParticipant(): boolean {\r\n\t\tconst { canBeEdited, trainingType } = this.vm.training;\r\n\t\treturn (\r\n\t\t\t(this.vm.isOwningCustomer || this.vm.isInstructor) &&\r\n\t\t\tcanBeEdited &&\r\n\t\t\t(trainingType === LocalTrainingType.companyTrainingLocal ||\r\n\t\t\t\ttrainingType === LocalTrainingType.companyTrainingRemote)\r\n\t\t);\r\n\t}\r\n\r\n\tget canRemoveParticipant(): boolean {\r\n\t\tconst { canBeEdited, trainingType } = this.vm.training;\r\n\t\treturn (\r\n\t\t\t(this.vm.isOwningCustomer || this.vm.isInstructor) &&\r\n\t\t\tcanBeEdited &&\r\n\t\t\t(trainingType === LocalTrainingType.companyTrainingLocal ||\r\n\t\t\t\ttrainingType === LocalTrainingType.companyTrainingRemote)\r\n\t\t);\r\n\t}\r\n\r\n\tcanShowVdiInfo(participant: TrainingParticipantViewModel): boolean {\r\n\t\treturn (this.vm.isParticipant || this.vm.isInstructor) && participant.vmUrl?.length > 0;\r\n\t}\r\n\r\n\tcanShowBookCodes(participant: TrainingParticipantViewModel): boolean {\r\n\t\treturn (this.vm.isParticipant || this.vm.isInstructor) && participant.studyBookCodes?.length > 0;\r\n\t}\r\n\r\n\tcanExpandRow(participant: TrainingParticipantViewModel): boolean {\r\n\t\treturn this.canShowVdiInfo(participant) || this.canShowBookCodes(participant);\r\n\t}\r\n\r\n\tisExpandedRow(data: TrainingParticipantViewModel): boolean {\r\n\t\treturn this.expandedRows.findIndex((x) => x.id === data.id) > -1;\r\n\t}\r\n\r\n\thighlightRow(rowToHighlight: TrainingParticipantViewModel): string {\r\n\t\treturn this.isExpandedRow(rowToHighlight) ? \"highlight\" : \"\";\r\n\t}\r\n\r\n\tonEditClick(rowToEdit: TrainingParticipantViewModel): void {\r\n\t\tthis.editingRows.push(rowToEdit);\r\n\t\tthis.editingRows = [...this.editingRows];\r\n\t}\r\n\r\n\tonAddParticipantClick(): void {\r\n\t\tthis.trainingStore.showModal(\"AddParticipant\");\r\n\t}\r\n\r\n\ttoggleRowExpansion(rowToAdd: TrainingParticipantViewModel): void {\r\n\t\tconst existingRowIndex = this.expandedRows.findIndex((x) => x.id === rowToAdd.id);\r\n\t\tif (existingRowIndex > -1) {\r\n\t\t\tthis.expandedRows.splice(existingRowIndex, 1);\r\n\t\t} else {\r\n\t\t\tthis.expandedRows.push(rowToAdd);\r\n\t\t}\r\n\t\tthis.expandedRows = [...this.expandedRows];\r\n\t}\r\n\r\n\tonRowClick(event: { data: TrainingParticipantViewModel; index: number }): void {\r\n\t\tif (!this.canExpandRow(event.data)) return;\r\n\t\tthis.toggleRowExpansion(event.data);\r\n\t}\r\n\r\n\tcopyTextToClipboard(text: string): void {\r\n\t\tthis.copyToClipboard(text)\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"info\",\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.trainingDetail.toast.copiedToClipboard\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t});\r\n\t}\r\n\r\n\tconfirmRemoveParticipant(item: TrainingParticipantViewModel): void {\r\n\t\tthis.$confirm.require({\r\n\t\t\tmessage: this.$t(\"myCadac.trainingDetail.message.confirmRemoveParticipant\", [\r\n\t\t\t\t`${item.firstName} ${item.lastName}`,\r\n\t\t\t]),\r\n\t\t\theader: this.$t(\"common.messages.titleImportant\"),\r\n\t\t\tacceptLabel: this.$t(\"common.yes\"),\r\n\t\t\trejectLabel: this.$t(\"common.no\"),\r\n\t\t\taccept: () => {\r\n\t\t\t\tthis.removeParticipant({ trainingParticipantId: item.id, trainingListId: this.vm.training.id });\r\n\t\t\t},\r\n\t\t});\r\n\t}\r\n\r\n\tprotected removeParticipant(model: DeleteTrainingParticipantRequest): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tthis.axios\r\n\t\t\t.post<CartClient>(\"/api/training/delete-participant\", model)\r\n\t\t\t.then(() => {\r\n\t\t\t\twindow.location.reload();\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t\t\t\tLog.error(err);\r\n\t\t\t});\r\n\t}\r\n\r\n\taddParticipant(participant: TrainingParticipantViewModel): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tif (this.currentRows.map((x) => x.email).includes(participant.email)) {\r\n\t\t\tthis.$toast.add({\r\n\t\t\t\tseverity: \"error\",\r\n\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\tdetail: this.$t(\"myCadac.trainingDetail.toast.updateParticipantUniqueEmailError\"),\r\n\t\t\t\tlife: 3000,\r\n\t\t\t});\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst payload: AddTrainingParticipantRequest = { ...participant, trainingListId: this.vm.training.id };\r\n\t\tthis.loadingStore.showSpinner(participant.id);\r\n\t\tthis.axios\r\n\t\t\t.post(`/api/training/add-participant`, payload, { requestId: \"addParticipant\" })\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.trainingStore.hideModal(\"AddParticipant\");\r\n\t\t\t\twindow.location.reload();\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.trainingDetail.toast.addParticipantError\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t\t\t\tthis.loadingStore.hideSpinner(participant.id);\r\n\t\t\t});\r\n\t}\r\n\r\n\tupdateParticipant(participant: TrainingParticipantViewModel): void {\r\n\t\tconst existingRowIndex = this.currentRows.findIndex((x) => x.id === participant.id);\r\n\t\tif (\r\n\t\t\tthis.currentRows[existingRowIndex].email !== participant.email &&\r\n\t\t\tthis.currentRows.map((x) => x.email).includes(participant.email)\r\n\t\t) {\r\n\t\t\tthis.$toast.add({\r\n\t\t\t\tseverity: \"error\",\r\n\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\tdetail: this.$t(\"myCadac.trainingDetail.toast.updateParticipantUniqueEmailError\"),\r\n\t\t\t\tlife: 3000,\r\n\t\t\t});\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.loadingStore.showSpinner(participant.id);\r\n\t\tthis.axios\r\n\t\t\t.post(`/api/training/updateParticipant`, participant)\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.saveEditingRows(participant);\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"success\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleSuccess\"),\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.trainingDetail.toast.updateParticipantSuccess\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.cancelEditingRows(participant);\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.trainingDetail.toast.updateParticipantError\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.finally(() => this.loadingStore.hideSpinner(participant.id));\r\n\t}\r\n\r\n\tsaveEditingRows(participant: TrainingParticipantViewModel): void {\r\n\t\tconst participantListIndex = this.currentRows.findIndex((x) => x.id === participant.id);\r\n\t\tconst editingRowIndex = this.editingRows.findIndex((x) => x.id === participant.id);\r\n\r\n\t\tthis.currentRows[participantListIndex] = participant;\r\n\t\tthis.originalRows[participantListIndex] = participant;\r\n\r\n\t\tif (editingRowIndex > -1) {\r\n\t\t\tthis.editingRows.splice(editingRowIndex, 1);\r\n\t\t}\r\n\t\tthis.editingRows = [...this.editingRows];\r\n\t\tthis.currentRows = [...this.currentRows];\r\n\t}\r\n\r\n\tcancelEditingRows(participant: TrainingParticipantViewModel): void {\r\n\t\tconst participantListIndex = this.currentRows.findIndex((x) => x.id === participant.id);\r\n\t\tconst editingRowIndex = this.editingRows.findIndex((x) => x.id === participant.id);\r\n\r\n\t\tthis.currentRows[participantListIndex] = cloneDeep(this.originalRows[participantListIndex]);\r\n\r\n\t\tif (editingRowIndex > -1) {\r\n\t\t\tthis.editingRows.splice(editingRowIndex, 1);\r\n\t\t}\r\n\t\tthis.editingRows = [...this.editingRows];\r\n\t\tthis.currentRows = [...this.currentRows];\r\n\t}\r\n\r\n\trestartVdi(participant: TrainingParticipantViewModel): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tthis.axios\r\n\t\t\t.post(`/api/training/restartVirtualMachineForParticipant`, participant)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tif (res?.data) {\r\n\t\t\t\t\tthis.isRestartVdiButtonLocked = true;\r\n\t\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\t\tseverity: \"success\",\r\n\t\t\t\t\t\tsummary: this.$t(\"common.messages.titleSuccess\"),\r\n\t\t\t\t\t\tdetail: this.$t(\"myCadac.trainingDetail.toast.restartMachineSuccess\", [\r\n\t\t\t\t\t\t\t`${participant.firstName} ${participant.lastName}`,\r\n\t\t\t\t\t\t]),\r\n\t\t\t\t\t\tlife: 5000,\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\t\tdetail: this.$t(\"myCadac.trainingDetail.toast.restartMachineError\", [\r\n\t\t\t\t\t\t\t`${participant.firstName} ${participant.lastName}`,\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\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"myCadac.trainingDetail.toast.restartMachineError\", [\r\n\t\t\t\t\t\t`${participant.firstName} ${participant.lastName}`,\r\n\t\t\t\t\t]),\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t\t\t});\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n::v-deep(.p-datatable-header) {\r\n\tbackground-color: var(--surface-a);\r\n\tborder: none;\r\n}\r\n\r\n.copy-button {\r\n\tmax-width: 1.5rem;\r\n\tmax-height: 1.5rem;\r\n\tflex-shrink: 0;\r\n\tpadding: 0.25rem;\r\n\tmargin-left: 0.25rem;\r\n}\r\n\r\n.limit-line-width {\r\n\tmin-width: 0;\r\n\tmax-width: 300px;\r\n}\r\n\r\ndl.training-summary {\r\n\tflex: 0 0 50%;\r\n\r\n\tdiv {\r\n\t\tdisplay: flex;\r\n\r\n\t\tdt {\r\n\t\t\tdisplay: inline-flex;\r\n\t\t\tflex: 1 0 15%;\r\n\t\t}\r\n\r\n\t\tdd {\r\n\t\t\tdisplay: inline-flex;\r\n\t\t\tflex: 3 1 15%;\r\n\t\t\tmargin-bottom: 0.25rem;\r\n\t\t}\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./trainingParticipantsTable.vue?vue&type=template&id=134eeb3f&scoped=true&ts=true\"\nimport script from \"./trainingParticipantsTable.vue?vue&type=script&lang=ts\"\nexport * from \"./trainingParticipantsTable.vue?vue&type=script&lang=ts\"\n\nimport \"./trainingParticipantsTable.vue?vue&type=style&index=0&id=134eeb3f&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-134eeb3f\"]])\n\nexport default __exports__","import { render } from \"./plannedTrainingDetail.vue?vue&type=template&id=24869c57&scoped=true&ts=true\"\nimport script from \"./plannedTrainingDetail.vue?vue&type=script&lang=ts\"\nexport * from \"./plannedTrainingDetail.vue?vue&type=script&lang=ts\"\n\nimport \"./plannedTrainingDetail.vue?vue&type=style&index=0&id=24869c57&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-24869c57\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, withCtx as _withCtx, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-62855860\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { key: 0 }\nconst _hoisted_2 = { class: \"text-right text-lg-left pb-0 pt-2 px-2\" }\nconst _hoisted_3 = { class: \"mb-0 ml-1 text-bold text-primary\" }\nconst _hoisted_4 = { class: \"d-flex flex-wrap flex-lg-nowrap flex-row-reverse flex-lg-row text-right text-lg-left\" }\nconst _hoisted_5 = { class: \"d-flex px-1 flex-column\" }\nconst _hoisted_6 = { class: \"mb-0 text-muted d-block\" }\nconst _hoisted_7 = { class: \"mb-0 text-bold\" }\nconst _hoisted_8 = { class: \"d-flex align-items-center justify-content-end justify-content-lg-start\" }\nconst _hoisted_9 = [\"title\"]\nconst _hoisted_10 = { class: \"\" }\nconst _hoisted_11 = { class: \"text-preline\" }\nconst _hoisted_12 = { class: \"d-flex align-items-center\" }\nconst _hoisted_13 = { class: \"d-flex flex-column text-right text-lg-left\" }\nconst _hoisted_14 = { class: \"mb-0 text-bold\" }\nconst _hoisted_15 = { class: \"mb-0\" }\nconst _hoisted_16 = {\n key: 0,\n class: \"text-info\"\n}\nconst _hoisted_17 = { key: 0 }\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"ml-1 popover-icon pi pi-check-circle text-success\" }, null, -1))\nconst _hoisted_19 = { key: 1 }\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"ml-1 popover-icon pi pi-exclamation-circle text-danger\" }, null, -1))\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_PopoverIcon = _resolveComponent(\"PopoverIcon\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (_ctx.vm.pageTitle)\n ? (_openBlock(), _createElementBlock(\"h1\", _hoisted_1, _toDisplayString(_ctx.vm.pageTitle), 1))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.trainingsGroupedByLinkId, ([trainingLinkId, trainings]) => {\n return (_openBlock(), _createBlock(_component_Card, {\n key: trainingLinkId,\n class: \"mb-3\"\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"h5\", _hoisted_3, _toDisplayString(trainings[0].name), 1)\n ])\n ]),\n content: _withCtx(() => [\n _createVNode(_component_DataTable, {\n \"auto-layout\": \"\",\n \"responsive-layout\": \"stack\",\n value: trainings\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Column, {\n key: \"trainingName\",\n header: _ctx.$t('training.lblCourse')\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_4, [\n (item.data.productIconUrl)\n ? (_openBlock(), _createBlock(_component_Avatar, {\n key: 0,\n alt: item.data.productIconAlt || item.data.subject,\n class: \"flex-shrink-0\",\n image: item.data.productIconUrl,\n shape: \"square\",\n size: \"large\",\n title: item.data.subject\n }, null, 8, [\"alt\", \"image\", \"title\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"small\", _hoisted_6, _toDisplayString(item.data.brand), 1),\n _createElementVNode(\"span\", _hoisted_7, _toDisplayString(item.data.name), 1),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"i\", {\n class: \"pi pi-user text-primary mr-1\",\n title: _ctx.$t('myCadac.trainingOverview.table.colParticipants')\n }, null, 8, _hoisted_9),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$tc(\"myCadac.trainingOverview.table.lblParticipantsCount\", {\r\n\t\t\t\t\t\t\t\t\t\t\t\tcount: item.data.participants?.length,\r\n\t\t\t\t\t\t\t\t\t\t\t})), 1)\n ])\n ])\n ])\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"trainingType\",\n field: \"trainingType\",\n header: _ctx.$t('myCadac.trainingOverview.table.trainingInfo.colType'),\n style: {\"width\":\"12.5%\"}\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t(`enum.trainingType.${item.data.trainingType}`)), 1)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"location\",\n \"body-class\": \"text-nowrap \",\n field: \"location\",\n header: _ctx.$t('myCadac.trainingOverview.table.colLocation'),\n style: {\"width\":\"17.5%\"}\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"span\", _hoisted_11, _toDisplayString(_ctx.formattedAddress(item.data)), 1)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"date\",\n field: \"date\",\n header: _ctx.$t('myCadac.trainingOverview.table.colDate'),\n style: {\"width\":\"22.5%\"}\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"p\", _hoisted_14, _toDisplayString(_ctx.$tc(\"myCadac.trainingOverview.table.lblDays\", {\r\n\t\t\t\t\t\t\t\t\t\t\tcount: item.data.dates?.length,\r\n\t\t\t\t\t\t\t\t\t\t})), 1),\n _createElementVNode(\"p\", _hoisted_15, _toDisplayString(item.data?.formattedDates), 1),\n (item.data.remainingDays > 0)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_16, _toDisplayString(_ctx.$tc(\"myCadac.trainingOverview.table.lblDaysRemaining\", {\r\n\t\t\t\t\t\t\t\t\t\t\tcount: item.data.remainingDays,\r\n\t\t\t\t\t\t\t\t\t\t})), 1))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n _: 1\n }, 8, [\"header\"]),\n (_ctx.vm.isOwningCustomerOfATraining)\n ? (_openBlock(), _createBlock(_component_Column, {\n key: \"status\",\n \"body-class\": \"text-lg-center\",\n field: \"status\",\n header: _ctx.$t('myCadac.trainingOverview.table.colStatus')\n }, {\n body: _withCtx((item) => [\n (item.data.participantsDataCompleted)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createVNode(_component_PopoverIcon, {\n class: \"d-inline-flex\",\n content: _ctx.$t('myCadac.trainingOverview.table.lblStatusInfoComplete')\n }, {\n default: _withCtx(() => [\n _hoisted_18\n ]),\n _: 1\n }, 8, [\"content\"])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_19, [\n _createVNode(_component_PopoverIcon, {\n class: \"d-inline-flex\",\n content: _ctx.$t('myCadac.trainingOverview.table.lblStatusInfoNeeded')\n }, {\n default: _withCtx(() => [\n _hoisted_20\n ]),\n _: 1\n }, 8, [\"content\"])\n ]))\n ]),\n _: 1\n }, 8, [\"header\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Column, {\n key: \"actions\",\n \"body-class\": \"text-right\",\n field: \"actions\"\n }, {\n body: _withCtx((item) => [\n (item.data.participantsDataCompleted)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-primary p-button-raised p-button-text p-button-rounded\",\n icon: 'pi pi-eye',\n label: _ctx.isSmallScreen ? _ctx.$t('myCadac.trainingOverview.table.lblView') : '',\n title: _ctx.$t('myCadac.trainingOverview.table.lblView'),\n onClick: ($event: any) => {\r\n\t\t\t\t\t\t\t\t_ctx.openUrl(`${_ctx.vm.plannedTrainingDetailUrl}?traininglistid=${item.data.id}`);\r\n\t\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t\t}\n }, null, 8, [\"label\", \"title\", \"onClick\"]))\n : (_ctx.vm.isOwningCustomerOfATraining)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-raised p-button-text p-button-rounded\",\n icon: \"pi pi-pencil\",\n label: _ctx.isSmallScreen ? _ctx.$t('myCadac.trainingOverview.table.lblEdit') : '',\n onClick: ($event: any) => {\r\n\t\t\t\t\t\t\t\t_ctx.openUrl(`${_ctx.vm.plannedTrainingDetailUrl}?traininglistid=${item.data.id}`);\r\n\t\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t\t}\n }, null, 8, [\"label\", \"onClick\"]))\n : (_openBlock(), _createBlock(_component_Button, {\n key: 2,\n class: \"p-button-raised p-button-text p-button-rounded\",\n icon: \"pi pi-eye\",\n label: _ctx.isSmallScreen ? _ctx.$t('myCadac.trainingOverview.table.lblView') : '',\n onClick: ($event: any) => {\r\n\t\t\t\t\t\t\t\t_ctx.openUrl(`${_ctx.vm.plannedTrainingDetailUrl}?traininglistid=${item.data.id}`);\r\n\t\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t\t}\n }, null, 8, [\"label\", \"onClick\"]))\n ]),\n _: 1\n })\n ]),\n _: 2\n }, 1032, [\"value\"])\n ]),\n _: 2\n }, 1024))\n }), 128))\n ], 64))\n}","<template>\r\n\t<h1 v-if=\"vm.pageTitle\">{{ vm.pageTitle }}</h1>\r\n\r\n\t<Card v-for=\"[trainingLinkId, trainings] in trainingsGroupedByLinkId\" :key=\"trainingLinkId\" class=\"mb-3\">\r\n\t\t<template #header>\r\n\t\t\t<div class=\"text-right text-lg-left pb-0 pt-2 px-2\">\r\n\t\t\t\t<h5 class=\"mb-0 ml-1 text-bold text-primary\">\r\n\t\t\t\t\t{{ trainings[0].name }}\r\n\t\t\t\t</h5>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t\t<template #content>\r\n\t\t\t<DataTable auto-layout responsive-layout=\"stack\" :value=\"trainings\">\r\n\t\t\t\t<Column key=\"trainingName\" :header=\"$t('training.lblCourse')\">\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\tclass=\"d-flex flex-wrap flex-lg-nowrap flex-row-reverse flex-lg-row text-right text-lg-left\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\tv-if=\"item.data.productIconUrl\"\r\n\t\t\t\t\t\t\t\t:alt=\"item.data.productIconAlt || item.data.subject\"\r\n\t\t\t\t\t\t\t\tclass=\"flex-shrink-0\"\r\n\t\t\t\t\t\t\t\t:image=\"item.data.productIconUrl\"\r\n\t\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\t\tsize=\"large\"\r\n\t\t\t\t\t\t\t\t:title=\"item.data.subject\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<div class=\"d-flex px-1 flex-column\">\r\n\t\t\t\t\t\t\t\t<small class=\"mb-0 text-muted d-block\">\r\n\t\t\t\t\t\t\t\t\t{{ item.data.brand }}\r\n\t\t\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t\t\t<span class=\"mb-0 text-bold\">\r\n\t\t\t\t\t\t\t\t\t{{ item.data.name }}\r\n\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\tclass=\"d-flex align-items-center justify-content-end justify-content-lg-start\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t\tclass=\"pi pi-user text-primary mr-1\"\r\n\t\t\t\t\t\t\t\t\t\t:title=\"$t('myCadac.trainingOverview.table.colParticipants')\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t<span>\r\n\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t$tc(\"myCadac.trainingOverview.table.lblParticipantsCount\", {\r\n\t\t\t\t\t\t\t\t\t\t\t\tcount: item.data.participants?.length,\r\n\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\r\n\t\t\t\t<Column\r\n\t\t\t\t\tkey=\"trainingType\"\r\n\t\t\t\t\tfield=\"trainingType\"\r\n\t\t\t\t\t:header=\"$t('myCadac.trainingOverview.table.trainingInfo.colType')\"\r\n\t\t\t\t\tstyle=\"width: 12.5%\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<span class=\"\">\r\n\t\t\t\t\t\t\t{{ $t(`enum.trainingType.${item.data.trainingType}`) }}\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\r\n\t\t\t\t<Column\r\n\t\t\t\t\tkey=\"location\"\r\n\t\t\t\t\tbody-class=\"text-nowrap \"\r\n\t\t\t\t\tfield=\"location\"\r\n\t\t\t\t\t:header=\"$t('myCadac.trainingOverview.table.colLocation')\"\r\n\t\t\t\t\tstyle=\"width: 17.5%\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<span class=\"text-preline\">\r\n\t\t\t\t\t\t\t{{ formattedAddress(item.data) }}\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\r\n\t\t\t\t<Column\r\n\t\t\t\t\tkey=\"date\"\r\n\t\t\t\t\tfield=\"date\"\r\n\t\t\t\t\t:header=\"$t('myCadac.trainingOverview.table.colDate')\"\r\n\t\t\t\t\tstyle=\"width: 22.5%\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t\t\t<div class=\"d-flex flex-column text-right text-lg-left\">\r\n\t\t\t\t\t\t\t\t<p class=\"mb-0 text-bold\">\r\n\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t$tc(\"myCadac.trainingOverview.table.lblDays\", {\r\n\t\t\t\t\t\t\t\t\t\t\tcount: item.data.dates?.length,\r\n\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t<p class=\"mb-0\">{{ item.data?.formattedDates }}</p>\r\n\t\t\t\t\t\t\t\t<small v-if=\"item.data.remainingDays > 0\" class=\"text-info\">\r\n\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t$tc(\"myCadac.trainingOverview.table.lblDaysRemaining\", {\r\n\t\t\t\t\t\t\t\t\t\t\tcount: item.data.remainingDays,\r\n\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\r\n\t\t\t\t<Column\r\n\t\t\t\t\tv-if=\"vm.isOwningCustomerOfATraining\"\r\n\t\t\t\t\tkey=\"status\"\r\n\t\t\t\t\tbody-class=\"text-lg-center\"\r\n\t\t\t\t\tfield=\"status\"\r\n\t\t\t\t\t:header=\"$t('myCadac.trainingOverview.table.colStatus')\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<div v-if=\"item.data.participantsDataCompleted\">\r\n\t\t\t\t\t\t\t<PopoverIcon\r\n\t\t\t\t\t\t\t\tclass=\"d-inline-flex\"\r\n\t\t\t\t\t\t\t\t:content=\"$t('myCadac.trainingOverview.table.lblStatusInfoComplete')\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<i class=\"ml-1 popover-icon pi pi-check-circle text-success\" />\r\n\t\t\t\t\t\t\t</PopoverIcon>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div v-else>\r\n\t\t\t\t\t\t\t<PopoverIcon\r\n\t\t\t\t\t\t\t\tclass=\"d-inline-flex\"\r\n\t\t\t\t\t\t\t\t:content=\"$t('myCadac.trainingOverview.table.lblStatusInfoNeeded')\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<i class=\"ml-1 popover-icon pi pi-exclamation-circle text-danger\" />\r\n\t\t\t\t\t\t\t</PopoverIcon>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\r\n\t\t\t\t<Column key=\"actions\" body-class=\"text-right\" field=\"actions\">\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\tv-if=\"item.data.participantsDataCompleted\"\r\n\t\t\t\t\t\t\tclass=\"p-button-primary p-button-raised p-button-text p-button-rounded\"\r\n\t\t\t\t\t\t\t:icon=\"'pi pi-eye'\"\r\n\t\t\t\t\t\t\t:label=\"isSmallScreen ? $t('myCadac.trainingOverview.table.lblView') : ''\"\r\n\t\t\t\t\t\t\t:title=\"$t('myCadac.trainingOverview.table.lblView')\"\r\n\t\t\t\t\t\t\t@click=\"\r\n\t\t\t\t\t\t\t\topenUrl(`${vm.plannedTrainingDetailUrl}?traininglistid=${item.data.id}`);\r\n\t\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\tv-else-if=\"vm.isOwningCustomerOfATraining\"\r\n\t\t\t\t\t\t\tclass=\"p-button-raised p-button-text p-button-rounded\"\r\n\t\t\t\t\t\t\ticon=\"pi pi-pencil\"\r\n\t\t\t\t\t\t\t:label=\"isSmallScreen ? $t('myCadac.trainingOverview.table.lblEdit') : ''\"\r\n\t\t\t\t\t\t\t@click=\"\r\n\t\t\t\t\t\t\t\topenUrl(`${vm.plannedTrainingDetailUrl}?traininglistid=${item.data.id}`);\r\n\t\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\tv-else\r\n\t\t\t\t\t\t\tclass=\"p-button-raised p-button-text p-button-rounded\"\r\n\t\t\t\t\t\t\ticon=\"pi pi-eye\"\r\n\t\t\t\t\t\t\t:label=\"isSmallScreen ? $t('myCadac.trainingOverview.table.lblView') : ''\"\r\n\t\t\t\t\t\t\t@click=\"\r\n\t\t\t\t\t\t\t\topenUrl(`${vm.plannedTrainingDetailUrl}?traininglistid=${item.data.id}`);\r\n\t\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\t\t\t</DataTable>\r\n\t\t</template>\r\n\t</Card>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport MyCadacMenu from \"@/components/common/menu/myCadacMenu.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { IPlannedTrainingOverview } from \"@/types/viewModels/myCadac/plannedTrainingOverviewViewModel\";\r\nimport { PropType } from \"vue\";\r\nimport { entries, groupBy } from \"lodash\";\r\nimport { TrainingListOverviewItemViewModel } from \"@/types/models/training/trainingListOverviewItemViewModel\";\r\n\r\n@Component({ components: { MyCadacMenu } })\r\nexport default class PlannedTrainingOverview extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<IPlannedTrainingOverview>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: IPlannedTrainingOverview;\r\n\r\n\tget trainingsGroupedByLinkId() {\r\n\t\treturn entries(groupBy(this.vm.plannedTrainings, \"trainingLinkId\"));\r\n\t}\r\n\r\n\tget formattedAddress() {\r\n\t\treturn (training: TrainingListOverviewItemViewModel) => {\r\n\t\t\treturn training.trainingAddress\r\n\t\t\t\t? `${training.trainingAddress.street}\r\n\t\t\t${training.trainingAddress.postalCode} ${training.trainingAddress.city}\r\n\t\t\t${training.trainingAddress.country}`\r\n\t\t\t\t: training.trainingLocation?.name;\r\n\t\t};\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n::v-deep(.p-card-body) {\r\n\tpadding: 0.5rem 1rem;\r\n}\r\n</style>\r\n","import { render } from \"./plannedTrainingOverview.vue?vue&type=template&id=62855860&scoped=true&ts=true\"\nimport script from \"./plannedTrainingOverview.vue?vue&type=script&lang=ts\"\nexport * from \"./plannedTrainingOverview.vue?vue&type=script&lang=ts\"\n\nimport \"./plannedTrainingOverview.vue?vue&type=style&index=0&id=62855860&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-62855860\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createBlock as _createBlock, createElementVNode as _createElementVNode, createVNode as _createVNode, normalizeClass as _normalizeClass, withModifiers as _withModifiers, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1ca83942\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"row hidden-print\" }\nconst _hoisted_2 = { class: \"col-12\" }\nconst _hoisted_3 = { key: 0 }\nconst _hoisted_4 = [\"href\", \"title\"]\nconst _hoisted_5 = {\n key: 1,\n class: \"mb-0\"\n}\nconst _hoisted_6 = { class: \"text-primary text-bold\" }\nconst _hoisted_7 = [\"href\", \"target\", \"onClick\"]\nconst _hoisted_8 = { class: \"p-menuitem-text\" }\nconst _hoisted_9 = { class: \"d-flex flex-nowrap flex-grow-1 justify-content-between justify-content-lg-end\" }\nconst _hoisted_10 = { class: \"row-expansion-content\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"visible-print\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_Menu = _resolveComponent(\"Menu\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_CartOverview = _resolveComponent(\"CartOverview\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n const _component_CartPrintPreview = _resolveComponent(\"CartPrintPreview\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_ctx.vm.pageTitle)\n ? (_openBlock(), _createElementBlock(\"h1\", _hoisted_3, _toDisplayString(_ctx.vm.pageTitle), 1))\n : _createCommentVNode(\"\", true),\n (!_ctx.vm.shoppingCarts.length)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 1,\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.cartOverview.noCarts\")), 1)\n ]),\n _: 1\n }))\n : (_openBlock(), _createBlock(_component_DataTable, {\n key: 2,\n \"expanded-rows\": _ctx.expandedRows,\n \"onUpdate:expandedRows\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.expandedRows) = $event)),\n \"auto-layout\": !_ctx.isSmallScreen,\n class: \"mb-3\",\n \"responsive-layout\": \"stack\",\n \"row-class\": _ctx.highlightRow,\n \"row-hover\": true,\n value: _ctx.vm.shoppingCarts,\n onRowClick: _withModifiers(_ctx.onRowClick, [\"self\"])\n }, {\n expansion: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_10, [\n _createVNode(_component_CartOverview, {\n \"cart-client\": item.data.cartClient,\n \"is-editable\": false\n }, null, 8, [\"cart-client\"])\n ])\n ]),\n default: _withCtx(() => [\n (!_ctx.isSmallScreen)\n ? (_openBlock(), _createBlock(_component_Column, {\n key: 0,\n expander: \"\",\n \"header-style\": \"width:1.75rem\"\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.userProfile?.isImpersonated || _ctx.userProfile?.isCadacSales)\n ? (_openBlock(), _createBlock(_component_Column, {\n key: \"sales\",\n header: _ctx.$t('myCadac.cartOverview.table.colSalesOpportunity')\n }, {\n body: _withCtx((item) => [\n (_ctx.userProfile?.isImpersonatedByCadacSales && item.data.opportunityUrl)\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 0,\n class: \"text-bold\",\n href: item.data.opportunityUrl,\n target: \"_blank\",\n title: _ctx.$t('common.goToCrm')\n }, _toDisplayString(item.data.opportunityName), 9, _hoisted_4))\n : (_openBlock(), _createElementBlock(\"p\", _hoisted_5, _toDisplayString(item.data.opportunityName || item.data.title), 1)),\n _createElementVNode(\"small\", null, _toDisplayString(item.data.responsibleSales), 1)\n ]),\n _: 1\n }, 8, [\"header\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Column, {\n key: \"title\",\n field: \"title\",\n header: _ctx.$t('myCadac.cartOverview.table.colCartTitle'),\n sortable: true\n }, null, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"created\",\n field: \"created\",\n header: _ctx.$t('myCadac.cartOverview.table.colCreatedDate'),\n sortable: true\n }, {\n body: _withCtx((item) => [\n _createTextVNode(_toDisplayString(_ctx.formatDate(item.data.created)), 1)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"createdBy\",\n field: \"createdBy\",\n header: _ctx.$t('myCadac.cartOverview.table.colCreatedBy'),\n sortable: true\n }, null, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"nrOfProducts\",\n field: \"nrOfProducts\",\n header: _ctx.$t('myCadac.cartOverview.table.colNrOfProducts'),\n sortable: true\n }, null, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"total\",\n field: \"totalPrice\",\n header: _ctx.$t('myCadac.cartOverview.table.colTotal'),\n sortable: true\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"span\", _hoisted_6, _toDisplayString(_ctx.formatCurrency(item.data.totalPrice || 0)), 1)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, null, {\n body: _withCtx((item) => [\n _createVNode(_component_Menu, {\n ref: `menu${item.index}`,\n class: \"hidden-print\",\n model: _ctx.optionsMenu[item.index],\n popup: true\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"a\", {\n class: \"p-menuitem-link\",\n href: item.url,\n role: \"menuitem\",\n target: item.target,\n onClick: item.command\n }, [\n _createElementVNode(\"span\", {\n class: _normalizeClass(['p-menuitem-icon', item.icon])\n }, null, 2),\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(item.label), 1)\n ], 8, _hoisted_7)\n ]),\n _: 2\n }, 1032, [\"model\"]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createVNode(_component_Button, {\n class: \"p-button-success mr-2\",\n disabled: _ctx.isSpinnerVisible(`btnCheckoutCart_${item.data.cartName}`),\n icon: \"pi pi-shopping-cart\",\n label: _ctx.isSmallScreen ? _ctx.$t('common.order') : '',\n loading: _ctx.isSpinnerVisible(`btnCheckoutCart_${item.data.cartName}`),\n title: _ctx.$t('common.order'),\n onClick: ($event: any) => (_ctx.checkoutCart(item.data))\n }, null, 8, [\"disabled\", \"label\", \"loading\", \"title\", \"onClick\"]),\n _createVNode(_component_Button, {\n class: \"p-button-primary p-button-raised p-button-text p-button-sm surface-a\",\n icon: \"pi pi-ellipsis-v\",\n onClick: ($event: any) => (_ctx.toggleMenu($event, item.index))\n }, null, 8, [\"onClick\"])\n ])\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"expanded-rows\", \"auto-layout\", \"row-class\", \"value\", \"onRowClick\"]))\n ])\n ]),\n (_ctx.cartToPrint)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createVNode(_component_CartPrintPreview, {\n \"cart-client\": _ctx.cartToPrint?.cartClient,\n title: _ctx.cartToPrint?.title\n }, null, 8, [\"cart-client\", \"title\"])\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<div class=\"row hidden-print\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<h1 v-if=\"vm.pageTitle\">{{ vm.pageTitle }}</h1>\r\n\t\t\t<Message v-if=\"!vm.shoppingCarts.length\" :closable=\"false\" severity=\"warn\">\r\n\t\t\t\t{{ $t(\"myCadac.cartOverview.noCarts\") }}\r\n\t\t\t</Message>\r\n\r\n\t\t\t<DataTable\r\n\t\t\t\tv-else\r\n\t\t\t\tv-model:expanded-rows=\"expandedRows\"\r\n\t\t\t\t:auto-layout=\"!isSmallScreen\"\r\n\t\t\t\tclass=\"mb-3\"\r\n\t\t\t\tresponsive-layout=\"stack\"\r\n\t\t\t\t:row-class=\"highlightRow\"\r\n\t\t\t\t:row-hover=\"true\"\r\n\t\t\t\t:value=\"vm.shoppingCarts\"\r\n\t\t\t\t@row-click.self=\"onRowClick\"\r\n\t\t\t>\r\n\t\t\t\t<Column v-if=\"!isSmallScreen\" expander header-style=\"width:1.75rem\" />\r\n\t\t\t\t<Column\r\n\t\t\t\t\tv-if=\"userProfile?.isImpersonated || userProfile?.isCadacSales\"\r\n\t\t\t\t\tkey=\"sales\"\r\n\t\t\t\t\t:header=\"$t('myCadac.cartOverview.table.colSalesOpportunity')\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\tv-if=\"userProfile?.isImpersonatedByCadacSales && item.data.opportunityUrl\"\r\n\t\t\t\t\t\t\tclass=\"text-bold\"\r\n\t\t\t\t\t\t\t:href=\"item.data.opportunityUrl\"\r\n\t\t\t\t\t\t\ttarget=\"_blank\"\r\n\t\t\t\t\t\t\t:title=\"$t('common.goToCrm')\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{{ item.data.opportunityName }}\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t<p v-else class=\"mb-0\">\r\n\t\t\t\t\t\t\t{{ item.data.opportunityName || item.data.title }}\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t<small>{{ item.data.responsibleSales }}</small>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\t\t\t\t<Column\r\n\t\t\t\t\tkey=\"title\"\r\n\t\t\t\t\tfield=\"title\"\r\n\t\t\t\t\t:header=\"$t('myCadac.cartOverview.table.colCartTitle')\"\r\n\t\t\t\t\t:sortable=\"true\"\r\n\t\t\t\t/>\r\n\t\t\t\t<Column\r\n\t\t\t\t\tkey=\"created\"\r\n\t\t\t\t\tfield=\"created\"\r\n\t\t\t\t\t:header=\"$t('myCadac.cartOverview.table.colCreatedDate')\"\r\n\t\t\t\t\t:sortable=\"true\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t{{ formatDate(item.data.created) }}\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\t\t\t\t<Column\r\n\t\t\t\t\tkey=\"createdBy\"\r\n\t\t\t\t\tfield=\"createdBy\"\r\n\t\t\t\t\t:header=\"$t('myCadac.cartOverview.table.colCreatedBy')\"\r\n\t\t\t\t\t:sortable=\"true\"\r\n\t\t\t\t/>\r\n\t\t\t\t<Column\r\n\t\t\t\t\tkey=\"nrOfProducts\"\r\n\t\t\t\t\tfield=\"nrOfProducts\"\r\n\t\t\t\t\t:header=\"$t('myCadac.cartOverview.table.colNrOfProducts')\"\r\n\t\t\t\t\t:sortable=\"true\"\r\n\t\t\t\t/>\r\n\t\t\t\t<Column\r\n\t\t\t\t\tkey=\"total\"\r\n\t\t\t\t\tfield=\"totalPrice\"\r\n\t\t\t\t\t:header=\"$t('myCadac.cartOverview.table.colTotal')\"\r\n\t\t\t\t\t:sortable=\"true\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<span class=\"text-primary text-bold\">{{ formatCurrency(item.data.totalPrice || 0) }}</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\t\t\t\t<Column>\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<Menu\r\n\t\t\t\t\t\t\t:ref=\"`menu${item.index}`\"\r\n\t\t\t\t\t\t\tclass=\"hidden-print\"\r\n\t\t\t\t\t\t\t:model=\"optionsMenu[item.index]\"\r\n\t\t\t\t\t\t\t:popup=\"true\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\t\tclass=\"p-menuitem-link\"\r\n\t\t\t\t\t\t\t\t:href=\"item.url\"\r\n\t\t\t\t\t\t\t\trole=\"menuitem\"\r\n\t\t\t\t\t\t\t\t:target=\"item.target\"\r\n\t\t\t\t\t\t\t\t@click=\"item.command\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<span :class=\"['p-menuitem-icon', item.icon]\"></span>\r\n\t\t\t\t\t\t\t\t<span class=\"p-menuitem-text\">{{ item.label }}</span>\r\n\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t</Menu>\r\n\t\t\t\t\t\t<div class=\"d-flex flex-nowrap flex-grow-1 justify-content-between justify-content-lg-end\">\r\n\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\tclass=\"p-button-success mr-2\"\r\n\t\t\t\t\t\t\t\t:disabled=\"isSpinnerVisible(`btnCheckoutCart_${item.data.cartName}`)\"\r\n\t\t\t\t\t\t\t\ticon=\"pi pi-shopping-cart\"\r\n\t\t\t\t\t\t\t\t:label=\"isSmallScreen ? $t('common.order') : ''\"\r\n\t\t\t\t\t\t\t\t:loading=\"isSpinnerVisible(`btnCheckoutCart_${item.data.cartName}`)\"\r\n\t\t\t\t\t\t\t\t:title=\"$t('common.order')\"\r\n\t\t\t\t\t\t\t\t@click=\"checkoutCart(item.data)\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\tclass=\"p-button-primary p-button-raised p-button-text p-button-sm surface-a\"\r\n\t\t\t\t\t\t\t\ticon=\"pi pi-ellipsis-v\"\r\n\t\t\t\t\t\t\t\t@click=\"toggleMenu($event, item.index)\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\t\t\t\t<template #expansion=\"item\">\r\n\t\t\t\t\t<div class=\"row-expansion-content\">\r\n\t\t\t\t\t\t<CartOverview :cart-client=\"item.data.cartClient\" :is-editable=\"false\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</DataTable>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div v-if=\"cartToPrint\" class=\"visible-print\">\r\n\t\t<CartPrintPreview :cart-client=\"cartToPrint?.cartClient\" :title=\"cartToPrint?.title\" />\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport CartOverview from \"@/components/commerce/cart/cartOverview.vue\";\r\nimport CartPrintPreview from \"@/components/commerce/cart/cartPrintPreview.vue\";\r\nimport Menu from \"primevue/menu\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { ISavedCartsOverview } from \"@/types/viewModels/myCadac/savedCartsOverviewViewModel\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { StoredShoppingCart } from \"@/types/generated/storedShoppingCart\";\r\n\r\n@Component({ components: { CartPrintPreview, CartOverview, Menu } })\r\nexport default class SavedCartsOverview extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<ISavedCartsOverview>, required: true, default: {} })\r\n\tvm!: ISavedCartsOverview;\r\n\r\n\toptionsMenu = {};\r\n\texpandedRows: StoredShoppingCart[] = [];\r\n\tcartToPrint: StoredShoppingCart | null = null;\r\n\r\n\tcreated(): void {\r\n\t\tthis.vm.shoppingCarts.forEach((cart, index) => (this.optionsMenu[index] = this.getMenuItemsForCart(cart)));\r\n\t}\r\n\r\n\tgetMenuItemsForCart(cart: StoredShoppingCart) {\r\n\t\treturn [\r\n\t\t\t{\r\n\t\t\t\tlabel: \"Edit\",\r\n\t\t\t\ticon: \"pi pi-pencil\",\r\n\t\t\t\tdata: cart,\r\n\t\t\t\tcommand: () => this.editCart(cart),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: \"Print\",\r\n\t\t\t\ticon: \"pi pi-print\",\r\n\t\t\t\tdata: cart,\r\n\t\t\t\tcommand: () => this.printCart(cart),\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: \"Remove\",\r\n\t\t\t\ticon: \"pi pi-trash\",\r\n\t\t\t\tdata: cart,\r\n\t\t\t\tcommand: () => this.deleteCart(cart),\r\n\t\t\t},\r\n\t\t];\r\n\t}\r\n\r\n\tonRowClick(event: { data: StoredShoppingCart; index: number }): void {\r\n\t\tconst existingRowIndex = this.expandedRows.findIndex((x) => x.created === event.data.created);\r\n\t\tif (existingRowIndex > -1) {\r\n\t\t\tthis.expandedRows.splice(existingRowIndex, 1);\r\n\t\t} else {\r\n\t\t\tthis.expandedRows.push(event.data);\r\n\t\t}\r\n\t\tthis.expandedRows = [...this.expandedRows];\r\n\t}\r\n\r\n\thighlightRow(cart: StoredShoppingCart): string {\r\n\t\tconst isRowExpanded = this.expandedRows.findIndex((x) => x.created === cart.created) > -1;\r\n\t\treturn isRowExpanded ? \"highlight\" : \"\";\r\n\t}\r\n\r\n\ttoggleMenu(event: Event, index: number): void {\r\n\t\t(this.$refs[`menu${index}`] as Menu)?.toggle(event);\r\n\t}\r\n\r\n\teditCart(cart: StoredShoppingCart): void {\r\n\t\tthis.$confirm.require({\r\n\t\t\theader: this.$t(\"myCadac.cartOverview.dialog.confirmEdit_title\"),\r\n\t\t\tmessage: this.$t(\"myCadac.cartOverview.dialog.confirmEdit\"),\r\n\t\t\tacceptLabel: this.$t(\"common.yes\"),\r\n\t\t\trejectLabel: this.$t(\"common.no\"),\r\n\t\t\taccept: () => {\r\n\t\t\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\t\t\tthis.axios\r\n\t\t\t\t\t.post(`/api/cart/editCart`, cart.cartName)\r\n\t\t\t\t\t.then(() => {\r\n\t\t\t\t\t\tthis.openUrl(this.vm.cartPageUrl);\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((err) => {\r\n\t\t\t\t\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t\t\t\t\t\tLog.error(err);\r\n\t\t\t\t\t});\r\n\t\t\t},\r\n\t\t});\r\n\t}\r\n\r\n\tprintCart(cart: StoredShoppingCart): void {\r\n\t\tthis.cartToPrint = cart;\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.$forceUpdate();\r\n\t\t\twindow.print();\r\n\t\t}, 1000);\r\n\t}\r\n\r\n\tdeleteCart(cart: StoredShoppingCart): void {\r\n\t\tthis.$confirm.require({\r\n\t\t\theader: this.$t(\"myCadac.cartOverview.dialog.confirmDelete_title\"),\r\n\t\t\tmessage: this.$t(\"myCadac.cartOverview.dialog.confirmDelete\"),\r\n\t\t\tacceptLabel: this.$t(\"common.yes\"),\r\n\t\t\trejectLabel: this.$t(\"common.no\"),\r\n\t\t\taccept: () => {\r\n\t\t\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\t\t\tthis.axios\r\n\t\t\t\t\t.post(`/api/cart/deleteCart`, cart.cartName)\r\n\t\t\t\t\t.then(() => {\r\n\t\t\t\t\t\twindow.location.reload();\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch((err) => {\r\n\t\t\t\t\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t\t\t\t\t\tLog.error(err);\r\n\t\t\t\t\t});\r\n\t\t\t},\r\n\t\t});\r\n\t}\r\n\r\n\tcheckoutCart(cart: StoredShoppingCart): void {\r\n\t\tif (this.isSpinnerVisible(`btnCheckoutCart_${cart.cartName}`)) return;\r\n\t\tthis.loadingStore.showSpinner(`btnCheckoutCart_${cart.cartName}`);\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tthis.axios\r\n\t\t\t.post(`/api/cart/editCart`, cart.cartName)\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.openUrl(this.vm.checkoutPageUrl);\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t\t\t\tLog.error(err);\r\n\t\t\t})\r\n\t\t\t.finally(() => this.loadingStore.hideSpinner(`btnCheckoutCart_${cart.cartName}`));\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.p-button.p-button-raised {\r\n\tbox-shadow:\r\n\t\t0px 3px 0px -2px rgb(0 0 0 / 20%),\r\n\t\t0px 2px 2px 0px rgb(0 0 0 / 14%),\r\n\t\t0px 1px 0px 0px rgb(0 0 0 / 12%);\r\n}\r\n\r\n::v-deep(.p-datatable) {\r\n\t.p-datatable-tbody tr.p-datatable-row-expansion div.row-expansion-content .p-datatable-tbody tr,\r\n\t.p-datatable-tbody tr.p-datatable-row-expansion div.row-expansion-content .p-datatable-thead tr th {\r\n\t\tbackground: var(--surface-a);\r\n\t\tpadding: 0.75rem 0.75rem;\r\n\t}\r\n\r\n\t.p-datatable-tbody tr.p-datatable-row-expansion div.row-expansion-content {\r\n\t\tbackground: var(--surface-a);\r\n\t\tpadding: 0;\r\n\r\n\t\t.p-datatable-tbody td {\r\n\t\t\tpadding: 0.25rem 0.75rem;\r\n\t\t}\r\n\t}\r\n\r\n\t.p-datatable-tbody tr.p-datatable-row-expansion td {\r\n\t\tborder-bottom: 1px solid rgba(0, 0, 0, 0.08);\r\n\t}\r\n}\r\n</style>\r\n","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-c45c786c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"container invoice-container\"\n}\nconst _hoisted_2 = { class: \"row\" }\nconst _hoisted_3 = { class: \"col\" }\nconst _hoisted_4 = { class: \"\" }\nconst _hoisted_5 = { class: \"row\" }\nconst _hoisted_6 = { class: \"col-4\" }\nconst _hoisted_7 = { class: \"mb-1 text-bold\" }\nconst _hoisted_8 = [\"textContent\"]\nconst _hoisted_9 = [\"textContent\"]\nconst _hoisted_10 = { class: \"mb-0\" }\nconst _hoisted_11 = [\"textContent\"]\nconst _hoisted_12 = [\"textContent\"]\nconst _hoisted_13 = [\"textContent\"]\nconst _hoisted_14 = { class: \"mt-2\" }\nconst _hoisted_15 = { class: \"mb-1 text-bold\" }\nconst _hoisted_16 = { class: \"col-4\" }\nconst _hoisted_17 = { class: \"mb-1 text-bold\" }\nconst _hoisted_18 = [\"textContent\"]\nconst _hoisted_19 = { class: \"mb-0\" }\nconst _hoisted_20 = [\"textContent\"]\nconst _hoisted_21 = [\"textContent\"]\nconst _hoisted_22 = [\"textContent\"]\nconst _hoisted_23 = { class: \"mb-1 text-bold\" }\nconst _hoisted_24 = [\"textContent\"]\nconst _hoisted_25 = [\"textContent\"]\nconst _hoisted_26 = { class: \"mb-0\" }\nconst _hoisted_27 = [\"textContent\"]\nconst _hoisted_28 = [\"textContent\"]\nconst _hoisted_29 = [\"textContent\"]\nconst _hoisted_30 = { class: \"mt-2\" }\nconst _hoisted_31 = { class: \"mb-1 text-bold\" }\nconst _hoisted_32 = { class: \"col-4 ml-auto\" }\nconst _hoisted_33 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"svg\", { height: \"70\" }, [\n /*#__PURE__*/_createElementVNode(\"use\", { \"xlink:href\": \"#cadac-group-logo\" })\n], -1))\nconst _hoisted_34 = { key: 0 }\nconst _hoisted_35 = [\"textContent\"]\nconst _hoisted_36 = [\"textContent\"]\nconst _hoisted_37 = [\"textContent\"]\nconst _hoisted_38 = { class: \"mb-0 text-nowrap\" }\nconst _hoisted_39 = { class: \"mr-1\" }\nconst _hoisted_40 = { class: \"mb-0 text-nowrap\" }\nconst _hoisted_41 = { class: \"mr-1\" }\nconst _hoisted_42 = { class: \"mb-0 text-nowrap\" }\nconst _hoisted_43 = { class: \"mr-1\" }\nconst _hoisted_44 = { class: \"mb-0 text-nowrap\" }\nconst _hoisted_45 = { class: \"mr-1\" }\nconst _hoisted_46 = { class: \"row\" }\nconst _hoisted_47 = { class: \"col-12\" }\nconst _hoisted_48 = { class: \"row print-footer\" }\nconst _hoisted_49 = { class: \"col-8 ml-auto pr-2 mt-3 mb-4\" }\nconst _hoisted_50 = { class: \"col-6 print-bottom\" }\nconst _hoisted_51 = { class: \"border border-primary px-2 pt-2 pb-0 mt-2\" }\nconst _hoisted_52 = { key: 0 }\nconst _hoisted_53 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", { class: \"my-0\" }, null, -1))\nconst _hoisted_54 = { class: \"questions-block\" }\nconst _hoisted_55 = { class: \"text-primary text-bold mb-1 mt-2\" }\nconst _hoisted_56 = { class: \"d-flex align-items-end\" }\nconst _hoisted_57 = { class: \"mb-1\" }\nconst _hoisted_58 = [\"href\"]\nconst _hoisted_59 = { class: \"col-5 ml-auto pr-2 mt-2 print-bottom\" }\nconst _hoisted_60 = { class: \"mb-0 text-preline\" }\nconst _hoisted_61 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { style: {\"height\":\"200px\"} }, null, -1))\nconst _hoisted_62 = { class: \"mb-0\" }\nconst _hoisted_63 = { class: \"mb-0\" }\nconst _hoisted_64 = {\n key: 1,\n class: \"row\"\n}\nconst _hoisted_65 = { class: \"col-12\" }\nconst _hoisted_66 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"svg\", {\n class: \"print-top-right\",\n height: \"75\"\n}, [\n /*#__PURE__*/_createElementVNode(\"use\", { \"xlink:href\": \"#cadacstore-logo\" })\n], -1))\nconst _hoisted_67 = { class: \"col-8 ml-auto pr-2 mt-2 print-footer\" }\nconst _hoisted_68 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1))\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_CartOverview = _resolveComponent(\"CartOverview\")!\n const _component_PriceSummary = _resolveComponent(\"PriceSummary\")!\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n\n return (_ctx.isInvoice)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"h1\", _hoisted_4, _toDisplayString(_ctx.$t(\"common.invoice\")), 1),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"p\", _hoisted_7, _toDisplayString(_ctx.$t(\"cart.lblShippingAddress\")), 1),\n _createElementVNode(\"p\", {\n class: \"mb-0\",\n textContent: _toDisplayString(_ctx.checkoutForm?.companyForm?.companyName)\n }, null, 8, _hoisted_8),\n _createElementVNode(\"p\", {\n class: \"mb-0\",\n textContent: _toDisplayString(_ctx.checkoutForm?.companyForm?.street)\n }, null, 8, _hoisted_9),\n _createElementVNode(\"p\", _hoisted_10, [\n _createElementVNode(\"span\", {\n textContent: _toDisplayString(_ctx.checkoutForm?.companyForm?.postalCode)\n }, null, 8, _hoisted_11),\n _createElementVNode(\"span\", {\n class: \"ml-1\",\n textContent: _toDisplayString(_ctx.checkoutForm?.companyForm?.city)\n }, null, 8, _hoisted_12)\n ]),\n _createElementVNode(\"p\", {\n class: \"mb-0\",\n textContent: _toDisplayString(_ctx.checkoutForm?.companyForm?.country)\n }, null, 8, _hoisted_13),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"p\", _hoisted_15, _toDisplayString(_ctx.$t(\"cart.lblContactPerson\")), 1),\n _createElementVNode(\"p\", null, _toDisplayString(`${_ctx.checkoutForm?.personalForm?.firstName} ${_ctx.checkoutForm?.personalForm?.lastName}`), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_16, [\n (_ctx.checkoutForm?.billingAddressForm && _ctx.checkoutForm?.useDifferentInvoiceAddress)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _createElementVNode(\"p\", _hoisted_17, _toDisplayString(_ctx.$t(\"cart.lblBillingAddress\")), 1),\n _createElementVNode(\"p\", {\n class: \"mb-0\",\n textContent: _toDisplayString(_ctx.checkoutForm?.billingAddressForm?.street)\n }, null, 8, _hoisted_18),\n _createElementVNode(\"p\", _hoisted_19, [\n _createElementVNode(\"span\", {\n textContent: _toDisplayString(_ctx.checkoutForm?.billingAddressForm?.postalCode)\n }, null, 8, _hoisted_20),\n _createElementVNode(\"span\", {\n class: \"ml-1\",\n textContent: _toDisplayString(_ctx.checkoutForm?.billingAddressForm?.city)\n }, null, 8, _hoisted_21)\n ]),\n _createElementVNode(\"p\", {\n class: \"mb-0\",\n textContent: _toDisplayString(_ctx.checkoutForm?.billingAddressForm?.countryCode)\n }, null, 8, _hoisted_22)\n ], 64))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createElementVNode(\"p\", _hoisted_23, _toDisplayString(_ctx.$t(\"cart.lblBillingAddress\")), 1),\n _createElementVNode(\"p\", {\n class: \"mb-0\",\n textContent: _toDisplayString(_ctx.checkoutForm?.companyForm?.companyName)\n }, null, 8, _hoisted_24),\n _createElementVNode(\"p\", {\n class: \"mb-0\",\n textContent: _toDisplayString(_ctx.checkoutForm?.companyForm?.street)\n }, null, 8, _hoisted_25),\n _createElementVNode(\"p\", _hoisted_26, [\n _createElementVNode(\"span\", {\n textContent: _toDisplayString(_ctx.checkoutForm?.companyForm?.postalCode)\n }, null, 8, _hoisted_27),\n _createElementVNode(\"span\", {\n class: \"ml-1\",\n textContent: _toDisplayString(_ctx.checkoutForm?.companyForm?.city)\n }, null, 8, _hoisted_28)\n ]),\n _createElementVNode(\"p\", {\n class: \"mb-0\",\n textContent: _toDisplayString(_ctx.checkoutForm?.companyForm?.country)\n }, null, 8, _hoisted_29)\n ], 64)),\n _createElementVNode(\"div\", _hoisted_30, [\n _createElementVNode(\"p\", _hoisted_31, _toDisplayString(_ctx.$t(\"cart.lblPaymentCondition\")), 1),\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.$t(\r\n\t\t\t\t\t\t\t\t\t\t`checkout.paymentMethod.paymentCondition.${_ctx.checkoutForm.invoicePaymentConditionCode}`\r\n\t\t\t\t\t\t\t\t\t)), 1)\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_32, [\n _hoisted_33,\n (_ctx.checkoutForm?.cadacCompanyInfo)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_34, [\n _createElementVNode(\"p\", {\n class: \"mb-0\",\n textContent: _toDisplayString(_ctx.checkoutForm?.cadacCompanyInfo?.name)\n }, null, 8, _hoisted_35),\n _createElementVNode(\"p\", {\n class: \"mb-0 text-preline\",\n textContent: _toDisplayString(_ctx.checkoutForm?.cadacCompanyInfo?.formattedAddress)\n }, null, 8, _hoisted_36),\n _createElementVNode(\"p\", {\n class: \"mb-2\",\n textContent: _toDisplayString(_ctx.checkoutForm?.cadacCompanyInfo?.phoneNumber)\n }, null, 8, _hoisted_37),\n _createElementVNode(\"p\", _hoisted_38, [\n _createElementVNode(\"span\", _hoisted_39, _toDisplayString(_ctx.$t(\"common.forms.lblCocNumber\")) + \":\", 1),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.checkoutForm?.cadacCompanyInfo?.cocNumber), 1)\n ]),\n _createElementVNode(\"p\", _hoisted_40, [\n _createElementVNode(\"span\", _hoisted_41, _toDisplayString(_ctx.$t(\"common.forms.lblVatNumber\")) + \":\", 1),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.checkoutForm?.cadacCompanyInfo?.vatNumber), 1)\n ]),\n _createElementVNode(\"p\", _hoisted_42, [\n _createElementVNode(\"span\", _hoisted_43, _toDisplayString(_ctx.$t(\"common.forms.lblIban\")) + \":\", 1),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.checkoutForm?.cadacCompanyInfo?.iban), 1)\n ]),\n _createElementVNode(\"p\", _hoisted_44, [\n _createElementVNode(\"span\", _hoisted_45, _toDisplayString(_ctx.$t(\"common.forms.lblBic\")) + \": \", 1),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.checkoutForm?.cadacCompanyInfo?.bic), 1)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_46, [\n _createElementVNode(\"div\", _hoisted_47, [\n _createVNode(_component_CartOverview, {\n \"cart-client\": _ctx.cartClient,\n \"is-editable\": false\n }, null, 8, [\"cart-client\"])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_48, [\n _createElementVNode(\"div\", _hoisted_49, [\n _createVNode(_component_PriceSummary, { vm: _ctx.priceSummary }, null, 8, [\"vm\"]),\n _createElementVNode(\"small\", null, _toDisplayString(_ctx.$t(\"cart.lblPrintDisclaimer\")), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_50, [\n _createElementVNode(\"div\", _hoisted_51, [\n (_ctx.cartClient?.totalWalletAmountEarned)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_52, [\n _createElementVNode(\"p\", null, [\n _createVNode(_component_i18n_t, { keypath: \"cart.lblWalletAmountEarned\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.formatCurrency(_ctx.cartClient?.totalWalletAmountEarned)), 1)\n ]),\n _: 1\n })\n ]),\n _hoisted_53\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_54, [\n _createElementVNode(\"h4\", _hoisted_55, _toDisplayString(_ctx.$t(\"common.support.anyQuestions\")), 1),\n _createElementVNode(\"div\", _hoisted_56, [\n _createElementVNode(\"small\", _hoisted_57, [\n _createVNode(_component_i18n_t, { keypath: \"common.support.contactUsAt\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"a\", {\n href: 'tel:' + _ctx.$t('common.support.phoneNumber')\n }, _toDisplayString(_ctx.$t(\"common.support.phoneNumber\")), 9, _hoisted_58)\n ]),\n _: 1\n })\n ])\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_59, [\n _createElementVNode(\"p\", _hoisted_60, _toDisplayString(_ctx.$t(\"cart.lblPrintSignature\")), 1),\n _hoisted_61,\n _createElementVNode(\"p\", _hoisted_62, _toDisplayString(`${_ctx.checkoutForm?.personalForm?.firstName} ${_ctx.checkoutForm?.personalForm?.lastName}`), 1),\n _createElementVNode(\"p\", _hoisted_63, _toDisplayString(_ctx.checkoutForm?.companyForm?.companyName), 1)\n ])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_64, [\n _createElementVNode(\"div\", _hoisted_65, [\n _hoisted_66,\n _createElementVNode(\"h1\", null, _toDisplayString(_ctx.title), 1),\n _createVNode(_component_CartOverview, {\n \"cart-client\": _ctx.cartClient,\n \"is-editable\": false\n }, null, 8, [\"cart-client\"]),\n _createElementVNode(\"div\", _hoisted_67, [\n _hoisted_68,\n _createVNode(_component_PriceSummary, { vm: _ctx.priceSummary }, null, 8, [\"vm\"]),\n _createElementVNode(\"small\", null, _toDisplayString(_ctx.$t(\"cart.lblPrintDisclaimer\")), 1)\n ])\n ])\n ]))\n}","<template>\r\n\t<div v-if=\"isInvoice\" class=\"container invoice-container\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col\">\r\n\t\t\t\t<h1 class=\"\">{{ $t(\"common.invoice\") }}</h1>\r\n\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t<div class=\"col-4\">\r\n\t\t\t\t\t\t<p class=\"mb-1 text-bold\">{{ $t(\"cart.lblShippingAddress\") }}</p>\r\n\t\t\t\t\t\t<p class=\"mb-0\" v-text=\"checkoutForm?.companyForm?.companyName\" />\r\n\t\t\t\t\t\t<p class=\"mb-0\" v-text=\"checkoutForm?.companyForm?.street\" />\r\n\t\t\t\t\t\t<p class=\"mb-0\">\r\n\t\t\t\t\t\t\t<span v-text=\"checkoutForm?.companyForm?.postalCode\" />\r\n\t\t\t\t\t\t\t<span class=\"ml-1\" v-text=\"checkoutForm?.companyForm?.city\" />\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t<p class=\"mb-0\" v-text=\"checkoutForm?.companyForm?.country\" />\r\n\t\t\t\t\t\t<div class=\"mt-2\">\r\n\t\t\t\t\t\t\t<p class=\"mb-1 text-bold\">{{ $t(\"cart.lblContactPerson\") }}</p>\r\n\t\t\t\t\t\t\t<p>\r\n\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t`${checkoutForm?.personalForm?.firstName} ${checkoutForm?.personalForm?.lastName}`\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"col-4\">\r\n\t\t\t\t\t\t<template\r\n\t\t\t\t\t\t\tv-if=\"checkoutForm?.billingAddressForm && checkoutForm?.useDifferentInvoiceAddress\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<p class=\"mb-1 text-bold\">{{ $t(\"cart.lblBillingAddress\") }}</p>\r\n\t\t\t\t\t\t\t<p class=\"mb-0\" v-text=\"checkoutForm?.billingAddressForm?.street\" />\r\n\t\t\t\t\t\t\t<p class=\"mb-0\">\r\n\t\t\t\t\t\t\t\t<span v-text=\"checkoutForm?.billingAddressForm?.postalCode\" />\r\n\t\t\t\t\t\t\t\t<span class=\"ml-1\" v-text=\"checkoutForm?.billingAddressForm?.city\" />\r\n\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t<p class=\"mb-0\" v-text=\"checkoutForm?.billingAddressForm?.countryCode\" />\r\n\t\t\t\t\t\t</template>\r\n\r\n\t\t\t\t\t\t<template v-else>\r\n\t\t\t\t\t\t\t<p class=\"mb-1 text-bold\">{{ $t(\"cart.lblBillingAddress\") }}</p>\r\n\t\t\t\t\t\t\t<p class=\"mb-0\" v-text=\"checkoutForm?.companyForm?.companyName\" />\r\n\t\t\t\t\t\t\t<p class=\"mb-0\" v-text=\"checkoutForm?.companyForm?.street\" />\r\n\t\t\t\t\t\t\t<p class=\"mb-0\">\r\n\t\t\t\t\t\t\t\t<span v-text=\"checkoutForm?.companyForm?.postalCode\" />\r\n\t\t\t\t\t\t\t\t<span class=\"ml-1\" v-text=\"checkoutForm?.companyForm?.city\" />\r\n\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t<p class=\"mb-0\" v-text=\"checkoutForm?.companyForm?.country\" />\r\n\t\t\t\t\t\t</template>\r\n\r\n\t\t\t\t\t\t<div class=\"mt-2\">\r\n\t\t\t\t\t\t\t<p class=\"mb-1 text-bold\">{{ $t(\"cart.lblPaymentCondition\") }}</p>\r\n\t\t\t\t\t\t\t<p>\r\n\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t$t(\r\n\t\t\t\t\t\t\t\t\t\t`checkout.paymentMethod.paymentCondition.${checkoutForm.invoicePaymentConditionCode}`\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"col-4 ml-auto\">\r\n\t\t\t\t<svg height=\"70\">\r\n\t\t\t\t\t<use xlink:href=\"#cadac-group-logo\" />\r\n\t\t\t\t</svg>\r\n\t\t\t\t<div v-if=\"checkoutForm?.cadacCompanyInfo\">\r\n\t\t\t\t\t<p class=\"mb-0\" v-text=\"checkoutForm?.cadacCompanyInfo?.name\" />\r\n\t\t\t\t\t<p class=\"mb-0 text-preline\" v-text=\"checkoutForm?.cadacCompanyInfo?.formattedAddress\" />\r\n\t\t\t\t\t<p class=\"mb-2\" v-text=\"checkoutForm?.cadacCompanyInfo?.phoneNumber\" />\r\n\r\n\t\t\t\t\t<p class=\"mb-0 text-nowrap\">\r\n\t\t\t\t\t\t<span class=\"mr-1\">{{ $t(\"common.forms.lblCocNumber\") }}:</span>\r\n\t\t\t\t\t\t<span>{{ checkoutForm?.cadacCompanyInfo?.cocNumber }}</span>\r\n\t\t\t\t\t</p>\r\n\t\t\t\t\t<p class=\"mb-0 text-nowrap\">\r\n\t\t\t\t\t\t<span class=\"mr-1\">{{ $t(\"common.forms.lblVatNumber\") }}:</span>\r\n\t\t\t\t\t\t<span>{{ checkoutForm?.cadacCompanyInfo?.vatNumber }}</span>\r\n\t\t\t\t\t</p>\r\n\t\t\t\t\t<p class=\"mb-0 text-nowrap\">\r\n\t\t\t\t\t\t<span class=\"mr-1\">{{ $t(\"common.forms.lblIban\") }}:</span>\r\n\t\t\t\t\t\t<span>{{ checkoutForm?.cadacCompanyInfo?.iban }}</span>\r\n\t\t\t\t\t</p>\r\n\t\t\t\t\t<p class=\"mb-0 text-nowrap\">\r\n\t\t\t\t\t\t<span class=\"mr-1\">{{ $t(\"common.forms.lblBic\") }}: </span>\r\n\t\t\t\t\t\t<span>{{ checkoutForm?.cadacCompanyInfo?.bic }}</span>\r\n\t\t\t\t\t</p>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-12\">\r\n\t\t\t\t<CartOverview :cart-client=\"cartClient\" :is-editable=\"false\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"row print-footer\">\r\n\t\t\t<div class=\"col-8 ml-auto pr-2 mt-3 mb-4\">\r\n\t\t\t\t<PriceSummary :vm=\"priceSummary\" />\r\n\t\t\t\t<small>{{ $t(\"cart.lblPrintDisclaimer\") }}</small>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"col-6 print-bottom\">\r\n\t\t\t\t<div class=\"border border-primary px-2 pt-2 pb-0 mt-2\">\r\n\t\t\t\t\t<div v-if=\"cartClient?.totalWalletAmountEarned\">\r\n\t\t\t\t\t\t<p>\r\n\t\t\t\t\t\t\t<i18n-t keypath=\"cart.lblWalletAmountEarned\">\r\n\t\t\t\t\t\t\t\t<b>{{ formatCurrency(cartClient?.totalWalletAmountEarned) }} </b>\r\n\t\t\t\t\t\t\t</i18n-t>\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t<hr class=\"my-0\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"questions-block\">\r\n\t\t\t\t\t\t<h4 class=\"text-primary text-bold mb-1 mt-2\">\r\n\t\t\t\t\t\t\t{{ $t(\"common.support.anyQuestions\") }}\r\n\t\t\t\t\t\t</h4>\r\n\t\t\t\t\t\t<div class=\"d-flex align-items-end\">\r\n\t\t\t\t\t\t\t<small class=\"mb-1\">\r\n\t\t\t\t\t\t\t\t<i18n-t keypath=\"common.support.contactUsAt\">\r\n\t\t\t\t\t\t\t\t\t<a :href=\"'tel:' + $t('common.support.phoneNumber')\">\r\n\t\t\t\t\t\t\t\t\t\t{{ $t(\"common.support.phoneNumber\") }}\r\n\t\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t</i18n-t>\r\n\t\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"col-5 ml-auto pr-2 mt-2 print-bottom\">\r\n\t\t\t\t<p class=\"mb-0 text-preline\">{{ $t(\"cart.lblPrintSignature\") }}</p>\r\n\t\t\t\t<div style=\"height: 200px\"></div>\r\n\t\t\t\t<p class=\"mb-0\">\r\n\t\t\t\t\t{{ `${checkoutForm?.personalForm?.firstName} ${checkoutForm?.personalForm?.lastName}` }}\r\n\t\t\t\t</p>\r\n\t\t\t\t<p class=\"mb-0\">{{ checkoutForm?.companyForm?.companyName }}</p>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div v-else class=\"row\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<svg class=\"print-top-right\" height=\"75\">\r\n\t\t\t\t<use xlink:href=\"#cadacstore-logo\" />\r\n\t\t\t</svg>\r\n\t\t\t<h1>{{ title }}</h1>\r\n\t\t\t<CartOverview :cart-client=\"cartClient\" :is-editable=\"false\" />\r\n\t\t\t<div class=\"col-8 ml-auto pr-2 mt-2 print-footer\">\r\n\t\t\t\t<hr />\r\n\t\t\t\t<PriceSummary :vm=\"priceSummary\" />\r\n\t\t\t\t<small>{{ $t(\"cart.lblPrintDisclaimer\") }}</small>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport CartOverview from \"@/components/commerce/cart/cartOverview.vue\";\r\nimport PriceSummary from \"@/components/common/priceSummary.vue\";\r\nimport { CartClient } from \"@/types/models/cart/cartClient\";\r\nimport { CheckoutForm } from \"@/types/models/form/checkoutForm\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { CouponCode } from \"@/types/generated/Api/couponCode\";\r\nimport { IPriceSummary } from \"@/types/models/common/priceSummary.interface\";\r\nimport { PropType } from \"vue\";\r\nimport { sum } from \"lodash\";\r\n\r\n@Component({ components: { CartOverview, PriceSummary } })\r\nexport default class CartPrintPreview extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<CartClient>, required: true, default: {} }) cartClient!: CartClient;\r\n\t@Prop({ type: Object as PropType<CheckoutForm>, required: false, default: {} }) checkoutForm!: CheckoutForm;\r\n\t@Prop({ type: String, required: false, default: \"\" }) title!: string;\r\n\t@Prop({ type: Boolean, required: false, default: false }) isInvoice!: boolean;\r\n\r\n\tget priceSummary(): IPriceSummary {\r\n\t\tif (!this.cartClient) return {} as IPriceSummary;\r\n\t\tconst {\r\n\t\t\tappliedCouponCodes,\r\n\t\t\ttotalBasePrice,\r\n\t\t\tsubtotalWithoutVat,\r\n\t\t\tpersonalDiscount,\r\n\t\t\ttotalPrice,\r\n\t\t\ttotalInstallationPrice,\r\n\t\t\tvatPercentage,\r\n\t\t\tvatAmount,\r\n\t\t\tvatSituation,\r\n\t\t} = this.cartClient;\r\n\t\tconst couponDiscount = sum(appliedCouponCodes?.map((x) => x.discount));\r\n\t\tconst discountLines = new Map<string, number>();\r\n\t\tappliedCouponCodes?.forEach((coupon: CouponCode) => {\r\n\t\t\tconst name = coupon.isCadacWallet ? this.$t(\"cart.lblCadacWallet\") : coupon.name;\r\n\t\t\tdiscountLines.set(name, coupon.discount);\r\n\t\t});\r\n\r\n\t\treturn {\r\n\t\t\ttotalBasePrice,\r\n\t\t\tdiscountLines: discountLines,\r\n\t\t\ttotalCouponDiscount: couponDiscount,\r\n\t\t\ttotalDiscount: personalDiscount + couponDiscount,\r\n\t\t\ttotalPersonalPrice: subtotalWithoutVat,\r\n\t\t\ttotalInstallPrice: totalInstallationPrice,\r\n\t\t\ttotalPrice,\r\n\t\t\tvatPercentage,\r\n\t\t\tvatAmount,\r\n\t\t\tvatSituation,\r\n\t\t} as IPriceSummary;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n@media print {\r\n\t.invoice-container {\r\n\t}\r\n\r\n\t.print-top-right {\r\n\t\tposition: fixed;\r\n\t\ttop: 0;\r\n\t\tright: 0;\r\n\t}\r\n\r\n\t.print-top-left {\r\n\t\tposition: fixed;\r\n\t\ttop: 0;\r\n\t\tleft: 0;\r\n\t}\r\n\r\n\t.print-footer {\r\n\t\tpage-break-inside: avoid;\r\n\t\tpage-break-before: auto;\r\n\t}\r\n\r\n\t::v-deep(.cart-contract-table, .cart-training-table) {\r\n\t\tpage-break-inside: avoid;\r\n\t\tpage-break-after: auto;\r\n\t}\r\n\r\n\t::v-deep(.p-datatable-header) {\r\n\t\tpadding-left: 0;\r\n\t}\r\n\r\n\t::v-deep(:not(.cart-contract-table, .cart-training-table) div.p-datatable.p-component) {\r\n\t\tpage-break-before: auto;\r\n\t\tpage-break-inside: avoid;\r\n\t\tpage-break-after: auto;\r\n\r\n\t\ta {\r\n\t\t\ttext-decoration: none;\r\n\t\t}\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./cartPrintPreview.vue?vue&type=template&id=c45c786c&scoped=true&ts=true\"\nimport script from \"./cartPrintPreview.vue?vue&type=script&lang=ts\"\nexport * from \"./cartPrintPreview.vue?vue&type=script&lang=ts\"\n\nimport \"./cartPrintPreview.vue?vue&type=style&index=0&id=c45c786c&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-c45c786c\"]])\n\nexport default __exports__","import { render } from \"./savedCartsOverview.vue?vue&type=template&id=1ca83942&scoped=true&ts=true\"\nimport script from \"./savedCartsOverview.vue?vue&type=script&lang=ts\"\nexport * from \"./savedCartsOverview.vue?vue&type=script&lang=ts\"\n\nimport \"./savedCartsOverview.vue?vue&type=style&index=0&id=1ca83942&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1ca83942\"]])\n\nexport default __exports__","import { resolveDirective as _resolveDirective, createElementVNode as _createElementVNode, withDirectives as _withDirectives, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1001d1b7\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"cashback-progress-wrapper mb-4 p-4\" }\nconst _hoisted_2 = { class: \"wallet-amount-text mb-2\" }\nconst _hoisted_3 = [\"alt\"]\nconst _hoisted_4 = { class: \"heading-2\" }\nconst _hoisted_5 = { class: \"mb-2\" }\nconst _hoisted_6 = { class: \"row\" }\nconst _hoisted_7 = { class: \"col col-6\" }\nconst _hoisted_8 = { class: \"mb-3\" }\nconst _hoisted_9 = { class: \"col col-6 d-flex justify-content-end\" }\nconst _hoisted_10 = [\"alt\"]\nconst _hoisted_11 = { class: \"wallet-amount-small\" }\nconst _hoisted_12 = {\n key: 0,\n class: \"reward-wrapper pb-4\"\n}\nconst _hoisted_13 = { class: \"reward-name\" }\nconst _hoisted_14 = { class: \"reward-price\" }\nconst _hoisted_15 = { key: 0 }\nconst _hoisted_16 = {\n key: 1,\n class: \"reward-wrapper pb-4\"\n}\nconst _hoisted_17 = { class: \"reward-name\" }\nconst _hoisted_18 = { class: \"reward-price\" }\nconst _hoisted_19 = { key: 0 }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_CircularProgress = _resolveComponent(\"CircularProgress\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _withDirectives(_createElementVNode(\"img\", {\n alt: _ctx.vm.icon.alt,\n class: \"wallet-icon\"\n }, null, 8, _hoisted_3), [\n [_directive_lazy, _ctx.vm.icon.url]\n ]),\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.vm.headerTitle), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_5, _toDisplayString(_ctx.vm.headerSubtitle), 1),\n _createElementVNode(\"div\", null, [\n _createVNode(_component_Button, {\n class: \"p-button-brand-secondary px-3\",\n icon: \"pi pi-arrow-right ml-2\",\n \"icon-pos\": \"right\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.openUrl(_ctx.vm.headerButtonLink.url))),\n label: _ctx.vm.headerButtonLink.text\n }, null, 8, [\"label\"])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"h3\", _hoisted_8, _toDisplayString(_ctx.vm.pageTitle), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _withDirectives(_createElementVNode(\"img\", {\n alt: _ctx.vm.icon.alt,\n class: \"wallet-icon-small\"\n }, null, 8, _hoisted_10), [\n [_directive_lazy, _ctx.vm.icon.url]\n ]),\n _createElementVNode(\"div\", _hoisted_11, _toDisplayString(_ctx.formatCurrency(_ctx.vm.totalAutodeskSaved)), 1)\n ]),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.mappedProds, (product) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: product,\n class: \"col col-12 col-sm-6 col-lg-4\"\n }, [\n (product.cashback && product.cashbackText && product.price && product.priceText)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n _createVNode(_component_CircularProgress, { item: product }, null, 8, [\"item\"]),\n _createElementVNode(\"div\", _hoisted_13, _toDisplayString(_ctx.formatCurrency(product.cashback)) + \" \" + _toDisplayString(product.cashbackText), 1),\n _createElementVNode(\"div\", _hoisted_14, [\n (product.price)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_15, _toDisplayString(product.priceText) + \" \" + _toDisplayString(_ctx.formatCurrency(product.price)), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createVNode(_component_Button, {\n class: \"p-button-success p-button-sm\",\n label: product.buttonLink.text,\n onClick: ($event: any) => (_ctx.openCashbackForm(product)),\n disabled: _ctx.vm.totalAutodeskSaved < product.price\n }, null, 8, [\"label\", \"onClick\", \"disabled\"])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_16, [\n _createVNode(_component_CircularProgress, { item: product }, null, 8, [\"item\"]),\n _createElementVNode(\"div\", _hoisted_17, _toDisplayString(_ctx.formatProductName(product.name, product.brand)), 1),\n _createElementVNode(\"div\", _hoisted_18, [\n (product.price)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_19, _toDisplayString(_ctx.$t('myCadac.myrewards.tile.priceText')) + \" \" + _toDisplayString(_ctx.formatCurrency(product.price)), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createVNode(_component_Button, {\n class: \"p-button-success p-button-sm\",\n label: _ctx.$t('myCadac.myrewards.button.label'),\n onClick: ($event: any) => (_ctx.openUrl(product.productPageUrl))\n }, null, 8, [\"label\", \"onClick\"])\n ]))\n ]))\n }), 128))\n ])\n ], 64))\n}","<template> \r\n <div class=\"cashback-progress-wrapper mb-4 p-4\">\r\n <div class=\"wallet-amount-text mb-2\"> \r\n <img v-lazy=\"vm.icon.url\" :alt=\"vm.icon.alt\" class=\"wallet-icon\" />\r\n <span class=\"heading-2\">{{ vm.headerTitle }}</span>\r\n </div>\r\n <div class=\"mb-2\">\r\n {{ vm.headerSubtitle }} \r\n </div> \r\n <div>\r\n <Button class=\"p-button-brand-secondary px-3\"\r\n icon=\"pi pi-arrow-right ml-2\"\r\n icon-pos=\"right\"\r\n @click=\"openUrl(vm.headerButtonLink.url)\"\r\n :label=\"vm.headerButtonLink.text\" /> \r\n </div> \r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col col-6\">\r\n <h3 class=\"mb-3\">{{ vm.pageTitle }}</h3> \r\n </div>\r\n <div class=\"col col-6 d-flex justify-content-end\">\r\n <img v-lazy=\"vm.icon.url\" :alt=\"vm.icon.alt\" class=\"wallet-icon-small\" />\r\n <div class=\"wallet-amount-small\">{{ formatCurrency(vm.totalAutodeskSaved) }}</div> \r\n </div>\r\n <div v-for=\"product in mappedProds\" :key=\"product\" class=\"col col-12 col-sm-6 col-lg-4\">\r\n <div v-if=\"product.cashback && product.cashbackText && product.price && product.priceText\" class=\"reward-wrapper pb-4\">\r\n <CircularProgress :item=\"product\" />\r\n <div class=\"reward-name\">\r\n {{ formatCurrency(product.cashback) }} {{ product.cashbackText }}\r\n </div>\r\n <div class=\"reward-price\">\r\n <p v-if=\"product.price\">\r\n {{ product.priceText }} {{ formatCurrency(product.price) }}\r\n </p>\r\n </div>\r\n <Button class=\"p-button-success p-button-sm\"\r\n :label=\"product.buttonLink.text\"\r\n @click=\"openCashbackForm(product)\"\r\n :disabled=\"vm.totalAutodeskSaved < product.price\"\r\n />\r\n </div>\r\n <div v-else class=\"reward-wrapper pb-4\">\r\n <CircularProgress :item=\"product\" />\r\n <div class=\"reward-name\">\r\n {{ formatProductName(product.name, product.brand) }}\r\n </div>\r\n <div class=\"reward-price\">\r\n <p v-if=\"product.price\">\r\n {{$t('myCadac.myrewards.tile.priceText')}} {{ formatCurrency(product.price) }}\r\n </p>\r\n </div> \r\n <Button class=\"p-button-success p-button-sm\"\r\n :label=\"$t('myCadac.myrewards.button.label')\"\r\n @click=\"openUrl(product.productPageUrl)\" />\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport BaseProductOverviewItemCard from \"@/components/product/baseProductOverviewItemCard.vue\";\r\nimport CircularProgress from \"@/components/rewards/circularProgress.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { PropType } from \"vue\";\r\nimport { IRewardsPageViewModel, Reward } from \"@/types/viewModels/myCadac/rewardsPageViewModel\";\r\n\r\n@Component({ components: { BaseProductOverviewItemCard, CircularProgress } })\r\nexport default class RewardsPage extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<IRewardsPageViewModel>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n vm!: IRewardsPageViewModel;\r\n mappedProds!: Reward[];\r\n\r\n created() {\r\n this.mappedProds = [...this.vm.products, ...this.vm.cashbackRewardList].map((product) => ({\r\n ...product,\r\n percentage: this.calculatePercentageForProduct(product),\r\n }))\r\n }\r\n\r\n openCashbackForm(product: any) {\r\n const url = product.buttonLink.url;\r\n const trimmedUrl = url?.replace(/\\/$/, ''); // remove endslash if present\r\n const priceFormatted = this.formatCurrency(product.cashback);\r\n const params = new URLSearchParams({\r\n n: `${product.cashbackText} ${priceFormatted}`,\r\n });\r\n this.openUrl(`${trimmedUrl}?${params.toString()}`);\r\n }\r\n\r\n calculatePercentageForProduct(product: Reward) {\r\n let percentage = 0;\r\n if (this.vm.totalAutodeskSaved) {\r\n percentage = Math.floor((this.vm.totalAutodeskSaved / product.price) * 100);\r\n // keep percentage between 0 and 100 \r\n percentage = Math.max(0, Math.min(percentage, 100));\r\n }\r\n return percentage;\r\n }\r\n}\r\n</script>\r\n<style scoped lang=\"scss\">\r\n .cashback-progress-wrapper {\r\n width: 100%;\r\n background: #91004B;\r\n color: #fff;\r\n\r\n .wallet-amount-text {\r\n font-size: 1.625rem;\r\n\r\n .wallet-icon {\r\n width: 3rem;\r\n height: 3rem;\r\n float: left;\r\n margin-right: 1rem;\r\n }\r\n }\r\n }\r\n\r\n .reward-wrapper {\r\n display: flex;\r\n flex-direction: column;\r\n gap: 1rem; \r\n }\r\n\r\n .reward-name {\r\n font-size: 1.375rem;\r\n font-weight: 500;\r\n color: #1D1D1B;\r\n text-align: center;\r\n }\r\n\r\n .reward-price {\r\n color: #5C5C5A;\r\n text-align: center;\r\n font-size: 1.375rem;\r\n font-weight: 400;\r\n }\r\n\r\n .wallet-icon-small {\r\n height: 1.5rem;\r\n width: 1.5rem;\r\n float: left;\r\n margin: 5px 10px 0 0;\r\n }\r\n\r\n .wallet-amount-small {\r\n display: inline-block;\r\n font-size: 1.35rem;\r\n font-weight: bold; \r\n color: #91004B;\r\n }\r\n\r\n</style>\r\n","import { createElementVNode as _createElementVNode, resolveDirective as _resolveDirective, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-23395e9c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"circular-wrapper\" }\nconst _hoisted_2 = { class: \"circular-icon-wrapper\" }\nconst _hoisted_3 = {\n ref: \"progressCircle\",\n class: \"circular-progress\"\n}\nconst _hoisted_4 = {\n ref: \"innerCircle\",\n class: \"inner-circle\"\n}\nconst _hoisted_5 = [\"alt\", \"title\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, null, 512),\n _createElementVNode(\"div\", _hoisted_4, null, 512),\n (_ctx.item.iconUrl || _ctx.item.icon.url)\n ? _withDirectives((_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n ref: \"icon\",\n alt: _ctx.item.iconAlt || _ctx.item.icon.alt,\n class: \"circular-icon\",\n title: _ctx.item.name || _ctx.item.cashbackText\n }, null, 8, _hoisted_5)), [\n [_directive_lazy, _ctx.item.iconUrl || _ctx.item.icon.url]\n ])\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}","<template>\r\n <div class=\"circular-wrapper\">\r\n <div class=\"circular-icon-wrapper\">\r\n <div ref=\"progressCircle\" class=\"circular-progress\" />\r\n <div ref=\"innerCircle\" class=\"inner-circle\" />\r\n <img ref=\"icon\"\r\n v-if=\"item.iconUrl || item.icon.url\"\r\n v-lazy=\"item.iconUrl || item.icon.url\"\r\n :alt=\"item.iconAlt || item.icon.alt\"\r\n class=\"circular-icon\"\r\n :title=\"item.name || item.cashbackText\" />\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { PropType } from \"vue\";\r\n\r\ninterface CircularProgressProps {\r\n name: string;\r\n iconUrl: string;\r\n iconAlt: string;\r\n percentage: number;\r\n}\r\n\r\n@Component\r\nexport default class CircularProgress extends BaseComponent {\r\n @Prop({\r\n type: Object as PropType<CircularProgressProps>,\r\n required: true,\r\n default: {},\r\n })\r\n item!: CircularProgressProps;\r\n\r\n mounted() {\r\n const progressCircle = this.$refs.progressCircle as HTMLElement;\r\n const innerCircle = this.$refs.innerCircle as HTMLElement;\r\n const icon = this.$refs.icon as HTMLElement;\r\n\r\n setTimeout(() => {\r\n if (!progressCircle) return;\r\n const percentage = Number(this.item.percentage);\r\n\r\n let startValue = -1,\r\n endValue = percentage,\r\n speed = 10;\r\n\r\n if (innerCircle && percentage < 100) {\r\n innerCircle.classList.add('grayed-out');\r\n }\r\n\r\n if (icon && percentage < 100) {\r\n icon.classList.add('grayed-out');\r\n }\r\n\r\n const progress = setInterval(() => {\r\n startValue++;\r\n\r\n progressCircle.style.background = \"linear-gradient(#FFCD82, #CC7C03)\";\r\n progressCircle.style.maskImage = `conic-gradient(#000 ${startValue}%, #0000 0)`;\r\n if (startValue === endValue) {\r\n clearInterval(progress);\r\n }\r\n }, speed);\r\n\r\n }, 500);\r\n }\r\n\r\n\r\n}\r\n</script>\r\n<style scoped lang=\"scss\">\r\n .circular-wrapper {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n\r\n .circular-icon-wrapper {\r\n position: relative;\r\n }\r\n\r\n .circular-icon {\r\n position: absolute;\r\n inset: 0;\r\n margin: auto;\r\n width: 2.5rem;\r\n height: 2.5rem;\r\n z-index: 10;\r\n\r\n &.grayed-out {\r\n filter: contrast(60%) grayscale(0.5) saturate(0.2);\r\n opacity: 0.5;\r\n }\r\n }\r\n }\r\n\r\n\r\n .circular-progress {\r\n width: 7.2rem;\r\n height: 7.2rem;\r\n border-radius: 50%;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n }\r\n\r\n .inner-circle {\r\n position: absolute;\r\n width: 6.2rem;\r\n height: 6.2rem;\r\n border-radius: 50%;\r\n background-color: #fff;\r\n inset: 0;\r\n margin: auto;\r\n border: 4px solid #fff;\r\n\r\n &.grayed-out {\r\n background: #E0E0DD;\r\n }\r\n }\r\n</style>\r\n","import { render } from \"./circularProgress.vue?vue&type=template&id=23395e9c&scoped=true&ts=true\"\nimport script from \"./circularProgress.vue?vue&type=script&lang=ts\"\nexport * from \"./circularProgress.vue?vue&type=script&lang=ts\"\n\nimport \"./circularProgress.vue?vue&type=style&index=0&id=23395e9c&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-23395e9c\"]])\n\nexport default __exports__","import { render } from \"./rewardsPage.vue?vue&type=template&id=1001d1b7&scoped=true&ts=true\"\nimport script from \"./rewardsPage.vue?vue&type=script&lang=ts\"\nexport * from \"./rewardsPage.vue?vue&type=script&lang=ts\"\n\nimport \"./rewardsPage.vue?vue&type=style&index=0&id=1001d1b7&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1001d1b7\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, withKeys as _withKeys, createTextVNode as _createTextVNode, withCtx as _withCtx, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-21527d93\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"search-page mt-4 mb-2\" }\nconst _hoisted_2 = { class: \"container\" }\nconst _hoisted_3 = { class: \"search-results d-flex flex-wrap justify-content-start w-100\" }\nconst _hoisted_4 = { class: \"d-flex flex-lg-row flex-column header-left justify-content-start justify-content-lg-start flex-grow-1 flex-lg-grow-0\" }\nconst _hoisted_5 = { class: \"p-input-icon-left p-input-icon-right search-bar\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"pi pi-spinner spin\"\n}\nconst _hoisted_7 = {\n key: 1,\n class: \"pi pi-search text-primary\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Dropdown = _resolveComponent(\"Dropdown\")!\n const _component_InputText = _resolveComponent(\"InputText\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_SearchPageResultItemSkeleton = _resolveComponent(\"SearchPageResultItemSkeleton\")!\n const _component_SearchPageResultItem = _resolveComponent(\"SearchPageResultItem\")!\n const _component_DataView = _resolveComponent(\"DataView\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"h1\", null, _toDisplayString(_ctx.$t(\"searchPage.searchPageResults\")), 1),\n _createVNode(_component_DataView, {\n first: (_ctx.filter.page - 1) * _ctx.filter.pageSize,\n layout: \"list\",\n lazy: true,\n paginator: true,\n rows: parseInt(_ctx.filter.pageSize),\n \"total-records\": _ctx.searchResult?.totalResults,\n value: _ctx.searchResult?.items,\n onPage: _ctx.onPageChange\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(_component_Dropdown, {\n modelValue: _ctx.filter.category,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.filter.category) = $event)),\n \"append-to\": \"self\",\n class: \"search-categories\",\n \"option-label\": \"label\",\n \"option-value\": \"value\",\n options: _ctx.searchCategoryOptions,\n \"scroll-height\": \"400px\",\n \"show-toggle-all\": false,\n onChange: _ctx.onCategoryChange\n }, null, 8, [\"modelValue\", \"options\", \"onChange\"]),\n _createElementVNode(\"span\", _hoisted_5, [\n (_ctx.isSpinnerVisible('searchPageOnSearch'))\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_6))\n : (_openBlock(), _createElementBlock(\"i\", _hoisted_7)),\n _createVNode(_component_InputText, {\n modelValue: _ctx.filter.query,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.filter.query) = $event)),\n class: \"mr-1\",\n placeholder: _ctx.$t('searchPage.input.searchPlaceholder'),\n type: \"search\",\n onBlur: _ctx.onSearch,\n onKeyup: _withKeys(_ctx.onSearch, [\"enter\"]),\n onSubmit: _ctx.onSearch\n }, null, 8, [\"modelValue\", \"placeholder\", \"onBlur\", \"onKeyup\", \"onSubmit\"]),\n (_ctx.filter.query)\n ? (_openBlock(), _createElementBlock(\"i\", {\n key: 2,\n class: \"pi pi-times icon-clear\",\n onClick: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => (_ctx.onClear && _ctx.onClear(...args)))\n }))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ]),\n empty: _withCtx(() => [\n _createVNode(_component_Message, {\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"searchPage.noResults\")), 1)\n ]),\n _: 1\n })\n ]),\n list: _withCtx((item) => [\n (_ctx.isSpinnerVisible('searchPageOnSearch'))\n ? (_openBlock(), _createBlock(_component_SearchPageResultItemSkeleton, { key: 0 }))\n : (_openBlock(), _createBlock(_component_SearchPageResultItem, {\n key: 1,\n item: item.data\n }, null, 8, [\"item\"]))\n ]),\n _: 1\n }, 8, [\"first\", \"rows\", \"total-records\", \"value\", \"onPage\"])\n ])\n ])\n ]))\n}","<template>\r\n\t<div class=\"search-page mt-4 mb-2\">\r\n\t\t<div class=\"container\">\r\n\t\t\t<div>\r\n\t\t\t\t<h1>{{ $t(\"searchPage.searchPageResults\") }}</h1>\r\n\r\n\t\t\t\t<DataView\r\n\t\t\t\t\t:first=\"(filter.page - 1) * filter.pageSize\"\r\n\t\t\t\t\tlayout=\"list\"\r\n\t\t\t\t\t:lazy=\"true\"\r\n\t\t\t\t\t:paginator=\"true\"\r\n\t\t\t\t\t:rows=\"parseInt(filter.pageSize)\"\r\n\t\t\t\t\t:total-records=\"searchResult?.totalResults\"\r\n\t\t\t\t\t:value=\"searchResult?.items\"\r\n\t\t\t\t\t@page=\"onPageChange\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t<div class=\"search-results d-flex flex-wrap justify-content-start w-100\">\r\n\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\tclass=\"d-flex flex-lg-row flex-column header-left justify-content-start justify-content-lg-start flex-grow-1 flex-lg-grow-0\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<Dropdown\r\n\t\t\t\t\t\t\t\t\tv-model=\"filter.category\"\r\n\t\t\t\t\t\t\t\t\tappend-to=\"self\"\r\n\t\t\t\t\t\t\t\t\tclass=\"search-categories\"\r\n\t\t\t\t\t\t\t\t\toption-label=\"label\"\r\n\t\t\t\t\t\t\t\t\toption-value=\"value\"\r\n\t\t\t\t\t\t\t\t\t:options=\"searchCategoryOptions\"\r\n\t\t\t\t\t\t\t\t\tscroll-height=\"400px\"\r\n\t\t\t\t\t\t\t\t\t:show-toggle-all=\"false\"\r\n\t\t\t\t\t\t\t\t\t@change=\"onCategoryChange\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t<span class=\"p-input-icon-left p-input-icon-right search-bar\">\r\n\t\t\t\t\t\t\t\t\t<i v-if=\"isSpinnerVisible('searchPageOnSearch')\" class=\"pi pi-spinner spin\" />\r\n\t\t\t\t\t\t\t\t\t<i v-else class=\"pi pi-search text-primary\" />\r\n\t\t\t\t\t\t\t\t\t<InputText\r\n\t\t\t\t\t\t\t\t\t\tv-model=\"filter.query\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"mr-1\"\r\n\t\t\t\t\t\t\t\t\t\t:placeholder=\"$t('searchPage.input.searchPlaceholder')\"\r\n\t\t\t\t\t\t\t\t\t\ttype=\"search\"\r\n\t\t\t\t\t\t\t\t\t\t@blur=\"onSearch\"\r\n\t\t\t\t\t\t\t\t\t\t@keyup.enter=\"onSearch\"\r\n\t\t\t\t\t\t\t\t\t\t@submit=\"onSearch\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t<i v-if=\"filter.query\" class=\"pi pi-times icon-clear\" @click=\"onClear\" />\r\n\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template #empty>\r\n\t\t\t\t\t\t<Message :closable=\"false\" severity=\"warn\">\r\n\t\t\t\t\t\t\t{{ $t(\"searchPage.noResults\") }}\r\n\t\t\t\t\t\t</Message>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template #list=\"item\">\r\n\t\t\t\t\t\t<SearchPageResultItemSkeleton v-if=\"isSpinnerVisible('searchPageOnSearch')\" />\r\n\t\t\t\t\t\t<SearchPageResultItem v-else :item=\"item.data\" />\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</DataView>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport DataView from \"primevue/dataview\";\r\nimport Divider from \"primevue/divider\";\r\nimport SearchPageResultItem from \"@/components/general/search/searchPageResultItem.vue\";\r\nimport SearchPageResultItemSkeleton from \"@/components/general/search/searchPageResultItemSkeleton.vue\";\r\nimport SearchPageSidebar from \"@/components/general/search/searchPageSidebar.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { SearchCategory } from \"@/types/enum/searchCategory\";\r\nimport { SearchCategoryObject } from \"@/types/models/search/searchCategory\";\r\nimport { SearchPageViewModel } from \"@/types/viewModels/general/searchPageViewModel\";\r\nimport { SearchResultViewModel } from \"@/types/models/search/searchResult\";\r\nimport { toNumber, values } from \"lodash\";\r\nimport { ScrollHelper } from \"../../types/helpers/scrollHelper\";\r\n\r\n@Component({\r\n\tcomponents: { SearchPageResultItem, SearchPageSidebar, DataView, Divider, SearchPageResultItemSkeleton },\r\n})\r\nexport default class SearchPage extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<SearchPageViewModel>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: SearchPageViewModel;\r\n\r\n\tsearchResult!: SearchResultViewModel;\r\n\tsearchCategoryOptions: SearchCategoryObject[] = [];\r\n\r\n\tfilter = {\r\n\t\tquery: \"\",\r\n\t\tcategory: \"0\",\r\n\t\tpage: \"1\",\r\n\t\tpageSize: \"20\",\r\n\t};\r\n\r\n\tcreated(): void {\r\n\t\tLog.info(\"SearchPage\", this.vm);\r\n\t\tconst urlSearchParams = new URLSearchParams(window.location.search);\r\n\t\tconst params = Object.fromEntries(urlSearchParams.entries());\r\n\t\tthis.filter.query = params.query;\r\n\t\tthis.filter.category = params.category || \"0\";\r\n\t\tthis.filter.page = params.page || \"1\";\r\n\t\tthis.filter.pageSize = params.pageSize || \"20\";\r\n\r\n\t\tthis.searchCategoryOptions = values(SearchCategory)\r\n\t\t\t.filter((x) => Number.isFinite(toNumber(x)) || toNumber(x) === 0)\r\n\t\t\t.map((x) => ({\r\n\t\t\t\tvalue: `${x}`,\r\n\t\t\t\tlabel: this.$t(`enum.searchCategory.${x}`),\r\n\t\t\t}));\r\n\r\n\t\tthis.onSearch();\r\n\t}\r\n\r\n\tonSearch(): void {\r\n\t\tif (!this.filter.query) {\r\n\t\t\tthis.onClear();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.loadingStore.showSpinner(\"searchPageOnSearch\");\r\n\r\n\t\tconst defaultResult = {} as SearchResultViewModel;\r\n\t\tconst queryParams = new URLSearchParams(\"\");\r\n\r\n\t\tqueryParams.append(\"query\", this.filter.query);\r\n\t\tqueryParams.append(\"category\", `${this.filter.category}`);\r\n\t\tqueryParams.append(\"page\", `${this.filter.page}`);\r\n\t\tqueryParams.append(\"pageSize\", `${this.filter.pageSize}`);\r\n\r\n\t\tconst url = new URL(`${window.location.origin}/api/${this.vm.localizationPrefix}/search/`);\r\n\t\turl.search = queryParams.toString();\r\n\r\n\t\tthis.axios\r\n\t\t\t.get<SearchResultViewModel>(url.toString(), { requestId: \"searchPage\" })\r\n\t\t\t.then((res) => {\r\n\t\t\t\tthis.searchResult = res.data;\r\n\t\t\t\tthis.updateUrl(queryParams);\r\n\t\t\t})\r\n\t\t\t.catch(() => {\r\n\t\t\t\tthis.searchResult = defaultResult;\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.loadingStore.hideSpinner(\"searchPageOnSearch\");\r\n\t\t\t});\r\n\r\n\t\tthis.trackSearch(this.filter.query);\r\n\t}\r\n\r\n\tonClear(): void {\r\n\t\tconst defaultResult = {} as SearchResultViewModel;\r\n\t\tconst queryParams = new URLSearchParams(\"\");\r\n\r\n\t\tthis.filter.query = \"\";\r\n\t\tthis.filter.page = \"1\";\r\n\r\n\t\tqueryParams.append(\"query\", this.filter.query);\r\n\t\tqueryParams.append(\"page\", this.filter.page);\r\n\r\n\t\tthis.updateUrl(queryParams);\r\n\t\tthis.searchResult = defaultResult;\r\n\t\tScrollHelper.scrollTo('.search-results', +this.layoutStore.navBarHeight);\r\n\t}\r\n\r\n\tupdateUrl(queryParams: URLSearchParams): void {\r\n\t\tconst url = new URL(window.location.href);\r\n\t\turl.search = queryParams.toString();\r\n\r\n\t\twindow.history.pushState({}, document.title, url.toString());\r\n\t}\r\n\r\n\tonPageChange(e: any): void {\r\n\t\tthis.filter.page = e.page + 1;\r\n\t\tthis.onSearch();\r\n\t\tScrollHelper.scrollTo('.search-results', +this.layoutStore.navBarHeight);\r\n\t}\r\n\r\n\tonCategoryChange(cat: SearchCategoryObject): void {\r\n\t\tthis.filter.category = cat.value;\r\n\t\tthis.filter.page = \"1\";\r\n\t\tthis.onSearch();\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n::v-deep(.p-dataview) {\r\n\t.p-dataview-header {\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: space-between;\r\n\t\tflex-wrap: wrap;\r\n\t\tbackground: var(--surface-a);\r\n\t\tborder: none !important;\r\n\t\tposition: sticky;\r\n\t\ttop: var(--navbarHeightInPx);\r\n\t\tz-index: 10;\r\n\t\tpadding: 0.75rem 0;\r\n\r\n\t\t.header-left {\r\n\t\t\tdisplay: flex;\r\n\t\t\tmargin: 0.5rem 0;\r\n\t\t\tgap: 0.5rem;\r\n\t\t}\r\n\r\n\t\t.header-right {\r\n\t\t\tdisplay: flex;\r\n\t\t\tjustify-content: flex-end;\r\n\t\t\talign-items: center;\r\n\t\t}\r\n\t}\r\n\r\n\t.search-bar {\r\n\t\tmin-width: 400px;\r\n\t}\r\n\r\n\t.search-categories {\r\n\t\tmin-width: 150px;\r\n\t}\r\n}\r\n</style>\r\n","import { resolveDirective as _resolveDirective, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-516316ac\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = [\"href\"]\nconst _hoisted_2 = { class: \"d-flex flex-row search-result-item\" }\nconst _hoisted_3 = { class: \"image-container my-auto\" }\nconst _hoisted_4 = [\"alt\"]\nconst _hoisted_5 = { class: \"item-content my-auto\" }\nconst _hoisted_6 = { class: \"d-flex flex-row\" }\nconst _hoisted_7 = { class: \"title\" }\nconst _hoisted_8 = { class: \"contentcategory-tag\" }\nconst _hoisted_9 = [\"innerHTML\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Badge = _resolveComponent(\"Badge\")!\n const _component_Tag = _resolveComponent(\"Tag\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(\"a\", {\n class: \"text-decoration-none\",\n href: _ctx.item?.pageUrl\n }, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_ctx.item.hasIconUrl && _ctx.item.iconUrl)\n ? _withDirectives((_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n alt: _ctx.item.name,\n class: \"image w-100\"\n }, null, 8, _hoisted_4)), [\n [_directive_lazy, _ctx.item.iconUrl]\n ])\n : (_openBlock(), _createBlock(_component_Badge, {\n key: 1,\n value: _ctx.item.type.charAt(0)\n }, null, 8, [\"value\"]))\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"h5\", _hoisted_7, _toDisplayString(_ctx.item.name), 1),\n _createElementVNode(\"div\", _hoisted_8, [\n (_ctx.item.type)\n ? (_openBlock(), _createBlock(_component_Tag, {\n key: 0,\n value: _ctx.item.type\n }, null, 8, [\"value\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n (_ctx.item.intro)\n ? (_openBlock(), _createElementBlock(\"p\", {\n key: 0,\n class: \"lead\",\n innerHTML: _ctx.item.intro\n }, null, 8, _hoisted_9))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ], 8, _hoisted_1))\n}","<template>\r\n\t<a class=\"text-decoration-none\" :href=\"item?.pageUrl\">\r\n\t\t<div class=\"d-flex flex-row search-result-item\">\r\n\t\t\t<div class=\"image-container my-auto\">\r\n\t\t\t\t<img v-if=\"item.hasIconUrl && item.iconUrl\" v-lazy=\"item.iconUrl\" :alt=\"item.name\" class=\"image w-100\" />\r\n\t\t\t\t<Badge v-else :value=\"item.type.charAt(0)\"></Badge>\r\n\t\t\t</div>\r\n\r\n\t\t\t<div class=\"item-content my-auto\">\r\n\t\t\t\t<div class=\"d-flex flex-row\">\r\n\t\t\t\t\t<h5 class=\"title\">{{ item.name }}</h5>\r\n\t\t\t\t\t<div class=\"contentcategory-tag\">\r\n\t\t\t\t\t\t<Tag v-if=\"item.type\" :value=\"item.type\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n <p v-if=\"item.intro\" class=\"lead\" v-html=\"item.intro\"></p>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</a>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { PropType } from \"vue\";\r\nimport Tag from \"primevue/tag\";\r\nimport { SearchResultItemViewModel } from \"@/types/models/search/searchResultItem\";\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tTag,\r\n\t},\r\n})\r\nexport default class SearchPageResultItem extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<SearchResultItemViewModel>, required: true, default: {} })\r\n\titem!: SearchResultItemViewModel;\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.search-result-item {\r\n\theight: 6rem;\r\n\tcolor: #000;\r\n\ttransition: all 0.4s;\r\n\tbox-shadow:\r\n\t\t0px 2px 1px -1px rgb(0 0 0 / 20%),\r\n\t\t0px 1px 1px 0px rgb(0 0 0 / 14%),\r\n\t\t0px 1px 3px 0px rgb(0 0 0 / 12%);\r\n\tborder-radius: 3px;\r\n\tmargin: 1rem 0.25rem;\r\n\toverflow: hidden;\r\n\tposition: relative;\r\n\tbackground-color: #ffffff;\r\n\r\n\t.image-container {\r\n\t\tposition: relative;\r\n\t\toverflow: hidden;\r\n\t\theight: 4.5rem;\r\n\t\twidth: 4.5rem;\r\n\t\tpadding: 0.5rem;\r\n\r\n\t\t.image {\r\n\t\t\topacity: 1;\r\n\t\t\tdisplay: block;\r\n\t\t\theight: 100%;\r\n\t\t\ttransition: 0.5s ease;\r\n\t\t\tbackface-visibility: hidden;\r\n\t\t\tobject-fit: cover;\r\n\t\t}\r\n\t}\r\n\r\n\t&:hover {\r\n\t\tbox-shadow:\r\n\t\t\t4px 4px 2px 0 rgb(0 0 0 / 20%),\r\n\t\t\t0 1px 4px 0 rgb(0 0 0 / 14%),\r\n\t\t\t0 2px 8px 0 rgb(0 0 0 / 12%);\r\n\t\tcursor: pointer;\r\n\t}\r\n\r\n\t.item-content {\r\n\t\twidth: 85%;\r\n\t\tpadding: 0.5rem;\r\n\r\n\t\t.title {\r\n\t\t\tmargin-bottom: 0;\r\n\t\t\toverflow: hidden;\r\n\t\t\tdisplay: -webkit-box;\r\n\t\t\t-webkit-line-clamp: 1;\r\n\t\t\t-webkit-box-orient: vertical;\r\n\t\t\t-webkit-box-pack: end;\r\n\t\t}\r\n\r\n\t\t.lead {\r\n\t\t\tfont-size: 1.1rem;\r\n\t\t\tmargin-bottom: 0;\r\n\t\t\toverflow: hidden;\r\n\t\t\tdisplay: -webkit-box;\r\n\t\t\t-webkit-line-clamp: 2;\r\n\t\t\t-webkit-box-orient: vertical;\r\n\t\t\t-webkit-box-pack: end;\r\n\t\t}\r\n\r\n\t\t.contentcategory-tag {\r\n\t\t\tmargin-left: 1rem;\r\n\t\t}\r\n\t}\r\n\r\n\t.overlay {\r\n\t\ttransition: 0.5s ease;\r\n\t\topacity: 0;\r\n\t\tposition: absolute;\r\n\t\tbottom: 0%;\r\n\t\tright: 0%;\r\n\t\tpadding: 1.5rem;\r\n\r\n\t\tbutton {\r\n\t\t\tbackground-color: #91004b;\r\n\t\t\tcolor: white;\r\n\t\t\tfont-size: 16px;\r\n\t\t\tpadding: 16px 32px;\r\n\t\t}\r\n\t}\r\n\r\n\t&:hover {\r\n\t\t.image {\r\n\t\t\ttransform: scale(1.01);\r\n\t\t}\r\n\r\n\t\t.overlay {\r\n\t\t\topacity: 1;\r\n\t\t\tcursor: pointer;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n::v-deep(.p-badge) {\r\n\twidth: 100%;\r\n\theight: 100%;\r\n\tfont-size: 2rem;\r\n\tdisplay: flex;\r\n\tjustify-content: center;\r\n\talign-items: center;\r\n}\r\n\r\n::v-deep(.p-badge-no-gutter) {\r\n\tborder-radius: 10px;\r\n}\r\n</style>\r\n","import { render } from \"./searchPageResultItem.vue?vue&type=template&id=516316ac&scoped=true&ts=true\"\nimport script from \"./searchPageResultItem.vue?vue&type=script&lang=ts\"\nexport * from \"./searchPageResultItem.vue?vue&type=script&lang=ts\"\n\nimport \"./searchPageResultItem.vue?vue&type=style&index=0&id=516316ac&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-516316ac\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"d-flex py-2 flex-shrink-0 surface-a\" }\nconst _hoisted_2 = { class: \"d-flex flex-column ml-1 w-75\" }\nconst _hoisted_3 = { class: \"\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Skeleton = _resolveComponent(\"Skeleton\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Skeleton, {\n height: \"6rem\",\n width: \"6rem\"\n }),\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_Skeleton, {\n class: \"mb-1\",\n height: \"1.4rem\",\n width: \"20%\"\n }),\n _createVNode(_component_Skeleton, {\n class: \"mb-1\",\n height: \".75rem\",\n width: \"100%\"\n }),\n _createVNode(_component_Skeleton, {\n class: \"mb-1\",\n height: \".75rem\",\n width: \"90%\"\n })\n ])\n ])\n ]))\n}","<template>\r\n\t<div class=\"d-flex py-2 flex-shrink-0 surface-a\">\r\n\t\t<Skeleton height=\"6rem\" width=\"6rem\" />\r\n\r\n\t\t<div class=\"d-flex flex-column ml-1 w-75\">\r\n\t\t\t<div class=\"\">\r\n\t\t\t\t<Skeleton class=\"mb-1\" height=\"1.4rem\" width=\"20%\" />\r\n\t\t\t\t<Skeleton class=\"mb-1\" height=\".75rem\" width=\"100%\" />\r\n\t\t\t\t<Skeleton class=\"mb-1\" height=\".75rem\" width=\"90%\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Skeleton from \"primevue/skeleton\";\r\nimport { Component } from \"vue-facing-decorator\";\r\n\r\n@Component({ components: { Skeleton } })\r\nexport default class SearchPageResultItemSkeleton extends BaseComponent {}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { render } from \"./searchPageResultItemSkeleton.vue?vue&type=template&id=1466ac25&ts=true\"\nimport script from \"./searchPageResultItemSkeleton.vue?vue&type=script&lang=ts\"\nexport * from \"./searchPageResultItemSkeleton.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString } from \"vue\"\n\nconst _hoisted_1 = { class: \"col-lg-3\" }\nconst _hoisted_2 = { class: \"overview__controls__search\" }\nconst _hoisted_3 = { class: \"autocomplete\" }\nconst _hoisted_4 = [\"for\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_InputText = _resolveComponent(\"InputText\")!\n const _component_Panel = _resolveComponent(\"Panel\")!\n const _component_Checkbox = _resolveComponent(\"Checkbox\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Panel, {\n collapsed: _ctx.collapsed,\n \"onUpdate:collapsed\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.collapsed) = $event)),\n class: \"product-filter-item\"\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"p\", {\n class: \"p-link lead mb-0 w-100\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.collapsed = !_ctx.collapsed))\n }, \"Zoekterm\")\n ]),\n icons: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"p-panel-header-icon p-link mr-2\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.collapsed = !_ctx.collapsed))\n }, [\n _createElementVNode(\"i\", {\n class: _normalizeClass(_ctx.collapsed ? 'pi pi-chevron-down' : 'pi pi-chevron-up')\n }, null, 2)\n ])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_InputText, {\n modelValue: _ctx.searchString,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.searchString) = $event)),\n type: \"text\"\n }, null, 8, [\"modelValue\"])\n ])\n ])\n ]),\n _: 1\n }, 8, [\"collapsed\"]),\n _createVNode(_component_Panel, {\n collapsed: _ctx.collapsed,\n \"onUpdate:collapsed\": _cache[6] || (_cache[6] = ($event: any) => ((_ctx.collapsed) = $event)),\n class: \"product-filter-item\"\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"p\", {\n class: \"p-link lead mb-0 w-100\",\n onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.collapsed = !_ctx.collapsed))\n }, \"Categories\")\n ]),\n icons: _withCtx(() => [\n _createElementVNode(\"button\", {\n class: \"p-panel-header-icon p-link mr-2\",\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.collapsed = !_ctx.collapsed))\n }, [\n _createElementVNode(\"i\", {\n class: _normalizeClass(_ctx.collapsed ? 'pi pi-chevron-down' : 'pi pi-chevron-up')\n }, null, 2)\n ])\n ]),\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.categories, (category) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: category.value,\n class: \"product-filter-option p-field-checkbox form-group\"\n }, [\n _createVNode(_component_Checkbox, {\n id: category.value,\n binary: \"\"\n }, null, 8, [\"id\"]),\n _createElementVNode(\"label\", {\n class: _normalizeClass([\"ml-2 mb-0 p-link\", _ctx.collapsed ? 'font-weight-bold' : 'font-weight-normal']),\n for: category\n }, _toDisplayString(category.label), 11, _hoisted_4)\n ]))\n }), 128))\n ]),\n _: 1\n }, 8, [\"collapsed\"])\n ]))\n}","<template>\r\n\t<div class=\"col-lg-3\">\r\n\t\t<Panel v-model:collapsed=\"collapsed\" class=\"product-filter-item\">\r\n\t\t\t<template #header>\r\n\t\t\t\t<p class=\"p-link lead mb-0 w-100\" @click=\"collapsed = !collapsed\">Zoekterm</p>\r\n\t\t\t</template>\r\n\r\n\t\t\t<template #icons>\r\n\t\t\t\t<button class=\"p-panel-header-icon p-link mr-2\" @click=\"collapsed = !collapsed\">\r\n\t\t\t\t\t<i :class=\"collapsed ? 'pi pi-chevron-down' : 'pi pi-chevron-up'\" />\r\n\t\t\t\t</button>\r\n\t\t\t</template>\r\n\r\n\t\t\t<div class=\"overview__controls__search\">\r\n\t\t\t\t<div class=\"autocomplete\">\r\n\t\t\t\t\t<InputText v-model=\"searchString\" type=\"text\" />\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</Panel>\r\n\r\n\t\t<Panel v-model:collapsed=\"collapsed\" class=\"product-filter-item\">\r\n\t\t\t<template #header>\r\n\t\t\t\t<p class=\"p-link lead mb-0 w-100\" @click=\"collapsed = !collapsed\">Categories</p>\r\n\t\t\t</template>\r\n\t\t\t<template #icons>\r\n\t\t\t\t<button class=\"p-panel-header-icon p-link mr-2\" @click=\"collapsed = !collapsed\">\r\n\t\t\t\t\t<i :class=\"collapsed ? 'pi pi-chevron-down' : 'pi pi-chevron-up'\" />\r\n\t\t\t\t</button>\r\n\t\t\t</template>\r\n\t\t\t<div\r\n\t\t\t\tv-for=\"category in categories\"\r\n\t\t\t\t:key=\"category.value\"\r\n\t\t\t\tclass=\"product-filter-option p-field-checkbox form-group\"\r\n\t\t\t>\r\n\t\t\t\t<Checkbox :id=\"category.value\" binary />\r\n\t\t\t\t<label\r\n\t\t\t\t\tclass=\"ml-2 mb-0 p-link\"\r\n\t\t\t\t\t:class=\"collapsed ? 'font-weight-bold' : 'font-weight-normal'\"\r\n\t\t\t\t\t:for=\"category\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ category.label }}\r\n\t\t\t\t</label>\r\n\t\t\t</div>\r\n\t\t</Panel>\r\n\r\n\t\t<!--\t\t<div id=\"searchFilters\" class=\"dialog dialog--aside\">-->\r\n\t\t<!--\t\t\t<div class=\"dialog__body\">-->\r\n\t\t<!--\t\t\t\t<h2 class=\"heading-3 mt-1\">Categorie</h2>-->\r\n\t\t<!--\t\t\t\t<div class=\"overview__filters mt-1\">-->\r\n\t\t<!--\t\t\t\t\t<template v-for=\"(category, index) in categories\" :key=\"category + index\">-->\r\n\t\t<!--\t\t\t\t\t\t<label>{{ category }}</label>-->\r\n\t\t<!--\t\t\t\t\t</template>-->\r\n\t\t<!--\t\t\t\t</div>-->\r\n\t\t<!--\t\t\t</div>-->\r\n\t\t<!--\t\t</div>-->\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport SearchPageResultItem from \"@/components/general/search/searchPageResultItem.vue\";\r\nimport Checkbox from \"primevue/checkbox\";\r\n\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { PropType } from \"vue\";\r\nimport { SearchCategoryObject } from \"@/types/models/search/searchCategory\";\r\n\r\n@Component({\r\n\tcomponents: { SearchPageResultItem, Checkbox },\r\n})\r\nexport default class SearchPageSidebar extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<SearchCategoryObject[]>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tcategories!: SearchCategoryObject[];\r\n\tcollapsed = false;\r\n\r\n\tsearchString = \"\";\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { render } from \"./searchPageSidebar.vue?vue&type=template&id=242b1eaf&ts=true\"\nimport script from \"./searchPageSidebar.vue?vue&type=script&lang=ts\"\nexport * from \"./searchPageSidebar.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./searchPage.vue?vue&type=template&id=21527d93&scoped=true&ts=true\"\nimport script from \"./searchPage.vue?vue&type=script&lang=ts\"\nexport * from \"./searchPage.vue?vue&type=script&lang=ts\"\n\nimport \"./searchPage.vue?vue&type=style&index=0&id=21527d93&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-21527d93\"]])\n\nexport default __exports__","import { renderSlot as _renderSlot, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createBlock as _createBlock, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-035b380a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"pt-3 pb-2\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"mb-0\"\n}\nconst _hoisted_3 = {\n key: 0,\n class: \"col-lg-6 mb-2\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"col-md-12 col-lg-6\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ServiceOverviewItemCard = _resolveComponent(\"ServiceOverviewItemCard\")!\n const _component_ServiceOverviewItemCardSkeleton = _resolveComponent(\"ServiceOverviewItemCardSkeleton\")!\n const _component_ProductOverviewLayout = _resolveComponent(\"ProductOverviewLayout\")!\n\n return (_openBlock(), _createBlock(_component_ProductOverviewLayout, {\n vm: _ctx.overviewVm,\n onOnFilterChange: _ctx.onFilterChange,\n onOnSearch: _ctx.onSearch,\n onOnSortChange: _ctx.onSortChange\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _renderSlot(_ctx.$slots, \"breadcrumbs\", {}, undefined, true),\n (_ctx.vm.pageTitle)\n ? (_openBlock(), _createElementBlock(\"h1\", _hoisted_2, _toDisplayString(_ctx.vm.pageTitle), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n \"grid-item\": _withCtx(({ data }) => [\n (!_ctx.isSpinnerVisible('product-overview'))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode(_component_ServiceOverviewItemCard, {\n compact: _ctx.isSmallScreen,\n item: data,\n layout: \"grid\"\n }, null, 8, [\"compact\", \"item\"])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createVNode(_component_ServiceOverviewItemCardSkeleton, { type: \"list\" })\n ]))\n ]),\n \"list-item\": _withCtx(({ data }) => [\n (!_ctx.isSpinnerVisible('product-overview'))\n ? (_openBlock(), _createBlock(_component_ServiceOverviewItemCard, {\n key: 0,\n item: data,\n layout: \"list\"\n }, null, 8, [\"item\"]))\n : (_openBlock(), _createBlock(_component_ServiceOverviewItemCardSkeleton, {\n key: 1,\n type: \"list\"\n }))\n ]),\n _: 3\n }, 8, [\"vm\", \"onOnFilterChange\", \"onOnSearch\", \"onOnSortChange\"]))\n}","<template>\r\n\t<ProductOverviewLayout :vm=\"overviewVm\" @on-filter-change=\"onFilterChange\" @on-search=\"onSearch\" @on-sort-change=\"onSortChange\">\r\n\t\t\r\n\t\t<template #header>\r\n\t\t\t<div class=\"pt-3 pb-2\">\r\n\t\t\t\t<slot name=\"breadcrumbs\" />\r\n\t\t\t\t<h1 v-if=\"vm.pageTitle\" class=\"mb-0\">{{ vm.pageTitle }}</h1>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\r\n\t\t<template #grid-item=\"{ data }\">\r\n\t\t\t<div v-if=\"!isSpinnerVisible('product-overview')\" class=\"col-lg-6 mb-2\">\r\n\t\t\t\t<ServiceOverviewItemCard :compact=\"isSmallScreen\" :item=\"data\" layout=\"grid\" />\r\n\t\t\t</div>\r\n\t\t\t<div v-else class=\"col-md-12 col-lg-6\">\r\n\t\t\t\t<ServiceOverviewItemCardSkeleton type=\"list\" />\r\n\t\t\t</div>\r\n\t\t</template>\r\n\r\n\t\t<template #list-item=\"{ data }\">\r\n\t\t\t<ServiceOverviewItemCard v-if=\"!isSpinnerVisible('product-overview')\" :item=\"data\" layout=\"list\" />\r\n\t\t\t<ServiceOverviewItemCardSkeleton v-else type=\"list\" />\r\n\t\t</template>\r\n\r\n\t</ProductOverviewLayout>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\n import BaseComponent from \"@/components/base/baseComponent.vue\";\r\n import { Component, Prop } from \"vue-facing-decorator\";\r\n import { IServiceOverview } from \"@/types/viewModels/myCadac/serviceOverviewViewModel\";\r\n import { PropType } from \"vue\";\r\n import ServiceOverviewItemCardSkeleton from \"@/components/service/serviceOverviewItemCardSkeleton.vue\";\r\n import ServiceOverviewItemCard from \"@/components/service/serviceOverviewItemCard.vue\";\r\n import ProductOverviewLayout, { IProductOverviewLayout } from \"@/views/layout/productOverviewLayout.vue\";\r\n import { TrainingItemViewModel } from \"../../types/models/training/trainingItemViewModel\";\r\n import { Log } from \"../../types/helpers/logHelper\";\r\n import { OverviewSortType } from \"../../types/enum/overviewSortType\";\r\n import { ServiceItemViewModel } from \"../../types/models/service/serviceItemViewModel\";\r\n import { useProductOverviewFilterStore } from \"../../store/common/productOverviewFiltersStore\";\r\n\r\n @Component({\r\n components: {\r\n\t\t\tProductOverviewLayout,\r\n\t\t\tServiceOverviewItemCard,\r\n ServiceOverviewItemCardSkeleton\r\n },\r\n })\r\n export default class ServiceOverview extends BaseComponent {\r\n @Prop({ type: Object as PropType<IServiceOverview>, required: true, default: {} }) vm!: IServiceOverview;\r\n\r\n overviewItems: TrainingItemViewModel[] | ServiceItemViewModel[] = [];\r\n filterStore = useProductOverviewFilterStore();\r\n\r\n\t showArchived: { [title: string]: boolean } = {};\r\n\t isActivating: { [number: string]: boolean } = {};\r\n\t hasActivated: { [number: string]: boolean } = {};\r\n\r\n\t isLoading = false;\r\n\t hasError = false;\r\n\r\n created(): void {\r\n Log.info(\"ServiceOverview.vue\");\r\n this.overviewItems = this.vm.overviewItems;\r\n this.vm.filters?.length && this.filterStore.init(this.vm.filters);\r\n }\r\n\r\n get overviewVm(): IProductOverviewLayout {\r\n const productType = this.vm.overviewItems[this.vm.overviewItems.length - 1]?.productType;\r\n return { productType, items: this.overviewItems, defaultViewLayout: \"list\" };\r\n }\r\n\r\n onSortChange(sortType: OverviewSortType): void {\r\n this.filterStore.sortType = sortType;\r\n this.updateFilters();\r\n }\r\n\r\n onFilterChange(): void {\r\n this.updateFilters();\r\n }\r\n\r\n onSearch(query: string): void {\r\n if (!this.filterStore.hasQueryFilter) return;\r\n this.filterStore.updateSearchQuery(query);\r\n this.updateFilters();\r\n }\r\n\r\n private updateFilters(): void {\r\n this.loadingStore.showSpinner(\"product-overview\");\r\n this.loadingStore.increaseLoadingCount();\r\n this.filterStore\r\n .updateTrainingFilters()\r\n .then((data) => {\r\n this.overviewItems = data?.overviewItems ? [...data.overviewItems] : [];\r\n })\r\n .catch((err) => Log.error(err))\r\n .finally(() => {\r\n this.loadingStore.hideSpinner(\"product-overview\");\r\n this.loadingStore.decreaseLoadingCount();\r\n });\r\n }\r\n }\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n :deep(.product-grid-card) {\r\n &.p-card {\r\n min-height: 200px;\r\n }\r\n }\r\n\r\n :deep(.p-dataview) {\r\n .p-dataview-header {\r\n top: var(--navbarHeightInPx);\r\n }\r\n }\r\n</style>","import { render } from \"./serviceOverview.vue?vue&type=template&id=035b380a&scoped=true&ts=true\"\nimport script from \"./serviceOverview.vue?vue&type=script&lang=ts\"\nexport * from \"./serviceOverview.vue?vue&type=script&lang=ts\"\n\nimport \"./serviceOverview.vue?vue&type=style&index=0&id=035b380a&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-035b380a\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, withCtx as _withCtx, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, createSlots as _createSlots, vShow as _vShow, withDirectives as _withDirectives, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-74850f66\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"mr-1\" }\nconst _hoisted_2 = { class: \"d-flex flex-wrap\" }\nconst _hoisted_3 = { class: \"mr-1\" }\nconst _hoisted_4 = { class: \"d-flex flex-wrap\" }\nconst _hoisted_5 = { class: \"px-2\" }\nconst _hoisted_6 = { class: \"d-flex\" }\nconst _hoisted_7 = [\"innerHTML\"]\nconst _hoisted_8 = { class: \"text-muted lead text-right\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_ProductConfigurationOption = _resolveComponent(\"ProductConfigurationOption\")!\n const _component_ProductConfigurationStep = _resolveComponent(\"ProductConfigurationStep\")!\n const _component_ProductConfiguration = _resolveComponent(\"ProductConfiguration\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_ProductPageContentSection = _resolveComponent(\"ProductPageContentSection\")!\n const _component_ProductOverviewItemCard = _resolveComponent(\"ProductOverviewItemCard\")!\n const _component_ProductTabs = _resolveComponent(\"ProductTabs\")!\n const _component_PriceSummary = _resolveComponent(\"PriceSummary\")!\n const _component_ProductConfigurationSummaryItem = _resolveComponent(\"ProductConfigurationSummaryItem\")!\n const _component_ProductConfigurationSummary = _resolveComponent(\"ProductConfigurationSummary\")!\n const _component_WalletMessage = _resolveComponent(\"WalletMessage\")!\n const _component_ProductPageSummary = _resolveComponent(\"ProductPageSummary\")!\n const _component_ProductLayout = _resolveComponent(\"ProductLayout\")!\n const _component_ProductAddedModal = _resolveComponent(\"ProductAddedModal\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_ProductLayout, {\n modelValue: _ctx.showSideBar,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.showSideBar) = $event)),\n \"help-block\": _ctx.selectedHelpBlock,\n vm: _ctx.vm\n }, {\n tabs: _withCtx(() => [\n _createVNode(_component_ProductTabs, { items: _ctx.productTabs }, _createSlots({\n tabConfiguration: _withCtx(() => [\n _createVNode(_component_ProductPageContentSection, null, {\n default: _withCtx(() => [\n (_ctx.vm.viewModelIsValid)\n ? (_openBlock(), _createBlock(_component_ProductConfiguration, {\n key: 0,\n class: \"mb-3\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ProductConfigurationStep, { id: \"step-serviceType\" }, {\n header: _withCtx(() => [\n _createElementVNode(\"span\", _hoisted_1, _toDisplayString(_ctx.$t(\"service.lblServiceType\")), 1),\n _createVNode(_component_Button, {\n class: \"header-explanation-text text-underline py-0 p-button-text p-button-secondary\",\n label: _ctx.vm.helpBlockServiceType?.linkText,\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.showHelpSideBar(_ctx.vm.helpBlockServiceType)))\n }, null, 8, [\"label\"])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.productStore.availableServiceTypes, (option, index) => {\n return (_openBlock(), _createBlock(_component_ProductConfigurationOption, {\n key: index,\n disabled: _ctx.isBusy,\n \"is-selected\": option.value === _ctx.productStore.selectedServiceType,\n option: option,\n onOptionSelected: ($event: any) => (_ctx.onServiceTypeSelected(option.value))\n }, null, 8, [\"disabled\", \"is-selected\", \"option\", \"onOptionSelected\"]))\n }), 128))\n ])\n ]),\n _: 1\n }),\n _createVNode(_component_ProductConfigurationStep, { id: \"step-unit\" }, {\n header: _withCtx(() => [\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(_ctx.$t(\"service.lblUnit\")), 1),\n _createVNode(_component_Button, {\n class: \"header-explanation-text text-underline py-0 p-button-text p-button-secondary\",\n label: _ctx.vm.helpBlockUnit?.linkText,\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.showHelpSideBar(_ctx.vm.helpBlockUnit)))\n }, null, 8, [\"label\"])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_4, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.productStore.availableUnits, (option, index) => {\n return (_openBlock(), _createBlock(_component_ProductConfigurationOption, {\n key: index,\n disabled: _ctx.isBusy,\n \"is-selected\": option.value === _ctx.productStore.selectedUnit,\n option: option,\n onOptionSelected: ($event: any) => (_ctx.onUnitSelected(option.value))\n }, null, 8, [\"disabled\", \"is-selected\", \"option\", \"onOptionSelected\"]))\n }), 128))\n ])\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n : (_openBlock(), _createBlock(_component_Message, {\n key: 1,\n closable: false,\n severity: \"error\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"product.message.currentlyUnavailable\")), 1)\n ]),\n _: 1\n }))\n ]),\n _: 1\n }),\n (_ctx.vm.relatedUpSellProducts?.length)\n ? (_openBlock(), _createBlock(_component_ProductPageContentSection, {\n key: 0,\n type: \"upsell\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"h3\", _hoisted_5, _toDisplayString(_ctx.$t(\"product.titleUpSell\")), 1),\n _createElementVNode(\"div\", _hoisted_6, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.relatedUpSellProducts, (product) => {\n return (_openBlock(), _createElementBlock(\"div\", { key: product }, [\n _createVNode(_component_ProductOverviewItemCard, {\n item: product,\n layout: \"grid\"\n }, null, 8, [\"item\"])\n ]))\n }), 128))\n ])\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 2\n }, [\n (_ctx.vm.gameRules)\n ? {\n name: \"tabGameRules\",\n fn: _withCtx(() => [\n _createVNode(_component_ProductPageContentSection, { type: 'content' }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", {\n class: \"rte\",\n innerHTML: _ctx.vm.gameRules\n }, null, 8, _hoisted_7)\n ]),\n _: 1\n })\n ]),\n key: \"0\"\n }\n : undefined\n ]), 1032, [\"items\"])\n ]),\n summary: _withCtx(() => [\n _createVNode(_component_ProductPageSummary, {\n \"can-submit\": true,\n \"is-product-available\": _ctx.vm.viewModelIsValid,\n \"max-amount\": _ctx.productStore.selectedVariation?.maxQuantity,\n \"min-amount\": _ctx.productStore.selectedVariation?.minQuantity,\n \"show-amount-input\": \"\",\n \"total-price\": _ctx.priceSummary?.totalPrice,\n value: _ctx.productStore?.selectedAmount,\n onAddToCart: _ctx.addProductToCart,\n onAmountChanged: _ctx.onSelectedAmountChanged\n }, {\n priceSummary: _withCtx(() => [\n _createVNode(_component_PriceSummary, { vm: _ctx.priceSummary }, null, 8, [\"vm\"]),\n _createElementVNode(\"p\", _hoisted_8, _toDisplayString(_ctx.$t(\"common.productSummary.allPricesExclVat\")), 1)\n ]),\n configurationSummary: _withCtx(() => [\n _createVNode(_component_ProductConfigurationSummary, {\n header: _ctx.$t('service.titleSummary')\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ProductConfigurationSummaryItem, {\n content: _ctx.$t(`enum.serviceType.${_ctx.productStore.selectedServiceType}`),\n label: _ctx.$t('service.lblServiceType')\n }, null, 8, [\"content\", \"label\"]),\n _createVNode(_component_ProductConfigurationSummaryItem, {\n content: _ctx.$t(`enum.serviceUnit.${_ctx.productStore.selectedUnit}`),\n label: _ctx.$t('service.lblUnit')\n }, null, 8, [\"content\", \"label\"]),\n (_ctx.layoutStore.canImpersonate)\n ? (_openBlock(), _createBlock(_component_ProductConfigurationSummaryItem, {\n key: 0,\n content: _ctx.productStore.selectedVariation?.sku,\n label: \"SKU\"\n }, null, 8, [\"content\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"header\"])\n ]),\n walletMessage: _withCtx(() => [\n _withDirectives(_createVNode(_component_WalletMessage, {\n \"wallet-amount\": _ctx.productStore.selectedVariation?.walletAmount\n }, null, 8, [\"wallet-amount\"]), [\n [_vShow, \r\n\t\t\t\t\t\t\t!_ctx.isSmallScreen && _ctx.vm?.canUseWallet && _ctx.productStore?.selectedVariation?.walletAmount\r\n\t\t\t\t\t\t]\n ])\n ]),\n _: 1\n }, 8, [\"is-product-available\", \"max-amount\", \"min-amount\", \"total-price\", \"value\", \"onAddToCart\", \"onAmountChanged\"])\n ]),\n _: 1\n }, 8, [\"modelValue\", \"help-block\", \"vm\"]),\n (_ctx.cartStore.showProductAddedModal)\n ? (_openBlock(), _createBlock(_component_ProductAddedModal, {\n key: 0,\n vm: _ctx.productAddedVm\n }, null, 8, [\"vm\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<ProductLayout v-model=\"showSideBar\" :help-block=\"selectedHelpBlock\" :vm=\"vm\">\r\n\t\t<template #tabs>\r\n\t\t\t<ProductTabs :items=\"productTabs\">\r\n\t\t\t\t<template #tabConfiguration>\r\n\t\t\t\t\t<ProductPageContentSection>\r\n\t\t\t\t\t\t<ProductConfiguration v-if=\"vm.viewModelIsValid\" class=\"mb-3\">\r\n\t\t\t\t\t\t\t<ProductConfigurationStep id=\"step-serviceType\">\r\n\t\t\t\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t\t\t\t<span class=\"mr-1\"> {{ $t(\"service.lblServiceType\") }}</span>\r\n\t\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\t\tclass=\"header-explanation-text text-underline py-0 p-button-text p-button-secondary\"\r\n\t\t\t\t\t\t\t\t\t\t:label=\"vm.helpBlockServiceType?.linkText\"\r\n\t\t\t\t\t\t\t\t\t\t@click=\"showHelpSideBar(vm.helpBlockServiceType)\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t<div class=\"d-flex flex-wrap\">\r\n\t\t\t\t\t\t\t\t\t<ProductConfigurationOption\r\n\t\t\t\t\t\t\t\t\t\tv-for=\"(option, index) in productStore.availableServiceTypes\"\r\n\t\t\t\t\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\t\t\t\t\t:disabled=\"isBusy\"\r\n\t\t\t\t\t\t\t\t\t\t:is-selected=\"option.value === productStore.selectedServiceType\"\r\n\t\t\t\t\t\t\t\t\t\t:option=\"option\"\r\n\t\t\t\t\t\t\t\t\t\t@option-selected=\"onServiceTypeSelected(option.value)\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t</ProductConfigurationOption>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</ProductConfigurationStep>\r\n\r\n\t\t\t\t\t\t\t<ProductConfigurationStep id=\"step-unit\">\r\n\t\t\t\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t\t\t\t<span class=\"mr-1\"> {{ $t(\"service.lblUnit\") }}</span>\r\n\t\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\t\tclass=\"header-explanation-text text-underline py-0 p-button-text p-button-secondary\"\r\n\t\t\t\t\t\t\t\t\t\t:label=\"vm.helpBlockUnit?.linkText\"\r\n\t\t\t\t\t\t\t\t\t\t@click=\"showHelpSideBar(vm.helpBlockUnit)\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t<div class=\"d-flex flex-wrap\">\r\n\t\t\t\t\t\t\t\t\t<ProductConfigurationOption\r\n\t\t\t\t\t\t\t\t\t\tv-for=\"(option, index) in productStore.availableUnits\"\r\n\t\t\t\t\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\t\t\t\t\t:disabled=\"isBusy\"\r\n\t\t\t\t\t\t\t\t\t\t:is-selected=\"option.value === productStore.selectedUnit\"\r\n\t\t\t\t\t\t\t\t\t\t:option=\"option\"\r\n\t\t\t\t\t\t\t\t\t\t@option-selected=\"onUnitSelected(option.value)\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t</ProductConfigurationOption>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</ProductConfigurationStep>\r\n\t\t\t\t\t\t</ProductConfiguration>\r\n\t\t\t\t\t\t<Message v-else :closable=\"false\" severity=\"error\">\r\n\t\t\t\t\t\t\t{{ $t(\"product.message.currentlyUnavailable\") }}\r\n\t\t\t\t\t\t</Message>\r\n\t\t\t\t\t</ProductPageContentSection>\r\n\t\t\t\t\t<ProductPageContentSection v-if=\"vm.relatedUpSellProducts?.length\" type=\"upsell\">\r\n\t\t\t\t\t\t<h3 class=\"px-2\">{{ $t(\"product.titleUpSell\") }}</h3>\r\n\t\t\t\t\t\t<div class=\"d-flex\">\r\n\t\t\t\t\t\t\t<div v-for=\"product in vm.relatedUpSellProducts\" :key=\"product\">\r\n\t\t\t\t\t\t\t\t<ProductOverviewItemCard :item=\"product\" layout=\"grid\" />\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</ProductPageContentSection>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template v-if=\"vm.gameRules\" #tabGameRules>\r\n\t\t\t\t\t<ProductPageContentSection :type=\"'content'\">\r\n\t\t\t\t\t\t<div class=\"rte\" v-html=\"vm.gameRules\" />\r\n\t\t\t\t\t</ProductPageContentSection>\r\n\t\t\t\t</template>\r\n\t\t\t</ProductTabs>\r\n\t\t</template>\r\n\t\t<template #summary>\r\n\t\t\t<ProductPageSummary\r\n\t\t\t\t:can-submit=\"true\"\r\n\t\t\t\t:is-product-available=\"vm.viewModelIsValid\"\r\n\t\t\t\t:max-amount=\"productStore.selectedVariation?.maxQuantity\"\r\n\t\t\t\t:min-amount=\"productStore.selectedVariation?.minQuantity\"\r\n\t\t\t\tshow-amount-input\r\n\t\t\t\t:total-price=\"priceSummary?.totalPrice\"\r\n\t\t\t\t:value=\"productStore?.selectedAmount\"\r\n\t\t\t\t@addToCart=\"addProductToCart\"\r\n\t\t\t\t@amountChanged=\"onSelectedAmountChanged\"\r\n\t\t\t>\r\n\t\t\t\t<template #priceSummary>\r\n\t\t\t\t\t<PriceSummary :vm=\"priceSummary\" />\r\n\t\t\t\t\t<p class=\"text-muted lead text-right\">{{ $t(\"common.productSummary.allPricesExclVat\") }}</p>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template #configurationSummary>\r\n\t\t\t\t\t<ProductConfigurationSummary :header=\"$t('service.titleSummary')\">\r\n\t\t\t\t\t\t<ProductConfigurationSummaryItem\r\n\t\t\t\t\t\t\t:content=\"$t(`enum.serviceType.${productStore.selectedServiceType}`)\"\r\n\t\t\t\t\t\t\t:label=\"$t('service.lblServiceType')\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<ProductConfigurationSummaryItem\r\n\t\t\t\t\t\t\t:content=\"$t(`enum.serviceUnit.${productStore.selectedUnit}`)\"\r\n\t\t\t\t\t\t\t:label=\"$t('service.lblUnit')\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<ProductConfigurationSummaryItem\r\n\t\t\t\t\t\t\tv-if=\"layoutStore.canImpersonate\"\r\n\t\t\t\t\t\t\t:content=\"productStore.selectedVariation?.sku\"\r\n\t\t\t\t\t\t\tlabel=\"SKU\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</ProductConfigurationSummary>\r\n\t\t\t\t</template>\r\n\r\n\t\t\t\t<template #walletMessage>\r\n\t\t\t\t\t<WalletMessage\r\n\t\t\t\t\t\tv-show=\"\r\n\t\t\t\t\t\t\t!isSmallScreen && vm?.canUseWallet && productStore?.selectedVariation?.walletAmount\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t:wallet-amount=\"productStore.selectedVariation?.walletAmount\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</template>\r\n\t\t\t</ProductPageSummary>\r\n\t\t</template>\r\n\t</ProductLayout>\r\n\t<ProductAddedModal v-if=\"cartStore.showProductAddedModal\" :vm=\"productAddedVm\" />\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport PriceSummary from \"@/components/common/priceSummary.vue\";\r\nimport ProductAddedModal from \"@/components/commerce/productAddedModal.vue\";\r\nimport ProductConfiguration from \"@/components/product/productConfiguration.vue\";\r\nimport ProductConfigurationOption from \"@/components/product/productConfigurationOption.vue\";\r\nimport ProductConfigurationStep from \"@/components/product/productConfigurationStep.vue\";\r\nimport ProductConfigurationSummary from \"@/components/product/productConfigurationSummary.vue\";\r\nimport ProductConfigurationSummaryItem from \"@/components/product/productConfigurationSummaryItem.vue\";\r\nimport ProductLayout from \"@/views/layout/productLayout.vue\";\r\nimport ProductOverviewItemCard from \"@/components/product/productOverviewItemCard.vue\";\r\nimport ProductPageContentSection from \"@/components/product/productPageContentSection.vue\";\r\nimport ProductPageHeader from \"@/components/product/productPageHeader.vue\";\r\nimport ProductPageSummary from \"@/components/product/productPageSummary.vue\";\r\nimport ProductTabs, { ProductTab } from \"@/components/product/productTabs.vue\";\r\nimport ProgressSpinner from \"primevue/progressspinner\";\r\nimport ScrollPanel from \"primevue/scrollpanel\";\r\nimport WalletMessage from \"@/components/common/WalletMessage.vue\";\r\nimport { BaseProductItemViewModel } from \"@/types/models/common/baseProductItemViewModel\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { HelpBlockViewModel } from \"@/types/generated/Common/helpBlockViewModel\";\r\nimport { IPriceSummary } from \"@/types/models/common/priceSummary.interface\";\r\nimport { IProductAddedModal } from \"@/types/viewModels/commerce/productAddedModalViewModel\";\r\nimport { IServicePassProductViewModel } from \"@/types/viewModels/commerce/servicePassProductViewModel\";\r\nimport { ItemProductType } from \"@/types/enum/itemProductType\";\r\nimport { PropType } from \"vue\";\r\nimport { ServiceType } from \"@/types/enum/serviceType\";\r\nimport { Unit } from \"@/types/enum/unit\";\r\nimport { useCartStore } from \"@/store/commerce/cartStore\";\r\nimport { useServicePassProductStore } from \"@/store/service/servicePassProductStore\";\r\nimport { ProductCategoryType } from \"@/types/enum/productCategoryType\";\r\nimport toFixed from \"accounting-js/lib/toFixed.js\";\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tPriceSummary,\r\n\t\tProductAddedModal,\r\n\t\tProductConfiguration,\r\n\t\tProductConfigurationOption,\r\n\t\tProductConfigurationStep,\r\n\t\tProductConfigurationSummary,\r\n\t\tProductConfigurationSummaryItem,\r\n\t\tProductLayout,\r\n\t\tProductOverviewItemCard,\r\n\t\tProductPageContentSection,\r\n\t\tProductPageHeader,\r\n\t\tProductPageSummary,\r\n\t\tProductTabs,\r\n\t\tProgressSpinner,\r\n\t\tScrollPanel,\r\n\t\tWalletMessage,\r\n\t},\r\n})\r\nexport default class ServicePassProduct extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IServicePassProductViewModel>, required: true, default: {} })\r\n\tvm!: IServicePassProductViewModel;\r\n\r\n\tsubmitted = false;\r\n\tshowSideBar = false;\r\n\tselectedHelpBlock: HelpBlockViewModel | null = null;\r\n\r\n\tcartStore = useCartStore();\r\n\tproductStore = useServicePassProductStore();\r\n\r\n\tcreated(): void {\r\n\t\tthis.productStore.vm = this.vm;\r\n\t\tthis.productStore.init();\r\n\r\n\t\tthis.setDataLayer.viewItem(\r\n\t\t\ttoFixed(this.priceSummary?.totalPrice, 2),\r\n\t\t\tthis.productStore.selectedVariation ? [this.productStore.selectedVariation] : [],\r\n\t\t\tthis.productStore.selectedAmount.toString(),\r\n\t\t\tthis.vm.brand,\r\n\t\t\tthis.vm.name,\r\n\t\t\tProductCategoryType[this.vm.productCategory]\r\n\t\t);\r\n\t}\r\n\r\n\tget productAddedVm(): IProductAddedModal {\r\n\t\treturn {\r\n\t\t\tproduct: {\r\n\t\t\t\t...this.vm,\r\n\t\t\t\tproductType: ItemProductType.Other,\r\n\t\t\t} as unknown as BaseProductItemViewModel,\r\n\t\t\tcrossSellProducts: [],\r\n\t\t};\r\n\t}\r\n\r\n\tget productTabs(): ProductTab[] {\r\n\t\treturn [\r\n\t\t\t{\r\n\t\t\t\tlabel: this.$t(\"service.configureYourService\"),\r\n\t\t\t\tid: \"tabConfiguration\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tlabel: this.$t(\"product.tabGameRulesTitle\"),\r\n\t\t\t\tid: \"tabGameRules\",\r\n\t\t\t},\r\n\t\t];\r\n\t}\r\n\r\n\tget priceSummary(): IPriceSummary {\r\n\t\tconst standardLines = new Map<string, number>();\r\n\t\tconst totalPrice =\r\n\t\t\t(this.productStore.selectedVariation?.price || this.productStore.vm?.basePrice || 0) *\r\n\t\t\tthis.productStore.selectedAmount;\r\n\t\tstandardLines.set(this.$t(`common.priceSummary.yourPrice`), totalPrice);\r\n\r\n\t\treturn {\r\n\t\t\ttotalPrice: totalPrice,\r\n\t\t\tstandardLines,\r\n\t\t} as IPriceSummary;\r\n\t}\r\n\r\n\tshowHelpSideBar(helpBlock: HelpBlockViewModel) {\r\n\t\tthis.selectedHelpBlock = helpBlock;\r\n\t\tthis.showSideBar = true;\r\n\t}\r\n\r\n\taddProductToCart(): void {\r\n\t\tthis.submitted = true;\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tthis.productStore\r\n\t\t\t.addToCart()\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.cartStore.showModal(\"ProductAdded\");\r\n\r\n\t\t\t\tthis.setDataLayer.addToCart(\r\n\t\t\t\t\ttoFixed(this.priceSummary?.totalPrice, 2),\r\n\t\t\t\t\tthis.productStore.selectedVariation ? [this.productStore.selectedVariation] : [],\r\n\t\t\t\t\tthis.productStore.selectedAmount.toString(),\r\n\t\t\t\t\tthis.vm.brand,\r\n\t\t\t\t\tthis.vm.name\r\n\t\t\t\t);\r\n\t\t\t})\r\n\t\t\t.catch(() =>\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"common.messages.addToCartError\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t\t.finally(() => this.loadingStore.decreaseLoadingCount());\r\n\t}\r\n\r\n\tonServiceTypeSelected(value: ServiceType) {\r\n\t\tif (value === this.productStore.selectedServiceType) return;\r\n\t\tthis.productStore.selectedServiceType = value;\r\n\t\tconst filterOptions = {\r\n\t\t\tserviceType: value,\r\n\t\t};\r\n\t\tthis.productStore.selectedVariation = this.productStore.currentVariation(filterOptions);\r\n\t\tthis.productStore.updateConfigurationOptions();\r\n\t}\r\n\r\n\tonUnitSelected(value: Unit) {\r\n\t\tif (value === this.productStore.selectedUnit) return;\r\n\t\tthis.productStore.selectedUnit = value;\r\n\t\tconst filterOptions = {\r\n\t\t\tunit: value,\r\n\t\t\tserviceType: this.productStore.selectedServiceType,\r\n\t\t};\r\n\t\tthis.productStore.selectedVariation = this.productStore.currentVariation(filterOptions);\r\n\t\tthis.productStore.updateConfigurationOptions();\r\n\t}\r\n\r\n\tonSelectedAmountChanged(value: number): void {\r\n\t\tthis.productStore.selectedAmount = value;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.product-config-step-subtitle {\r\n\tfont-size: 1rem;\r\n\tfont-weight: 400;\r\n\tcolor: var(--text-color-secondary);\r\n}\r\n\r\n.header-explanation-text {\r\n\tfont-size: 0.9rem !important;\r\n}\r\n</style>\r\n","import { renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-da7f703c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"product-configuration\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _renderSlot(_ctx.$slots, \"default\", {}, undefined, true)\n ]))\n}","<template>\r\n\t<div class=\"product-configuration\">\r\n\t\t<slot />\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component } from \"vue-facing-decorator\";\r\n\r\n@Component\r\nexport default class ProductConfiguration extends BaseComponent {}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.product-configuration {\r\n\tcounter-reset: product-config-step-counter;\r\n\tpadding: 1rem 0 0 3.5rem;\r\n}\r\n</style>\r\n","import { render } from \"./productConfiguration.vue?vue&type=template&id=da7f703c&scoped=true&ts=true\"\nimport script from \"./productConfiguration.vue?vue&type=script&lang=ts\"\nexport * from \"./productConfiguration.vue?vue&type=script&lang=ts\"\n\nimport \"./productConfiguration.vue?vue&type=style&index=0&id=da7f703c&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-da7f703c\"]])\n\nexport default __exports__","import { openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, normalizeClass as _normalizeClass, withCtx as _withCtx, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, renderSlot as _renderSlot, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-cf8ea0c6\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"custom-select-button mb-2\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"pi pi-check mr-1\"\n}\nconst _hoisted_3 = [\"innerHTML\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Button, {\n class: _normalizeClass([\"custom-button\", { 'p-highlight': _ctx.isSelected }]),\n disabled: !!_ctx.$attrs.disabled,\n onClick: _ctx.optionSelected\n }, {\n default: _withCtx(() => [\n (_ctx.isSelected)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_2))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"span\", {\n class: \"d-flex flex-wrap align-items-center\",\n style: {\"white-space\":\"pre\"},\n innerHTML: _ctx.option.label\n }, null, 8, _hoisted_3)\n ]),\n _: 1\n }, 8, [\"class\", \"disabled\", \"onClick\"]),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.uspSlots, (slotName) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: slotName,\n class: \"select-button-usp\"\n }, [\n _renderSlot(_ctx.$slots, slotName, {}, undefined, true)\n ]))\n }), 128))\n ]))\n}","<template>\r\n\t<div class=\"custom-select-button mb-2\">\r\n\t\t<Button\r\n\t\t\tclass=\"custom-button\"\r\n\t\t\t:class=\"{ 'p-highlight': isSelected }\"\r\n\t\t\t:disabled=\"!!$attrs.disabled\"\r\n\t\t\t@click=\"optionSelected\"\r\n\t\t>\r\n\t\t\t<i v-if=\"isSelected\" class=\"pi pi-check mr-1\" />\r\n\t\t\t<span class=\"d-flex flex-wrap align-items-center\" style=\"white-space: pre\" v-html=\"option.label\" />\r\n\t\t</Button>\r\n\r\n\t\t<div v-for=\"slotName in uspSlots\" :key=\"slotName\" class=\"select-button-usp\">\r\n\t\t\t<slot :name=\"slotName\" />\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Emit, Prop } from \"vue-facing-decorator\";\r\nimport { PropType } from \"vue\";\r\nimport { IDropdownItem } from \"@/types/models/common/dropdownItem.interface\";\r\nimport { keys, startsWith } from \"lodash\";\r\n\r\n@Component\r\nexport default class ProductConfigurationOption extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<IDropdownItem>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\toption!: IDropdownItem;\r\n\r\n\t@Prop({\r\n\t\ttype: Boolean,\r\n\t\trequired: true,\r\n\t\tdefault: false,\r\n\t})\r\n\tisSelected!: boolean;\r\n\r\n\t@Emit optionSelected(): IDropdownItem {\r\n\t\treturn this.option;\r\n\t}\r\n\r\n\tget uspSlots(): string[] {\r\n\t\treturn keys(this.$slots).filter((x) => startsWith(x, \"usp\"));\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.custom-select-button {\r\n\twidth: min-content;\r\n\tmin-width: fit-content;\r\n\r\n\t::v-deep(.p-button) {\r\n\t\tbackground: var(--surface-b);\r\n\t\tborder: 1px solid var(--surface-b);\r\n\t\tcolor: var(--primary-color);\r\n\t\tborder-radius: 0.25em;\r\n\t\tpadding: 1rem 1.75rem;\r\n\t\tmargin-right: 1.25rem;\r\n\r\n\t\t&:not(.p-disabled):not(.p-highlight):focus,\r\n\t\t&:not(.p-disabled):not(.p-highlight):hover {\r\n\t\t\tborder-radius: 0.25em;\r\n\t\t\tbackground: var(--surface-c);\r\n\t\t\tborder: 1px solid var(--primary-color);\r\n\t\t\tcolor: var(--primary-color);\r\n\t\t}\r\n\r\n\t\t&.p-highlight {\r\n\t\t\tborder-radius: 0.25em;\r\n\t\t\tbackground: var(--surface-e);\r\n\t\t\tborder: 1px solid var(--primary-color);\r\n\t\t\tcolor: var(--primary-color);\r\n\t\t}\r\n\t}\r\n\r\n\t.select-button-usp {\r\n\t\tposition: relative;\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\twidth: fit-content;\r\n\t\tpadding: 0.75rem 0 0 3rem;\r\n\t\tfont-size: 0.9rem;\r\n\t\tfont-weight: 500;\r\n\t\ttext-align: left;\r\n\t\twhite-space: nowrap;\r\n\t\tcolor: var(--primary-color);\r\n\r\n\t\t&:empty {\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\r\n\t\t&::before,\r\n\t\t&::after {\r\n\t\t\tposition: absolute;\r\n\t\t\tleft: 1rem;\r\n\t\t\tcontent: \"\";\r\n\t\t\tbackground-color: var(--primary-color);\r\n\t\t}\r\n\r\n\t\t&::before {\r\n\t\t\ttop: 0;\r\n\t\t\twidth: 1px;\r\n\t\t\theight: 1.5rem;\r\n\t\t}\r\n\r\n\t\t&::after {\r\n\t\t\ttop: 1.5rem;\r\n\t\t\twidth: 1.5rem;\r\n\t\t\theight: 1px;\r\n\t\t}\r\n\r\n\t\t&:not(:first-of-type) {\r\n\t\t\t&::before {\r\n\t\t\t\ttop: -1rem;\r\n\t\t\t\theight: 2.5rem;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./productConfigurationOption.vue?vue&type=template&id=cf8ea0c6&scoped=true&ts=true\"\nimport script from \"./productConfigurationOption.vue?vue&type=script&lang=ts\"\nexport * from \"./productConfigurationOption.vue?vue&type=script&lang=ts\"\n\nimport \"./productConfigurationOption.vue?vue&type=style&index=0&id=cf8ea0c6&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-cf8ea0c6\"]])\n\nexport default __exports__","import { renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-37667e83\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"product-config-step\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"product-config-step-header\"\n}\nconst _hoisted_3 = {\n key: 1,\n class: \"product-config-step-header\"\n}\nconst _hoisted_4 = { class: \"product-config-step-title\" }\nconst _hoisted_5 = { class: \"product-config-step-content\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"product-config-step-options\"\n}\nconst _hoisted_7 = {\n key: 1,\n class: \"product-config-step-footer\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_ctx.$slots.header)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _renderSlot(_ctx.$slots, \"header\", {}, undefined, true)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.title), 1)\n ])),\n _createElementVNode(\"div\", _hoisted_5, [\n (_ctx.$slots.options)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _renderSlot(_ctx.$slots, \"options\", {}, undefined, true)\n ]))\n : _createCommentVNode(\"\", true),\n _renderSlot(_ctx.$slots, \"default\", {}, undefined, true),\n _renderSlot(_ctx.$slots, \"error\", {}, undefined, true),\n (_ctx.$slots.footer)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _renderSlot(_ctx.$slots, \"footer\", {}, undefined, true)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}","<template>\r\n\t<div class=\"product-config-step\">\r\n\t\t<div v-if=\"$slots.header\" class=\"product-config-step-header\">\r\n\t\t\t<slot name=\"header\"></slot>\r\n\t\t</div>\r\n\t\t<div v-else class=\"product-config-step-header\">\r\n\t\t\t<span class=\"product-config-step-title\">{{ title }}</span>\r\n\t\t</div>\r\n\t\t<div class=\"product-config-step-content\">\r\n\t\t\t<div v-if=\"$slots.options\" class=\"product-config-step-options\">\r\n\t\t\t\t<slot name=\"options\" />\r\n\t\t\t</div>\r\n\t\t\t<slot />\r\n\t\t\t<slot name=\"error\" />\r\n\t\t\t<div v-if=\"$slots.footer\" class=\"product-config-step-footer\">\r\n\t\t\t\t<slot name=\"footer\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\n\r\n@Component\r\nexport default class ProductConfigurationStep extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: String,\r\n\t\trequired: false,\r\n\t\tdefault: \"\",\r\n\t})\r\n\ttitle!: string;\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.product-config-step {\r\n\tposition: relative;\r\n\tmargin-top: 0;\r\n\tmargin-bottom: 0;\r\n\r\n\t&:not(:last-of-type) {\r\n\t\t// padding-bottom: 4rem;\r\n\r\n\t\t&::after {\r\n\t\t\tcontent: \"\";\r\n\t\t\ttop: 5px;\r\n\t\t\tleft: -30px;\r\n\t\t\tposition: absolute;\r\n\t\t\tz-index: 1;\r\n\t\t\twidth: 1px;\r\n\t\t\theight: 100%;\r\n\t\t\tbackground-color: var(--surface-d);\r\n\t\t}\r\n\t}\r\n\r\n\t.product-config-step-header {\r\n\t\tpadding: 0.25rem 0;\r\n\t\tfont-size: 1.1rem;\r\n\t\tfont-weight: 600;\r\n\t\tcounter-increment: product-config-step-counter;\r\n\r\n\t\t&::before {\r\n\t\t\tcontent: counter(product-config-step-counter);\r\n\t\t\tposition: absolute;\r\n\t\t\ttop: 0;\r\n\t\t\tleft: -50px;\r\n\t\t\tz-index: 2;\r\n\t\t\tpadding: 0.25rem 0.75rem;\r\n\t\t\tborder: 1px solid #e1e1e1;\r\n\t\t\tborder-radius: 50%;\r\n\t\t\tbackground: var(--surface-a);\r\n\t\t\tcolor: var(--primary-color);\r\n\t\t\tfont-size: 1.1rem;\r\n\t\t\ttext-align: center;\r\n\t\t\tfont-weight: 500;\r\n\t\t}\r\n\r\n\t\t:deep(.p-button-secondary) {\r\n\t\t\tpadding: 0;\r\n\t\t\ttext-align: left;\r\n\t\t}\r\n\t}\r\n\r\n\t.product-config-step-content {\r\n\t\tpadding: 2rem 2rem 2rem 0;\r\n\r\n\t\t.product-config-step-options {\r\n\t\t\tdisplay: flex;\r\n\t\t\tflex-wrap: wrap;\r\n\t\t}\r\n\t}\r\n\r\n\t.product-config-step-footer {\r\n\t\twidth: fit-content;\r\n\t\tmargin-top: 1rem;\r\n\t\tpadding-top: 0.5rem;\r\n\t\tpadding-bottom: 1.5rem;\r\n\t\tborder-top: 1px solid var(--surface-500);\r\n\t\tcolor: var(--text-color-secondary);\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./productConfigurationStep.vue?vue&type=template&id=37667e83&scoped=true&ts=true\"\nimport script from \"./productConfigurationStep.vue?vue&type=script&lang=ts\"\nexport * from \"./productConfigurationStep.vue?vue&type=script&lang=ts\"\n\nimport \"./productConfigurationStep.vue?vue&type=style&index=0&id=37667e83&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-37667e83\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, renderSlot as _renderSlot, createElementVNode as _createElementVNode, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4da321a0\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"product-config-summary\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Panel = _resolveComponent(\"Panel\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Panel, {\n collapsed: _ctx.panelCollapsed,\n \"onUpdate:collapsed\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.panelCollapsed) = $event)),\n header: _ctx.header\n }, {\n icons: _withCtx(() => [\n _createVNode(_component_Button, {\n class: \"p-button-text p-panel-header-icon\",\n icon: _ctx.panelCollapsed ? 'pi pi-chevron-left' : 'pi pi-chevron-down',\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.panelCollapsed = !_ctx.panelCollapsed))\n }, null, 8, [\"icon\"])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"dl\", null, [\n _renderSlot(_ctx.$slots, \"default\", {}, undefined, true)\n ])\n ]),\n _: 3\n }, 8, [\"collapsed\", \"header\"])\n ]))\n}","<template>\r\n\t<div class=\"product-config-summary\">\r\n\t\t<Panel v-model:collapsed=\"panelCollapsed\" :header=\"header\">\r\n\t\t\t<template #icons>\r\n\t\t\t\t<Button\r\n\t\t\t\t\tclass=\"p-button-text p-panel-header-icon\"\r\n\t\t\t\t\t:icon=\"panelCollapsed ? 'pi pi-chevron-left' : 'pi pi-chevron-down'\"\r\n\t\t\t\t\t@click=\"panelCollapsed = !panelCollapsed\"\r\n\t\t\t\t/>\r\n\t\t\t</template>\r\n\t\t\t<dl>\r\n\t\t\t\t<slot />\r\n\t\t\t</dl>\r\n\t\t</Panel>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\n\r\n@Component\r\nexport default class ProductConfigurationSummary extends BaseComponent {\r\n\t@Prop({ type: String, default: \"\", required: true }) header!: string;\r\n\tpanelCollapsed = false;\r\n\r\n\tcreated(): void {\r\n\t\tthis.panelCollapsed = this.breakpoints.isSmaller(\"xl\");\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n::v-deep(.p-panel) {\r\n\t.p-panel-header {\r\n\t\tpadding: 0;\r\n\t\tborder: none;\r\n\t\tbackground: inherit;\r\n\t}\r\n\r\n\t.p-panel-content {\r\n\t\tpadding: 0;\r\n\t\tbackground: inherit;\r\n\t}\r\n}\r\n\r\n.product-config-summary {\r\n\tbackground: var(--surface-e);\r\n\tborder: 1px solid var(--primary-color);\r\n\tborder-radius: var(--border-radius);\r\n\tcounter-reset: product-summary-options-count;\r\n\tpadding: 0.25rem 0.75rem;\r\n}\r\n</style>\r\n","import { render } from \"./productConfigurationSummary.vue?vue&type=template&id=4da321a0&scoped=true&ts=true\"\nimport script from \"./productConfigurationSummary.vue?vue&type=script&lang=ts\"\nexport * from \"./productConfigurationSummary.vue?vue&type=script&lang=ts\"\n\nimport \"./productConfigurationSummary.vue?vue&type=style&index=0&id=4da321a0&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4da321a0\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, renderSlot as _renderSlot, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock, renderList as _renderList, Fragment as _Fragment, resolveDynamicComponent as _resolveDynamicComponent, Teleport as _Teleport, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4108d18e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"container-fluid container-lg\" }\nconst _hoisted_2 = { class: \"row\" }\nconst _hoisted_3 = [\"innerHTML\"]\nconst _hoisted_4 = [\"innerHTML\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ProductPageHeader = _resolveComponent(\"ProductPageHeader\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_ProductNewVersionBanner = _resolveComponent(\"ProductNewVersionBanner\")!\n const _component_ProductPageContentSection = _resolveComponent(\"ProductPageContentSection\")!\n const _component_SupportCard = _resolveComponent(\"SupportCard\")!\n const _component_Sidebar = _resolveComponent(\"Sidebar\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"col px-0\", { 'col-lg-8': _ctx.$slots.summary }])\n }, [\n _createVNode(_component_ProductPageHeader, {\n vm: _ctx.vm,\n showTeachingsMaterialButton: _ctx.showTeachingsMaterialButton\n }, null, 8, [\"vm\", \"showTeachingsMaterialButton\"]),\n (!_ctx.vm.availableInCurrentMarket)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n closable: false,\n severity: \"error\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"common.productUnavailableInMarket\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.latestVersionOfProduct)\n ? (_openBlock(), _createBlock(_component_ProductNewVersionBanner, {\n key: 1,\n vm: _ctx.vm.latestVersionOfProduct\n }, null, 8, [\"vm\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.$slots.configuration)\n ? (_openBlock(), _createBlock(_component_ProductPageContentSection, { key: 2 }, {\n default: _withCtx(() => [\n _renderSlot(_ctx.$slots, \"configuration\", {}, undefined, true)\n ]),\n _: 3\n }))\n : (_ctx.$slots.tabs)\n ? _renderSlot(_ctx.$slots, \"tabs\", { key: 3 }, undefined, true)\n : _createCommentVNode(\"\", true),\n _renderSlot(_ctx.$slots, \"default\", {}, undefined, true)\n ], 2),\n (_ctx.$slots.summary)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: _normalizeClass([\"col-lg-4\", { 'sticky-bottom-panel': _ctx.isSmallScreen }])\n }, [\n _renderSlot(_ctx.$slots, \"summary\", {}, undefined, true)\n ], 2))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createVNode(_component_Sidebar, {\n visible: _ctx.showSideBar,\n \"onUpdate:visible\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.showSideBar) = $event)),\n class: \"p-sidebar-md p-sidebar-primary\",\n position: \"left\"\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.helpBlock?.items, (item, index) => {\n return (_openBlock(), _createElementBlock(\"div\", { key: index }, [\n (item.title)\n ? (_openBlock(), _createElementBlock(\"h3\", {\n key: 0,\n innerHTML: item.title\n }, null, 8, _hoisted_3))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"p\", {\n innerHTML: item.text\n }, null, 8, _hoisted_4)\n ]))\n }), 128)),\n _createVNode(_component_SupportCard)\n ]),\n _: 1\n }, 8, [\"visible\"]),\n (_openBlock(), _createBlock(_Teleport, { to: \"head\" }, [\n (_openBlock(), _createBlock(_resolveDynamicComponent('script'), { type: \"application/ld+json\" }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.jsonLinkedData), 1)\n ]),\n _: 1\n }))\n ]))\n ], 64))\n}","<template>\r\n\t<div class=\"container-fluid container-lg\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col px-0\" :class=\"{ 'col-lg-8': $slots.summary }\">\r\n\t\t\t\t<ProductPageHeader :vm=\"vm\" :showTeachingsMaterialButton=\"showTeachingsMaterialButton\" />\r\n\t\t\t\t<Message v-if=\"!vm.availableInCurrentMarket\" :closable=\"false\" severity=\"error\">\r\n\t\t\t\t\t{{ $t(\"common.productUnavailableInMarket\") }}\r\n\t\t\t\t</Message>\r\n\t\t\t\t<ProductNewVersionBanner v-if=\"vm.latestVersionOfProduct\" :vm=\"vm.latestVersionOfProduct\" />\r\n\t\t\t\t<ProductPageContentSection v-if=\"$slots.configuration\">\r\n\t\t\t\t\t<slot name=\"configuration\" />\r\n\t\t\t\t</ProductPageContentSection>\r\n\t\t\t\t<template v-else-if=\"$slots.tabs\">\r\n\t\t\t\t\t<slot name=\"tabs\" />\r\n\t\t\t\t</template>\r\n\t\t\t\t<!-- Default content goes here-->\r\n\t\t\t\t<slot />\r\n\t\t\t</div>\r\n\t\t\t<div v-if=\"$slots.summary\" class=\"col-lg-4\" :class=\"{ 'sticky-bottom-panel': isSmallScreen }\">\r\n\t\t\t\t<slot name=\"summary\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<Sidebar v-model:visible=\"showSideBar\" class=\"p-sidebar-md p-sidebar-primary\" position=\"left\">\r\n\t\t<div v-for=\"(item, index) in helpBlock?.items\" :key=\"index\">\r\n\t\t\t<h3 v-if=\"item.title\" v-html=\"item.title\"></h3>\r\n\t\t\t<p v-html=\"item.text\"></p>\r\n\t\t</div>\r\n\t\t<SupportCard />\r\n\t</Sidebar>\r\n\t<!--\tJSON For Linked Data (Displays additional info to google search results) -->\r\n\t<teleport to=\"head\">\r\n\t\t<component :is=\"'script'\" type=\"application/ld+json\">\r\n\t\t\t{{ jsonLinkedData }}\r\n\t\t</component>\r\n\t</teleport>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\n\timport BaseComponent from \"@/components/base/baseComponent.vue\";\r\n\timport ProductPageContentSection from \"@/components/product/productPageContentSection.vue\";\r\n\timport ProductPageHeader from \"@/components/product/productPageHeader.vue\";\r\n\timport Sidebar from \"primevue/sidebar\";\r\n\timport SupportCard from \"@/components/commerce/supportCard.vue\";\r\n\timport { Component, Model, Prop } from \"vue-facing-decorator\";\r\n\timport { HelpBlockViewModel } from \"@/types/generated/Common/helpBlockViewModel\";\r\n\timport { IProductViewModel } from \"@/types/models/common/productViewModel.interface\";\r\n\timport { ProductServiceType } from \"@/types/enum/productServiceType\";\r\n\timport { PropType } from \"vue\";\r\n\timport ProductNewVersionBanner from \"@/components/product/productNewVersionBanner.vue\";\r\n\r\n\t@Component({\r\n\t\temits: [\"update:modelValue\"],\r\n\t\tcomponents: {\r\n\t\t\tProductNewVersionBanner,\r\n\t\t\tProductPageHeader,\r\n\t\t\tProductPageContentSection,\r\n\t\t\tSupportCard,\r\n\t\t\tSidebar,\r\n\t\t},\r\n\t})\r\n\texport default class ProductLayout extends BaseComponent {\r\n\t\t@Prop({ type: Object as PropType<IProductViewModel>, required: true, default: {} })\r\n\t\tvm!: IProductViewModel;\r\n\r\n\t\t@Prop({ type: Object as PropType<HelpBlockViewModel>, required: false, default: {} })\r\n\t\thelpBlock!: HelpBlockViewModel;\r\n\r\n\t\t@Prop({ type: Boolean, required: false, default: false }) showTeachingsMaterialButton!: boolean;\r\n\r\n\t\t@Model({ type: Boolean, required: false, default: false }) showSideBar!: boolean;\r\n\r\n\t\tcreated() {\r\n\t\t\tconsole.log(\"ProductLayout\", this.vm);\r\n\t\t}\r\n\r\n\t\tget productCategory(): string {\r\n\t\t\treturn this.vm.serviceType === ProductServiceType.ownSoftware ||\r\n\t\t\t\tthis.vm.serviceType === ProductServiceType.thirdPartySoftware\r\n\t\t\t\t? \"Software\"\r\n\t\t\t\t: ProductServiceType[this.vm.serviceType];\r\n\t\t}\r\n\r\n\t\tget jsonLinkedData() {\r\n\t\t\treturn {\r\n\t\t\t\t\"@context\": \"https://schema.org\",\r\n\t\t\t\t\"@type\": \"Product\",\r\n\t\t\t\turl: window.location.href,\r\n\t\t\t\tname: this.formatProductName(this.vm.name, this.vm.brand),\r\n\t\t\t\timage: this.vm.iconUrl,\r\n\t\t\t\tdescription: this.vm.intro,\r\n\t\t\t\tbrand: this.vm.brand,\r\n\t\t\t\toffers: {\r\n\t\t\t\t\t\"@type\": \"Offer\",\r\n\t\t\t\t\turl: window.location.href,\r\n\t\t\t\t\tpricecurrency: this.currentCurrency.toLowerCase(),\r\n\t\t\t\t\tprice: this.vm.lowestPersonalPrice,\r\n\t\t\t\t\tavailability: \"https://schema.org/InStock\",\r\n\t\t\t\t},\r\n\t\t\t};\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n\t:deep(.product-tabs-header) {\r\n\t\ttop: var(--navbarHeightInPx);\r\n\t}\r\n\r\n\t.shadow-left {\r\n\t\tbox-shadow: -5px 0px 5px 1px #dddd;\r\n\t}\r\n\r\n .sticky-bottom-panel {\r\n position: sticky;\r\n bottom: 0;\r\n left: 0;\r\n z-index: 101;\r\n background: var(--surface-a);\r\n box-shadow: 0px -4px 8px -7px rgba(0, 0, 0, 0.75);\r\n }\r\n</style>\r\n","import { renderSlot as _renderSlot, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"product-content-section\", [_ctx.bgColor,{ 'pl-1': _ctx.type !== 'upsell' }, { 'p-3 mb-3': _ctx.type === 'upsell' }]])\n }, [\n _renderSlot(_ctx.$slots, \"default\", {}, undefined, true)\n ], 2))\n}","<template>\r\n<!-- if bgColor is upsell add class p-3 -->\r\n\t<div class=\"product-content-section\" :class=\"[bgColor,{ 'pl-1': type !== 'upsell' }, { 'p-3 mb-3': type === 'upsell' }]\">\r\n\t\t<slot />\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { PropType } from \"vue\";\r\n\r\nexport type ProductPageContentSectionType = \"upsell\" | \"content\" | \"media\";\r\n\r\n@Component\r\nexport default class ProductPageContentSection extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: String as PropType<ProductPageContentSectionType>,\r\n\t\trequired: false,\r\n\t\tdefault: \"\",\r\n\t})\r\n\ttype!: ProductPageContentSectionType;\r\n\r\n\tget bgColor() {\r\n\t\tswitch (this.type) {\r\n\t\t\tcase \"upsell\":\r\n\t\t\t\treturn { \"surface-g\": true };\r\n\t\t\tcase \"content\":\r\n\t\t\t\treturn { \"surface-b\": true };\r\n\t\t\tcase \"media\":\r\n\t\t\t\treturn { \"surface-a\": true };\r\n\t\t\tdefault:\r\n\t\t\t\treturn \"\";\r\n\t\t}\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.product-content-section {\r\n\tposition: relative;\r\n\tpadding: 2rem 2rem 2rem 1rem;\r\n\r\n\t&::before {\r\n\t\tcontent: \"\";\r\n\t\tposition: absolute;\r\n\t\ttop: 0;\r\n\t\tright: 100%;\r\n\t\twidth: 200%;\r\n\t\theight: 100%;\r\n\t\t/*background: inherit;*/\r\n\t}\r\n\r\n\t:deep(img) {\r\n\t\tmax-width: 100%;\r\n\t}\r\n\r\n\t::v-deep(.block) {\r\n\t\tbackground: inherit !important;\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./productPageContentSection.vue?vue&type=template&id=2f1229c3&scoped=true&ts=true\"\nimport script from \"./productPageContentSection.vue?vue&type=script&lang=ts\"\nexport * from \"./productPageContentSection.vue?vue&type=script&lang=ts\"\n\nimport \"./productPageContentSection.vue?vue&type=style&index=0&id=2f1229c3&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2f1229c3\"]])\n\nexport default __exports__","import { renderSlot as _renderSlot, resolveDirective as _resolveDirective, createElementVNode as _createElementVNode, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createBlock as _createBlock, renderList as _renderList, Fragment as _Fragment, normalizeStyle as _normalizeStyle, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2bd9a792\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"mt-3 p-3\" }\nconst _hoisted_2 = { class: \"d-flex flex-column flex-lg-row mb-2\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"product-header-icon align-self-lg-center\"\n}\nconst _hoisted_4 = [\"alt\", \"title\"]\nconst _hoisted_5 = { class: \"d-flex flex-column\" }\nconst _hoisted_6 = { class: \"mb-0 text-muted lead\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"mb-0\"\n}\nconst _hoisted_8 = [\"href\", \"title\"]\nconst _hoisted_9 = {\n key: 1,\n class: \"mb-0\"\n}\nconst _hoisted_10 = { class: \"mr-1\" }\nconst _hoisted_11 = { class: \"mr-1\" }\nconst _hoisted_12 = [\"innerHTML\"]\nconst _hoisted_13 = [\"innerHTML\"]\nconst _hoisted_14 = {\n key: 0,\n class: \"row pt-2\"\n}\nconst _hoisted_15 = { class: \"text-primary\" }\nconst _hoisted_16 = { key: 1 }\nconst _hoisted_17 = { class: \"lead text-bold\" }\nconst _hoisted_18 = [\"href\"]\nconst _hoisted_19 = { class: \"text-bold mb-0\" }\nconst _hoisted_20 = {\n key: 0,\n class: \"header-image\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_Chip = _resolveComponent(\"Chip\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Dialog = _resolveComponent(\"Dialog\")!\n const _component_font_awesome_icon = _resolveComponent(\"font-awesome-icon\")!\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_Carousel = _resolveComponent(\"Carousel\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", {\n class: \"container-fluid product-header-bg\",\n style: _normalizeStyle({ background: _ctx.vm.backgroundColor })\n }, [\n _renderSlot(_ctx.$slots, \"breadcrumbs\", {}, undefined, true),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n (_ctx.vm.iconUrl)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _withDirectives(_createElementVNode(\"img\", {\n alt: _ctx.vm.iconAlt || _ctx.vm.name,\n title: _ctx.vm.name\n }, null, 8, _hoisted_4), [\n [_directive_lazy, _ctx.vm.iconUrl]\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"p\", _hoisted_6, _toDisplayString(_ctx.showOverviewImage() ? _ctx.$t('enum.itemProductType.' + _ctx.vm.productType) : _ctx.vm.brand), 1),\n ((_ctx.userProfile?.isCadacSales || _ctx.userProfile?.isImpersonated) && _ctx.vm.crmUrl)\n ? (_openBlock(), _createElementBlock(\"h1\", _hoisted_7, [\n _createElementVNode(\"a\", {\n href: _ctx.vm.crmUrl,\n target: \"_blank\",\n title: _ctx.$t('common.goToCrm')\n }, _toDisplayString(_ctx.formatProductName(_ctx.vm.name, _ctx.vm.brand)), 9, _hoisted_8)\n ]))\n : (_openBlock(), _createElementBlock(\"h1\", _hoisted_9, _toDisplayString(_ctx.formatProductName(_ctx.vm.name, _ctx.vm.brand)), 1))\n ])\n ]),\n (_ctx.vm.price)\n ? (_openBlock(), _createBlock(_component_Chip, {\n key: 0,\n class: \"p-chip-primary\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(_ctx.$t(\"common.from\")), 1),\n _createVNode(_component_i18n_t, { keypath: \"common.pricePerMonth\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"b\", _hoisted_11, _toDisplayString(_ctx.formatCurrency(_ctx.vm.price)), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"p\", {\n class: \"lead text-preline mt-1 product-intro\",\n innerHTML: _ctx.vm.intro\n }, null, 8, _hoisted_12),\n (_ctx.showTeachingsMaterialButton && _ctx.vm.description)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n icon: \"pi pi-info-circle\",\n label: _ctx.$t('product.lblShowTeachingsMaterialButton'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.visible = true)),\n id: \"productInfoBtn\"\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Dialog, {\n visible: _ctx.visible,\n \"onUpdate:visible\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.visible) = $event)),\n modal: \"\",\n header: `${_ctx.$t('training.dialog.lblHeaderTitle')} ${_ctx.formatProductName(_ctx.vm.name, _ctx.vm.brand)}`,\n style: { width: '50rem' },\n breakpoints: { '1199px': '75vw', '575px': '90vw' }\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"p\", {\n class: \"lead rte mt-1 product-intro\",\n innerHTML: _ctx.vm.description\n }, null, 8, _hoisted_13)\n ]),\n _: 1\n }, 8, [\"visible\", \"header\"])\n ]),\n (_ctx.vm.usps?.length)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.usps, (usp) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: usp,\n class: \"col-auto d-flex flex-wrap align-items-center mb-2\"\n }, [\n _createVNode(_component_font_awesome_icon, {\n class: \"text-success mr-2\",\n icon: ['far', 'check-circle'],\n size: \"2x\"\n }),\n _createElementVNode(\"b\", _hoisted_15, _toDisplayString(usp), 1)\n ]))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.relatedProducts?.length)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_16, [\n _createElementVNode(\"p\", _hoisted_17, _toDisplayString(_ctx.$t(\"product.lblProductsInCollection\")), 1),\n _createVNode(_component_Carousel, {\n \"num-scroll\": 2,\n \"num-visible\": 3,\n value: _ctx.vm.relatedProducts,\n responsiveOptions: _ctx.responsiveOptions\n }, {\n item: _withCtx((slotProps) => [\n _createElementVNode(\"a\", {\n class: \"d-flex flex-column align-items-center\",\n href: slotProps.data.productPageUrl,\n style: {\"text-decoration\":\"none\"}\n }, [\n (slotProps.data.iconUrl)\n ? (_openBlock(), _createBlock(_component_Avatar, {\n key: 0,\n alt: slotProps.data.iconAlt || slotProps.data.name,\n image: slotProps.data.iconUrl,\n size: \"large\",\n title: slotProps.data.name\n }, null, 8, [\"alt\", \"image\", \"title\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"p\", _hoisted_19, _toDisplayString(_ctx.formatProductName(slotProps.data.name, slotProps.data.brand)), 1)\n ], 8, _hoisted_18)\n ]),\n _: 1\n }, 8, [\"value\", \"responsiveOptions\"])\n ]))\n : _createCommentVNode(\"\", true)\n ], 4),\n (_ctx.showOverviewImage())\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_20, [\n _withDirectives(_createElementVNode(\"img\", {\n onError: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => (_ctx.setDefaultImage && _ctx.setDefaultImage(...args))),\n class: \"w-100\"\n }, null, 544), [\n [_directive_lazy, _ctx.vm.overviewImageUrl || (_ctx.isServiceType() ? '/Static/images/default-dienst.png' : '/Static/images/default-training.png')]\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<div class=\"container-fluid product-header-bg\" :style=\"{ background: vm.backgroundColor }\">\r\n\t\t<slot name=\"breadcrumbs\" />\r\n\t\t<div class=\"mt-3 p-3\">\r\n\t\t\t<div class=\"d-flex flex-column flex-lg-row mb-2\">\r\n\t\t\t\t<div v-if=\"vm.iconUrl\" class=\"product-header-icon align-self-lg-center\">\r\n\t\t\t\t\t<img v-lazy=\"vm.iconUrl\" :alt=\"vm.iconAlt || vm.name\" :title=\"vm.name\" />\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t\t<p class=\"mb-0 text-muted lead\">\r\n\t\t\t\t\t\t{{ showOverviewImage() ? $t('enum.itemProductType.' + vm.productType) : vm.brand }}\r\n\t\t\t\t\t</p>\r\n\t\t\t\t\t<h1 v-if=\"(userProfile?.isCadacSales || userProfile?.isImpersonated) && vm.crmUrl\" class=\"mb-0\">\r\n\t\t\t\t\t\t<a :href=\"vm.crmUrl\" target=\"_blank\" :title=\"$t('common.goToCrm')\">\r\n\t\t\t\t\t\t\t{{ formatProductName(vm.name, vm.brand) }}\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t</h1>\r\n\t\t\t\t\t<h1 v-else class=\"mb-0\">\r\n\t\t\t\t\t\t{{ formatProductName(vm.name, vm.brand) }}\r\n\t\t\t\t\t</h1>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<Chip v-if=\"vm.price\" class=\"p-chip-primary\">\r\n\t\t\t\t<span class=\"mr-1\">{{ $t(\"common.from\") }}</span>\r\n\t\t\t\t<i18n-t keypath=\"common.pricePerMonth\">\r\n\t\t\t\t\t<b class=\"mr-1\">{{ formatCurrency(vm.price) }}</b>\r\n\t\t\t\t</i18n-t>\r\n\t\t\t</Chip>\r\n\r\n\t\t\t<p class=\"lead text-preline mt-1 product-intro\" v-html=\"vm.intro\" />\r\n\r\n\t\t\t<Button v-if=\"showTeachingsMaterialButton && vm.description\" icon=\"pi pi-info-circle\" :label=\"$t('product.lblShowTeachingsMaterialButton')\" @click=\"visible = true\" id=\"productInfoBtn\" />\r\n\t\t\t<Dialog v-model:visible=\"visible\" modal :header=\"`${$t('training.dialog.lblHeaderTitle')} ${formatProductName(vm.name, vm.brand)}`\" :style=\"{ width: '50rem' }\" :breakpoints=\"{ '1199px': '75vw', '575px': '90vw' }\">\r\n\t\t\t\t<p class=\"lead rte mt-1 product-intro\" v-html=\"vm.description\" />\r\n\t\t\t</Dialog>\r\n\t\t</div>\r\n\t\t<div v-if=\"vm.usps?.length\" class=\"row pt-2\">\r\n\t\t\t<div v-for=\"usp in vm.usps\" :key=\"usp\" class=\"col-auto d-flex flex-wrap align-items-center mb-2\">\r\n\t\t\t\t<font-awesome-icon class=\"text-success mr-2\" :icon=\"['far', 'check-circle']\" size=\"2x\" />\r\n\t\t\t\t<b class=\"text-primary\">{{ usp }}</b>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div v-if=\"vm.relatedProducts?.length\">\r\n\t\t\t<p class=\"lead text-bold\">{{ $t(\"product.lblProductsInCollection\") }}</p>\r\n\t\t\t<Carousel :num-scroll=\"2\"\r\n\t\t\t\t\t :num-visible=\"3\"\r\n\t\t\t\t\t :value=\"vm.relatedProducts\"\r\n\t\t\t\t\t :responsiveOptions=\"responsiveOptions\">\r\n\t\t\t\t<template #item=\"slotProps\">\r\n\t\t\t\t\t<a class=\"d-flex flex-column align-items-center\"\r\n\t\t\t\t\t :href=\"slotProps.data.productPageUrl\"\r\n\t\t\t\t\t style=\"text-decoration: none\">\r\n\t\t\t\t\t\t<Avatar v-if=\"slotProps.data.iconUrl\"\r\n\t\t\t\t\t\t\t\t:alt=\"slotProps.data.iconAlt || slotProps.data.name\"\r\n\t\t\t\t\t\t\t\t:image=\"slotProps.data.iconUrl\"\r\n\t\t\t\t\t\t\t\tsize=\"large\"\r\n\t\t\t\t\t\t\t\t:title=\"slotProps.data.name\" />\r\n\r\n\t\t\t\t\t\t<p class=\"text-bold mb-0\">\r\n\t\t\t\t\t\t\t{{ formatProductName(slotProps.data.name, slotProps.data.brand) }}\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t</a>\r\n\t\t\t\t</template>\r\n\t\t\t</Carousel>\r\n\t\t</div>\r\n\t</div>\r\n\t<div v-if=\"showOverviewImage()\" class=\"header-image\">\r\n\t\t<img @error=\"setDefaultImage\" v-lazy=\"vm.overviewImageUrl || (isServiceType() ? '/Static/images/default-dienst.png' : '/Static/images/default-training.png')\" class=\"w-100\" />\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\n\timport BaseComponent from \"@/components/base/baseComponent.vue\";\r\n\timport Carousel from \"primevue/carousel\";\r\n\timport Dialog from \"primevue/dialog\";\r\n\timport Chip from \"primevue/chip\";\r\n\timport { Component, Prop } from \"vue-facing-decorator\";\r\n\timport { PropType } from \"vue\";\r\n\timport { ItemProductType } from \"../../types/enum/itemProductType\";\r\n\timport { ServiceItemViewModel } from \"../../types/models/service/serviceItemViewModel\";\r\n\r\n\texport interface IProductPageHeader {\r\n\t\tbackgroundColor?: string;\r\n\t\tbrand: string;\r\n\t\tcrmUrl?: string;\r\n\t\ticonAlt: string;\r\n\t\ticonUrl: string;\r\n\t\tintro: string;\r\n\t\tname: string;\r\n\t\tprice: number;\r\n relatedProducts?: ServiceItemViewModel[];\r\n\t\tusps?: string[];\r\n\t\tdescriptionTitle: string;\r\n\t\tdescription: string;\r\n\t\tproductType?: ItemProductType;\r\n\t\toverviewImageUrl?: string;\r\n\t}\r\n\r\n\t@Component({ components: { Chip, Carousel, Dialog } })\r\n\texport default class ProductPageHeader extends BaseComponent {\r\n\t\t@Prop({ type: Object as PropType<IProductPageHeader>, required: true, default: {} }) vm!: IProductPageHeader;\r\n\t\t@Prop({ type: Boolean, required: false, default: false }) showTeachingsMaterialButton!: boolean;\r\n\r\n\t\tvisible = false;\r\n\r\n\t\tshowOverviewImage() {\r\n return this.vm?.overviewImageUrl && (this.vm?.productType === ItemProductType.Service || this.vm?.productType === ItemProductType.Training)\r\n }\r\n\r\n\t\tisServiceType(): boolean {\r\n\t\t\treturn this.vm?.productType === ItemProductType.Service;\r\n\t\t}\r\n\r\n\t\tsetDefaultImage(event) {\r\n\t\t\tevent.target.src = this.isServiceType() ? '/Static/images/default-dienst.png' : '/Static/images/default-training.png';\r\n\t\t};\r\n\r\n\t\tresponsiveOptions = [\r\n\t\t\t{\r\n\t\t\t\tbreakpoint: '1440px',\r\n\t\t\t\tnumVisible: 3,\r\n\t\t\t\tnumScroll: 1,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tbreakpoint: '992px',\r\n\t\t\t\tnumVisible: 2,\r\n\t\t\t\tnumScroll: 1,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tbreakpoint: '576px',\r\n\t\t\t\tnumVisible: 1,\r\n\t\t\t\tnumScroll: 1,\r\n\t\t\t},\r\n\t\t];\r\n\t}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n\t.product-intro {\r\n\t\tmargin-bottom: 1rem;\r\n\t}\r\n\r\n .product-header-bg {\r\n background: #F3F7FA;\r\n position: relative;\r\n\r\n &::before {\r\n content: \"\";\r\n position: absolute;\r\n top: 0;\r\n right: 100%;\r\n width: 200%;\r\n height: 100%;\r\n /*background: inherit;*/\r\n }\r\n }\r\n\r\n\t.product-header-icon {\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\talign-self: start;\r\n\t\tbackground: transparent;\r\n\t\tborder-radius: 50%;\r\n\t\theight: fit-content;\r\n\t\tmargin-right: 1rem;\r\n\r\n\t\timg {\r\n\t\t\tobject-fit: contain;\r\n\t\t\tflex: 0;\r\n\t\t\theight: 73px;\r\n\t\t\twidth: 73px;\r\n\t\t}\r\n\t}\r\n\r\n\t:deep(.p-carousel-container) {\r\n\t\tbackground: rgba(255, 255, 255, 0.25);\r\n\t\tpadding: 0.75rem;\r\n\t}\r\n\r\n .header-image {\r\n height: 200px;\r\n overflow: hidden;\r\n }\r\n</style>\r\n","import { render } from \"./productPageHeader.vue?vue&type=template&id=2bd9a792&scoped=true&ts=true\"\nimport script from \"./productPageHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./productPageHeader.vue?vue&type=script&lang=ts\"\n\nimport \"./productPageHeader.vue?vue&type=style&index=0&id=2bd9a792&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2bd9a792\"]])\n\nexport default __exports__","/* Auto Generated */\r\n\r\nexport enum ProductServiceType {\r\n\tthirdPartySoftware,\r\n\townSoftware,\r\n\texpert,\r\n\ttraining,\r\n}\r\n","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-158025cf\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"product-banner-bg\" }\nconst _hoisted_2 = { class: \"product-banner-text\" }\nconst _hoisted_3 = { class: \"mb-0\" }\nconst _hoisted_4 = { class: \"lead mb-0\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_BaseProductOverviewItemCard = _resolveComponent(\"BaseProductOverviewItemCard\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"h3\", _hoisted_3, _toDisplayString(_ctx.$t(\"product.newVersionTitle\")), 1),\n _createElementVNode(\"p\", _hoisted_4, _toDisplayString(_ctx.$t(\"product.newVersionSubtitle\")), 1)\n ]),\n _createElementVNode(\"div\", null, [\n _createVNode(_component_BaseProductOverviewItemCard, { vm: _ctx.vm }, null, 8, [\"vm\"])\n ])\n ]))\n}","<template>\r\n\t<div class=\"product-banner-bg\">\r\n\t\t<div class=\"product-banner-text\">\r\n\t\t\t<h3 class=\"mb-0\">{{ $t(\"product.newVersionTitle\") }}</h3>\r\n\t\t\t<p class=\"lead mb-0\">{{ $t(\"product.newVersionSubtitle\") }}</p>\r\n\t\t</div>\r\n\t\t<div>\r\n\t\t\t<BaseProductOverviewItemCard :vm=\"vm\" />\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { PropType } from \"vue\";\r\nimport { BaseProductItemViewModel } from \"@/types/models/common/baseProductItemViewModel\";\r\nimport BaseProductOverviewItemCard from \"@/components/product/baseProductOverviewItemCard.vue\";\r\n\r\n@Component({\r\n\tcomponents: { BaseProductOverviewItemCard },\r\n})\r\nexport default class ProductNewVersionBanner extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<BaseProductItemViewModel>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: BaseProductItemViewModel;\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.product-banner-bg {\r\n\tbackground: var(--primary-color);\r\n\tposition: relative;\r\n\tpadding: 2rem 2rem 2rem 1rem;\r\n\tdisplay: flex;\r\n\tflex-wrap: wrap;\r\n\r\n\t&::before {\r\n\t\tcontent: \"\";\r\n\t\tposition: absolute;\r\n\t\ttop: 0;\r\n\t\tright: 100%;\r\n\t\twidth: 200%;\r\n\t\theight: 100%;\r\n\t\tbackground: inherit;\r\n\t}\r\n}\r\n\r\n.product-banner-text {\r\n\tcolor: var(--primary-color-text);\r\n\tdisplay: flex;\r\n\tflex: 1;\r\n\tflex-direction: column;\r\n}\r\n</style>\r\n","import { render } from \"./productNewVersionBanner.vue?vue&type=template&id=158025cf&scoped=true&ts=true\"\nimport script from \"./productNewVersionBanner.vue?vue&type=script&lang=ts\"\nexport * from \"./productNewVersionBanner.vue?vue&type=script&lang=ts\"\n\nimport \"./productNewVersionBanner.vue?vue&type=style&index=0&id=158025cf&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-158025cf\"]])\n\nexport default __exports__","import { render } from \"./productLayout.vue?vue&type=template&id=4108d18e&scoped=true&ts=true\"\nimport script from \"./productLayout.vue?vue&type=script&lang=ts\"\nexport * from \"./productLayout.vue?vue&type=script&lang=ts\"\n\nimport \"./productLayout.vue?vue&type=style&index=0&id=4108d18e&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4108d18e\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, renderSlot as _renderSlot, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, vShow as _vShow, createElementVNode as _createElementVNode, withDirectives as _withDirectives, withModifiers as _withModifiers, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-db3e845a\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { key: 0 }\nconst _hoisted_2 = {\n key: 1,\n class: \"expander\"\n}\nconst _hoisted_3 = { class: \"pt-1\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"text-right mb-1 mt-1\"\n}\nconst _hoisted_5 = [\"href\"]\nconst _hoisted_6 = { key: 1 }\nconst _hoisted_7 = { class: \"amount-input d-flex align-items-center\" }\nconst _hoisted_8 = {\n key: 1,\n class: \"text-right\"\n}\nconst _hoisted_9 = {\n key: 3,\n class: \"summary-sticky-top mt-2\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ProgressSpinner = _resolveComponent(\"ProgressSpinner\")!\n const _component_InputNumber = _resolveComponent(\"InputNumber\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_ScrollPanel = _resolveComponent(\"ScrollPanel\")!\n const _component_Panel = _resolveComponent(\"Panel\")!\n const _component_Card = _resolveComponent(\"Card\")!\n const _component_SupportCard = _resolveComponent(\"SupportCard\")!\n\n return (_ctx.isSmallScreen && _ctx.isProductAvailable && _ctx.isAutodeskProduct)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_ctx.isSpinnerVisible('priceSummary'))\n ? (_openBlock(), _createBlock(_component_ProgressSpinner, {\n key: 0,\n \"animation-duration\": \".75s\",\n class: \"d-block ml-auto mr-0\",\n \"stroke-width\": \"3\"\n }))\n : (_ctx.$slots.priceSummary)\n ? _renderSlot(_ctx.$slots, \"priceSummary\", { key: 1 }, undefined, true)\n : _createCommentVNode(\"\", true)\n ]))\n : (_ctx.isSmallScreen && _ctx.isProductAvailable)\n ? (_openBlock(), _createBlock(_component_Panel, {\n key: 1,\n collapsed: _ctx.isMobilePriceSummaryCollapsed\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", {\n class: \"d-flex justify-content-between align-items-center w-100\",\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.isMobilePriceSummaryCollapsed = !_ctx.isMobilePriceSummaryCollapsed))\n }, [\n (_ctx.isSpinnerVisible('priceSummary'))\n ? (_openBlock(), _createBlock(_component_ProgressSpinner, {\n key: 0,\n \"animation-duration\": \".75s\",\n class: \"m-0\",\n \"stroke-width\": \"3\",\n style: {\"width\":\"2.25rem\",\"height\":\"2.25rem\"}\n }))\n : _createCommentVNode(\"\", true),\n _withDirectives(_createElementVNode(\"h4\", { class: \"text-primary mb-0 h5\" }, _toDisplayString(_ctx.formatCurrency(_ctx.totalPrice)), 513), [\n [_vShow, !_ctx.isSpinnerVisible('priceSummary')]\n ]),\n (!_ctx.isAutodeskProduct)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_2, \"----\"))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: \"d-flex align-items-center justify-content-end\",\n onClick: _cache[2] || (_cache[2] = _withModifiers(() => {}, [\"stop\"]))\n }, [\n (_ctx.showAmountInput)\n ? (_openBlock(), _createBlock(_component_InputNumber, {\n key: 0,\n modelValue: _ctx.selectedAmount,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.selectedAmount) = $event)),\n class: \"mx-1\",\n \"decrement-button-class\": \"p-button-outlined\",\n \"increment-button-class\": \"p-button-outlined\",\n max: _ctx.maxAmount,\n min: _ctx.minAmount,\n \"show-buttons\": \"\",\n style: {\"width\":\"90px\"},\n \"use-grouping\": false,\n onInput: _ctx.amountChanged\n }, null, 8, [\"modelValue\", \"max\", \"min\", \"onInput\"]))\n : _createCommentVNode(\"\", true),\n (!_ctx.isAutodeskProduct)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-success p-button-raised p-button-lg ml-1\",\n disabled: !_ctx.canSubmit,\n icon: \"pi pi-shopping-cart\",\n \"icon-pos\": \"right\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.addToCart()))\n }, null, 8, [\"disabled\"]))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.offerRequestFormUrl && !_ctx.isAutodeskProduct && _ctx.canSubmit)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"a\", {\n class: \"quote-btn-url\",\n href: _ctx.requestOfferForThisProductVariation(true),\n target: \"_blank\"\n }, _toDisplayString(_ctx.$t(\"product.button.quote\")), 9, _hoisted_5)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n default: _withCtx(() => [\n (!_ctx.isAutodeskProduct)\n ? (_openBlock(), _createBlock(_component_ScrollPanel, {\n key: 0,\n style: {\"width\":\"100%\",\"height\":\"clamp(200px, 30vh, 300px)\"}\n }, {\n default: _withCtx(() => [\n (_ctx.isSpinnerVisible('priceSummary'))\n ? (_openBlock(), _createBlock(_component_ProgressSpinner, {\n key: 0,\n \"animation-duration\": \".75s\",\n class: \"d-block ml-auto mr-0\",\n \"stroke-width\": \"3\"\n }))\n : (_ctx.$slots.priceSummary)\n ? _renderSlot(_ctx.$slots, \"priceSummary\", { key: 1 }, undefined, true)\n : _createCommentVNode(\"\", true)\n ]),\n _: 3\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"collapsed\"]))\n : (_ctx.isProductAvailable)\n ? (_openBlock(), _createBlock(_component_Card, {\n key: 2,\n class: \"summary-sticky-top shadow-none\"\n }, {\n title: _withCtx(() => [\n (_ctx.$slots.configurationSummary)\n ? _renderSlot(_ctx.$slots, \"configurationSummary\", { key: 0 }, undefined, true)\n : _createCommentVNode(\"\", true)\n ]),\n content: _withCtx(() => [\n (_ctx.isSpinnerVisible('priceSummary'))\n ? (_openBlock(), _createBlock(_component_ProgressSpinner, {\n key: 0,\n \"animation-duration\": \".75s\",\n class: \"d-block ml-auto mr-0\",\n \"stroke-width\": \"3\"\n }))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n (_ctx.$slots.priceSummary)\n ? _renderSlot(_ctx.$slots, \"priceSummary\", { key: 0 }, undefined, true)\n : _createCommentVNode(\"\", true)\n ]))\n ]),\n footer: _withCtx(() => [\n (_ctx.$slots.validationMessage)\n ? _renderSlot(_ctx.$slots, \"validationMessage\", { key: 0 }, undefined, true)\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_7, [\n (_ctx.showAmountInput && !_ctx.isAutodeskProduct)\n ? (_openBlock(), _createBlock(_component_InputNumber, {\n key: 0,\n modelValue: _ctx.selectedAmount,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_ctx.selectedAmount) = $event)),\n class: \"mr-2\",\n \"decrement-button-class\": \"p-button-outlined\",\n \"increment-button-class\": \"p-button-outlined\",\n max: _ctx.maxAmount,\n min: _ctx.minAmount,\n \"show-buttons\": \"\",\n style: {\"width\":\"clamp(125px, 25%, 175px)\",\"height\":\"59px\",\"margin-top\":\"-8px\"},\n \"use-grouping\": false,\n onInput: _ctx.amountChanged\n }, null, 8, [\"modelValue\", \"max\", \"min\", \"onInput\"]))\n : _createCommentVNode(\"\", true),\n (!_ctx.isAutodeskProduct)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-success p-button-lg p-button-raised p-button-arrow w-100 px-1 mb-1\",\n disabled: !_ctx.canSubmit,\n label: _ctx.addToCartButtonLabel(),\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.addToCart()))\n }, null, 8, [\"disabled\", \"label\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.isAutodeskProduct)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 2,\n class: \"p-button-success p-button-lg p-button-raised p-button-arrow w-100 px-1 quote-btn\",\n disabled: !_ctx.canSubmit,\n label: _ctx.$t(`product.button.quote`),\n onClick: _cache[6] || (_cache[6] = ($event: any) => (_ctx.requestAutodeskQuote()))\n }, null, 8, [\"disabled\", \"label\"]))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.offerRequestFormUrl)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n (!_ctx.isAutodeskProduct)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-lg p-button-raised p-button-arrow w-100 px-1 mb-1 quote-btn\",\n disabled: !_ctx.canSubmit,\n label: _ctx.$t(`product.button.quote`),\n onClick: _cache[7] || (_cache[7] = ($event: any) => (_ctx.requestOfferForThisProductVariation()))\n }, null, 8, [\"disabled\", \"label\"]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.$slots.walletMessage)\n ? _renderSlot(_ctx.$slots, \"walletMessage\", { key: 2 }, undefined, true)\n : _createCommentVNode(\"\", true)\n ]),\n _: 3\n }))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _renderSlot(_ctx.$slots, \"default\", {}, undefined, true),\n (_ctx.showSupportCard)\n ? (_openBlock(), _createBlock(_component_SupportCard, { key: 0 }))\n : _createCommentVNode(\"\", true)\n ]))\n}","<template>\t\r\n\t<div v-if=\"isSmallScreen && isProductAvailable && isAutodeskProduct\">\r\n\t\t<ProgressSpinner v-if=\"isSpinnerVisible('priceSummary')\"\r\n\t\t\t\t\t\t animation-duration=\".75s\"\r\n\t\t\t\t\t\t class=\"d-block ml-auto mr-0\"\r\n\t\t\t\t\t\t stroke-width=\"3\" />\r\n\t\t<slot v-else-if=\"$slots.priceSummary\" name=\"priceSummary\" />\r\n\t</div>\r\n\t<Panel v-else-if=\"isSmallScreen && isProductAvailable\" :collapsed=\"isMobilePriceSummaryCollapsed\">\r\n\t\t<template #header>\r\n\t\t\t<div class=\"d-flex justify-content-between align-items-center w-100\"\r\n\t\t\t\t @click=\"isMobilePriceSummaryCollapsed = !isMobilePriceSummaryCollapsed\">\r\n\t\t\t\t<ProgressSpinner v-if=\"isSpinnerVisible('priceSummary')\"\r\n\t\t\t\t\t\t\t\t animation-duration=\".75s\"\r\n\t\t\t\t\t\t\t\t class=\"m-0\"\r\n\t\t\t\t\t\t\t\t stroke-width=\"3\"\r\n\t\t\t\t\t\t\t\t style=\"width: 2.25rem; height: 2.25rem\" />\r\n\t\t\t\t<h4 v-show=\"!isSpinnerVisible('priceSummary')\" class=\"text-primary mb-0 h5\">\r\n\t\t\t\t\t{{ formatCurrency(totalPrice) }}\r\n\t\t\t\t</h4>\r\n\t\t\t\t<span v-if=\"!isAutodeskProduct\" class=\"expander\">----</span>\r\n\t\t\t\t<div class=\"pt-1\">\r\n\t\t\t\t\t<div class=\"d-flex align-items-center justify-content-end\" @click.stop>\r\n\t\t\t\t\t\t<InputNumber v-if=\"showAmountInput\"\r\n\t\t\t\t\t\t\t\t\t v-model=\"selectedAmount\"\r\n\t\t\t\t\t\t\t\t\t class=\"mx-1\"\r\n\t\t\t\t\t\t\t\t\t decrement-button-class=\"p-button-outlined\"\r\n\t\t\t\t\t\t\t\t\t increment-button-class=\"p-button-outlined\"\r\n\t\t\t\t\t\t\t\t\t :max=\"maxAmount\"\r\n\t\t\t\t\t\t\t\t\t :min=\"minAmount\"\r\n\t\t\t\t\t\t\t\t\t show-buttons\r\n\t\t\t\t\t\t\t\t\t style=\"width: 90px\"\r\n\t\t\t\t\t\t\t\t\t :use-grouping=\"false\"\r\n\t\t\t\t\t\t\t\t\t @input=\"amountChanged\" />\t\t\t\t\t\t\r\n\t\t\t\t\t\t<Button v-if=\"!isAutodeskProduct\"\r\n\t\t\t\t\t\t\t\tclass=\"p-button-success p-button-raised p-button-lg ml-1\"\r\n\t\t\t\t\t\t\t\t:disabled=\"!canSubmit\"\r\n\t\t\t\t\t\t\t\ticon=\"pi pi-shopping-cart\"\r\n\t\t\t\t\t\t\t\ticon-pos=\"right\"\r\n\t\t\t\t\t\t\t\t@click=\"addToCart()\" />\r\n\t\t\t\t\t</div>\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t<div v-if=\"offerRequestFormUrl && !isAutodeskProduct && canSubmit\" class=\"text-right mb-1 mt-1\">\r\n\t\t\t\t\t\t<a class=\"quote-btn-url\" :href=\"requestOfferForThisProductVariation(true)\" target=\"_blank\">\r\n\t\t\t\t\t\t\t{{ $t(\"product.button.quote\") }}\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\t\t\t\r\n\t\t</template>\r\n\t\t<template #default>\t\t\t\r\n\t\t\t<ScrollPanel v-if=\"!isAutodeskProduct\" style=\"width: 100%; height: clamp(200px, 30vh, 300px)\">\r\n\t\t\t\t<ProgressSpinner v-if=\"isSpinnerVisible('priceSummary')\"\r\n\t\t\t\t\t\t\t\t animation-duration=\".75s\"\r\n\t\t\t\t\t\t\t\t class=\"d-block ml-auto mr-0\"\r\n\t\t\t\t\t\t\t\t stroke-width=\"3\" />\r\n\t\t\t\t<slot v-else-if=\"$slots.priceSummary\" name=\"priceSummary\" />\r\n\t\t\t</ScrollPanel>\r\n\t\t</template>\r\n\t</Panel>\r\n\t<Card v-else-if=\"isProductAvailable\" class=\"summary-sticky-top shadow-none\">\r\n\t\t<template #title>\r\n\t\t\t<slot v-if=\"$slots.configurationSummary\" name=\"configurationSummary\" />\r\n\t\t</template>\r\n\t\t<template #content>\r\n\t\t\t<ProgressSpinner v-if=\"isSpinnerVisible('priceSummary')\"\r\n\t\t\t\t\t\t\t animation-duration=\".75s\"\r\n\t\t\t\t\t\t\t class=\"d-block ml-auto mr-0\"\r\n\t\t\t\t\t\t\t stroke-width=\"3\" />\r\n\t\t\t<div v-else>\r\n\t\t\t\t<slot v-if=\"$slots.priceSummary\" name=\"priceSummary\" />\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t\t<template #footer>\r\n\t\t\t<slot v-if=\"$slots.validationMessage\" name=\"validationMessage\" />\r\n\t\t\t<div class=\"amount-input d-flex align-items-center\">\r\n\t\t\t\t<!-- amount selector -->\r\n\t\t\t\t<InputNumber v-if=\"showAmountInput && !isAutodeskProduct\"\r\n\t\t\t\t\t\t\t v-model=\"selectedAmount\"\r\n\t\t\t\t\t\t\t class=\"mr-2\"\r\n\t\t\t\t\t\t\t decrement-button-class=\"p-button-outlined\"\r\n\t\t\t\t\t\t\t increment-button-class=\"p-button-outlined\"\r\n\t\t\t\t\t\t\t :max=\"maxAmount\"\r\n\t\t\t\t\t\t\t :min=\"minAmount\"\r\n\t\t\t\t\t\t\t show-buttons\r\n\t\t\t\t\t\t\t style=\"width: clamp(125px, 25%, 175px); height: 59px; margin-top: -8px\"\r\n\t\t\t\t\t\t\t :use-grouping=\"false\"\r\n\t\t\t\t\t\t\t @input=\"amountChanged\" />\r\n\t\t\t\t<!-- add to cart button -->\r\n\t\t\t\t<Button v-if=\"!isAutodeskProduct\"\r\n\t\t\t\t\t\tclass=\"p-button-success p-button-lg p-button-raised p-button-arrow w-100 px-1 mb-1\"\r\n\t\t\t\t\t\t:disabled=\"!canSubmit\"\r\n\t\t\t\t\t\t:label=\"addToCartButtonLabel()\"\r\n\t\t\t\t\t\t@click=\"addToCart()\" />\r\n\t\t\t\t<!-- request autodesk quote button -->\r\n\t\t\t\t<Button v-if=\"isAutodeskProduct\"\r\n\t\t\t\t\t\tclass=\"p-button-success p-button-lg p-button-raised p-button-arrow w-100 px-1 quote-btn\"\r\n\t\t\t\t\t\t:disabled=\"!canSubmit\"\r\n\t\t\t\t\t\t:label=\"$t(`product.button.quote`)\"\r\n\t\t\t\t\t\t@click=\"requestAutodeskQuote()\" />\t\t\t\t\r\n\t\t\t</div>\r\n\t\t\t<div v-if=\"offerRequestFormUrl\" class=\"text-right\">\r\n\t\t\t\t<!-- request offer for non-autodesk products -->\r\n\t\t\t\t<Button v-if=\"!isAutodeskProduct\"\r\n\t\t\t\t\t\tclass=\"p-button-lg p-button-raised p-button-arrow w-100 px-1 mb-1 quote-btn\"\r\n\t\t\t\t\t\t:disabled=\"!canSubmit\"\r\n\t\t\t\t\t\t:label=\"$t(`product.button.quote`)\"\r\n\t\t\t\t\t\t@click=\"requestOfferForThisProductVariation()\" />\r\n\t\t\t</div>\r\n\t\t\t<slot v-if=\"$slots.walletMessage\" name=\"walletMessage\" />\r\n\t\t</template>\r\n\t</Card>\r\n\t<div v-else class=\"summary-sticky-top mt-2\">\r\n\t\t<slot />\r\n\t\t<SupportCard v-if=\"showSupportCard\" />\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Emit, Prop, Watch } from \"vue-facing-decorator\";\r\nimport SupportCard from \"@/components/commerce/supportCard.vue\";\r\nimport ProgressSpinner from \"primevue/progressspinner\";\r\nimport ScrollPanel from \"primevue/scrollpanel\";\r\n\r\n\t@Component({ components: { SupportCard, ScrollPanel, ProgressSpinner } })\r\n\texport default class ProductPageSummary extends BaseComponent {\r\n\t\t@Prop({ type: Number, required: false, default: 0 }) totalPrice!: number;\r\n\t\t@Prop({ type: Boolean, required: true, default: false }) isProductAvailable!: boolean;\r\n\t\t@Prop({ type: Boolean, required: false, default: false }) canSubmit!: boolean;\r\n\t\t@Prop({ type: Boolean, required: false, default: false }) showAmountInput!: boolean;\r\n\t\t@Prop({ type: Number, required: false, default: 1 }) minAmount!: number;\r\n\t\t@Prop({ type: Number, required: false, default: 999 }) maxAmount!: number;\r\n\t\t@Prop({ type: Number, required: false, default: 1 }) value!: number;\r\n @Prop({ type: Boolean, required: false, default: true }) showSupportCard!: number;\r\n\t\t@Prop({ type: Number, required: false }) variationId!: number;\r\n\t\t@Prop({ type: String, required: false }) variationGuid!: string;\r\n\t\t@Prop({ type: String, required: false }) offerRequestFormUrl!: string;\r\n @Prop({ type: Boolean, required: false, default: false }) isInEditMode!: boolean;\r\n @Prop({ type: Boolean, required: false, default: false }) isAutodeskProduct!: boolean;\r\n\r\n\tselectedAmount!: number;\r\n\tisMobilePriceSummaryCollapsed = true;\r\n\r\n\t@Emit() addToCart(): void {\r\n\t\treturn;\r\n\t\t}\r\n\r\n\t@Emit() requestAutodeskQuote(): void {\r\n\t\treturn;\r\n\t}\r\n\r\n\t@Emit() amountChanged({ value }: { value: number }): number {\r\n\t\tthis.selectedAmount =\r\n\t\t\tvalue > this.maxAmount ? this.maxAmount : value < this.minAmount ? this.minAmount : value;\r\n\t\treturn this.selectedAmount;\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.selectedAmount = this.value ?? this.minAmount;\r\n\t}\r\n\r\n\trequestOfferForThisProductVariation(urlResponse = false) {\r\n\t\tvar url = `${window.location.origin}${this.offerRequestFormUrl}`;\r\n\t\tif (urlResponse) {\r\n\t\t\treturn url;\r\n\t\t} else {\r\n\t\t\twindow.open(url, \"_blank\");\r\n\t\t\treturn;\r\n\t\t}\r\n\t}\r\n\r\n\taddToCartButtonLabel(): string {\r\n\t\tif (this.isInEditMode) {\r\n\t\t\treturn this.$t(`common.configureAndOrder`);\r\n\t\t}\r\n\t\treturn this.$t(`common.addToCart`);\r\n\t}\r\n\r\n\t@Watch(\"variationId\") onVariationChanged(): void {\r\n\t\tthis.selectedAmount = this.minAmount;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.quote-btn {\r\n\t&:hover::after {\r\n\t\tbackground-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='17'%3E%3Cpath d='M7.431 2.482L9.9 4.95 8.531 6.318 4.956 2.743 3.172 4.527c-.981.982-1.79 1.785-1.797 1.784-.007 0-.32-.306-.694-.68L0 4.95l2.469-2.468A330.393 330.393 0 0 1 4.95.014c.007 0 1.124 1.11 2.481 2.468z' fill='white' fill-rule='evenodd'/%3E%3C/svg%3E\");\r\n\t}\r\n\r\n\t&:after {\r\n\t\t/*margin-left: 0px;*/\r\n\t\tbackground-color: var(--primary-color-dark);\r\n\t\tborder-color: var(--primary-color-dark);\r\n\t\tcolor: #ffffff;\r\n\t\tbackground-image: url(\"data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='17'%3E%3Cpath d='M7.431 2.482L9.9 4.95 8.531 6.318 4.956 2.743 3.172 4.527c-.981.982-1.79 1.785-1.797 1.784-.007 0-.32-.306-.694-.68L0 4.95l2.469-2.468A330.393 330.393 0 0 1 4.95.014c.007 0 1.124 1.11 2.481 2.468z' fill='white' fill-rule='evenodd'/%3E%3C/svg%3E\");\r\n\t}\r\n}\r\n\r\n.quote-btn-url {\r\n\tfont-weight: 500;\r\n\tcolor: #91004b !important;\r\n\tpadding: 0 0 0.25rem 0;\r\n\tborder-bottom: 2px solid var(--surface-d);\r\n\tborder-radius: 0;\r\n\ttext-decoration: none;\r\n\t&:hover {\r\n\t\tborder-color: var(--primary-color);\r\n\t}\r\n\tfont-size: 1rem;\r\n}\r\n\r\n.summary-sticky-top {\r\n\tposition: sticky;\r\n\ttop: calc(var(--navbarHeightInPx) + 1rem);\r\n\tmargin-bottom: 1rem;\r\n\r\n\t::v-deep(.p-card-footer) {\r\n\t\tpadding-top: 0;\r\n\t}\r\n}\r\n\r\n.expander {\r\n\tcolor: var(--text-color-secondary);\r\n\tfont-size: 2rem;\r\n\tfont-weight: 600;\r\n\tcursor: pointer;\r\n\tposition: absolute;\r\n\ttop: -1.2rem;\r\n\tleft: 50%;\r\n\tletter-spacing: -5px;\r\n}\r\n</style>\r\n","import { render } from \"./productPageSummary.vue?vue&type=template&id=db3e845a&scoped=true&ts=true\"\nimport script from \"./productPageSummary.vue?vue&type=script&lang=ts\"\nexport * from \"./productPageSummary.vue?vue&type=script&lang=ts\"\n\nimport \"./productPageSummary.vue?vue&type=style&index=0&id=db3e845a&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-db3e845a\"]])\n\nexport default __exports__","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, vShow as _vShow, withDirectives as _withDirectives, resolveDirective as _resolveDirective, renderSlot as _renderSlot, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"product-tabs\" }\nconst _hoisted_2 = { class: \"product-tabs-header\" }\nconst _hoisted_3 = {\n ref: \"nav\",\n class: \"product-tabs-header-items\",\n role: \"tablist\"\n}\nconst _hoisted_4 = [\"href\"]\nconst _hoisted_5 = [\"id\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _directive_scroll_spy_active = _resolveDirective(\"scroll-spy-active\")!\n const _directive_scroll_spy_link = _resolveDirective(\"scroll-spy-link\")!\n const _directive_scroll_spy = _resolveDirective(\"scroll-spy\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _withDirectives((_openBlock(), _createElementBlock(\"ul\", _hoisted_3, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.items, (item, i) => {\n return _withDirectives((_openBlock(), _createElementBlock(\"li\", {\n key: `tab_${item.label}_${i.toString()}`,\n class: \"product-tabs-header-item\"\n }, [\n _createElementVNode(\"a\", {\n class: \"product-tabs-header-item-link\",\n href: _ctx.getLinkForItem(item)\n }, [\n _createElementVNode(\"span\", null, _toDisplayString(item.label), 1)\n ], 8, _hoisted_4)\n ], 512)), [\n [_vShow, !item.isHidden]\n ])\n }), 128))\n ])), [\n [_directive_scroll_spy_active, { selector: '.product-tabs-header-item', class: 'active' }],\n [_directive_scroll_spy_link, { selector: '.product-tabs-header-item-link' }]\n ])\n ]),\n _withDirectives((_openBlock(), _createElementBlock(\"div\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.items, (item, i) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n id: item.id,\n key: `content_${item.label}_${i.toString()}`\n }, [\n (_ctx.$slots[item.id])\n ? _renderSlot(_ctx.$slots, item.id, { key: 0 })\n : _renderSlot(_ctx.$slots, \"default\", { key: 1 })\n ], 8, _hoisted_5))\n }), 128))\n ])), [\n [_directive_scroll_spy, { allowNoActive: _ctx.items?.length > 1, offset: 120 }]\n ])\n ]))\n}","<template>\r\n\t<div class=\"product-tabs\">\r\n\t\t<div class=\"product-tabs-header\">\r\n\t\t\t<ul\r\n\t\t\t\tref=\"nav\"\r\n\t\t\t\tv-scroll-spy-active=\"{ selector: '.product-tabs-header-item', class: 'active' }\"\r\n\t\t\t\tv-scroll-spy-link=\"{ selector: '.product-tabs-header-item-link' }\"\r\n\t\t\t\tclass=\"product-tabs-header-items\"\r\n\t\t\t\trole=\"tablist\"\r\n\t\t\t>\r\n\t\t\t\t<template v-for=\"(item, i) of items\" :key=\"`tab_${item.label}_${i.toString()}`\">\r\n\t\t\t\t\t<li v-show=\"!item.isHidden\" class=\"product-tabs-header-item\">\r\n\t\t\t\t\t\t<a class=\"product-tabs-header-item-link\" :href=\"getLinkForItem(item)\">\r\n\t\t\t\t\t\t\t<span>{{ item.label }}</span>\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t</li>\r\n\t\t\t\t</template>\r\n\t\t\t</ul>\r\n\t\t</div>\r\n\t\t<div v-scroll-spy=\"{ allowNoActive: items?.length > 1, offset: 120 }\">\r\n\t\t\t<div v-for=\"(item, i) of items\" :id=\"item.id\" :key=\"`content_${item.label}_${i.toString()}`\">\r\n\t\t\t\t<slot v-if=\"$slots[item.id]\" :name=\"item.id\" />\r\n\t\t\t\t<slot v-else />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { PropType } from \"vue\";\r\n\r\nexport interface ProductTab {\r\n\tid: string;\r\n\tlabel: string;\r\n\thref?: string;\r\n\tisDisabled?: boolean;\r\n\tisHidden?: boolean;\r\n}\r\n\r\n@Component\r\nexport default class ProductTabs extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<ProductTab[]>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\titems!: ProductTab[];\r\n\r\n\tgetLinkForItem(item: ProductTab): string {\r\n\t\treturn item.href || `#${item.id}`;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n.product-tabs {\r\n\tposition: relative;\r\n}\r\n\r\n.product-tabs-header {\r\n\tposition: sticky;\r\n\ttop: 0;\r\n\tz-index: 101;\r\n\tbackground: var(--surface-a);\r\n\r\n\t&::before {\r\n\t\tcontent: \"\";\r\n\t\tposition: absolute;\r\n\t\ttop: 0;\r\n\t\tright: 100%;\r\n\t\twidth: 200%;\r\n\t\theight: 100%;\r\n\t\tbackground: inherit;\r\n\t}\r\n}\r\n\r\n.product-tabs-header-items {\r\n\tposition: relative;\r\n\tdisplay: flex;\r\n\tflex-wrap: wrap;\r\n\tborder-bottom: 0.8px solid rgba(0, 0, 0, 0.15);\r\n}\r\n\r\n.product-tabs-header-item {\r\n\tposition: relative;\r\n\tdisplay: flex;\r\n\tflex-shrink: 0;\r\n\talign-items: center;\r\n\tpadding: 0.75rem 0.75rem;\r\n\tcursor: pointer;\r\n\toutline: none;\r\n\r\n\t&:hover {\r\n\t\t.product-tabs-header-item-link {\r\n\t\t\t&::after {\r\n\t\t\t\tbackground-color: var(--primary-color);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t&.active,\r\n\t&[aria-selected=\"true\"] {\r\n\t\t.product-tabs-header-item-link {\r\n\t\t\tcolor: var(--primary-color);\r\n\r\n\t\t\t&::after {\r\n\t\t\t\tbackground-color: var(--primary-color);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t.product-tabs-header-item-link {\r\n\t\ttext-decoration: none;\r\n\t\tcolor: var(--text-color);\r\n\t\tfont-size: 1.2rem;\r\n\t\tfont-weight: 600;\r\n\r\n\t\t&::after {\r\n\t\t\tposition: absolute;\r\n\t\t\tcontent: \"\";\r\n\t\t\tbottom: 0;\r\n\t\t\tleft: 0;\r\n\t\t\twidth: 100%;\r\n\t\t\theight: 3px;\r\n\t\t}\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./productTabs.vue?vue&type=template&id=40e2ecc4&ts=true\"\nimport script from \"./productTabs.vue?vue&type=script&lang=ts\"\nexport * from \"./productTabs.vue?vue&type=script&lang=ts\"\n\nimport \"./productTabs.vue?vue&type=style&index=0&id=40e2ecc4&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import httpClient from '@/types/helpers/apiHelper';\r\nimport i18n from '@/types/utils/i18n';\r\nimport { AddToCartResponse } from '@/types/generated/Api/addToCartResponse';\r\nimport { AxiosResponse } from 'axios';\r\nimport { IDropdownItem } from '@/types/models/common/dropdownItem.interface';\r\nimport { IServicePassProductViewModel } from '@/types/viewModels/commerce/servicePassProductViewModel';\r\nimport { ProductAddToCart } from '@/types/generated/Api/productAddToCart';\r\nimport { ServicePassVariationViewModel } from '@/types/models/service/servicePassVariationViewModel';\r\nimport { ServiceType } from '@/types/enum/serviceType';\r\nimport { Unit } from '@/types/enum/unit';\r\nimport { defineStore } from 'pinia';\r\nimport { filter, find, first, sortBy, uniqBy } from 'lodash';\r\n\r\ninterface ServicePassProductState {\r\n\tselectedServiceType?: ServiceType;\r\n\tselectedUnit?: Unit;\r\n\tselectedVariation?: ServicePassVariationViewModel;\r\n\tselectedAmount: number;\r\n\r\n\tavailableServiceTypes: IDropdownItem[];\r\n\tavailableUnits: IDropdownItem[];\r\n\r\n\tvm: IServicePassProductViewModel | null;\r\n}\r\n\r\nexport const useServicePassProductStore = defineStore('servicePassProduct', {\r\n\tstate: () =>\r\n\t\t({\r\n\t\t\tselectedServiceType: undefined,\r\n\t\t\tselectedUnit: undefined,\r\n\t\t\tselectedVariation: undefined,\r\n\t\t\tavailableServiceTypes: [],\r\n\t\t\tavailableUnits: [],\r\n\t\t\tvm: null,\r\n\t\t\tselectedAmount: 1,\r\n\t\t}) as ServicePassProductState,\r\n\tgetters: {\r\n\t\twalletAmount(): number {\r\n\t\t\treturn (this.selectedVariation?.walletAmount || 0) * this.selectedAmount;\r\n\t\t},\r\n\t\tcurrentVariation(\r\n\t\t\tstate: ServicePassProductState\r\n\t\t): (filterOptions?: Partial<ServicePassVariationViewModel>) => ServicePassVariationViewModel {\r\n\t\t\treturn (filterOptions?: Partial<ServicePassVariationViewModel>) => {\r\n\t\t\t\tif (!filterOptions)\r\n\t\t\t\t\tfilterOptions = {\r\n\t\t\t\t\t\tserviceType:\r\n\t\t\t\t\t\t\tstate.selectedServiceType || (first(this.availableServiceTypes)?.value as ServiceType),\r\n\t\t\t\t\t\tunit: state.selectedUnit || (first(this.availableUnits)?.value as Unit),\r\n\t\t\t\t\t};\r\n\t\t\t\treturn find(state.vm?.servicePassVariations, filterOptions) as ServicePassVariationViewModel;\r\n\t\t\t};\r\n\t\t},\r\n\t},\r\n\tactions: {\r\n\t\tinit(): void {\r\n\t\t\tthis.availableServiceTypes =\r\n\t\t\t\tthis.vm?.distinctServiceType.map((x) => ({\r\n\t\t\t\t\tvalue: x,\r\n\t\t\t\t\tlabel: i18n.global.t(`enum.serviceType.${x}`),\r\n\t\t\t\t})) || [];\r\n\t\t\tthis.availableUnits =\r\n\t\t\t\tthis.vm?.distinctUnit.map((x) => ({\r\n\t\t\t\t\tvalue: x,\r\n\t\t\t\t\tlabel: i18n.global.t(`enum.serviceUnit.${x}`),\r\n\t\t\t\t})) || [];\r\n\t\t\tthis.selectedVariation =\r\n\t\t\t\tthis.vm?.selectedServicePassVariation ||\r\n\t\t\t\t(this.vm?.servicePassVariations[0] as ServicePassVariationViewModel);\r\n\t\t\tthis.selectedServiceType =\r\n\t\t\t\tthis.vm?.selectedServicePassVariation?.serviceType ||\r\n\t\t\t\t(this.availableServiceTypes[0]?.value as ServiceType);\r\n\t\t\tthis.selectedAmount = this.vm?.selectedSeats || 1;\r\n\t\t\tthis.updateConfigurationOptions();\r\n\t\t},\r\n\t\tasync addToCart() {\r\n\t\t\tconst payLoad: ProductAddToCart = {\r\n\t\t\t\tseats: this.selectedAmount,\r\n\t\t\t\toldLineItemId: this.vm?.oldLineItemId,\r\n\t\t\t\twalletAmount: this.selectedVariation?.walletAmount || 0,\r\n\t\t\t\ttypes: [this.selectedVariation?.id] as number[],\r\n\t\t\t};\r\n\t\t\tconst response: AxiosResponse<AddToCartResponse> = await httpClient.post<AddToCartResponse>(\r\n\t\t\t\t'/api/cart/add',\r\n\t\t\t\tpayLoad\r\n\t\t\t);\r\n\t\t\treturn response.data;\r\n\t\t},\r\n\t\tupdateConfigurationOptions(): void {\r\n\t\t\tthis.availableUnits = (\r\n\t\t\t\tfilter(this.vm?.servicePassVariations, {\r\n\t\t\t\t\tserviceType: this.selectedServiceType,\r\n\t\t\t\t}) as ServicePassVariationViewModel[]\r\n\t\t\t).map((x) => ({\r\n\t\t\t\tvalue: x.unit,\r\n\t\t\t\tlabel: i18n.global.t(`enum.serviceUnit.${x.unit}`),\r\n\t\t\t}));\r\n\t\t\tthis.availableUnits = sortBy(uniqBy(this.availableUnits, 'value'), 'value');\r\n\r\n\t\t\tthis.selectedUnit = this.selectedVariation?.unit || (this.availableUnits[0]?.value as number);\r\n\t\t\tthis.selectedServiceType =\r\n\t\t\t\tthis.selectedVariation?.serviceType || (this.availableServiceTypes[0]?.value as number);\r\n\t\t},\r\n\t},\r\n});\r\n","import { render } from \"./servicePassProduct.vue?vue&type=template&id=74850f66&scoped=true&ts=true\"\nimport script from \"./servicePassProduct.vue?vue&type=script&lang=ts\"\nexport * from \"./servicePassProduct.vue?vue&type=script&lang=ts\"\n\nimport \"./servicePassProduct.vue?vue&type=style&index=0&id=74850f66&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-74850f66\"]])\n\nexport default __exports__","import { renderSlot as _renderSlot, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6a021260\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"\" }\nconst _hoisted_2 = { class: \"row\" }\nconst _hoisted_3 = { class: \"mb-1\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"lead\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ProductPageContentSection = _resolveComponent(\"ProductPageContentSection\")!\n const _component_ProductOverviewItemCard = _resolveComponent(\"ProductOverviewItemCard\")!\n const _component_LinkButton = _resolveComponent(\"LinkButton\")!\n const _component_Card = _resolveComponent(\"Card\")!\n const _component_ProductPageSummary = _resolveComponent(\"ProductPageSummary\")!\n const _component_ProductLayout = _resolveComponent(\"ProductLayout\")!\n const _component_ProductAddedModal = _resolveComponent(\"ProductAddedModal\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_ProductLayout, { vm: _ctx.vm }, {\n summary: _withCtx(() => [\n _createVNode(_component_ProductPageSummary, {\n \"is-product-available\": false,\n \"show-support-card\": !_ctx.isMobile\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Card, { class: \"product-config-cta-card\" }, {\n content: _withCtx(() => [\n _createElementVNode(\"h3\", _hoisted_3, _toDisplayString(_ctx.vm.configurationTitle), 1),\n (!_ctx.isMobile)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_4, _toDisplayString(_ctx.vm.configurationSubtitle), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.formDetailPageUrl)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 1,\n class: \"p-button-success p-button-arrow p-button-raised mt-0 mt-sm-2\",\n label: _ctx.vm.configurationCta,\n url: _ctx.vm.formDetailPageUrl\n }, null, 8, [\"label\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"show-support-card\"])\n ]),\n default: _withCtx(() => [\n (_ctx.$slots.blocks)\n ? (_openBlock(), _createBlock(_component_ProductPageContentSection, {\n key: 0,\n type: 'media'\n }, {\n default: _withCtx(() => [\n _renderSlot(_ctx.$slots, \"blocks\", {}, undefined, true)\n ]),\n _: 3\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.relatedUpSellProducts?.length)\n ? (_openBlock(), _createBlock(_component_ProductPageContentSection, {\n key: 1,\n type: \"upsell\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"h3\", _hoisted_1, _toDisplayString(_ctx.$t(\"product.titleUpSell\")), 1),\n _createElementVNode(\"div\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.relatedUpSellProducts, (product) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: product,\n class: \"col-md-6\"\n }, [\n _createVNode(_component_ProductOverviewItemCard, {\n item: product,\n layout: \"grid\"\n }, null, 8, [\"item\"])\n ]))\n }), 128))\n ])\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"vm\"]),\n (_ctx.cartStore.showProductAddedModal)\n ? (_openBlock(), _createBlock(_component_ProductAddedModal, {\n key: 0,\n vm: _ctx.productAddedVm\n }, null, 8, [\"vm\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<ProductLayout :vm=\"vm\">\r\n\t\t<ProductPageContentSection v-if=\"$slots.blocks\" :type=\"'media'\">\r\n\t\t\t<slot name=\"blocks\" />\r\n\t\t</ProductPageContentSection>\r\n\t\t<ProductPageContentSection v-if=\"vm.relatedUpSellProducts?.length\" type=\"upsell\">\r\n\t\t\t<h3 class=\"\">{{ $t(\"product.titleUpSell\") }}</h3>\r\n\t\t\t<div class=\"row\">\r\n\t\t\t\t<div v-for=\"product in vm.relatedUpSellProducts\" :key=\"product\" class=\"col-md-6\">\r\n\t\t\t\t\t<ProductOverviewItemCard :item=\"product\" layout=\"grid\" />\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</ProductPageContentSection>\r\n\t\t<template #summary>\r\n\t\t\t<ProductPageSummary :is-product-available=\"false\" :show-support-card=\"!isMobile\">\r\n\t\t\t\t<Card class=\"product-config-cta-card\">\r\n\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t<h3 class=\"mb-1\">{{ vm.configurationTitle }}</h3>\r\n\t\t\t\t\t\t<p v-if=\"!isMobile\" class=\"lead\">\r\n\t\t\t\t\t\t\t{{ vm.configurationSubtitle }}\r\n\t\t\t\t\t\t</p>\r\n\r\n\t\t\t\t\t\t<LinkButton\r\n\t\t\t\t\t\t\tv-if=\"vm.formDetailPageUrl\"\r\n\t\t\t\t\t\t\tclass=\"p-button-success p-button-arrow p-button-raised mt-0 mt-sm-2\"\r\n\t\t\t\t\t\t\t:label=\"vm.configurationCta\"\r\n\t\t\t\t\t\t\t:url=\"vm.formDetailPageUrl\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Card>\r\n\t\t\t</ProductPageSummary>\r\n\t\t</template>\r\n\t</ProductLayout>\r\n\t<ProductAddedModal v-if=\"cartStore.showProductAddedModal\" :vm=\"productAddedVm\" />\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport AutoComplete from \"primevue/autocomplete\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport PopoverIcon from \"@/components/common/popoverIcon.vue\";\r\nimport PriceSummary from \"@/components/common/priceSummary.vue\";\r\nimport ProductAddedModal from \"@/components/commerce/productAddedModal.vue\";\r\nimport ProductConfiguration from \"@/components/product/productConfiguration.vue\";\r\nimport ProductConfigurationStep from \"@/components/product/productConfigurationStep.vue\";\r\nimport ProductConfigurationSummary from \"@/components/product/productConfigurationSummary.vue\";\r\nimport ProductConfigurationSummaryItem from \"@/components/product/productConfigurationSummaryItem.vue\";\r\nimport ProductLayout from \"../layout/productLayout.vue\";\r\nimport ProductOverviewItemCard from \"@/components/product/productOverviewItemCard.vue\";\r\nimport ProductPageContentSection from \"@/components/product/productPageContentSection.vue\";\r\nimport ProductPageHeader from \"@/components/product/productPageHeader.vue\";\r\nimport ProductPageSummary from \"@/components/product/productPageSummary.vue\";\r\nimport ProgressSpinner from \"primevue/progressspinner\";\r\nimport ScrollPanel from \"primevue/scrollpanel\";\r\nimport { BaseProductItemViewModel } from \"@/types/models/common/baseProductItemViewModel\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { IProductAddedModal } from \"@/types/viewModels/commerce/productAddedModalViewModel\";\r\nimport { ItemProductType } from \"@/types/enum/itemProductType\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { useCartStore } from \"@/store/commerce/cartStore\";\r\nimport { IServiceProduct } from \"@/types/viewModels/commerce/serviceProductViewModel\";\r\nimport SupportCard from \"@/components/commerce/supportCard.vue\";\r\nimport LinkButton from \"@/components/common/linkButton.vue\";\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tLinkButton,\r\n\t\tAutoComplete,\r\n\t\tPopoverIcon,\r\n\t\tPriceSummary,\r\n\t\tProductAddedModal,\r\n\t\tProductConfiguration,\r\n\t\tProductConfigurationStep,\r\n\t\tProductConfigurationSummary,\r\n\t\tProductConfigurationSummaryItem,\r\n\t\tProductLayout,\r\n\t\tProductOverviewItemCard,\r\n\t\tProductPageContentSection,\r\n\t\tProductPageHeader,\r\n\t\tProductPageSummary,\r\n\t\tProgressSpinner,\r\n\t\tScrollPanel,\r\n\t\tSupportCard,\r\n\t},\r\n})\r\nexport default class ServiceProduct extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IServiceProduct>, required: true, default: {} }) vm!: IServiceProduct;\r\n\r\n\tsubmitted = false;\r\n\tcartStore = useCartStore();\r\n\r\n\tcreated(): void {\r\n\t\tLog.info(\"ServiceProduct\", this.vm);\r\n\t\tif (this.vm.viewModelIsValid) {\r\n\t\t\t// this.productStore.init();\r\n\t\t} else Log.error(new Error(this.vm.viewModelErrors?.join(\", \")));\r\n\t}\r\n\r\n\tget productAddedVm(): IProductAddedModal {\r\n\t\treturn {\r\n\t\t\tproduct: {\r\n\t\t\t\t...this.vm,\r\n\t\t\t\tproductType: ItemProductType.Other,\r\n\t\t\t} as unknown as BaseProductItemViewModel,\r\n\t\t\tcrossSellProducts: [],\r\n\t\t};\r\n\t}\r\n\r\n\taddServiceProductToCart(): void {\r\n\t\tthis.submitted = true;\r\n\t\tif (!this.validateProductConfiguration()) {\r\n\t\t\tsetTimeout(() => this.scrollToFirstValidationError(), 50);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t// this.loadingStore.increaseLoadingCount();\r\n\t\t//\r\n\t\t// this.axios\r\n\t\t// \t.post(`/api/cart/add-support`, this.addSupportRequestModel)\r\n\t\t// \t.then(() => {\r\n\t\t// \t\tthis.cartStore.showModal(\"ProductAdded\");\r\n\t\t// \t})\r\n\t\t// \t.catch(() =>\r\n\t\t// \t\tthis.$toast.add({\r\n\t\t// \t\t\tseverity: \"error\",\r\n\t\t// \t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t// \t\t\tdetail: this.$t(\"common.messages.addToCartError\"),\r\n\t\t// \t\t\tlife: 3000,\r\n\t\t// \t\t})\r\n\t\t// \t)\r\n\t\t// \t.finally(() => this.loadingStore.decreaseLoadingCount());\r\n\t}\r\n\r\n\tprivate validateProductConfiguration(): boolean {\r\n\t\treturn false;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.product-config-step-subtitle {\r\n\tfont-size: 1rem;\r\n\tfont-weight: 400;\r\n\tcolor: var(--text-color-secondary);\r\n}\r\n\r\n::v-deep(.product-config-cta-card) {\r\n\tmargin-bottom: 1rem;\r\n\tbackground-color: var(--primary-color);\r\n\tcolor: var(--primary-color-text);\r\n\r\n\t.p-card-content {\r\n\t\ttext-align: center;\r\n\t}\r\n\r\n\t@media (max-width: 576px) {\r\n\t\t.p-card-content {\r\n\t\t\tpadding: 0;\r\n\t\t}\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./serviceProduct.vue?vue&type=template&id=6a021260&scoped=true&ts=true\"\nimport script from \"./serviceProduct.vue?vue&type=script&lang=ts\"\nexport * from \"./serviceProduct.vue?vue&type=script&lang=ts\"\n\nimport \"./serviceProduct.vue?vue&type=style&index=0&id=6a021260&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6a021260\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, withCtx as _withCtx, renderList as _renderList, Fragment as _Fragment, createVNode as _createVNode, vShow as _vShow, withDirectives as _withDirectives, resolveDirective as _resolveDirective, normalizeStyle as _normalizeStyle, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1f36f8eb\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"container hidden-print\" }\nconst _hoisted_2 = { class: \"row my-2 my-lg-3\" }\nconst _hoisted_3 = { class: \"col-md-6 col-lg-5\" }\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = { key: 0 }\nconst _hoisted_6 = { key: 0 }\nconst _hoisted_7 = { class: \"text-muted\" }\nconst _hoisted_8 = { class: \"text-bold\" }\nconst _hoisted_9 = [\"href\", \"title\"]\nconst _hoisted_10 = { class: \"col-md-6 col-lg-7 d-flex h-100 flex-column align-items-start flex-lg-row justify-content-lg-end flex-wrap-reverse\" }\nconst _hoisted_11 = { class: \"row\" }\nconst _hoisted_12 = {\n key: 0,\n class: \"col-12\"\n}\nconst _hoisted_13 = [\"innerHTML\"]\nconst _hoisted_14 = { class: \"row mb-2\" }\nconst _hoisted_15 = {\n key: 0,\n class: \"col-12\"\n}\nconst _hoisted_16 = {\n key: 1,\n class: \"col-12\"\n}\nconst _hoisted_17 = { class: \"d-flex justify-content-between flex-wrap\" }\nconst _hoisted_18 = {\n key: 1,\n class: \"wallet-message p-message p-component\"\n}\nconst _hoisted_19 = { class: \"p-message-wrapper justify-content-between flex-wrap\" }\nconst _hoisted_20 = { class: \"d-flex align-items-center mb-1 mb-lg-0\" }\nconst _hoisted_21 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"svg\", {\n class: \"mr-1\",\n height: \"46\",\n width: \"46\"\n}, [\n /*#__PURE__*/_createElementVNode(\"use\", { \"xlink:href\": \"#icon-wallet\" })\n], -1))\nconst _hoisted_22 = {\n key: 0,\n class: \"text-primary\"\n}\nconst _hoisted_23 = {\n key: 1,\n class: \"text-primary\"\n}\nconst _hoisted_24 = {\n key: 1,\n class: \"d-flex align-items-center\"\n}\nconst _hoisted_25 = {\n key: 2,\n class: \"wallet-message p-message p-component\"\n}\nconst _hoisted_26 = { class: \"p-message-wrapper justify-content-between flex-wrap\" }\nconst _hoisted_27 = { class: \"d-flex align-items-center mb-1 mb-lg-0\" }\nconst _hoisted_28 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"svg\", {\n class: \"mr-1\",\n height: \"46\",\n width: \"46\"\n}, [\n /*#__PURE__*/_createElementVNode(\"use\", { \"xlink:href\": \"#icon-wallet\" })\n], -1))\nconst _hoisted_29 = { class: \"text-primary\" }\nconst _hoisted_30 = {\n key: 0,\n class: \"container hidden-print\"\n}\nconst _hoisted_31 = { class: \"\" }\nconst _hoisted_32 = { class: \"d-flex w-100\" }\nconst _hoisted_33 = { class: \"d-flex flex-column w-100\" }\nconst _hoisted_34 = {\n key: 0,\n class: \"wallet-earning\"\n}\nconst _hoisted_35 = {\n class: \"left-container\",\n style: {'background-image': `url('/Static/images/yaron1.png')`}\n}\nconst _hoisted_36 = { class: \"help-text\" }\nconst _hoisted_37 = { class: \"contact-info\" }\nconst _hoisted_38 = [\"href\"]\nconst _hoisted_39 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-phone pr-1\" }, null, -1))\nconst _hoisted_40 = { class: \"d-flex flex-column mx-2\" }\nconst _hoisted_41 = { class: \"d-flex justify-content-between\" }\nconst _hoisted_42 = { class: \"text-primary\" }\nconst _hoisted_43 = {\n key: 0,\n class: \"p-badge p-badge-primary\"\n}\nconst _hoisted_44 = {\n key: 0,\n class: \"p-inputgroup\"\n}\nconst _hoisted_45 = { key: 1 }\nconst _hoisted_46 = { class: \"text-bold mr-2\" }\nconst _hoisted_47 = { key: 2 }\nconst _hoisted_48 = {\n key: 0,\n class: \"col-lg-6 col-xl-6 col-xxl-5 ml-auto p-3 right-container\"\n}\nconst _hoisted_49 = {\n key: 2,\n class: \"wallet-card-container\",\n style: {'background-image': `url('/Static/images/stars-background.jpg')`}\n}\nconst _hoisted_50 = { class: \"wallet-card-extended w-100\" }\nconst _hoisted_51 = [\"alt\"]\nconst _hoisted_52 = { class: \"wallet-title\" }\nconst _hoisted_53 = { class: \"wallet-text\" }\nconst _hoisted_54 = { class: \"d-flex justify-content-end\" }\nconst _hoisted_55 = {\n key: 0,\n class: \"d-flex flex-column\"\n}\nconst _hoisted_56 = { class: \"text-bold\" }\nconst _hoisted_57 = { class: \"d-flex align-items-center justify-content-between\" }\nconst _hoisted_58 = { class: \"flex-wrap\" }\nconst _hoisted_59 = { class: \"mt-1 align-self-end justify-content-between\" }\nconst _hoisted_60 = {\n key: 3,\n class: \"visible-print\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_CartOverview = _resolveComponent(\"CartOverview\")!\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_PriceSummary = _resolveComponent(\"PriceSummary\")!\n const _component_InputText = _resolveComponent(\"InputText\")!\n const _component_AccordionTab = _resolveComponent(\"AccordionTab\")!\n const _component_Accordion = _resolveComponent(\"Accordion\")!\n const _component_ProgressSpinner = _resolveComponent(\"ProgressSpinner\")!\n const _component_Card = _resolveComponent(\"Card\")!\n const _component_CartPageSummary = _resolveComponent(\"CartPageSummary\")!\n const _component_SaveCartModal = _resolveComponent(\"SaveCartModal\")!\n const _component_ShareCartModal = _resolveComponent(\"ShareCartModal\")!\n const _component_InputNumber = _resolveComponent(\"InputNumber\")!\n const _component_OverlayPanel = _resolveComponent(\"OverlayPanel\")!\n const _component_CartPrintPreview = _resolveComponent(\"CartPrintPreview\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"h1\", null, [\n _createTextVNode(_toDisplayString(_ctx.pageTitle), 1),\n (_ctx.vm.cartTitle)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, \": \" + _toDisplayString(_ctx.vm.cartTitle), 1))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.userProfile?.isImpersonated || _ctx.userProfile?.isCadacSales)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n (_ctx.vm.cartOpportunityName)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createElementVNode(\"p\", _hoisted_7, [\n _createTextVNode(_toDisplayString(_ctx.$t(\"cart.lblSalesOpportunity\")) + \": \", 1),\n _createElementVNode(\"span\", _hoisted_8, [\n _createElementVNode(\"a\", {\n href: _ctx.vm.cartOpportunityUrl,\n title: _ctx.$t('common.goToCrm')\n }, _toDisplayString(_ctx.vm.cartOpportunityName), 9, _hoisted_9)\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.cartClient?.itemCount)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"pl-lg-0 p-button-secondary p-button-text flex-shrink-0 hidden-print\",\n icon: \"pi pi-envelope\",\n label: _ctx.$t('cart.button.shareCart'),\n title: _ctx.$t('cart.button.shareCart'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.onShareCartClick()))\n }, null, 8, [\"label\", \"title\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.cartClient?.itemCount)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 2,\n class: \"pl-lg-0 p-button-secondary p-button-text flex-shrink-0 hidden-print\",\n icon: \"pi pi-file-pdf\",\n label: _ctx.$t('cart.button.printInvoice'),\n title: _ctx.$t('cart.button.printInvoice'),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onPrintInvoiceClick()))\n }, null, 8, [\"label\", \"title\"]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n (_ctx.showOtherCartsButton)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n badge: _ctx.vm.totalNumberOfShoppingCarts.toString(),\n \"badge-class\": \"p-badge-primary\",\n class: \"p-button-primary p-button-text flex-shrink-0\",\n disabled: _ctx.isBusy,\n icon: \"pi pi-shopping-cart\",\n label: _ctx.$t('cart.button.otherCarts'),\n title: _ctx.$t('cart.button.otherCarts'),\n onClick: _cache[2] || (_cache[2] = ($event: any) => {\r\n\t\t\t\t\t\t_ctx.openUrl(`${_ctx.vm.myCartsPageUrl}`);\r\n\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t})\n }, null, 8, [\"badge\", \"disabled\", \"label\", \"title\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.showSaveCartButton)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-primary p-button-text flex-shrink-0\",\n disabled: _ctx.isBusy,\n icon: _ctx.vm.cartTitle ? 'pi pi-star-fill' : 'pi pi-star',\n label: _ctx.$t('cart.button.saveCart'),\n title: _ctx.$t('cart.button.saveCart'),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.onSaveCartClick()))\n }, null, 8, [\"disabled\", \"icon\", \"label\", \"title\"]))\n : _createCommentVNode(\"\", true),\n (!_ctx.cartStore.isCartEmpty)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 2,\n class: \"p-button-primary p-button-text flex-shrink-0\",\n disabled: _ctx.isBusy,\n icon: \"pi pi-trash\",\n label: _ctx.$t('cart.button.emptyCart'),\n title: _ctx.$t('cart.button.emptyCart'),\n onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.onDeleteCartClick()))\n }, null, 8, [\"disabled\", \"label\", \"title\"]))\n : _createCommentVNode(\"\", true),\n (!_ctx.cartStore.isCartEmpty)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 3,\n class: \"p-button-primary p-button-text flex-shrink-0\",\n disabled: _ctx.isBusy,\n icon: \"pi pi-print\",\n label: _ctx.$t('cart.button.printCart'),\n title: _ctx.$t('cart.button.printCart'),\n onClick: _cache[5] || (_cache[5] = ($event: any) => (_ctx.onPrintCartClick()))\n }, null, 8, [\"disabled\", \"label\", \"title\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n (_ctx.showCartItemsMergedMsg)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n closable: true,\n severity: \"info\",\n onClose: _cache[6] || (_cache[6] = ($event: any) => {\r\n\t\t\t\t_ctx.showCartItemsMergedMsg = false;\r\n\t\t\t\t_ctx.cookies.remove('shoppingCartsMerged', { path: '/' });\r\n\t\t\t})\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"cart.message.itemsMerged\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_11, [\n (_ctx.vm.announcements.isVisible)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.announcements.items, (announcement, index) => {\n return (_openBlock(), _createBlock(_component_Message, {\n key: index,\n closable: true,\n severity: \"info\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"p\", {\n innerHTML: announcement.body\n }, null, 8, _hoisted_13)\n ]),\n _: 2\n }, 1024))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n (!_ctx.cartStore.isCartEmpty)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n _createVNode(_component_CartOverview, { \"cart-client\": _ctx.cartClient }, null, 8, [\"cart-client\"])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_16, [\n _createVNode(_component_Message, {\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"cart.message.noItemsInCart\")), 1)\n ]),\n _: 1\n }),\n _createElementVNode(\"div\", _hoisted_17, [\n (_ctx.vm.totalNumberOfShoppingCarts && _ctx.vm.myCartsPageUrl)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n badge: _ctx.vm.totalNumberOfShoppingCarts.toString(),\n \"badge-class\": \"p-badge-primary\",\n class: \"p-button-primary p-button-outlined p-button-lg flex-shrink-0 mb-2\",\n icon: \"pi pi-shopping-cart\",\n label: _ctx.$t('cart.button.otherCarts'),\n onClick: _cache[7] || (_cache[7] = ($event: any) => {\r\n\t\t\t\t\t\t\t_ctx.openUrl(`${_ctx.vm.myCartsPageUrl}`);\r\n\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t})\n }, null, 8, [\"badge\", \"label\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.softwareOverviewUrl)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-primary p-button-lg flex-shrink-0 mb-2\",\n icon: \"pi pi-arrow-right\",\n \"icon-pos\": \"right\",\n label: _ctx.$t('cart.button.continueShopping'),\n onClick: _cache[8] || (_cache[8] = ($event: any) => {\r\n\t\t\t\t\t\t\t_ctx.openUrl(`${_ctx.vm.softwareOverviewUrl}`);\r\n\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t})\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n ]),\n (_ctx.canExchangeWallet)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_18, [\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _hoisted_21,\n (!_ctx.cartStore.hasActiveWalletCoupon)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_22, [\n _createVNode(_component_i18n_t, { keypath: \"cart.lblYouCanExchangeWalletAmount\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.formatCurrency(_ctx.cartStore.maxWalletAmount)), 1)\n ]),\n _: 1\n })\n ]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_23, [\n _createVNode(_component_i18n_t, { keypath: \"cart.lblYouHaveExchangedWalletAmount\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.formatCurrency(_ctx.cartStore.walletExchangeAmount)), 1)\n ]),\n _: 1\n })\n ]))\n ]),\n _createElementVNode(\"div\", null, [\n (!_ctx.cartStore.hasActiveWalletCoupon)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-primary\",\n label: _ctx.$t('cart.button.addWalletCoupon'),\n onClick: _cache[9] || (_cache[9] = ($event: any) => (_ctx.onExchangeWalletClick($event)))\n }, null, 8, [\"label\"]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_24, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.cartClient.appliedCouponCodes, (coupon, index) => {\n return (_openBlock(), _createBlock(_component_Button, {\n key: index,\n class: \"p-button-danger p-button-text\",\n disabled: _ctx.isSpinnerVisible('btnRemoveCoupon'),\n icon: _ctx.isSpinnerVisible('btnRemoveCoupon') ? 'pi pi-spinner' : 'pi pi-times',\n \"icon-pos\": \"right\",\n label: _ctx.$t('cart.button.removeWalletCoupon'),\n loading: _ctx.isSpinnerVisible('btnRemoveCoupon'),\n title: _ctx.$t('cart.button.removeWalletCoupon'),\n onClick: ($event: any) => (_ctx.removeCouponCode(coupon))\n }, null, 8, [\"disabled\", \"icon\", \"label\", \"loading\", \"title\", \"onClick\"]))\n }), 128))\n ]))\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.walletUnavailable)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_25, [\n _createElementVNode(\"div\", _hoisted_26, [\n _createElementVNode(\"div\", _hoisted_27, [\n _hoisted_28,\n _createElementVNode(\"span\", _hoisted_29, _toDisplayString(_ctx.$t(\"cart.lblWalletNotAvailable\")), 1)\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (!_ctx.cartStore.isCartEmpty)\n ? (_openBlock(), _createBlock(_component_CartPageSummary, {\n key: 0,\n \"button-text\": _ctx.$t('cart.button.goToCheckout'),\n \"can-submit\": _ctx.canCheckout || !_ctx.isSpinnerVisible('priceSummary'),\n \"total-price\": _ctx.priceSummary?.totalPrice,\n onClickAction: _cache[15] || (_cache[15] = ($event: any) => (_ctx.onCheckoutClick()))\n }, {\n priceSummary: _withCtx(() => [\n _createVNode(_component_PriceSummary, { vm: _ctx.priceSummary }, null, 8, [\"vm\"])\n ]),\n card: _withCtx(() => [\n (_ctx.cartClient?.itemCount)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_30, [\n _createElementVNode(\"div\", _hoisted_31, [\n _createVNode(_component_Card, { class: \"mb-3 shadow-none\" }, {\n content: _withCtx(() => [\n _createElementVNode(\"div\", {\n class: \"d-flex\",\n style: _normalizeStyle({\r\n\t\t\t\t\t\t\t\t\t'min-height': _ctx.isSmallScreen ? '' : '300px',\r\n\t\t\t\t\t\t\t\t})\n }, [\n _createElementVNode(\"div\", _hoisted_32, [\n _createElementVNode(\"div\", _hoisted_33, [\n (_ctx.cartClient?.totalWalletAmountEarned)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_34, [\n _createVNode(_component_i18n_t, { keypath: \"cart.lblWalletAmountEarned\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.formatCurrency(_ctx.cartClient?.totalWalletAmountEarned)), 1)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_35, [\n _createElementVNode(\"div\", _hoisted_36, [\n _createElementVNode(\"h1\", null, _toDisplayString(_ctx.$t(\"common.support.helpTitle\")), 1),\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.$t(\"common.support.helpText\")), 1),\n _createElementVNode(\"div\", _hoisted_37, [\n _createElementVNode(\"span\", null, [\n _createElementVNode(\"a\", {\n href: 'tel:' + _ctx.$t('common.support.phoneNumber')\n }, [\n _hoisted_39,\n _createTextVNode(_toDisplayString(_ctx.$t(\"common.support.phoneNumber\")), 1)\n ], 8, _hoisted_38)\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_40, [\n _createVNode(_component_Accordion, {\n \"active-index\": _ctx.couponFormActiveIndex,\n \"onUpdate:activeIndex\": _cache[12] || (_cache[12] = ($event: any) => ((_ctx.couponFormActiveIndex) = $event)),\n ref: \"couponForm\",\n class: \"\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_AccordionTab, {\n disabled: !_ctx.layoutStore.isAuthenticated\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_41, [\n _createElementVNode(\"span\", _hoisted_42, _toDisplayString(_ctx.$t(\"cart.lblCouponForm\")), 1),\n (_ctx.cartStore.hasActiveCoupon)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_43, _toDisplayString(_ctx.cartClient.appliedCouponCodes.length), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n default: _withCtx(() => [\n (_ctx.canExchangeCoupon && !_ctx.cartStore.hasActiveCoupon)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_44, [\n _createVNode(_component_InputText, {\n modelValue: _ctx.couponCode,\n \"onUpdate:modelValue\": _cache[10] || (_cache[10] = ($event: any) => ((_ctx.couponCode) = $event)),\n placeholder: _ctx.$t('cart.couponForm_placeholder')\n }, null, 8, [\"modelValue\", \"placeholder\"]),\n _createVNode(_component_Button, {\n class: \"p-button-primary\",\n disabled: _ctx.isSpinnerVisible('btnSubmitCoupon'),\n icon: \"pi pi-check\",\n loading: _ctx.isSpinnerVisible('btnSubmitCoupon'),\n onClick: _cache[11] || (_cache[11] = ($event: any) => (_ctx.addCouponCode()))\n }, null, 8, [\"disabled\", \"loading\"])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.canExchangeCoupon && _ctx.cartStore.hasActiveCoupon)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_45, [\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.$t(\"cart.lblActiveCoupon\")), 1),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.cartClient.appliedCouponCodes, (coupon, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: index,\n class: \"d-flex align-items-center\"\n }, [\n _createElementVNode(\"span\", _hoisted_46, _toDisplayString(coupon.name), 1),\n _createVNode(_component_Button, {\n class: \"p-button-danger p-button-text\",\n disabled: _ctx.isSpinnerVisible('btnRemoveCoupon'),\n icon: _ctx.isSpinnerVisible('btnRemoveCoupon') ? 'pi pi-spinner': 'pi pi-times',\n \"icon-pos\": \"right\",\n label: _ctx.$t('cart.button.removeCoupon'),\n loading: _ctx.isSpinnerVisible('btnRemoveCoupon'),\n title: _ctx.$t('cart.button.removeCoupon'),\n onClick: ($event: any) => (_ctx.removeCouponCode(coupon))\n }, null, 8, [\"disabled\", \"icon\", \"label\", \"loading\", \"title\", \"onClick\"])\n ]))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true),\n _withDirectives(_createElementVNode(\"p\", { class: \"p-error\" }, _toDisplayString(_ctx.firstErrorMessage), 513), [\n [_vShow, _ctx.canExchangeCoupon && _ctx.cartClient.hasError]\n ]),\n (_ctx.showCouponMessage)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_47, [\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.$t(\"cart.lblCouponNotAvailable\")), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"disabled\"])\n ]),\n _: 1\n }, 8, [\"active-index\"]),\n (!_ctx.layoutStore.isAuthenticated)\n ? (_openBlock(), _createElementBlock(\"a\", {\n key: 0,\n class: \"coupon-login\",\n href: \"javascript:void(0)\",\n onClick: _cache[13] || (_cache[13] = ($event: any) => (_ctx.goToLoginPage()))\n }, _toDisplayString(_ctx.$t(\"cart.lblCouponFormLoggedOut\")), 1))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ]),\n (!_ctx.isSmallScreen)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_48, [\n (_ctx.isSpinnerVisible('priceSummary'))\n ? (_openBlock(), _createBlock(_component_ProgressSpinner, {\n key: 0,\n \"animation-duration\": \".75s\",\n class: \"d-block ml-auto mr-0\",\n \"stroke-width\": \"3\"\n }))\n : (_openBlock(), _createBlock(_component_PriceSummary, {\n key: 1,\n vm: _ctx.priceSummary\n }, null, 8, [\"vm\"])),\n (_ctx.layoutStore.isAuthenticated && _ctx.vm.autoDeskWalletAmount && parseInt(_ctx.vm.autoDeskWalletAmount) > 0 && _ctx.priceSummary.totalPersonalPrice && parseInt(_ctx.priceSummary.totalPersonalPrice) > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_49, [\n _createElementVNode(\"div\", _hoisted_50, [\n _withDirectives(_createElementVNode(\"img\", {\n alt: _ctx.vm.autodeskLoyaltyCashbackBlock?.icon?.alt,\n class: \"wallet-icon\"\n }, null, 8, _hoisted_51), [\n [_directive_lazy, '/Static/images/autodesk-coin.png']\n ]),\n _createElementVNode(\"div\", _hoisted_52, _toDisplayString(_ctx.$t(\"cart.autodesk.gift\")), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_53, _toDisplayString(_ctx.$t(\"cart.autodesk.text\", { amount: _ctx.formatCurrency(Math.min(_ctx.vm.autoDeskWalletAmount, _ctx.priceSummary.totalPersonalPrice)) })), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (!_ctx.hasValidProfile)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 3,\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"cart.message.unverifiedEmail\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.userIsPartnerCompany)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 4,\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"cart.message.userIsPartner\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_54, [\n _createVNode(_component_Button, {\n class: \"p-button-success p-button-raised p-button-lg p-button-arrow mt-2 w-100\",\n disabled: !_ctx.canCheckout || _ctx.isSpinnerVisible('priceSummary'),\n label: _ctx.$t('cart.button.goToCheckout'),\n loading: _ctx.isBusy,\n onClick: _cache[14] || (_cache[14] = ($event: any) => (_ctx.onCheckoutClick()))\n }, null, 8, [\"disabled\", \"label\", \"loading\"])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 4)\n ]),\n _: 1\n })\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"button-text\", \"can-submit\", \"total-price\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.cartStore.showSaveCartModal)\n ? (_openBlock(), _createBlock(_component_SaveCartModal, {\n key: 1,\n \"current-title\": _ctx.vm.cartTitle,\n onCartSaved: _cache[16] || (_cache[16] = ($event: any) => (_ctx.saveCart($event)))\n }, null, 8, [\"current-title\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.cartStore.showShareCartModal)\n ? (_openBlock(), _createBlock(_component_ShareCartModal, {\n key: 2,\n vm: _ctx.vm,\n onCartShared: _cache[17] || (_cache[17] = ($event: any) => (_ctx.shareCart($event)))\n }, null, 8, [\"vm\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_OverlayPanel, {\n ref: \"useWalletPanel\",\n dismissable: true,\n \"show-close-icon\": true\n }, {\n default: _withCtx(() => [\n (!_ctx.cartStore.hasActiveWalletCoupon)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_55, [\n _createElementVNode(\"p\", _hoisted_56, _toDisplayString(_ctx.$t(\"cart.lblExchangeAmount\")), 1),\n _createElementVNode(\"div\", _hoisted_57, [\n _createElementVNode(\"div\", _hoisted_58, [\n _createVNode(_component_InputNumber, {\n modelValue: _ctx.cartStore.walletExchangeAmount,\n \"onUpdate:modelValue\": _cache[18] || (_cache[18] = ($event: any) => ((_ctx.cartStore.walletExchangeAmount) = $event)),\n currency: _ctx.currentCurrency,\n locale: _ctx.currentRegion,\n max: _ctx.cartStore.maxWalletAmount,\n \"max-fraction-digits\": 2,\n min: 0.01,\n \"min-fraction-digits\": 2,\n mode: \"currency\"\n }, null, 8, [\"modelValue\", \"currency\", \"locale\", \"max\"]),\n _createElementVNode(\"small\", null, \"Max: \" + _toDisplayString(_ctx.formatCurrency(_ctx.cartStore.maxWalletAmount)), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_59, [\n _createVNode(_component_Button, {\n class: \"p-button-text\",\n disabled: _ctx.isSpinnerVisible('btnExchangeWallet'),\n icon: _ctx.isSpinnerVisible('btnExchangeWallet') ? 'pi pi-spinner spin' : 'pi pi-check',\n label: _ctx.$t('cart.button.exchange'),\n loading: _ctx.isSpinnerVisible('btnExchangeWallet'),\n onClick: _cache[19] || (_cache[19] = ($event: any) => (_ctx.exchangeWalletAmount()))\n }, null, 8, [\"disabled\", \"icon\", \"label\", \"loading\"])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 512),\n (_ctx.cartClient)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_60, [\n _createVNode(_component_CartPrintPreview, {\n \"cart-client\": _ctx.cartClient,\n \"checkout-form\": _ctx.vm.checkoutForm,\n \"is-invoice\": _ctx.printInvoice,\n title: _ctx.vm.cartTitle ? _ctx.vm.cartTitle : _ctx.vm.pageTitle\n }, null, 8, [\"cart-client\", \"checkout-form\", \"is-invoice\", \"title\"])\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<div class=\"container hidden-print\">\r\n\t\t<div class=\"row my-2 my-lg-3\">\r\n\t\t\t<div class=\"col-md-6 col-lg-5\">\r\n\t\t\t\t<h1>\r\n\t\t\t\t\t{{ pageTitle }}<span v-if=\"vm.cartTitle\">: {{ vm.cartTitle }}</span>\r\n\t\t\t\t</h1>\r\n\t\t\t\t<div v-if=\"userProfile?.isImpersonated || userProfile?.isCadacSales\">\r\n\t\t\t\t\t<div v-if=\"vm.cartOpportunityName\">\r\n\t\t\t\t\t\t<p class=\"text-muted\">\r\n\t\t\t\t\t\t\t{{ $t(\"cart.lblSalesOpportunity\") }}:\r\n\t\t\t\t\t\t\t<span class=\"text-bold\">\r\n\t\t\t\t\t\t\t\t<a :href=\"vm.cartOpportunityUrl\" :title=\"$t('common.goToCrm')\">\r\n\t\t\t\t\t\t\t\t\t{{ vm.cartOpportunityName }}\r\n\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<Button v-if=\"cartClient?.itemCount\"\r\n\t\t\t\t\t\t\tclass=\"pl-lg-0 p-button-secondary p-button-text flex-shrink-0 hidden-print\"\r\n\t\t\t\t\t\t\ticon=\"pi pi-envelope\"\r\n\t\t\t\t\t\t\t:label=\"$t('cart.button.shareCart')\"\r\n\t\t\t\t\t\t\t:title=\"$t('cart.button.shareCart')\"\r\n\t\t\t\t\t\t\t@click=\"onShareCartClick()\" />\r\n\t\t\t\t\t<Button v-if=\"cartClient?.itemCount\"\r\n\t\t\t\t\t\t\tclass=\"pl-lg-0 p-button-secondary p-button-text flex-shrink-0 hidden-print\"\r\n\t\t\t\t\t\t\ticon=\"pi pi-file-pdf\"\r\n\t\t\t\t\t\t\t:label=\"$t('cart.button.printInvoice')\"\r\n\t\t\t\t\t\t\t:title=\"$t('cart.button.printInvoice')\"\r\n\t\t\t\t\t\t\t@click=\"onPrintInvoiceClick()\" />\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"col-md-6 col-lg-7 d-flex h-100 flex-column align-items-start flex-lg-row justify-content-lg-end flex-wrap-reverse\">\r\n\t\t\t\t<Button v-if=\"showOtherCartsButton\"\r\n\t\t\t\t\t\t:badge=\"vm.totalNumberOfShoppingCarts.toString()\"\r\n\t\t\t\t\t\tbadge-class=\"p-badge-primary\"\r\n\t\t\t\t\t\tclass=\"p-button-primary p-button-text flex-shrink-0\"\r\n\t\t\t\t\t\t:disabled=\"isBusy\"\r\n\t\t\t\t\t\ticon=\"pi pi-shopping-cart\"\r\n\t\t\t\t\t\t:label=\"$t('cart.button.otherCarts')\"\r\n\t\t\t\t\t\t:title=\"$t('cart.button.otherCarts')\"\r\n\t\t\t\t\t\t@click=\"\r\n\t\t\t\t\t\topenUrl(`${vm.myCartsPageUrl}`);\r\n\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\" />\r\n\t\t\t\t<Button v-if=\"showSaveCartButton\"\r\n\t\t\t\t\t\tclass=\"p-button-primary p-button-text flex-shrink-0\"\r\n\t\t\t\t\t\t:disabled=\"isBusy\"\r\n\t\t\t\t\t\t:icon=\"vm.cartTitle ? 'pi pi-star-fill' : 'pi pi-star'\"\r\n\t\t\t\t\t\t:label=\"$t('cart.button.saveCart')\"\r\n\t\t\t\t\t\t:title=\"$t('cart.button.saveCart')\"\r\n\t\t\t\t\t\t@click=\"onSaveCartClick()\" />\r\n\t\t\t\t<Button v-if=\"!cartStore.isCartEmpty\"\r\n\t\t\t\t\t\tclass=\"p-button-primary p-button-text flex-shrink-0\"\r\n\t\t\t\t\t\t:disabled=\"isBusy\"\r\n\t\t\t\t\t\ticon=\"pi pi-trash\"\r\n\t\t\t\t\t\t:label=\"$t('cart.button.emptyCart')\"\r\n\t\t\t\t\t\t:title=\"$t('cart.button.emptyCart')\"\r\n\t\t\t\t\t\t@click=\"onDeleteCartClick()\" />\r\n\t\t\t\t<Button v-if=\"!cartStore.isCartEmpty\"\r\n\t\t\t\t\t\tclass=\"p-button-primary p-button-text flex-shrink-0\"\r\n\t\t\t\t\t\t:disabled=\"isBusy\"\r\n\t\t\t\t\t\ticon=\"pi pi-print\"\r\n\t\t\t\t\t\t:label=\"$t('cart.button.printCart')\"\r\n\t\t\t\t\t\t:title=\"$t('cart.button.printCart')\"\r\n\t\t\t\t\t\t@click=\"onPrintCartClick()\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<Message v-if=\"showCartItemsMergedMsg\"\r\n\t\t\t\t :closable=\"true\"\r\n\t\t\t\t severity=\"info\"\r\n\t\t\t\t @close=\"\r\n\t\t\t\tshowCartItemsMergedMsg = false;\r\n\t\t\t\tcookies.remove('shoppingCartsMerged', { path: '/' });\r\n\t\t\t\">\r\n\t\t\t{{ $t(\"cart.message.itemsMerged\") }}\r\n\t\t</Message>\r\n\r\n\t\t<div class=\"row\">\r\n\t\t\t<div v-if=\"vm.announcements.isVisible\" class=\"col-12\">\r\n\t\t\t\t<Message v-for=\"(announcement, index) in vm.announcements.items\"\r\n\t\t\t\t\t\t :key=\"index\"\r\n\t\t\t\t\t\t :closable=\"true\"\r\n\t\t\t\t\t\t severity=\"info\">\r\n\t\t\t\t\t<p v-html=\"announcement.body\"></p>\r\n\t\t\t\t</Message>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"row mb-2\">\r\n\t\t\t<div v-if=\"!cartStore.isCartEmpty\" class=\"col-12\">\r\n\t\t\t\t<CartOverview :cart-client=\"cartClient\" />\r\n\t\t\t</div>\r\n\t\t\t<div v-else class=\"col-12\">\r\n\t\t\t\t<Message :closable=\"false\" severity=\"warn\">\r\n\t\t\t\t\t{{ $t(\"cart.message.noItemsInCart\") }}\r\n\t\t\t\t</Message>\r\n\t\t\t\t<div class=\"d-flex justify-content-between flex-wrap\">\r\n\t\t\t\t\t<Button v-if=\"vm.totalNumberOfShoppingCarts && vm.myCartsPageUrl\"\r\n\t\t\t\t\t\t\t:badge=\"vm.totalNumberOfShoppingCarts.toString()\"\r\n\t\t\t\t\t\t\tbadge-class=\"p-badge-primary\"\r\n\t\t\t\t\t\t\tclass=\"p-button-primary p-button-outlined p-button-lg flex-shrink-0 mb-2\"\r\n\t\t\t\t\t\t\ticon=\"pi pi-shopping-cart\"\r\n\t\t\t\t\t\t\t:label=\"$t('cart.button.otherCarts')\"\r\n\t\t\t\t\t\t\t@click=\"\r\n\t\t\t\t\t\t\topenUrl(`${vm.myCartsPageUrl}`);\r\n\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t\" />\r\n\t\t\t\t\t<Button v-if=\"vm.softwareOverviewUrl\"\r\n\t\t\t\t\t\t\tclass=\"p-button-primary p-button-lg flex-shrink-0 mb-2\"\r\n\t\t\t\t\t\t\ticon=\"pi pi-arrow-right\"\r\n\t\t\t\t\t\t\ticon-pos=\"right\"\r\n\t\t\t\t\t\t\t:label=\"$t('cart.button.continueShopping')\"\r\n\t\t\t\t\t\t\t@click=\"\r\n\t\t\t\t\t\t\topenUrl(`${vm.softwareOverviewUrl}`);\r\n\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t\" />\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div v-if=\"canExchangeWallet\" class=\"wallet-message p-message p-component\">\r\n\t\t\t<div class=\"p-message-wrapper justify-content-between flex-wrap\">\r\n\t\t\t\t<div class=\"d-flex align-items-center mb-1 mb-lg-0\">\r\n\t\t\t\t\t<svg class=\"mr-1\" height=\"46\" width=\"46\">\r\n\t\t\t\t\t\t<use xlink:href=\"#icon-wallet\"></use>\r\n\t\t\t\t\t</svg>\r\n\t\t\t\t\t<span v-if=\"!cartStore.hasActiveWalletCoupon\" class=\"text-primary\">\r\n\t\t\t\t\t\t<i18n-t keypath=\"cart.lblYouCanExchangeWalletAmount\">\r\n\t\t\t\t\t\t\t<b>{{ formatCurrency(cartStore.maxWalletAmount) }} </b>\r\n\t\t\t\t\t\t</i18n-t>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t\t<span v-else class=\"text-primary\">\r\n\t\t\t\t\t\t<i18n-t keypath=\"cart.lblYouHaveExchangedWalletAmount\">\r\n\t\t\t\t\t\t\t<b>{{ formatCurrency(cartStore.walletExchangeAmount) }} </b>\r\n\t\t\t\t\t\t</i18n-t>\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<Button v-if=\"!cartStore.hasActiveWalletCoupon\"\r\n\t\t\t\t\t\t\tclass=\"p-button-primary\"\r\n\t\t\t\t\t\t\t:label=\"$t('cart.button.addWalletCoupon')\"\r\n\t\t\t\t\t\t\t@click=\"onExchangeWalletClick($event)\" />\r\n\t\t\t\t\t<div v-else class=\"d-flex align-items-center\">\r\n\t\t\t\t\t\t<Button v-for=\"(coupon, index) in cartClient.appliedCouponCodes\"\r\n\t\t\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\t\t\tclass=\"p-button-danger p-button-text\"\r\n\t\t\t\t\t\t\t\t:disabled=\"isSpinnerVisible('btnRemoveCoupon')\"\r\n\t\t\t\t\t\t\t\t:icon=\"isSpinnerVisible('btnRemoveCoupon') ? 'pi pi-spinner' : 'pi pi-times'\"\r\n\t\t\t\t\t\t\t\ticon-pos=\"right\"\r\n\t\t\t\t\t\t\t\t:label=\"$t('cart.button.removeWalletCoupon')\"\r\n\t\t\t\t\t\t\t\t:loading=\"isSpinnerVisible('btnRemoveCoupon')\"\r\n\t\t\t\t\t\t\t\t:title=\"$t('cart.button.removeWalletCoupon')\"\r\n\t\t\t\t\t\t\t\t@click=\"removeCouponCode(coupon)\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div v-if=\"walletUnavailable\" class=\"wallet-message p-message p-component\">\r\n\t\t\t<div class=\"p-message-wrapper justify-content-between flex-wrap\">\r\n\t\t\t\t<div class=\"d-flex align-items-center mb-1 mb-lg-0\">\r\n\t\t\t\t\t<svg class=\"mr-1\" height=\"46\" width=\"46\">\r\n\t\t\t\t\t\t<use xlink:href=\"#icon-wallet\"></use>\r\n\t\t\t\t\t</svg>\r\n\t\t\t\t\t<span class=\"text-primary\">\r\n\t\t\t\t\t\t{{ $t(\"cart.lblWalletNotAvailable\") }}\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<CartPageSummary\r\n\t\tv-if=\"!cartStore.isCartEmpty\"\r\n\t\t:button-text=\"$t('cart.button.goToCheckout')\"\r\n\t\t:can-submit=\"canCheckout || !isSpinnerVisible('priceSummary')\"\r\n\t\t:total-price=\"priceSummary?.totalPrice\"\r\n\t\t@clickAction=\"onCheckoutClick()\"\r\n\t>\r\n\t\t<template #priceSummary>\r\n\t\t\t<PriceSummary :vm=\"priceSummary\" />\r\n\t\t</template>\r\n\r\n\t\t<template #card>\r\n\t\t\t<div v-if=\"cartClient?.itemCount\" class=\"container hidden-print\">\r\n\t\t\t\t<div class=\"\">\r\n\t\t\t\t\t<Card class=\"mb-3 shadow-none\">\r\n\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t<div class=\"d-flex\"\r\n\t\t\t\t\t\t\t\t :style=\"{\r\n\t\t\t\t\t\t\t\t\t'min-height': isSmallScreen ? '' : '300px',\r\n\t\t\t\t\t\t\t\t}\">\r\n\t\t\t\t\t\t\t\t<div class=\"d-flex w-100\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"d-flex flex-column w-100\">\r\n\t\t\t\t\t\t\t\t\t\t<div v-if=\"cartClient?.totalWalletAmountEarned\" class=\"wallet-earning\">\r\n\t\t\t\t\t\t\t\t\t\t\t<i18n-t keypath=\"cart.lblWalletAmountEarned\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<b>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ formatCurrency(cartClient?.totalWalletAmountEarned) }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t</b>\r\n\t\t\t\t\t\t\t\t\t\t\t</i18n-t>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"left-container\" :style=\"{'background-image': `url('/Static/images/yaron1.png')`}\">\r\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"help-text\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<h1>{{ $t(\"common.support.helpTitle\") }}</h1>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<p>{{ $t(\"common.support.helpText\") }}</p>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"contact-info\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a :href=\"'tel:' + $t('common.support.phoneNumber')\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"pi pi-phone pr-1\"></i>{{ $t(\"common.support.phoneNumber\") }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"d-flex flex-column mx-2\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<Accordion v-model:active-index=\"couponFormActiveIndex\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t ref=\"couponForm\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t class=\"\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<!--Coupon tab-->\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<AccordionTab :disabled=\"!layoutStore.isAuthenticated\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"d-flex justify-content-between\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"text-primary\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{$t(\"cart.lblCouponForm\")}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span v-if=\"cartStore.hasActiveCoupon\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t class=\"p-badge p-badge-primary\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ cartClient.appliedCouponCodes.length }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div v-if=\"canExchangeCoupon && !cartStore.hasActiveCoupon\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t class=\"p-inputgroup\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<InputText v-model=\"couponCode\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t :placeholder=\"$t('cart.couponForm_placeholder')\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Button class=\"p-button-primary\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:disabled=\"isSpinnerVisible('btnSubmitCoupon')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticon=\"pi pi-check\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:loading=\"isSpinnerVisible('btnSubmitCoupon')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"addCouponCode()\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div v-if=\"canExchangeCoupon && cartStore.hasActiveCoupon\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>{{ $t(\"cart.lblActiveCoupon\") }}</p>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div v-for=\"(coupon, index) in cartClient.appliedCouponCodes\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t :key=\"index\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t class=\"d-flex align-items-center\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"text-bold mr-2\">{{ coupon.name }}</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Button class=\"p-button-danger p-button-text\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:disabled=\"isSpinnerVisible('btnRemoveCoupon')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:icon=\"isSpinnerVisible('btnRemoveCoupon') ? 'pi pi-spinner': 'pi pi-times'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticon-pos=\"right\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:label=\"$t('cart.button.removeCoupon')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:loading=\"isSpinnerVisible('btnRemoveCoupon')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:title=\"$t('cart.button.removeCoupon')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"removeCouponCode(coupon)\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p v-show=\"canExchangeCoupon && cartClient.hasError\" class=\"p-error\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ firstErrorMessage }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div v-if=\"showCouponMessage\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>{{ $t(\"cart.lblCouponNotAvailable\") }}</p>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</AccordionTab>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</Accordion>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<a v-if=\"!layoutStore.isAuthenticated\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t class=\"coupon-login\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t href=\"javascript:void(0)\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t @click=\"goToLoginPage()\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ $t(\"cart.lblCouponFormLoggedOut\") }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\t\r\n\t\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t\t<div v-if=\"!isSmallScreen\" class=\"col-lg-6 col-xl-6 col-xxl-5 ml-auto p-3 right-container\">\r\n\t\t\t\t\t\t\t\t\t<ProgressSpinner v-if=\"isSpinnerVisible('priceSummary')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t animation-duration=\".75s\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t class=\"d-block ml-auto mr-0\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t stroke-width=\"3\" />\r\n\t\t\t\t\t\t\t\t\t<PriceSummary v-else :vm=\"priceSummary\" />\r\n\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t v-if=\"layoutStore.isAuthenticated && vm.autoDeskWalletAmount && parseInt(vm.autoDeskWalletAmount) > 0 && priceSummary.totalPersonalPrice && parseInt(priceSummary.totalPersonalPrice) > 0\" \r\n\t\t\t\t\t\t\t\t\t\t class=\"wallet-card-container\" \r\n\t\t\t\t\t\t\t\t\t\t :style=\"{'background-image': `url('/Static/images/stars-background.jpg')`}\"\r\n\t\t\t\t\t\t\t\t\t\t >\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"wallet-card-extended w-100\">\r\n\t\t\t\t\t\t\t\t\t\t\t<img v-lazy=\"'/Static/images/autodesk-coin.png'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t :alt=\"vm.autodeskLoyaltyCashbackBlock?.icon?.alt\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t class=\"wallet-icon\" />\r\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"wallet-title\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{$t(\"cart.autodesk.gift\")}}\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"wallet-text\">\r\n\t\t\t\t\t\t\t\t\t\t\t{{$t(\"cart.autodesk.text\", { amount: formatCurrency(Math.min(vm.autoDeskWalletAmount, priceSummary.totalPersonalPrice)) })}}\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t\t\t<Message v-if=\"!hasValidProfile\" :closable=\"false\" severity=\"warn\">\r\n\t\t\t\t\t\t\t\t\t\t{{ $t(\"cart.message.unverifiedEmail\") }}\r\n\t\t\t\t\t\t\t\t\t</Message>\r\n\t\t\t\t\t\t\t\t\t<Message v-if=\"vm.userIsPartnerCompany\" :closable=\"false\" severity=\"warn\">\r\n\t\t\t\t\t\t\t\t\t\t{{ $t(\"cart.message.userIsPartner\") }}\r\n\t\t\t\t\t\t\t\t\t</Message>\r\n\t\t\t\t\t\t\t\t\t<div class=\"d-flex justify-content-end\">\r\n\t\t\t\t\t\t\t\t\t\t<Button class=\"p-button-success p-button-raised p-button-lg p-button-arrow mt-2 w-100\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t:disabled=\"!canCheckout || isSpinnerVisible('priceSummary')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t:label=\"$t('cart.button.goToCheckout')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t:loading=\"isBusy\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t@click=\"onCheckoutClick()\" />\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</Card>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t</CartPageSummary>\r\n\t<SaveCartModal\r\n\t\tv-if=\"cartStore.showSaveCartModal\"\r\n\t\t:current-title=\"vm.cartTitle\"\r\n\t\t@cart-saved=\"saveCart($event)\"\r\n\t/>\r\n\t<ShareCartModal v-if=\"cartStore.showShareCartModal\" :vm=\"vm\" @cart-shared=\"shareCart($event)\" />\r\n\t<!-- Wallet exchange overlay panel -->\r\n\t<OverlayPanel ref=\"useWalletPanel\" :dismissable=\"true\" :show-close-icon=\"true\">\r\n\t\t<div v-if=\"!cartStore.hasActiveWalletCoupon\" class=\"d-flex flex-column\">\r\n\t\t\t<p class=\"text-bold\">{{ $t(\"cart.lblExchangeAmount\") }}</p>\r\n\t\t\t<div class=\"d-flex align-items-center justify-content-between\">\r\n\t\t\t\t<div class=\"flex-wrap\">\r\n\t\t\t\t\t<InputNumber\r\n\t\t\t\t\t\tv-model=\"cartStore.walletExchangeAmount\"\r\n\t\t\t\t\t\t:currency=\"currentCurrency\"\r\n\t\t\t\t\t\t:locale=\"currentRegion\"\r\n\t\t\t\t\t\t:max=\"cartStore.maxWalletAmount\"\r\n\t\t\t\t\t\t:max-fraction-digits=\"2\"\r\n\t\t\t\t\t\t:min=\"0.01\"\r\n\t\t\t\t\t\t:min-fraction-digits=\"2\"\r\n\t\t\t\t\t\tmode=\"currency\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<small>Max: {{ formatCurrency(cartStore.maxWalletAmount) }}</small>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"mt-1 align-self-end justify-content-between\">\r\n\t\t\t\t<Button\r\n\t\t\t\t\tclass=\"p-button-text\"\r\n\t\t\t\t\t:disabled=\"isSpinnerVisible('btnExchangeWallet')\"\r\n\t\t\t\t\t:icon=\"isSpinnerVisible('btnExchangeWallet') ? 'pi pi-spinner spin' : 'pi pi-check'\"\r\n\t\t\t\t\t:label=\"$t('cart.button.exchange')\"\r\n\t\t\t\t\t:loading=\"isSpinnerVisible('btnExchangeWallet')\"\r\n\t\t\t\t\t@click=\"exchangeWalletAmount()\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</OverlayPanel>\r\n\t<div v-if=\"cartClient\" class=\"visible-print\">\r\n\t\t<CartPrintPreview\r\n\t\t\t:cart-client=\"cartClient\"\r\n\t\t\t:checkout-form=\"vm.checkoutForm\"\r\n\t\t\t:is-invoice=\"printInvoice\"\r\n\t\t\t:title=\"vm.cartTitle ? vm.cartTitle : vm.pageTitle\"\r\n\t\t/>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport Accordion from \"primevue/accordion\";\r\nimport AccordionTab from \"primevue/accordiontab\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport CartOverview from \"@/components/commerce/cart/cartOverview.vue\";\r\nimport CartPageSummary from \"@/components/commerce/cart/cartPageSummary.vue\";\r\nimport CartPrintPreview from \"@/components/commerce/cart/cartPrintPreview.vue\";\r\nimport OverlayPanel from \"primevue/overlaypanel\";\r\nimport PriceSummary from \"@/components/common/priceSummary.vue\";\r\nimport ProgressSpinner from \"primevue/progressspinner\";\r\nimport SaveCartModal from \"@/components/commerce/cart/saveCartModal.vue\";\r\nimport ShareCartModal from \"@/components/commerce/cart/shareCartModal.vue\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { CartClient } from \"@/types/models/cart/cartClient\";\r\nimport { CartSaveForm } from \"@/types/models/form/cartSaveForm\";\r\nimport { CartShareForm } from \"@/types/models/form/cartShareForm\";\r\nimport { Component, Prop, Ref } from \"vue-facing-decorator\";\r\nimport { CouponCode } from \"@/types/generated/Api/couponCode\";\r\nimport { IPriceSummary } from \"@/types/models/common/priceSummary.interface\";\r\nimport { IShoppingCart } from \"@/types/viewModels/commerce/shoppingCartViewModel\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { concat, sum } from \"lodash\";\r\nimport { useCartStore } from \"@/store/commerce/cartStore\";\r\nimport { useCookies } from \"@vueuse/integrations/useCookies\";\r\nimport { GaEvent } from \"@/types/models/googleAnalytics/enum/gaEvent\";\r\nimport toFixed from \"accounting-js/lib/toFixed.js\";\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tAccordion,\r\n\t\tAccordionTab,\r\n\t\tCartOverview,\r\n\t\tCartPageSummary,\r\n\t\tCartPrintPreview,\r\n\t\tSaveCartModal,\r\n\t\tShareCartModal,\r\n\t\tPriceSummary,\r\n\t\tProgressSpinner,\r\n\t\tOverlayPanel,\r\n\t},\r\n})\r\nexport default class ShoppingCart extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IShoppingCart>, required: true, default: {} }) vm!: IShoppingCart;\r\n\t@Ref useWalletPanel!: OverlayPanel;\r\n\r\n\tcartStore = useCartStore();\r\n\r\n\tisLoading = false;\r\n\tcouponFormActiveIndex = -1;\r\n\tcouponCode = \"\";\r\n\tshowCartItemsMergedMsg = false;\r\n\tprintInvoice = false;\r\n\tcookies = useCookies([\"shoppingCartsMerged\"]);\r\n\r\n\tget cartClient(): CartClient {\r\n\t\treturn this.cartStore.cartClient;\r\n\t}\r\n\r\n\tget canCheckout(): boolean {\r\n\t\treturn (\r\n\t\t\t!this.isBusy &&\r\n\t\t\t!!this.vm.checkoutPageUrl &&\r\n\t\t\t!this.vm.userIsPartnerCompany &&\r\n\t\t\tthis.hasValidProfile &&\r\n\t\t\t!this.cartStore.isCartEmpty\r\n\t\t);\r\n\t}\r\n\r\n\tget hasValidProfile(): boolean {\r\n\t\treturn (\r\n\t\t\t!this.layoutStore.isAuthenticated ||\r\n\t\t\t!!(this.userProfile?.isEmailVerified || this.userProfile?.isImpersonated)\r\n\t\t);\r\n\t}\r\n\r\n\tget canExchangeWallet(): boolean {\r\n\t\treturn !this.cartStore.isCartEmpty && !this.cartStore.hasActiveCoupon && this.vm.canUseWallet;\r\n\t}\r\n\r\n\tget walletUnavailable(): boolean {\r\n\t\treturn this.cartStore.hasActiveCoupon && this.canExchangeWallet;\r\n\t}\r\n\r\n\tget showCouponMessage(): boolean {\r\n\t\treturn this.cartStore.hasActiveWalletCoupon;\r\n\t}\r\n\r\n\tget canExchangeCoupon(): boolean {\r\n\t\treturn !this.cartStore.hasActiveWalletCoupon;\r\n\t}\r\n\r\n\tget pageTitle(): string {\r\n\t\treturn this.vm.cartTitle && this.vm.titleEnabled\r\n\t\t\t? `${this.vm.pageTitle}: ${this.vm.cartTitle}`\r\n\t\t\t: this.vm.pageTitle;\r\n\t}\r\n\r\n\tget firstErrorMessage(): string {\t\t\r\n\t\treturn this.cartClient?.messages?.length ? this.cartClient.messages[0] : \"\";\r\n\t}\r\n\r\n\tget priceSummary(): IPriceSummary {\r\n\t\tconst {\r\n\t\t\tappliedCouponCodes,\r\n\t\t\ttotalBasePrice,\r\n\t\t\tsubtotalWithoutVat,\r\n\t\t\tpersonalDiscount,\r\n\t\t\ttotalPrice,\r\n\t\t\ttotalInstallationPrice,\r\n\t\t\tvatPercentage,\r\n\t\t\tvatAmount,\r\n\t\t\tvatSituation,\r\n\t\t} = this.cartClient;\r\n\t\tconst couponDiscount = sum(appliedCouponCodes?.map((x) => x.discount));\r\n\t\tconst discountLines = new Map<string, number>();\r\n\t\tappliedCouponCodes?.forEach((coupon: CouponCode) => {\r\n\t\t\tconst name = coupon.isCadacWallet ? this.$t(\"cart.lblCadacWallet\") : coupon.name;\r\n\t\t\tdiscountLines.set(name, coupon.discount);\r\n\t\t});\r\n\t\treturn {\r\n\t\t\ttotalBasePrice,\r\n\t\t\tdiscountLines: discountLines,\r\n\t\t\ttotalCouponDiscount: couponDiscount,\r\n\t\t\ttotalDiscount: personalDiscount + couponDiscount,\r\n\t\t\ttotalPersonalPrice: subtotalWithoutVat,\r\n\t\t\ttotalInstallPrice: totalInstallationPrice,\r\n\t\t\ttotalPrice,\r\n\t\t\tvatPercentage,\r\n\t\t\tvatAmount,\r\n\t\t\tvatSituation,\r\n\t\t} as IPriceSummary;\r\n\t}\r\n\r\n\tget showOtherCartsButton(): boolean {\r\n\t\treturn !this.cartStore.isCartEmpty && this.vm.totalNumberOfShoppingCarts > 0 && !!this.vm.myCartsPageUrl;\r\n\t}\r\n\r\n\tget showSaveCartButton(): boolean {\r\n\t\treturn (\r\n\t\t\t!this.cartStore.isCartEmpty &&\r\n\t\t\t!!(this.userProfile?.isEmailVerified || this.userProfile?.isImpersonated)\r\n\t\t);\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.cartStore.cartClient = this.vm.cartClient;\r\n\t\tthis.couponFormActiveIndex = this.cartStore.hasActiveWalletCoupon\r\n\t\t\t? 0\r\n\t\t\t: this.cartStore.hasActiveCoupon\r\n\t\t\t\t? 1\r\n\t\t\t\t: -1;\r\n\t\tthis.cartStore.updateWalletAmount();\r\n\t\t// Check if Carts were merged.\r\n\t\tif (this.cookies.get(\"shoppingCartsMerged\")) {\r\n\t\t\tthis.showCartItemsMergedMsg = true;\r\n\t\t\tthis.cookies.remove(\"shoppingCartsMerged\", { path: \"/\" });\r\n\t\t}\r\n\r\n\t\tconst eCommerceDataLayer = this.constructECommerceDataLayer(\r\n\t\t\tGaEvent.ViewCart,\r\n\t\t\ttoFixed(this.priceSummary.totalPersonalPrice, 2),\r\n\t\t\tthis.cartStore.allCartLineClients.map((item) => ({\r\n\t\t\t\t...item,\r\n\t\t\t\tname: item.title,\r\n\t\t\t\tpriceSubTotal: item.priceSubTotal / (item.amount || 1),\r\n\t\t\t\tpriceBase: item.priceSubTotal / (item.amount || 1),\r\n\t\t\t\tdiscount: item.discount / (item.amount || 1),\r\n\t\t\t})),\r\n\t\t\tnull\r\n\t\t);\r\n\r\n\t\tconst checkoutDataLayer = this.constructCheckoutData(0, \"shopping_cart\", 4);\r\n\t\tthis.setDataLayer.viewCart(eCommerceDataLayer, checkoutDataLayer);\r\n\t}\r\n\r\n\tonCheckoutClick(): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tconst eCommerceDataLayer = this.constructECommerceDataLayer(\r\n\t\t\tGaEvent.BeginCheckout,\r\n\t\t\ttoFixed(this.priceSummary.totalPersonalPrice, 2),\r\n\t\t\tthis.cartStore.allCartLineClients.map((item) => ({\r\n\t\t\t\t...item,\r\n\t\t\t\tname: item.title,\r\n\t\t\t\tpriceSubTotal: item.priceSubTotal / (item.amount || 1),\r\n\t\t\t\tpriceBase: item.priceSubTotal / (item.amount || 1),\r\n\t\t\t\tdiscount: item.discount / (item.amount || 1),\r\n\t\t\t}))\r\n\t\t);\r\n\r\n\t\tconst checkoutDataLayer = this.constructCheckoutData(0, \"begin_checkout\", 4);\r\n\t\tconst orderDataDataLayer = {\r\n\t\t\tcoupon: this.toSnakeCase(this.couponCode) || null,\r\n\t\t};\r\n\t\tthis.setDataLayer.beginCheckout(eCommerceDataLayer, checkoutDataLayer, orderDataDataLayer);\r\n\t\tif (this.userProfile && (this.userProfile.isEmailVerified || this.userProfile.isImpersonated)) {\r\n\t\t\tthis.openUrl(this.vm.checkoutPageUrl);\r\n\t\t} else {\r\n\t\t\tthis.goToLoginPage();\r\n\t\t}\r\n\t}\r\n\r\n\tonDeleteCartClick(): void {\r\n\t\tthis.$confirm.require({\r\n\t\t\tmessage: this.$t(\"cart.dialog.confirmDeleteCartMessage\"),\r\n\t\t\theader: this.$t(\"cart.dialog.confirmDeleteCartTitle\"),\r\n\t\t\tacceptLabel: this.$t(\"common.yes\"),\r\n\t\t\trejectLabel: this.$t(\"common.no\"),\r\n\t\t\taccept: () => {\r\n\t\t\t\tthis.deleteCart();\r\n\t\t\t},\r\n\t\t});\r\n\t}\r\n\r\n\tonPrintCartClick(): void {\r\n\t\tthis.printInvoice = false;\r\n\t\tthis.$nextTick(() => window.print());\r\n\t}\r\n\r\n\tonPrintInvoiceClick(): void {\r\n\t\tthis.printInvoice = true;\r\n\t\tthis.$nextTick(() => window.print());\r\n\t}\r\n\r\n\tonSaveCartClick(): void {\r\n\t\tthis.cartStore.showModal(\"SaveCart\");\r\n\t}\r\n\r\n\tonShareCartClick(): void {\r\n\t\tthis.cartStore.showModal(\"ShareCart\");\r\n\t}\r\n\r\n\tgoToLoginPage(): void {\r\n\t\tthis.openUrl(this.loginPageUrl);\r\n\t}\r\n\r\n\tonExchangeWalletClick(event: Event): void {\r\n\t\tthis.useWalletPanel.toggle(event);\r\n\t}\r\n\r\n\tprotected addCouponCode(): void {\r\n\t\tif (this.isSpinnerVisible(\"btnSubmitCoupon\")) return;\r\n\t\tthis.loadingStore.showSpinner(\"btnSubmitCoupon\");\r\n\t\tthis.cartStore\r\n\t\t\t.addCouponCode(this.couponCode)\r\n\t\t\t.then(() => {\r\n\t\t\t\tif (this.cartClient.appliedCouponCodes?.length && !this.cartClient.hasError) {\r\n\t\t\t\t\t// update cart\r\n\t\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\t\tseverity: \"success\",\r\n\t\t\t\t\t\tdetail: this.$t(\"cart.toast.addCouponSuccess\"),\r\n\t\t\t\t\t\tlife: 3000,\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\t\tdetail: this.$t(\"cart.toast.addCouponError\"),\r\n\t\t\t\t\t\tlife: 3000,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t})\r\n\t\t\t.finally(() => this.loadingStore.hideSpinner(\"btnSubmitCoupon\"));\r\n\t}\r\n\r\n\tprotected removeCouponCode(coupon: CouponCode): void {\r\n\t\tif (this.isSpinnerVisible(\"btnRemoveCoupon\")) return;\r\n\t\tthis.loadingStore.showSpinner(\"btnRemoveCoupon\");\r\n\t\tthis.cartStore\r\n\t\t\t.removeCouponCode(coupon.value)\r\n\t\t\t.then(() => {\r\n\t\t\t\tif (!this.cartClient.hasError) {\r\n\t\t\t\t\tthis.couponFormActiveIndex = -1;\r\n\t\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\t\tseverity: \"success\",\r\n\t\t\t\t\t\tdetail: coupon?.isCadacWallet\r\n\t\t\t\t\t\t\t? this.$t(\"cart.toast.removeWalletSuccess\")\r\n\t\t\t\t\t\t\t: this.$t(\"cart.toast.removeCouponSuccess\"),\r\n\t\t\t\t\t\tlife: 3000,\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\t\tdetail: coupon?.isCadacWallet\r\n\t\t\t\t\t\t\t? this.$t(\"cart.toast.removeWalletError\")\r\n\t\t\t\t\t\t\t: this.$t(\"cart.toast.removeCouponError\"),\r\n\t\t\t\t\t\tlife: 3000,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t})\r\n\t\t\t.finally(() => this.loadingStore.hideSpinner(\"btnRemoveCoupon\"));\r\n\t}\r\n\r\n\tprotected exchangeWalletAmount(): void {\r\n\t\tif (this.isSpinnerVisible(\"btnExchangeWallet\")) return;\r\n\t\tthis.loadingStore.showSpinner(\"btnExchangeWallet\");\r\n\r\n\t\tthis.cartStore\r\n\t\t\t.exchangeWalletAmount(this.cartStore.walletExchangeAmount)\r\n\t\t\t.then(() => {\r\n\t\t\t\tif (!this.cartClient.hasError) {\r\n\t\t\t\t\tthis.useWalletPanel.hide();\r\n\t\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\t\tseverity: \"success\",\r\n\t\t\t\t\t\tdetail: this.$t(\"cart.toast.exchangeWalletSuccess\"),\r\n\t\t\t\t\t\tlife: 3000,\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\t\tdetail: this.$t(\"cart.toast.exchangeWalletError\"),\r\n\t\t\t\t\t\tlife: 3000,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t})\r\n\t\t\t.finally(() => this.loadingStore.hideSpinner(\"btnExchangeWallet\"));\r\n\t}\r\n\r\n\tprotected deleteCart(): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tthis.cartStore\r\n\t\t\t.deleteCart()\r\n\t\t\t.then(() => {\r\n\t\t\t\tif (!this.cartClient.hasError) {\r\n\t\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\t\tseverity: \"success\",\r\n\t\t\t\t\t\tdetail: this.$t(\"cart.toast.deleteCartSuccess\"),\r\n\t\t\t\t\t\tlife: 3000,\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tconst allCartItems = concat(\r\n\t\t\t\t\t\tthis.cartStore.allCartLineClients,\r\n\t\t\t\t\t\tthis.cartStore.contractCartClients as any\r\n\t\t\t\t\t).filter(Boolean);\r\n\r\n\t\t\t\t\tthis.setDataLayer.removeFromCart(\r\n\t\t\t\t\t\tthis.priceSummary.totalPrice?.toString(),\r\n\t\t\t\t\t\tallCartItems,\r\n\t\t\t\t\t\t\"null\"\r\n\t\t\t\t\t);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\t\tdetail: this.$t(\"cart.toast.deleteCartError\"),\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tdetail: this.$t(\"cart.toast.deleteCartError\"),\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.finally(() => this.loadingStore.decreaseLoadingCount());\r\n\t}\r\n\r\n\tprotected saveCart(model: CartSaveForm): void {\r\n\t\tmodel.salesOpportunity = this.vm.cartOpportunityName;\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tthis.axios\r\n\t\t\t.post<boolean>(\"/api/cart/saveCart\", model)\r\n\t\t\t.then((res: AxiosResponse<boolean>) => {\r\n\t\t\t\tif (res.data) {\r\n\t\t\t\t\tthis.cartStore.hideModal(\"SaveCart\");\r\n\t\t\t\t\tif (model.deleteAfterSave) {\r\n\t\t\t\t\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\t\t\t\t\tif (this.vm.myCartsPageUrl) this.openUrl(this.vm.myCartsPageUrl);\r\n\t\t\t\t\t\telse window.location.reload();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\t\tseverity: \"success\",\r\n\t\t\t\t\t\tdetail: this.$t(\"cart.toast.saveCartSuccess\", [model.title]),\r\n\t\t\t\t\t\tlife: 3000,\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\t\tdetail: this.$t(\"cart.toast.saveCartError\"),\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tdetail: this.$t(\"cart.toast.saveCartError\"),\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.finally(() => this.loadingStore.decreaseLoadingCount());\r\n\t}\r\n\r\n\tprotected shareCart(model: CartShareForm): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tthis.axios\r\n\t\t\t.post<boolean>(\"/api/cart/shareCart\", model)\r\n\t\t\t.then((res: AxiosResponse<boolean>) => {\r\n\t\t\t\tif (res.data) {\r\n\t\t\t\t\tthis.cartStore.hideModal(\"ShareCart\");\r\n\t\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\t\tseverity: \"success\",\r\n\t\t\t\t\t\tdetail: this.$t(\"cart.toast.shareCartSuccess\", [model.title]),\r\n\t\t\t\t\t\tlife: 3000,\r\n\t\t\t\t\t});\r\n\t\t\t\t\twindow.location.reload();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\t\tdetail: this.$t(\"cart.toast.shareCartError\"),\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tdetail: this.$t(\"cart.toast.shareCartError\"),\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.finally(() => this.loadingStore.decreaseLoadingCount());\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n ::v-deep(.p-accordion) {\r\n &:not(.p-disabled) .p-accordion-header-link:focus {\r\n box-shadow: none;\r\n }\r\n\r\n &:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link {\r\n background: var(--surface-c);\r\n border: 0;\r\n }\r\n\r\n &.p-highlight:hover .p-accordion-header-link {\r\n background: var(--surface-b);\r\n }\r\n\r\n .p-accordion-header-link {\r\n background: var(--surface-b);\r\n border: 0;\r\n justify-content: center;\r\n padding: 1.2rem;\r\n }\r\n }\r\n\r\n ::v-deep(.p-card) {\r\n .p-card-content, .p-card-body {\r\n padding: 0 !important;\r\n }\r\n }\r\n\r\n\t.wallet-message {\r\n\t\tmargin: 1.5rem 0;\r\n\t\tbackground: var(--surface-b);\r\n\t\tborder: solid var(--primary-color);\r\n\t\tborder-width: 1px;\r\n\t\tcolor: var(--primary-color);\r\n\t}\r\n\r\n\t.questions-block {\r\n\t\tdisplay: flex;\r\n\t\tflex-wrap: wrap;\r\n\t\tjustify-content: space-between;\r\n\t\talign-items: flex-end;\r\n\r\n\t\th4 {\r\n\t\t\tflex: 1;\r\n\t\t}\r\n\r\n\t\tdiv {\r\n\t\t\tflex: 2;\r\n\t\t\tjustify-content: flex-end;\r\n\t\t}\r\n\t}\r\n\r\n\t.wallet-card-container {\r\n\t\tpadding: 1.5rem;\r\n\t\tbackground-color: #b72a5a;\r\n\t\tbackground-position: center;\r\n\t\tbackground-size: cover;\r\n\t\tborder-radius: 0.3125rem;\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\tcolor: white;\r\n\t}\r\n\r\n .wallet-icon {\r\n width: 1.5rem;\r\n height: 1.5rem;\r\n float: left;\r\n margin-right: 1rem;\r\n }\r\n\r\n .wallet-title {\r\n\t\tfont-size: 1rem;\r\n\t\tfont-weight: 400;\r\n }\r\n\r\n .wallet-text {\r\n font-size: 1.5rem;\r\n font-weight: 450;\r\n }\r\n\r\n .wallet-card-extended {\r\n\t\tmargin-bottom: 1.5rem;\r\n }\r\n\r\n .left-container {\r\n background-repeat: no-repeat;\r\n background-size: auto 90%;\r\n background-position: right -6rem bottom;\r\n \r\n background-color: #8a0044;\r\n color: white;\r\n padding: 2rem;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n height: 100%;\r\n }\r\n\r\n @media (max-width: 535px) {\r\n .left-container {\r\n\t\t\tbackground-image: none !important;\r\n }\r\n }\r\n\r\n @media (min-width: 576px) {\r\n .left-container {\r\n background-position: right -8rem bottom;\r\n }\r\n }\r\n\t\r\n\t@media (min-width: 768px) {\r\n .left-container {\r\n background-position: right -3rem bottom;\r\n }\r\n }\r\n\r\n @media (min-width: 992px) {\r\n .left-container {\r\n background-position: right -14rem bottom;\r\n }\r\n }\r\n\r\n @media (min-width: 1200px) {\r\n .left-container {\r\n background-position: right -11rem bottom;\r\n }\r\n }\r\n\r\n\t@media (min-width: 2140px) {\r\n .left-container {\r\n background-position: right -1rem bottom;\r\n }\r\n\t}\r\n\r\n .right-container {\r\n background-color: #FEF4F7;\r\n }\r\n\r\n .wallet-earning {\r\n text-align: center;\r\n background-color: #f4fbf6;\r\n color: #488b5c;\r\n padding: 1rem;\r\n font-weight: 400;\r\n\t\tborder-bottom: 1px solid;\r\n }\r\n\r\n .help-text {\r\n padding: 2rem;\r\n\r\n h1 {\r\n font-size: 2.5rem;\r\n margin-bottom: 10px;\r\n font-weight: 450;\r\n }\r\n\r\n p {\r\n font-size: 1.5rem;\r\n margin-bottom: 10px;\r\n font-weight: 450;\r\n }\r\n }\r\n\r\n .contact-info {\r\n font-size: 1rem;\r\n font-weight: 400;\r\n }\r\n\t\r\n .coupon-login {\r\n color: white;\r\n }\r\n</style>\r\n","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, withCtx as _withCtx, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"mb-0\" }\nconst _hoisted_2 = { class: \"lead mb-2\" }\nconst _hoisted_3 = { onsubmit: \"return false;\" }\nconst _hoisted_4 = { class: \"form-row\" }\nconst _hoisted_5 = { class: \"form-group col-12\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_7 = { class: \"p-field-checkbox mr-2 my-1\" }\nconst _hoisted_8 = {\n class: \"ml-1 mb-0\",\n for: 'deleteAfterSave'\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_InputText = _resolveComponent(\"InputText\")!\n const _component_Checkbox = _resolveComponent(\"Checkbox\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Dialog = _resolveComponent(\"Dialog\")!\n\n return (_openBlock(), _createBlock(_component_Dialog, {\n visible: _ctx.isVisible,\n \"onUpdate:visible\": _cache[4] || (_cache[4] = ($event: any) => ((_ctx.isVisible) = $event)),\n breakpoints: { '1600px': '40vw', '1200px': '50vw', '992px': '60vw', '768px': '75vw', '576px': '90vw' },\n modal: true,\n style: { width: '30vw' },\n onHide: _cache[5] || (_cache[5] = ($event: any) => (_ctx.onCancel()))\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"h3\", _hoisted_1, _toDisplayString(_ctx.$t(\"cart.dialog.saveCartTitle\")), 1)\n ]),\n footer: _withCtx(() => [\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-plain\",\n label: _ctx.$t('common.cancel'),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.onCancel()))\n }, null, 8, [\"label\"]),\n _createVNode(_component_Button, {\n disabled: !_ctx.canSubmit,\n label: _ctx.$t('common.save'),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.onSubmit()))\n }, null, 8, [\"disabled\", \"label\"])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"p\", _hoisted_2, _toDisplayString(_ctx.$t(\"cart.dialog.saveCartHelpText\")), 1),\n _createElementVNode(\"form\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['cartSaveForm'].title?.required })\n }, _toDisplayString(_ctx.$t(\"cart.dialog.saveCartLblCartTitle\")), 3),\n _createVNode(_component_InputText, {\n modelValue: _ctx.v$['cartSaveForm'].title.$model,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.v$['cartSaveForm'].title.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['cartSaveForm'].title) }),\n type: \"text\"\n }, null, 8, [\"modelValue\", \"class\"]),\n (_ctx.shouldShowError(_ctx.v$['cartSaveForm'].title))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_6, _toDisplayString(_ctx.v$[\"cartSaveForm\"].title?.required?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createVNode(_component_Checkbox, {\n modelValue: _ctx.v$['cartSaveForm'].deleteAfterSave.$model,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.v$['cartSaveForm'].deleteAfterSave.$model) = $event)),\n id: 'deleteAfterSave',\n binary: true,\n name: \"roles\"\n }, null, 8, [\"modelValue\"]),\n _createElementVNode(\"label\", _hoisted_8, _toDisplayString(_ctx.$t(\"cart.dialog.lblDeleteAfterSave\")), 1)\n ])\n ])\n ]),\n _: 1\n }, 8, [\"visible\"]))\n}","<template>\r\n\t<Dialog\r\n\t\tv-model:visible=\"isVisible\"\r\n\t\t:breakpoints=\"{ '1600px': '40vw', '1200px': '50vw', '992px': '60vw', '768px': '75vw', '576px': '90vw' }\"\r\n\t\t:modal=\"true\"\r\n\t\t:style=\"{ width: '30vw' }\"\r\n\t\t@hide=\"onCancel()\"\r\n\t>\r\n\t\t<template #header>\r\n\t\t\t<h3 class=\"mb-0\">\r\n\t\t\t\t{{ $t(\"cart.dialog.saveCartTitle\") }}\r\n\t\t\t</h3>\r\n\t\t</template>\r\n\t\t<p class=\"lead mb-2\">{{ $t(\"cart.dialog.saveCartHelpText\") }}</p>\r\n\t\t<form onsubmit=\"return false;\">\r\n\t\t\t<div class=\"form-row\">\r\n\t\t\t\t<div class=\"form-group col-12\">\r\n\t\t\t\t\t<label :class=\"{ required: v$['cartSaveForm'].title?.required }\">\r\n\t\t\t\t\t\t{{ $t(\"cart.dialog.saveCartLblCartTitle\") }}\r\n\t\t\t\t\t</label>\r\n\t\t\t\t\t<InputText\r\n\t\t\t\t\t\tv-model=\"v$['cartSaveForm'].title.$model\"\r\n\t\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['cartSaveForm'].title) }\"\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<small v-if=\"shouldShowError(v$['cartSaveForm'].title)\" class=\"p-error\">\r\n\t\t\t\t\t\t{{ v$[\"cartSaveForm\"].title?.required?.$message }}\r\n\t\t\t\t\t</small>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"p-field-checkbox mr-2 my-1\">\r\n\t\t\t\t<Checkbox\r\n\t\t\t\t\tv-model=\"v$['cartSaveForm'].deleteAfterSave.$model\"\r\n\t\t\t\t\t:id=\"'deleteAfterSave'\"\r\n\t\t\t\t\t:binary=\"true\"\r\n\t\t\t\t\tname=\"roles\"\r\n\t\t\t\t/>\r\n\t\t\t\t<label class=\"ml-1 mb-0\" :for=\"'deleteAfterSave'\">\r\n\t\t\t\t\t{{ $t(\"cart.dialog.lblDeleteAfterSave\") }}\r\n\t\t\t\t</label>\r\n\t\t\t</div>\r\n\t\t</form>\r\n\t\t<template #footer>\r\n\t\t\t<Button class=\"p-button-text p-button-plain\" :label=\"$t('common.cancel')\" @click=\"onCancel()\" />\r\n\t\t\t<Button :disabled=\"!canSubmit\" :label=\"$t('common.save')\" @click=\"onSubmit()\" />\r\n\t\t</template>\r\n\t</Dialog>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Checkbox from \"primevue/checkbox\";\r\nimport useVuelidate, { Validation } from \"@vuelidate/core\";\r\nimport { CartSaveForm } from \"@/types/models/form/cartSaveForm\";\r\nimport { Component, Emit, Prop } from \"vue-facing-decorator\";\r\nimport { minLength } from \"@/types/utils/i18n-validators\";\r\nimport { useCartStore } from \"@/store/commerce/cartStore\";\r\n\r\n@Component({\r\n\temits: [\"cart-saved\"],\r\n\tcomponents: { Checkbox },\r\n\toptions: {\r\n\t\tvalidations: {\r\n\t\t\tcartSaveForm: {\r\n\t\t\t\ttitle: { minLength: minLength(2) },\r\n\t\t\t\tdeleteAfterSave: {},\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n})\r\nexport default class SaveCartModal extends BaseComponent {\r\n\t@Prop({ required: false, default: \"\" }) currentTitle!: string;\r\n\r\n\tv$ = useVuelidate();\r\n\tcartSaveForm!: CartSaveForm;\r\n\tisVisible = true;\r\n\tsubmitted = false;\r\n\r\n\tget canSubmit(): boolean {\r\n\t\treturn this.v$[\"cartSaveForm\"].$anyDirty && !this.v$[\"cartSaveForm\"].$invalid;\r\n\t}\r\n\r\n\t@Emit()\r\n\tcartSaved(): CartSaveForm {\r\n\t\treturn this.cartSaveForm;\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.cartSaveForm = {\r\n\t\t\ttitle: this.currentTitle,\r\n\t\t\tdeleteAfterSave: !this.currentTitle,\r\n\t\t\tsalesOpportunity: \"\",\r\n\t\t};\r\n\t}\r\n\r\n\tshouldShowError(fieldToValidate: Validation): boolean {\r\n\t\treturn fieldToValidate.$invalid && (this.submitted || fieldToValidate.$dirty);\r\n\t}\r\n\r\n\tonSubmit(): void {\r\n\t\tthis.submitted = true;\r\n\t\tif (!this.canSubmit) return;\r\n\t\tthis.cartSaved();\r\n\t}\r\n\r\n\tonCancel(): void {\r\n\t\tuseCartStore().hideModal(\"SaveCart\");\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { render } from \"./saveCartModal.vue?vue&type=template&id=7bd4daf9&ts=true\"\nimport script from \"./saveCartModal.vue?vue&type=script&lang=ts\"\nexport * from \"./saveCartModal.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createBlock as _createBlock, withCtx as _withCtx } from \"vue\"\n\nconst _hoisted_1 = { class: \"mb-0\" }\nconst _hoisted_2 = { class: \"lead mb-2\" }\nconst _hoisted_3 = {\n class: \"pb-3\",\n onsubmit: \"return false;\"\n}\nconst _hoisted_4 = { class: \"form-row\" }\nconst _hoisted_5 = { class: \"form-group col-12\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_7 = { class: \"form-row\" }\nconst _hoisted_8 = { class: \"form-group col-12\" }\nconst _hoisted_9 = {\n key: 2,\n class: \"p-error\"\n}\nconst _hoisted_10 = {\n key: 0,\n class: \"form-row\"\n}\nconst _hoisted_11 = { class: \"form-group col-12\" }\nconst _hoisted_12 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_13 = {\n key: 1,\n class: \"p-field-checkbox form-group mt-1\"\n}\nconst _hoisted_14 = {\n class: \"ml-2 mb-0\",\n for: \"sendEmail\"\n}\nconst _hoisted_15 = { key: 2 }\nconst _hoisted_16 = { class: \"form-row\" }\nconst _hoisted_17 = { class: \"form-group col-12\" }\nconst _hoisted_18 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_19 = { class: \"form-row\" }\nconst _hoisted_20 = { class: \"form-group col-12\" }\nconst _hoisted_21 = {\n key: 0,\n class: \"p-chips-token-label\"\n}\nconst _hoisted_22 = {\n key: 1,\n class: \"p-chips-token-label text-danger\"\n}\nconst _hoisted_23 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_24 = { class: \"form-row\" }\nconst _hoisted_25 = { class: \"form-group col-12\" }\nconst _hoisted_26 = {\n key: 0,\n class: \"p-error\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_InputText = _resolveComponent(\"InputText\")!\n const _component_AutoComplete = _resolveComponent(\"AutoComplete\")!\n const _component_Dropdown = _resolveComponent(\"Dropdown\")!\n const _component_Checkbox = _resolveComponent(\"Checkbox\")!\n const _component_Chips = _resolveComponent(\"Chips\")!\n const _component_Textarea = _resolveComponent(\"Textarea\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Dialog = _resolveComponent(\"Dialog\")!\n\n return (_openBlock(), _createBlock(_component_Dialog, {\n visible: _ctx.isVisible,\n \"onUpdate:visible\": _cache[13] || (_cache[13] = ($event: any) => ((_ctx.isVisible) = $event)),\n breakpoints: { '1600px': '40vw', '1200px': '50vw', '992px': '60vw', '768px': '75vw', '576px': '90vw' },\n modal: true,\n style: { width: '30vw' },\n onHide: _cache[14] || (_cache[14] = ($event: any) => (_ctx.onCancel()))\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"h3\", _hoisted_1, _toDisplayString(_ctx.canMakeSalesOpportunity\r\n\t\t\t\t\t\t? _ctx.$t(\"cart.dialog.shareCartTitleImpersonated\")\r\n\t\t\t\t\t\t: _ctx.$t(\"cart.dialog.shareCartTitle\")), 1)\n ]),\n footer: _withCtx(() => [\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-plain\",\n label: _ctx.$t('common.cancel'),\n onClick: _cache[11] || (_cache[11] = ($event: any) => (_ctx.onCancel()))\n }, null, 8, [\"label\"]),\n _createVNode(_component_Button, {\n disabled: !_ctx.canSubmit,\n label: _ctx.canMakeSalesOpportunity ? _ctx.$t('common.save') : _ctx.$t('common.send'),\n onClick: _cache[12] || (_cache[12] = ($event: any) => (_ctx.onSubmit()))\n }, null, 8, [\"disabled\", \"label\"])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"p\", _hoisted_2, _toDisplayString(_ctx.canMakeSalesOpportunity\r\n\t\t\t\t\t? _ctx.$t(\"cart.dialog.shareCartHelpTextImpersonated\")\r\n\t\t\t\t\t: _ctx.$t(\"cart.dialog.shareCartHelpText\")), 1),\n _createElementVNode(\"form\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['cartShareForm'].title?.required })\n }, _toDisplayString(_ctx.$t(\"cart.dialog.shareCartLblTitle\")), 3),\n _createVNode(_component_InputText, {\n modelValue: _ctx.v$['cartShareForm'].title.$model,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.v$['cartShareForm'].title.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['cartShareForm'].title) }),\n readonly: !_ctx.vm.allowChooseSalesOpportunity,\n type: \"text\"\n }, null, 8, [\"modelValue\", \"class\", \"readonly\"]),\n (_ctx.shouldShowError(_ctx.v$['cartShareForm'].title))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_6, _toDisplayString(_ctx.v$[\"cartShareForm\"].title?.required?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['cartShareForm'].salesOpportunityName?.required })\n }, _toDisplayString(_ctx.$t(\"cart.dialog.shareCartLblOpportunityName\")), 3),\n (_ctx.canMakeSalesOpportunity)\n ? (_openBlock(), _createBlock(_component_AutoComplete, {\n key: 0,\n modelValue: _ctx.v$['cartShareForm'].salesOpportunityName.$model,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.v$['cartShareForm'].salesOpportunityName.$model) = $event)),\n \"append-to\": \"self\",\n class: \"d-inline\",\n \"complete-on-focus\": true,\n \"option-label\": \"name\",\n placeholder: _ctx.$t('cart.dialog.salesOpportunityName_placeholder'),\n suggestions: _ctx.salesOpportunitySuggestions,\n onComplete: _cache[2] || (_cache[2] = ($event: any) => (_ctx.onSearchTrigger($event))),\n onItemSelect: _cache[3] || (_cache[3] = ($event: any) => (_ctx.onSalesOpportunitySelected($event)))\n }, null, 8, [\"modelValue\", \"placeholder\", \"suggestions\"]))\n : (_openBlock(), _createBlock(_component_InputText, {\n key: 1,\n modelValue: _ctx.v$['cartShareForm'].salesOpportunityName.$model,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_ctx.v$['cartShareForm'].salesOpportunityName.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['cartShareForm'].salesOpportunityName) }),\n readonly: \"\",\n type: \"text\"\n }, null, 8, [\"modelValue\", \"class\"])),\n (_ctx.shouldShowError(_ctx.v$['cartShareForm'].salesOpportunityName))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_9, _toDisplayString(_ctx.v$[\"cartShareForm\"].salesOpportunityName?.required?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n (_ctx.canMakeSalesOpportunity)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['cartShareForm'].responsibleSales?.required })\n }, _toDisplayString(_ctx.$t(\"cart.dialog.shareCartLblResponsibleSales\")), 3),\n _createVNode(_component_Dropdown, {\n modelValue: _ctx.v$['cartShareForm'].responsibleSales.$model,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event: any) => ((_ctx.v$['cartShareForm'].responsibleSales.$model) = $event)),\n \"option-label\": \"label\",\n \"option-value\": \"value\",\n options: _ctx.responsibleSalesOptions,\n placeholder: _ctx.$t('cart.dialog.responsibleSales_placeholder')\n }, null, 8, [\"modelValue\", \"options\", \"placeholder\"]),\n (_ctx.shouldShowError(_ctx.v$['cartShareForm'].responsibleSales))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_12, _toDisplayString(_ctx.v$[\"cartShareForm\"].responsibleSales?.required?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.canMakeSalesOpportunity)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _createVNode(_component_Checkbox, {\n modelValue: _ctx.v$['cartShareForm'].sendEmail.$model,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = ($event: any) => ((_ctx.v$['cartShareForm'].sendEmail.$model) = $event)),\n id: \"sendEmail\",\n binary: true\n }, null, 8, [\"modelValue\"]),\n _createElementVNode(\"label\", _hoisted_14, _toDisplayString(_ctx.$t(\"cart.dialog.shareCartLblSendEmail\")), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.v$['cartShareForm'].sendEmail?.$model)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['cartShareForm'].fromEmail?.required })\n }, _toDisplayString(_ctx.$t(\"cart.dialog.shareCartLblSenderEmail\")), 3),\n _createVNode(_component_InputText, {\n modelValue: _ctx.v$['cartShareForm'].fromEmail.$model,\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = ($event: any) => ((_ctx.v$['cartShareForm'].fromEmail.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['cartShareForm'].fromEmail) }),\n readonly: _ctx.userProfile?.isImpersonated || _ctx.userProfile?.isImpersonationAllowed,\n type: \"text\"\n }, null, 8, [\"modelValue\", \"class\", \"readonly\"]),\n (_ctx.shouldShowError(_ctx.v$['cartShareForm'].fromEmail))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_18, _toDisplayString(_ctx.v$[\"cartShareForm\"].fromEmail?.email?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['cartShareForm'].toEmail?.required })\n }, _toDisplayString(_ctx.$t(\"cart.dialog.shareCartLblReceiverEmail\")), 3),\n _createVNode(_component_Chips, {\n modelValue: _ctx.v$['cartShareForm'].toEmail.$model,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = ($event: any) => ((_ctx.v$['cartShareForm'].toEmail.$model) = $event)),\n \"add-on-blur\": true,\n \"allow-duplicate\": false,\n class: _normalizeClass([\"d-inline\", { 'p-invalid': _ctx.shouldShowError(_ctx.v$['cartShareForm'].toEmail) }]),\n onAdd: _cache[9] || (_cache[9] = ($event: any) => (_ctx.onToEmailAdded($event)))\n }, {\n chip: _withCtx((item) => [\n (_ctx.validToEmailAddresses.includes(item.value))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_21, _toDisplayString(item.value), 1))\n : (_openBlock(), _createElementBlock(\"s\", _hoisted_22, _toDisplayString(item.value), 1))\n ]),\n _: 1\n }, 8, [\"modelValue\", \"class\"]),\n (_ctx.shouldShowError(_ctx.v$['cartShareForm'].toEmail))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_23, _toDisplayString(_ctx.v$[\"cartShareForm\"].toEmail?.oneValidEmailRequired?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_24, [\n _createElementVNode(\"div\", _hoisted_25, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['cartShareForm'].description?.required })\n }, _toDisplayString(_ctx.$t(\"cart.dialog.shareCartLblDescription\")), 3),\n _createVNode(_component_Textarea, {\n modelValue: _ctx.v$['cartShareForm'].description.$model,\n \"onUpdate:modelValue\": _cache[10] || (_cache[10] = ($event: any) => ((_ctx.v$['cartShareForm'].description.$model) = $event)),\n class: _normalizeClass([\"d-inline\", { 'p-invalid': _ctx.shouldShowError(_ctx.v$['cartShareForm'].description) }]),\n rows: \"5\"\n }, null, 8, [\"modelValue\", \"class\"]),\n (_ctx.shouldShowError(_ctx.v$['cartShareForm'].description))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_26, _toDisplayString(_ctx.v$[\"cartShareForm\"].description?.required?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n }, 8, [\"visible\"]))\n}","<template>\r\n\t<Dialog\r\n\t\tv-model:visible=\"isVisible\"\r\n\t\t:breakpoints=\"{ '1600px': '40vw', '1200px': '50vw', '992px': '60vw', '768px': '75vw', '576px': '90vw' }\"\r\n\t\t:modal=\"true\"\r\n\t\t:style=\"{ width: '30vw' }\"\r\n\t\t@hide=\"onCancel()\"\r\n\t>\r\n\t\t<template #header>\r\n\t\t\t<h3 class=\"mb-0\">\r\n\t\t\t\t{{\r\n\t\t\t\t\tcanMakeSalesOpportunity\r\n\t\t\t\t\t\t? $t(\"cart.dialog.shareCartTitleImpersonated\")\r\n\t\t\t\t\t\t: $t(\"cart.dialog.shareCartTitle\")\r\n\t\t\t\t}}\r\n\t\t\t</h3>\r\n\t\t</template>\r\n\t\t<p class=\"lead mb-2\">\r\n\t\t\t{{\r\n\t\t\t\tcanMakeSalesOpportunity\r\n\t\t\t\t\t? $t(\"cart.dialog.shareCartHelpTextImpersonated\")\r\n\t\t\t\t\t: $t(\"cart.dialog.shareCartHelpText\")\r\n\t\t\t}}\r\n\t\t</p>\r\n\t\t<form class=\"pb-3\" onsubmit=\"return false;\">\r\n\t\t\t<div class=\"form-row\">\r\n\t\t\t\t<div class=\"form-group col-12\">\r\n\t\t\t\t\t<label :class=\"{ required: v$['cartShareForm'].title?.required }\">\r\n\t\t\t\t\t\t{{ $t(\"cart.dialog.shareCartLblTitle\") }}\r\n\t\t\t\t\t</label>\r\n\t\t\t\t\t<InputText\r\n\t\t\t\t\t\tv-model=\"v$['cartShareForm'].title.$model\"\r\n\t\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['cartShareForm'].title) }\"\r\n\t\t\t\t\t\t:readonly=\"!vm.allowChooseSalesOpportunity\"\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<small v-if=\"shouldShowError(v$['cartShareForm'].title)\" class=\"p-error\">\r\n\t\t\t\t\t\t{{ v$[\"cartShareForm\"].title?.required?.$message }}\r\n\t\t\t\t\t</small>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"form-row\">\r\n\t\t\t\t<div class=\"form-group col-12\">\r\n\t\t\t\t\t<label :class=\"{ required: v$['cartShareForm'].salesOpportunityName?.required }\">\r\n\t\t\t\t\t\t{{ $t(\"cart.dialog.shareCartLblOpportunityName\") }}\r\n\t\t\t\t\t</label>\r\n\t\t\t\t\t<AutoComplete\r\n\t\t\t\t\t\tv-if=\"canMakeSalesOpportunity\"\r\n\t\t\t\t\t\tv-model=\"v$['cartShareForm'].salesOpportunityName.$model\"\r\n\t\t\t\t\t\tappend-to=\"self\"\r\n\t\t\t\t\t\tclass=\"d-inline\"\r\n\t\t\t\t\t\t:complete-on-focus=\"true\"\r\n\t\t\t\t\t\toption-label=\"name\"\r\n\t\t\t\t\t\t:placeholder=\"$t('cart.dialog.salesOpportunityName_placeholder')\"\r\n\t\t\t\t\t\t:suggestions=\"salesOpportunitySuggestions\"\r\n\t\t\t\t\t\t@complete=\"onSearchTrigger($event)\"\r\n\t\t\t\t\t\t@item-select=\"onSalesOpportunitySelected($event)\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<InputText\r\n\t\t\t\t\t\tv-else\r\n\t\t\t\t\t\tv-model=\"v$['cartShareForm'].salesOpportunityName.$model\"\r\n\t\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['cartShareForm'].salesOpportunityName) }\"\r\n\t\t\t\t\t\treadonly\r\n\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<small v-if=\"shouldShowError(v$['cartShareForm'].salesOpportunityName)\" class=\"p-error\">\r\n\t\t\t\t\t\t{{ v$[\"cartShareForm\"].salesOpportunityName?.required?.$message }}\r\n\t\t\t\t\t</small>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div v-if=\"canMakeSalesOpportunity\" class=\"form-row\">\r\n\t\t\t\t<div class=\"form-group col-12\">\r\n\t\t\t\t\t<label :class=\"{ required: v$['cartShareForm'].responsibleSales?.required }\">\r\n\t\t\t\t\t\t{{ $t(\"cart.dialog.shareCartLblResponsibleSales\") }}\r\n\t\t\t\t\t</label>\r\n\t\t\t\t\t<Dropdown\r\n\t\t\t\t\t\tv-model=\"v$['cartShareForm'].responsibleSales.$model\"\r\n\t\t\t\t\t\toption-label=\"label\"\r\n\t\t\t\t\t\toption-value=\"value\"\r\n\t\t\t\t\t\t:options=\"responsibleSalesOptions\"\r\n\t\t\t\t\t\t:placeholder=\"$t('cart.dialog.responsibleSales_placeholder')\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<small v-if=\"shouldShowError(v$['cartShareForm'].responsibleSales)\" class=\"p-error\">\r\n\t\t\t\t\t\t{{ v$[\"cartShareForm\"].responsibleSales?.required?.$message }}\r\n\t\t\t\t\t</small>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div v-if=\"canMakeSalesOpportunity\" class=\"p-field-checkbox form-group mt-1\">\r\n\t\t\t\t<Checkbox v-model=\"v$['cartShareForm'].sendEmail.$model\" id=\"sendEmail\" :binary=\"true\" />\r\n\t\t\t\t<label class=\"ml-2 mb-0\" for=\"sendEmail\">{{ $t(\"cart.dialog.shareCartLblSendEmail\") }}</label>\r\n\t\t\t</div>\r\n\t\t\t<div v-if=\"v$['cartShareForm'].sendEmail?.$model\">\r\n\t\t\t\t<div class=\"form-row\">\r\n\t\t\t\t\t<div class=\"form-group col-12\">\r\n\t\t\t\t\t\t<label :class=\"{ required: v$['cartShareForm'].fromEmail?.required }\">\r\n\t\t\t\t\t\t\t{{ $t(\"cart.dialog.shareCartLblSenderEmail\") }}\r\n\t\t\t\t\t\t</label>\r\n\t\t\t\t\t\t<InputText\r\n\t\t\t\t\t\t\tv-model=\"v$['cartShareForm'].fromEmail.$model\"\r\n\t\t\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['cartShareForm'].fromEmail) }\"\r\n\t\t\t\t\t\t\t:readonly=\"userProfile?.isImpersonated || userProfile?.isImpersonationAllowed\"\r\n\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<small v-if=\"shouldShowError(v$['cartShareForm'].fromEmail)\" class=\"p-error\">\r\n\t\t\t\t\t\t\t{{ v$[\"cartShareForm\"].fromEmail?.email?.$message }}\r\n\t\t\t\t\t\t</small>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"form-row\">\r\n\t\t\t\t\t<div class=\"form-group col-12\">\r\n\t\t\t\t\t\t<label :class=\"{ required: v$['cartShareForm'].toEmail?.required }\">\r\n\t\t\t\t\t\t\t{{ $t(\"cart.dialog.shareCartLblReceiverEmail\") }}\r\n\t\t\t\t\t\t</label>\r\n\t\t\t\t\t\t<Chips\r\n\t\t\t\t\t\t\tv-model=\"v$['cartShareForm'].toEmail.$model\"\r\n\t\t\t\t\t\t\t:add-on-blur=\"true\"\r\n\t\t\t\t\t\t\t:allow-duplicate=\"false\"\r\n\t\t\t\t\t\t\tclass=\"d-inline\"\r\n\t\t\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['cartShareForm'].toEmail) }\"\r\n\t\t\t\t\t\t\t@add=\"onToEmailAdded($event)\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<template #chip=\"item\">\r\n\t\t\t\t\t\t\t\t<span\r\n\t\t\t\t\t\t\t\t\tv-if=\"validToEmailAddresses.includes(item.value)\"\r\n\t\t\t\t\t\t\t\t\tclass=\"p-chips-token-label\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t{{ item.value }}\r\n\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t<s v-else class=\"p-chips-token-label text-danger\"> {{ item.value }} </s>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</Chips>\r\n\t\t\t\t\t\t<small v-if=\"shouldShowError(v$['cartShareForm'].toEmail)\" class=\"p-error\">\r\n\t\t\t\t\t\t\t{{ v$[\"cartShareForm\"].toEmail?.oneValidEmailRequired?.$message }}\r\n\t\t\t\t\t\t</small>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"form-row\">\r\n\t\t\t\t\t<div class=\"form-group col-12\">\r\n\t\t\t\t\t\t<label :class=\"{ required: v$['cartShareForm'].description?.required }\">\r\n\t\t\t\t\t\t\t{{ $t(\"cart.dialog.shareCartLblDescription\") }}\r\n\t\t\t\t\t\t</label>\r\n\t\t\t\t\t\t<Textarea\r\n\t\t\t\t\t\t\tv-model=\"v$['cartShareForm'].description.$model\"\r\n\t\t\t\t\t\t\tclass=\"d-inline\"\r\n\t\t\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['cartShareForm'].description) }\"\r\n\t\t\t\t\t\t\trows=\"5\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<small v-if=\"shouldShowError(v$['cartShareForm'].description)\" class=\"p-error\">\r\n\t\t\t\t\t\t\t{{ v$[\"cartShareForm\"].description?.required?.$message }}\r\n\t\t\t\t\t\t</small>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</form>\r\n\t\t<template #footer>\r\n\t\t\t<Button class=\"p-button-text p-button-plain\" :label=\"$t('common.cancel')\" @click=\"onCancel()\" />\r\n\t\t\t<Button\r\n\t\t\t\t:disabled=\"!canSubmit\"\r\n\t\t\t\t:label=\"canMakeSalesOpportunity ? $t('common.save') : $t('common.send')\"\r\n\t\t\t\t@click=\"onSubmit()\"\r\n\t\t\t/>\r\n\t\t</template>\r\n\t</Dialog>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport AutoComplete from \"primevue/autocomplete\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Checkbox from \"primevue/checkbox\";\r\nimport Chips from \"primevue/chips\";\r\nimport useVuelidate, { Validation, ValidatorFn } from \"@vuelidate/core\";\r\nimport { CartShareForm } from \"@/types/models/form/cartShareForm\";\r\nimport { Component, Emit, Prop } from \"vue-facing-decorator\";\r\nimport { FilterService } from \"primevue/api\";\r\nimport { FormatHelper } from \"@/types/helpers/formatHelper\";\r\nimport { IDropdownItem } from \"@/types/models/common/dropdownItem.interface\";\r\nimport { IShoppingCart } from \"@/types/viewModels/commerce/shoppingCartViewModel\";\r\nimport { OpportunityView } from \"@/types/generated/opportunityView\";\r\nimport { PropType } from \"vue\";\r\nimport { ValidationHelper } from \"@/types/helpers/validationHelper\";\r\nimport { format } from \"date-fns\";\r\nimport { minLength, required, withI18nMessage } from \"@/types/utils/i18n-validators\";\r\nimport { useCartStore } from \"@/store/commerce/cartStore\";\r\nimport { requiredIf } from \"@vuelidate/validators\";\r\n\r\nconst validToEmail = (value: string[], siblings: any, vm: any): boolean => {\r\n\tif (!vm && siblings) vm = siblings;\r\n\treturn vm.cartShareForm.sendEmail ? value.some((x) => ValidationHelper.validateEmail(x)) : true;\r\n};\r\nconst validFromEmail = (value: string, siblings: any, vm: any): boolean => {\r\n\tif (!vm && siblings) vm = siblings;\r\n\treturn vm.cartShareForm.sendEmail ? ValidationHelper.validateEmail(value) : true;\r\n};\r\n\r\nconst requiredResponsibleSales = (_value: string, siblings: any, vm: any): boolean => {\r\n\tif (!vm && siblings) vm = siblings;\r\n\treturn vm?.canMakeSalesOpportunity;\r\n};\r\n\r\n@Component({\r\n\temits: [\"cart-shared\"],\r\n\tcomponents: { AutoComplete, Checkbox, Chips },\r\n\toptions: {\r\n\t\tvalidations: {\r\n\t\t\tcartShareForm: {\r\n\t\t\t\ttitle: { required, minLength: minLength(2) },\r\n\t\t\t\tsalesOpportunity: {},\r\n\t\t\t\tsalesOpportunityName: { required },\r\n\t\t\t\tresponsibleSales: { required: requiredIf(requiredResponsibleSales as any) },\r\n\t\t\t\ttoEmail: { oneValidEmailRequired: withI18nMessage(validToEmail as ValidatorFn) },\r\n\t\t\t\tfromEmail: { email: withI18nMessage(validFromEmail as ValidatorFn) },\r\n\t\t\t\tdescription: {},\r\n\t\t\t\tsendEmail: {},\r\n\t\t\t\tcanMakeSalesOpportunity: {},\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n})\r\nexport default class ShareCartModal extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IShoppingCart>, required: true, default: {} }) vm!: IShoppingCart;\r\n\r\n\tv$ = useVuelidate();\r\n\tisVisible = true;\r\n\tsubmitted = false;\r\n\tcartShareForm!: Partial<CartShareForm>;\r\n\tsalesOpportunitySuggestions: OpportunityView[] = [];\r\n\tresponsibleSalesOptions: IDropdownItem[] = [];\r\n\tvalidToEmailAddresses: string[] = [];\r\n\r\n\tget canSubmit(): boolean {\r\n\t\treturn !this.v$[\"cartShareForm\"].$invalid;\r\n\t}\r\n\r\n\tget canMakeSalesOpportunity(): boolean {\r\n\t\treturn (\r\n\t\t\t!!(this.userProfile?.isImpersonated || this.userProfile?.isImpersonationAllowed) &&\r\n\t\t\tthis.vm.allowChooseSalesOpportunity\r\n\t\t);\r\n\t}\r\n\r\n\t@Emit()\r\n\tcartShared(): Partial<CartShareForm> {\r\n\t\tconst formValue = { ...this.cartShareForm } as Partial<CartShareForm>;\r\n\t\tformValue.toEmail = this.validToEmailAddresses;\r\n\t\t// Delete the sales Opportunity ID if it's a new name\r\n\t\tif (this.salesOpportunitySuggestions.findIndex((x) => x.name === formValue.salesOpportunityName) < 0) {\r\n\t\t\tdelete formValue.salesOpportunity;\r\n\t\t}\r\n\t\tif (!formValue.sendEmail) {\r\n\t\t\tdelete formValue.toEmail;\r\n\t\t\tdelete formValue.fromEmail;\r\n\t\t\tdelete formValue.description;\r\n\t\t}\r\n\t\treturn formValue;\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.cartShareForm = {\r\n\t\t\ttitle: this.vm.cartTitle,\r\n\t\t\tsendEmail: !this.vm.allowChooseSalesOpportunity,\r\n\t\t\tfromEmail: this.userProfile?.isImpersonated ? this.userProfile?.userName : this.userProfile?.email,\r\n\t\t\ttoEmail: [this.userProfile?.email],\r\n\t\t\tsalesOpportunityName: this.vm.cartOpportunityName,\r\n\t\t\tsalesOpportunity: \"\",\r\n\t\t\tresponsibleSales: \"\",\r\n\t\t\tdescription: \"\",\r\n\t\t\tcanMakeSalesOpportunity: this.canMakeSalesOpportunity,\r\n\t\t\ttimeStamp: format(FormatHelper.getUTCDate(), \"yyyyMMddHHmmss\"),\r\n\t\t};\r\n\t\tthis.validToEmailAddresses =\r\n\t\t\tthis.cartShareForm.toEmail?.filter((x) => ValidationHelper.validateEmail(x)) || [];\r\n\t\tthis.responsibleSalesOptions = this.vm.possibleResponsibleSales?.map((x) => ({\r\n\t\t\tlabel: x.name,\r\n\t\t\tvalue: x.emailAddress,\r\n\t\t}));\r\n\t}\r\n\r\n\tshouldShowError(fieldToValidate: Validation): boolean {\r\n\t\treturn fieldToValidate.$invalid && (this.submitted || fieldToValidate.$dirty);\r\n\t}\r\n\r\n\tonSubmit(): void {\r\n\t\tthis.submitted = true;\r\n\t\tif (!this.canSubmit) return;\r\n\t\tthis.cartShared();\r\n\t}\r\n\r\n\tonCancel(): void {\r\n\t\tuseCartStore().hideModal(\"ShareCart\");\r\n\t}\r\n\r\n\tonSearchTrigger({ query }: { query: string }): void {\r\n\t\t// @ts-ignore\r\n\t\tthis.salesOpportunitySuggestions = FilterService.filter(\r\n\t\t\tthis.vm.salesOpportunityViews,\r\n\t\t\t[\"name\"],\r\n\t\t\tquery,\r\n\t\t\t\"contains\",\r\n\t\t\tthis.currentRegion\r\n\t\t);\r\n\t}\r\n\r\n\tonSalesOpportunitySelected({ value }: { value: OpportunityView }): void {\r\n\t\t//set salesOpportunity ID and responsible sales\r\n\t\tthis.v$[\"cartShareForm\"].salesOpportunityName.$model = value.name;\r\n\t\tthis.v$[\"cartShareForm\"].salesOpportunity.$model = value.id;\r\n\t\tthis.v$[\"cartShareForm\"].responsibleSales.$model = this.responsibleSalesOptions.find(\r\n\t\t\t(x) => x.label === value.responsibleSales\r\n\t\t)?.value;\r\n\t}\r\n\r\n\tonToEmailAdded({ value }: { value: string[] }): void {\r\n\t\tthis.validToEmailAddresses = value.filter((x) => ValidationHelper.validateEmail(x));\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { render } from \"./shareCartModal.vue?vue&type=template&id=61be3ca6&ts=true\"\nimport script from \"./shareCartModal.vue?vue&type=script&lang=ts\"\nexport * from \"./shareCartModal.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./shoppingCart.vue?vue&type=template&id=1f36f8eb&scoped=true&ts=true\"\nimport script from \"./shoppingCart.vue?vue&type=script&lang=ts\"\nexport * from \"./shoppingCart.vue?vue&type=script&lang=ts\"\n\nimport \"./shoppingCart.vue?vue&type=style&index=0&id=1f36f8eb&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1f36f8eb\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createBlock as _createBlock, renderSlot as _renderSlot, renderList as _renderList, Fragment as _Fragment, createVNode as _createVNode, resolveDirective as _resolveDirective, withDirectives as _withDirectives, normalizeClass as _normalizeClass, vShow as _vShow, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-6c82b934\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"container my-5\"\n}\nconst _hoisted_2 = { class: \"left-pane\" }\nconst _hoisted_3 = {\n autoplay: \"\",\n loop: \"\",\n muted: \"\",\n playsinline: \"\",\n class: \"animation-video\"\n}\nconst _hoisted_4 = [\"src\"]\nconst _hoisted_5 = { class: \"right-pane d-none d-sm-flex\" }\nconst _hoisted_6 = [\"innerHTML\"]\nconst _hoisted_7 = { class: \"\" }\nconst _hoisted_8 = { class: \"row\" }\nconst _hoisted_9 = { class: \"\" }\nconst _hoisted_10 = { class: \"row\" }\nconst _hoisted_11 = { key: 0 }\nconst _hoisted_12 = { class: \"p-2\" }\nconst _hoisted_13 = { class: \"d-flex flex-column\" }\nconst _hoisted_14 = { class: \"d-flex flex-row w-100 pt-2 justify-content-between\" }\nconst _hoisted_15 = { class: \"price-text\" }\nconst _hoisted_16 = {\n key: 0,\n class: \"wallet-text-small\"\n}\nconst _hoisted_17 = { key: 1 }\nconst _hoisted_18 = { class: \"mb-0\" }\nconst _hoisted_19 = { class: \"my-3\" }\nconst _hoisted_20 = { class: \"text-bold mb-1\" }\nconst _hoisted_21 = { class: \"my-3\" }\nconst _hoisted_22 = { class: \"text-bold mb-1\" }\nconst _hoisted_23 = { class: \"duration\" }\nconst _hoisted_24 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", { class: \"my-2\" }, null, -1))\nconst _hoisted_25 = {\n key: 0,\n class: \"text-primary autodesk-price\"\n}\nconst _hoisted_26 = { class: \"price-label\" }\nconst _hoisted_27 = {\n key: 0,\n class: \"wallet-card-container\",\n style: {'background-image': `url('/Static/images/stars-background.jpg')`}\n}\nconst _hoisted_28 = { class: \"wallet-card-extended\" }\nconst _hoisted_29 = [\"alt\"]\nconst _hoisted_30 = { class: \"wallet-text\" }\nconst _hoisted_31 = { class: \"wallet-amount\" }\nconst _hoisted_32 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", { class: \"mb-1 mt-2 wallet-card-line\" }, null, -1))\nconst _hoisted_33 = [\"href\"]\nconst _hoisted_34 = { class: \"d-flex flex-column mx-1\" }\nconst _hoisted_35 = { class: \"title\" }\nconst _hoisted_36 = { class: \"content\" }\nconst _hoisted_37 = { class: \"mr-1\" }\nconst _hoisted_38 = { class: \"d-flex flex-column mx-1\" }\nconst _hoisted_39 = { class: \"title\" }\nconst _hoisted_40 = { class: \"content\" }\nconst _hoisted_41 = { class: \"mr-1\" }\nconst _hoisted_42 = { class: \"mr-1\" }\nconst _hoisted_43 = { class: \"mr-1\" }\nconst _hoisted_44 = {\n key: 0,\n class: \"mb-0 text-bold\"\n}\nconst _hoisted_45 = [\"title\", \"onClick\"]\nconst _hoisted_46 = {\n key: 1,\n class: \"mb-0 text-bold\"\n}\nconst _hoisted_47 = { class: \"text-bold\" }\nconst _hoisted_48 = { class: \"mr-1\" }\nconst _hoisted_49 = {\n key: 0,\n class: \"text-success\"\n}\nconst _hoisted_50 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-check-circle mr-1\" }, null, -1))\nconst _hoisted_51 = [\"href\"]\nconst _hoisted_52 = { class: \"\" }\nconst _hoisted_53 = { class: \"row\" }\nconst _hoisted_54 = [\"innerHTML\"]\nconst _hoisted_55 = [\"innerHTML\"]\nconst _hoisted_56 = [\"innerHTML\"]\nconst _hoisted_57 = [\"src\", \"title\"]\nconst _hoisted_58 = { class: \"text-muted lead text-right\" }\nconst _hoisted_59 = { key: 0 }\nconst _hoisted_60 = { class: \"lead mt-2\" }\nconst _hoisted_61 = { class: \"align-self-center mr-1\" }\nconst _hoisted_62 = [\"alt\", \"title\"]\nconst _hoisted_63 = { class: \"d-flex flex-column align-items-start flex-1 text-left\" }\nconst _hoisted_64 = { class: \"mb-0 font-weight-bold\" }\nconst _hoisted_65 = { class: \"mb-0 text-muted font-weight-normal\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ProductPageContentSection = _resolveComponent(\"ProductPageContentSection\")!\n const _component_BaseProductOverviewItemCard = _resolveComponent(\"BaseProductOverviewItemCard\")!\n const _component_font_awesome_icon = _resolveComponent(\"font-awesome-icon\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Card = _resolveComponent(\"Card\")!\n const _component_InputNumber = _resolveComponent(\"InputNumber\")!\n const _component_ProductConfigurationOption = _resolveComponent(\"ProductConfigurationOption\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_ProductPageSummary = _resolveComponent(\"ProductPageSummary\")!\n const _component_ProductLayout = _resolveComponent(\"ProductLayout\")!\n const _component_ProductConfigurationFlexLicense = _resolveComponent(\"ProductConfigurationFlexLicense\")!\n const _component_ProductConfigurationStep = _resolveComponent(\"ProductConfigurationStep\")!\n const _component_ProgressSpinner = _resolveComponent(\"ProgressSpinner\")!\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_ProductConfiguration = _resolveComponent(\"ProductConfiguration\")!\n const _component_ProductTabs = _resolveComponent(\"ProductTabs\")!\n const _component_PriceSummary = _resolveComponent(\"PriceSummary\")!\n const _component_ProductConfigurationSummaryItem = _resolveComponent(\"ProductConfigurationSummaryItem\")!\n const _component_ProductConfigurationSummary = _resolveComponent(\"ProductConfigurationSummary\")!\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_WalletMessage = _resolveComponent(\"WalletMessage\")!\n const _component_ProductAddedModal = _resolveComponent(\"ProductAddedModal\")!\n const _component_PartnerInfoModal = _resolveComponent(\"PartnerInfoModal\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (_ctx.isAutodeskProduct)\n ? (_openBlock(), _createBlock(_component_ProductLayout, {\n key: 0,\n modelValue: _ctx.showSideBar,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_ctx.showSideBar) = $event)),\n \"help-block\": _ctx.selectedHelpBlock,\n vm: _ctx.vm\n }, {\n tabs: _withCtx(() => [\n (_ctx.vm.autodeskInfoBlock?.isVisible && _ctx.vm.autodeskInfoBlock?.video && _ctx.vm.autodeskInfoBlock?.title)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"video\", _hoisted_3, [\n _createElementVNode(\"source\", {\n src: _ctx.vm.autodeskInfoBlock.video,\n type: \"video/mp4\"\n }, null, 8, _hoisted_4),\n _createTextVNode(\" Your browser does not support the video tag. \")\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"h2\", null, _toDisplayString(_ctx.vm.autodeskInfoBlock.title), 1),\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.vm.autodeskInfoBlock.text), 1)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.hasTab('tabInfo'))\n ? (_openBlock(), _createBlock(_component_ProductPageContentSection, { key: 1 }, {\n default: _withCtx(() => [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.vm.productInfoTabTitle || _ctx.$t(\"product.tabProductInfoTitle\")) + \" \" + _toDisplayString(_ctx.vm.name), 1),\n _createElementVNode(\"div\", {\n class: \"rte\",\n innerHTML: _ctx.vm.productInfoTab\n }, null, 8, _hoisted_6)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.$slots.blocks)\n ? (_openBlock(), _createBlock(_component_ProductPageContentSection, {\n key: 2,\n type: \"content\"\n }, {\n default: _withCtx(() => [\n _renderSlot(_ctx.$slots, \"blocks\", {}, undefined, true)\n ]),\n _: 3\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.relatedUpSellProducts?.length)\n ? (_openBlock(), _createBlock(_component_ProductPageContentSection, {\n key: 3,\n type: \"upsell\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"h3\", _hoisted_7, _toDisplayString(_ctx.$t(\"product.titleUpSell\")), 1),\n _createElementVNode(\"div\", _hoisted_8, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.relatedUpSellProducts, (product) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: product,\n class: \"col-md-6 mb-2\"\n }, [\n _createVNode(_component_BaseProductOverviewItemCard, {\n \"is-cross-sell\": \"\",\n vm: product\n }, null, 8, [\"vm\"])\n ]))\n }), 128))\n ])\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.autodeskSupportBlock?.isVisible && _ctx.vm.autodeskSupportBlock?.items?.length)\n ? (_openBlock(), _createBlock(_component_ProductPageContentSection, {\n key: 4,\n type: \"content\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"h3\", _hoisted_9, _toDisplayString(_ctx.vm.autodeskSupportBlock.title), 1),\n _createElementVNode(\"div\", _hoisted_10, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.autodeskSupportBlock.items, (item) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: item,\n class: \"col-md-6 mb-2\"\n }, [\n _createVNode(_component_Card, { class: \"support-card\" }, {\n header: _withCtx(() => [\n _createVNode(_component_font_awesome_icon, {\n class: \"support-icon mt-3\",\n icon: item.icon,\n size: \"2x\"\n }, null, 8, [\"icon\"])\n ]),\n title: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.title), 1)\n ]),\n content: _withCtx(() => [\n _createTextVNode(_toDisplayString(item.text), 1)\n ]),\n footer: _withCtx(() => [\n _createVNode(_component_Button, {\n class: \"search-button w-100 p-button-raised\",\n label: item.buttonText,\n title: item.buttonText,\n url: item.buttonLink?.url\n }, null, 8, [\"label\", \"title\", \"url\"])\n ]),\n _: 2\n }, 1024)\n ]))\n }), 128))\n ])\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n summary: _withCtx(() => [\n _createVNode(_component_ProductPageSummary, {\n \"can-submit\": !_ctx.submitted && _ctx.validateProductConfiguration() && _ctx.vm.availableInCurrentMarket,\n \"is-in-edit-mode\": _ctx.isInEditMode,\n \"is-autodesk-product\": _ctx.isAutodeskProduct,\n \"is-product-available\": _ctx.vm.viewModelIsValid && !_ctx.isFlexLicense,\n \"max-amount\": _ctx.productStore.selectedVariation?.maxQuantity,\n \"min-amount\": _ctx.productStore.selectedVariation?.minQuantity,\n \"offer-request-form-url\": _ctx.vm.productGuid,\n \"show-amount-input\": \"\",\n \"total-price\": _ctx.priceSummary?.totalPrice,\n value: _ctx.productStore?.selectedAmount,\n \"variation-guid\": _ctx.productStore.selectedVariation?.guid,\n \"variation-id\": _ctx.productStore.selectedVariation?.id,\n onAddToCart: _ctx.addProductToCart,\n onAmountChanged: _ctx.onSelectedAmountChanged,\n onRequestAutodeskQuote: _ctx.onRequestAutodeskQuote\n }, {\n priceSummary: _withCtx(() => [\n (_ctx.isSmallScreen)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, _toDisplayString(_ctx.formatCurrency(_ctx.priceSummary.basePrice)), 1),\n _createVNode(_component_InputNumber, {\n modelValue: _ctx.selectedAmount,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.selectedAmount) = $event)),\n class: \"\",\n \"decrement-button-class\": \"p-button-outlined\",\n \"increment-button-class\": \"p-button-outlined\",\n max: _ctx.maxAmount,\n min: _ctx.minAmount,\n \"show-buttons\": \"\",\n style: {\"width\":\"clamp(125px, 25%, 175px)\",\"height\":\"59px\",\"margin-top\":\"-8px\"},\n \"use-grouping\": false,\n onInput: _ctx.amountChanged\n }, null, 8, [\"modelValue\", \"max\", \"min\", \"onInput\"])\n ]),\n (_ctx.vm.autodeskLoyaltyCashbackBlock?.isVisible && parseInt(_ctx.productStore.walletAmount) !== 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_16, _toDisplayString(_ctx.$t('quotation.product.wallet.label')) + \" \" + _toDisplayString(_ctx.formatCurrency(_ctx.productStore.walletAmount)), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.isAutodeskProduct)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-success p-button-lg p-button-raised p-button-arrow w-100 px-1 my-1\",\n label: _ctx.$t(`product.button.quote`),\n disabled: _ctx.submitted || !_ctx.validateProductConfiguration() || !_ctx.vm.availableInCurrentMarket,\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onRequestAutodeskQuote()))\n }, null, 8, [\"label\", \"disabled\"]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createElementVNode(\"p\", _hoisted_18, _toDisplayString(_ctx.vm.brand), 1),\n _createElementVNode(\"h1\", null, _toDisplayString(_ctx.formatProductName(_ctx.vm.name, _ctx.vm.brand)), 1),\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"p\", _hoisted_20, _toDisplayString(_ctx.$t(\"common.productSummary.amount\")), 1),\n _createVNode(_component_InputNumber, {\n modelValue: _ctx.selectedAmount,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.selectedAmount) = $event)),\n class: \"mr-2\",\n \"decrement-button-class\": \"p-button-outlined\",\n \"increment-button-class\": \"p-button-outlined\",\n max: _ctx.maxAmount,\n min: _ctx.minAmount,\n \"show-buttons\": \"\",\n style: {\"width\":\"clamp(125px, 25%, 175px)\",\"height\":\"59px\",\"margin-top\":\"-8px\"},\n \"use-grouping\": false,\n onInput: _ctx.amountChanged\n }, null, 8, [\"modelValue\", \"max\", \"min\", \"onInput\"])\n ]),\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"p\", _hoisted_22, _toDisplayString(_ctx.$t(\"common.productSummary.duration\")), 1),\n _createElementVNode(\"div\", _hoisted_23, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.productStore.availableDurations, (option, index) => {\n return (_openBlock(), _createBlock(_component_ProductConfigurationOption, {\n class: \"duration\",\n key: index,\n disabled: _ctx.isBusy,\n \"is-selected\": option.value === _ctx.productStore.selectedDuration,\n option: option,\n onOptionSelected: ($event: any) => (_ctx.onDurationSelected(option.value))\n }, null, 8, [\"disabled\", \"is-selected\", \"option\", \"onOptionSelected\"]))\n }), 128))\n ])\n ]),\n _hoisted_24,\n (_ctx.vm.basePrice)\n ? (_openBlock(), _createElementBlock(\"h4\", _hoisted_25, [\n _createElementVNode(\"span\", _hoisted_26, _toDisplayString(_ctx.$t(\"common.priceSummary.basePrice\")), 1),\n _createElementVNode(\"span\", null, [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.formatCurrency(_ctx.priceSummary.basePrice)), 1)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n ]),\n configurationSummary: _withCtx(() => []),\n validationMessage: _withCtx(() => [\n (_ctx.validationErrors.length && _ctx.submitted)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n closable: false,\n severity: \"warn\",\n style: {\"cursor\":\"pointer\"},\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.scrollToFirstValidationError()))\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$tc(\"common.productSummary.msgValidationErrors\", _ctx.validationErrors.length)), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n walletMessage: _withCtx(() => [\n (_ctx.vm.autodeskLoyaltyCashbackBlock?.isVisible && parseInt(_ctx.productStore.walletAmount) !== 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_27, [\n _createElementVNode(\"div\", _hoisted_28, [\n (_ctx.vm.autodeskLoyaltyCashbackBlock?.icon)\n ? _withDirectives((_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n alt: _ctx.vm.autodeskLoyaltyCashbackBlock?.icon?.alt,\n class: \"wallet-icon\"\n }, null, 8, _hoisted_29)), [\n [_directive_lazy, _ctx.vm.autodeskLoyaltyCashbackBlock.icon?.url]\n ])\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_30, _toDisplayString(_ctx.vm.autodeskLoyaltyCashbackBlock?.text), 1),\n _createElementVNode(\"span\", _hoisted_31, _toDisplayString(_ctx.formatCurrency(_ctx.productStore.walletAmount)), 1)\n ]),\n _hoisted_32,\n _createElementVNode(\"a\", {\n href: _ctx.vm.autodeskLoyaltyCashbackBlock?.link?.url,\n class: \"wallet-card-link\"\n }, _toDisplayString(_ctx.vm.autodeskLoyaltyCashbackBlock?.link?.text), 9, _hoisted_33)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"can-submit\", \"is-in-edit-mode\", \"is-autodesk-product\", \"is-product-available\", \"max-amount\", \"min-amount\", \"offer-request-form-url\", \"total-price\", \"value\", \"variation-guid\", \"variation-id\", \"onAddToCart\", \"onAmountChanged\", \"onRequestAutodeskQuote\"])\n ]),\n _: 3\n }, 8, [\"modelValue\", \"help-block\", \"vm\"]))\n : _createCommentVNode(\"\", true),\n (!_ctx.isAutodeskProduct)\n ? (_openBlock(), _createBlock(_component_ProductLayout, {\n key: 1,\n modelValue: _ctx.showSideBar,\n \"onUpdate:modelValue\": _cache[16] || (_cache[16] = ($event: any) => ((_ctx.showSideBar) = $event)),\n \"help-block\": _ctx.selectedHelpBlock,\n vm: _ctx.vm\n }, {\n tabs: _withCtx(() => [\n _createVNode(_component_ProductTabs, { items: _ctx.productTabs }, {\n tabConfiguration: _withCtx(() => [\n _createVNode(_component_ProductPageContentSection, null, {\n default: _withCtx(() => [\n (_ctx.vm.advisorInfoPageUrl && _ctx.vm.brand?.toLowerCase() === 'autodesk')\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n class: \"advice-banner\",\n closable: false,\n severity: \"info\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_34, [\n _createElementVNode(\"div\", _hoisted_35, _toDisplayString(_ctx.$t(\"digitalAdvisor.banner.titleDigitalAdvisor\")), 1),\n _createElementVNode(\"div\", _hoisted_36, _toDisplayString(_ctx.$t(\"digitalAdvisor.banner.digitalAdvisorSummary\")), 1)\n ]),\n _createVNode(_component_Button, {\n class: \"advice-button p-button-success p-button-primary mx-1\",\n label: _ctx.$t('digitalAdvisor.button.adviceMe'),\n onClick: _cache[5] || (_cache[5] = ($event: any) => {\r\n\t\t\t\t\t\t\t\t\t_ctx.openUrl(_ctx.vm.advisorInfoPageUrl);\r\n\t\t\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t\t\t})\n }, null, 8, [\"label\"])\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.viewModelIsValid)\n ? (_openBlock(), _createBlock(_component_ProductConfiguration, { key: 1 }, {\n default: _withCtx(() => [\n (_ctx.productStore.availableLicenseModels?.length > 1)\n ? (_openBlock(), _createBlock(_component_ProductConfigurationStep, {\n key: 0,\n id: \"step-type\"\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"span\", _hoisted_37, _toDisplayString(_ctx.$t(\"product.lblChooseLicenceModel\")), 1),\n (_ctx.vm.helpBlockLicenseType)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"header-explanation-text text-underline py-0 p-button-text p-button-secondary text-underline\",\n label: _ctx.vm.helpBlockLicenseType?.linkText,\n onClick: _cache[6] || (_cache[6] = ($event: any) => (_ctx.showHelpSideBar(_ctx.vm.helpBlockLicenseType)))\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]),\n error: _withCtx(() => [\n (\r\n\t\t\t\t\t\t\t\t\t\t\t!_ctx.productValidation.get(_ctx.productValidationEnum.ValidContract) &&\r\n\t\t\t\t\t\t\t\t\t\t\t_ctx.submitted\r\n\t\t\t\t\t\t\t\t\t\t)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n id: `validation-msg-${_ctx.productValidationEnum.ValidContract}`,\n closable: false,\n severity: \"error\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"product.message.atleastOneAsset\")), 1)\n ]),\n _: 1\n }, 8, [\"id\"]))\n : _createCommentVNode(\"\", true)\n ]),\n options: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.productStore.availableLicenseModels, (option, index) => {\n return (_openBlock(), _createBlock(_component_ProductConfigurationOption, {\n key: index,\n disabled: _ctx.isBusy,\n \"is-selected\": option.value === _ctx.productStore.selectedLicenseModel,\n option: option,\n onOptionSelected: ($event: any) => (_ctx.onLicenseModelSelected(option.value))\n }, null, 8, [\"disabled\", \"is-selected\", \"option\", \"onOptionSelected\"]))\n }), 128)),\n (_ctx.isFlexLicense)\n ? (_openBlock(), _createBlock(_component_ProductConfigurationFlexLicense, {\n key: 0,\n \"product-name\": _ctx.vm.name,\n \"product-usage-advice\": _ctx.productStore.productUsageAdvice,\n onSelectSubscription: _cache[7] || (_cache[7] = ($event: any) => (_ctx.onLicenseModelSelected(0)))\n }, null, 8, [\"product-name\", \"product-usage-advice\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Message, {\n class: \"advice-banner\",\n closable: false,\n severity: \"info\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_38, [\n _createElementVNode(\"div\", _hoisted_39, _toDisplayString(_ctx.$t(\"digitalAdvisor.banner.titleDigitalAdvisor\")), 1),\n _createElementVNode(\"div\", _hoisted_40, _toDisplayString(_ctx.$t(\"digitalAdvisor.banner.digitalAdvisorSummary\")), 1)\n ]),\n _createVNode(_component_Button, {\n class: \"advice-button p-button-success p-button-raised p-button-primary mx-1\",\n label: _ctx.$t('digitalAdvisor.button.adviceMe'),\n onClick: _cache[8] || (_cache[8] = ($event: any) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t_ctx.openUrl(_ctx.vm.advisorInfoPageUrl);\r\n\t\t\t\t\t\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t\t\t\t\t\t})\n }, null, 8, [\"label\"])\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.productStore.availableLicenseClasses?.length > 0 && !_ctx.isFlexLicense)\n ? (_openBlock(), _createBlock(_component_ProductConfigurationStep, {\n key: 1,\n id: \"step-type\"\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"span\", _hoisted_41, _toDisplayString(_ctx.$t(\"product.lblChooseLicenceType\")), 1),\n (_ctx.vm.helpBlockLicenseType)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"header-explanation-text text-underline py-0 p-button-text p-button-secondary text-underline\",\n label: _ctx.vm.helpBlockLicenseType?.linkText,\n onClick: _cache[9] || (_cache[9] = ($event: any) => (_ctx.showHelpSideBar(_ctx.vm.helpBlockLicenseType)))\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]),\n error: _withCtx(() => [\n (\r\n\t\t\t\t\t\t\t\t\t\t\t!_ctx.productValidation.get(_ctx.productValidationEnum.ValidContract) &&\r\n\t\t\t\t\t\t\t\t\t\t\t_ctx.submitted\r\n\t\t\t\t\t\t\t\t\t\t)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n id: `validation-msg-${_ctx.productValidationEnum.ValidContract}`,\n closable: false,\n severity: \"error\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"product.message.atleastOneAsset\")), 1)\n ]),\n _: 1\n }, 8, [\"id\"]))\n : _createCommentVNode(\"\", true)\n ]),\n options: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.productStore.availableLicenseClasses, (option, index) => {\n return (_openBlock(), _createBlock(_component_ProductConfigurationOption, {\n key: index,\n disabled: _ctx.isBusy,\n \"is-selected\": option.value === _ctx.productStore.selectedLicenseClass,\n option: option,\n onOptionSelected: ($event: any) => (_ctx.onLicenseClassSelected(option.value))\n }, null, 8, [\"disabled\", \"is-selected\", \"option\", \"onOptionSelected\"]))\n }), 128))\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.productStore.availableLicenseSizes?.length > 0 && !_ctx.isFlexLicense)\n ? (_openBlock(), _createBlock(_component_ProductConfigurationStep, {\n key: 2,\n id: \"step-size\"\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"span\", _hoisted_42, _toDisplayString(_ctx.vm.unitSelectionTitle || _ctx.$t(\"product.lblChooseLicenceSize\")), 1),\n (_ctx.vm.helpBlockProductSize)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"header-explanation-text text-underline py-0 p-button-text p-button-secondary\",\n label: _ctx.vm.helpBlockProductSize?.linkText,\n onClick: _cache[10] || (_cache[10] = ($event: any) => (_ctx.showHelpSideBar(_ctx.vm.helpBlockProductSize)))\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]),\n error: _withCtx(() => [\n (\r\n\t\t\t\t\t\t\t\t\t\t\t!_ctx.productValidation.get(_ctx.productValidationEnum.ValidContract) &&\r\n\t\t\t\t\t\t\t\t\t\t\t_ctx.submitted\r\n\t\t\t\t\t\t\t\t\t\t)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n id: `validation-msg-${_ctx.productValidationEnum.ValidContract}`,\n closable: false,\n severity: \"error\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"product.message.atleastOneAsset\")), 1)\n ]),\n _: 1\n }, 8, [\"id\"]))\n : _createCommentVNode(\"\", true)\n ]),\n options: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.productStore.availableLicenseSizes, (option, index) => {\n return (_openBlock(), _createBlock(_component_ProductConfigurationOption, {\n key: index,\n disabled: _ctx.isBusy,\n \"is-selected\": option.value === _ctx.productStore.selectedLicenseSize,\n option: option,\n onOptionSelected: ($event: any) => (_ctx.onLicenseSizeSelected(option.value))\n }, null, 8, [\"disabled\", \"is-selected\", \"option\", \"onOptionSelected\"]))\n }), 128))\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (\r\n\t\t\t\t\t\t\t\t\t_ctx.productStore.canAddToContract &&\r\n\t\t\t\t\t\t\t\t\t_ctx.productStore.isAddingToContract &&\r\n\t\t\t\t\t\t\t\t\t!_ctx.isFlexLicense\r\n\t\t\t\t\t\t\t\t)\n ? (_openBlock(), _createBlock(_component_ProductConfigurationStep, {\n key: 3,\n id: \"step-contract\"\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"span\", _hoisted_43, _toDisplayString(_ctx.$t(\"product.lblChooseContract\")), 1),\n (_ctx.vm.helpBlockContract)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"header-explanation-text text-underline py-0 p-button-text p-button-secondary\",\n label: _ctx.vm.helpBlockContract?.linkText,\n onClick: _cache[11] || (_cache[11] = ($event: any) => (_ctx.showHelpSideBar(_ctx.vm.helpBlockContract)))\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]),\n default: _withCtx(() => [\n (_ctx.isSpinnerVisible('contractTable'))\n ? (_openBlock(), _createBlock(_component_ProgressSpinner, {\n key: 0,\n \"animation-duration\": \".75s\",\n class: \"d-block mr-auto ml-0\",\n \"stroke-width\": \"3\"\n }))\n : (_openBlock(), _createBlock(_component_DataTable, {\n key: 1,\n selection: _ctx.productStore.selectedContract,\n \"onUpdate:selection\": _cache[12] || (_cache[12] = ($event: any) => ((_ctx.productStore.selectedContract) = $event)),\n \"auto-layout\": \"\",\n \"data-key\": \"contractNumber\",\n \"selection-mode\": \"single\",\n value: _ctx.productStore.contractsForProduct,\n onRowSelect: _ctx.onContractSelected\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Column, {\n class: \"text-lg-center\",\n \"selection-mode\": \"single\",\n style: {\"width\":\"5%\",\"padding\":\"1rem\",\"overflow\":\"hidden\"}\n }),\n _createVNode(_component_Column, {\n key: \"contractNumber\",\n field: \"contractNumber\",\n header: _ctx.$t('contract.contractNumber')\n }, {\n body: _withCtx((item) => [\n (_ctx.userProfile?.isCadacSales || _ctx.userProfile?.isImpersonated)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_44, [\n _createElementVNode(\"a\", {\n href: \"javascript:void(0)\",\n title: _ctx.$t('common.goToCrm'),\n onClick: ($event: any) => (_ctx.openUrl(item.data.crmUrl, '_blank'))\n }, _toDisplayString(item.data.contractNumber), 9, _hoisted_45)\n ]))\n : (_openBlock(), _createElementBlock(\"p\", _hoisted_46, _toDisplayString(item.data.contractNumber), 1))\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"endDate\",\n field: \"endDate\",\n header: _ctx.$t('contract.endDate')\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.formatDate(item.data.endDate)), 1)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"remainingTerm\",\n header: _ctx.$t('contract.remainingDuration')\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$tc(\"common.months\", item.data.duration)), 1)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n header: `${_ctx.$t('common.costs')} ${_ctx.$t('common.pricePerMonth')}`\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"span\", _hoisted_47, _toDisplayString(_ctx.formatCurrency(item.data.customerPrice)), 1)\n ]),\n _: 1\n }, 8, [\"header\"])\n ]),\n _: 1\n }, 8, [\"selection\", \"value\", \"onRowSelect\"])),\n (_ctx.productStore.canAddToContract)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 2,\n class: \"py-0 mt-2 p-button-text p-button-link\",\n label: _ctx.$t('product.button.dontAddToExistingContract'),\n onClick: _ctx.toggleAddToContract\n }, null, 8, [\"label\", \"onClick\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }))\n : (!_ctx.isFlexLicense)\n ? (_openBlock(), _createBlock(_component_ProductConfigurationStep, {\n key: 4,\n id: \"step-duration\"\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"span\", _hoisted_48, _toDisplayString(_ctx.$t(\"product.lblChooseDuration\")), 1),\n (_ctx.vm.helpBlockDuration)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"header-explanation-text text-underline py-0 p-button-text p-button-secondary\",\n label: _ctx.vm.helpBlockDuration?.linkText,\n onClick: _cache[13] || (_cache[13] = ($event: any) => (_ctx.showHelpSideBar(_ctx.vm.helpBlockDuration)))\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]),\n error: _withCtx(() => [\n (\r\n\t\t\t\t\t\t\t\t\t\t\t!_ctx.productValidation.get(_ctx.productValidationEnum.ValidContract) &&\r\n\t\t\t\t\t\t\t\t\t\t\t_ctx.submitted\r\n\t\t\t\t\t\t\t\t\t\t)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n id: `validation-msg-${_ctx.productValidationEnum.ValidContract}`,\n closable: false,\n severity: \"error\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"product.message.atleastOneAsset\")), 1)\n ]),\n _: 1\n }, 8, [\"id\"]))\n : _createCommentVNode(\"\", true)\n ]),\n options: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.productStore.availableDurations, (option, index) => {\n return (_openBlock(), _createBlock(_component_ProductConfigurationOption, {\n key: index,\n disabled: _ctx.isBusy,\n \"is-selected\": option.value === _ctx.productStore.selectedDuration,\n option: option,\n onOptionSelected: ($event: any) => (_ctx.onDurationSelected(option.value))\n }, {\n \"usp-pricePerMonth\": _withCtx(() => [\n _createElementVNode(\"span\", {\n class: _normalizeClass({ 'text-muted': !_ctx.isCheapestDuration(option.value) })\n }, _toDisplayString(_ctx.$t(\"common.pricePerMonth\", [\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t_ctx.formatCurrency(_ctx.getPricePerMonthForDuration(option.value)),\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t])), 3)\n ]),\n \"usp-cheapest\": _withCtx(() => [\n (_ctx.isCheapestDuration(option.value))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_49, [\n _hoisted_50,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t(\"product.bestPrice\")), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 2\n }, 1032, [\"disabled\", \"is-selected\", \"option\", \"onOptionSelected\"]))\n }), 128))\n ]),\n default: _withCtx(() => [\n (!_ctx.layoutStore.isAuthenticated && !_ctx.productStore.canAddToContract)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n closable: false,\n severity: \"custom\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_i18n_t, { keypath: \"product.message.loginToAddToContract\" }, {\n loginLink: _withCtx(() => [\n _createElementVNode(\"a\", { href: _ctx.loginPageUrl }, _toDisplayString(_ctx.$t(\"common.login\")), 9, _hoisted_51)\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.productStore.canAddToContract)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"py-0 mt-2 p-button-text p-button-link\",\n label: _ctx.$t('product.button.addToExistingContract'),\n onClick: _ctx.toggleAddToContract\n }, null, 8, [\"label\", \"onClick\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }))\n : (_openBlock(), _createBlock(_component_Message, {\n key: 2,\n closable: false,\n severity: \"error\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"product.message.currentlyUnavailable\")), 1)\n ]),\n _: 1\n }))\n ]),\n _: 1\n }),\n (_ctx.vm.relatedUpSellProducts?.length)\n ? (_openBlock(), _createBlock(_component_ProductPageContentSection, {\n key: 0,\n type: \"upsell\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"h3\", _hoisted_52, _toDisplayString(_ctx.$t(\"product.titleUpSell\")), 1),\n _createElementVNode(\"div\", _hoisted_53, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.relatedUpSellProducts, (product) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: product,\n class: \"col-md-6 mb-2\"\n }, [\n _createVNode(_component_BaseProductOverviewItemCard, {\n \"is-cross-sell\": \"\",\n vm: product\n }, null, 8, [\"vm\"])\n ]))\n }), 128))\n ])\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n tabInfo: _withCtx(() => [\n (_ctx.hasTab('tabInfo'))\n ? (_openBlock(), _createBlock(_component_ProductPageContentSection, { key: 0 }, {\n default: _withCtx(() => [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.vm.productInfoTabTitle || _ctx.$t(\"product.tabProductInfoTitle\")) + \" \" + _toDisplayString(_ctx.vm.name), 1),\n _createElementVNode(\"div\", {\n class: \"rte\",\n innerHTML: _ctx.vm.productInfoTab\n }, null, 8, _hoisted_54)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.$slots.blocks)\n ? (_openBlock(), _createBlock(_component_ProductPageContentSection, {\n key: 1,\n type: \"content\"\n }, {\n default: _withCtx(() => [\n _renderSlot(_ctx.$slots, \"blocks\", {}, undefined, true)\n ]),\n _: 3\n }))\n : _createCommentVNode(\"\", true)\n ]),\n tabSpecifications: _withCtx(() => [\n (_ctx.hasTab('tabSpecifications'))\n ? (_openBlock(), _createBlock(_component_ProductPageContentSection, {\n key: 0,\n type: \"content\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.vm.specificationsTabTitle || _ctx.$t(\"product.tabSpecificationsTitle\")) + \" \" + _toDisplayString(_ctx.vm.name), 1),\n _createElementVNode(\"div\", {\n class: \"product-specification\",\n innerHTML: _ctx.vm.specificationsTab\n }, null, 8, _hoisted_55)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n tabContent: _withCtx(() => [\n (_ctx.hasTab('tabContent'))\n ? (_openBlock(), _createBlock(_component_ProductPageContentSection, {\n key: 0,\n type: \"content\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.$t(\"product.tabContentTitle\")) + \" \" + _toDisplayString(_ctx.vm.name), 1),\n _createElementVNode(\"div\", {\n class: \"\",\n innerHTML: _ctx.contentTabVm\n }, null, 8, _hoisted_56)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n tabMedia: _withCtx(() => [\n (_ctx.hasTab('tabMedia'))\n ? (_openBlock(), _createBlock(_component_ProductPageContentSection, {\n key: 0,\n type: \"media\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.mediaEmbedCaption), 1),\n _createElementVNode(\"embed\", {\n height: \"100%\",\n src: _ctx.mediaEmbedSrc,\n style: {\"min-height\":\"400px\"},\n title: _ctx.mediaEmbedCaption,\n type: \"video/mp4\",\n width: \"100%\",\n wmode: \"transparent\"\n }, null, 8, _hoisted_57)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"items\"])\n ]),\n summary: _withCtx(() => [\n _createVNode(_component_ProductPageSummary, {\n \"can-submit\": !_ctx.submitted && _ctx.validateProductConfiguration() && _ctx.vm.availableInCurrentMarket,\n \"is-in-edit-mode\": _ctx.isInEditMode,\n \"is-autodesk-product\": _ctx.isAutodeskProduct,\n \"is-product-available\": _ctx.vm.viewModelIsValid && !_ctx.isFlexLicense,\n \"max-amount\": _ctx.productStore.selectedVariation?.maxQuantity,\n \"min-amount\": _ctx.productStore.selectedVariation?.minQuantity,\n \"offer-request-form-url\": _ctx.vm.productGuid,\n \"show-amount-input\": \"\",\n \"total-price\": _ctx.priceSummary?.totalPrice,\n value: _ctx.productStore?.selectedAmount,\n \"variation-guid\": _ctx.productStore.selectedVariation?.guid,\n \"variation-id\": _ctx.productStore.selectedVariation?.id,\n onAddToCart: _ctx.addProductToCart,\n onAmountChanged: _ctx.onSelectedAmountChanged,\n onRequestAutodeskQuote: _ctx.onRequestAutodeskQuote\n }, {\n priceSummary: _withCtx(() => [\n _createVNode(_component_PriceSummary, { vm: _ctx.priceSummary }, null, 8, [\"vm\"]),\n _createElementVNode(\"p\", _hoisted_58, _toDisplayString(_ctx.$t(\"common.productSummary.allPricesExclVat\")), 1)\n ]),\n configurationSummary: _withCtx(() => [\n _createVNode(_component_ProductConfigurationSummary, {\n header: _ctx.$t('product.titleSummaryProductSubscription', [_ctx.vm.name])\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ProductConfigurationSummaryItem, {\n content: _ctx.$t(`enum.licenseClass.${_ctx.productStore.selectedLicenseClass || 0}`),\n label: _ctx.$t('product.lblLicenceType')\n }, null, 8, [\"content\", \"label\"]),\n (_ctx.vm.unitSelectionTitle && _ctx.productStore.selectedLicenseSize)\n ? (_openBlock(), _createBlock(_component_ProductConfigurationSummaryItem, {\n key: 0,\n content: _ctx.productStore.selectedLicenseSizeLabel,\n label: _ctx.vm.unitSelectionTitle\n }, null, 8, [\"content\", \"label\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_ProductConfigurationSummaryItem, {\n content: _ctx.$tc(`common.months`, _ctx.productStore.selectedDuration),\n label: _ctx.$t('product.lblDuration')\n }, null, 8, [\"content\", \"label\"]),\n (_ctx.layoutStore.canImpersonate)\n ? (_openBlock(), _createBlock(_component_ProductConfigurationSummaryItem, {\n key: 1,\n content: _ctx.productStore.selectedVariation?.sku,\n label: \"SKU\"\n }, null, 8, [\"content\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"header\"]),\n (_ctx.vm.currentPartner)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_59, [\n _createElementVNode(\"p\", _hoisted_60, _toDisplayString(_ctx.$t(\"product.lblYourPartner\")), 1),\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-arrow btn-partner-info\",\n onClick: _cache[14] || (_cache[14] = ($event: any) => (_ctx.showPartnerInfo = true))\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_61, [\n _createVNode(_component_Avatar, {\n shape: \"circle\",\n size: \"large\"\n }, {\n default: _withCtx(() => [\n (_ctx.vm.currentPartner?.iconUrl)\n ? _withDirectives((_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n alt: _ctx.vm.currentPartner?.iconAlt,\n title: _ctx.vm.currentPartner?.name\n }, null, 8, _hoisted_62)), [\n [_directive_lazy, _ctx.vm.currentPartner?.iconUrl]\n ])\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"div\", _hoisted_63, [\n _createElementVNode(\"p\", _hoisted_64, _toDisplayString(_ctx.vm.currentPartner?.name), 1),\n _createElementVNode(\"p\", _hoisted_65, _toDisplayString(_ctx.vm.currentPartner?.addressString), 1)\n ])\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n validationMessage: _withCtx(() => [\n (_ctx.validationErrors.length && _ctx.submitted)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n closable: false,\n severity: \"warn\",\n style: {\"cursor\":\"pointer\"},\n onClick: _cache[15] || (_cache[15] = ($event: any) => (_ctx.scrollToFirstValidationError()))\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$tc(\"common.productSummary.msgValidationErrors\", _ctx.validationErrors.length)), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n walletMessage: _withCtx(() => [\n _withDirectives(_createVNode(_component_WalletMessage, {\n \"wallet-amount\": _ctx.productStore.walletAmount\n }, null, 8, [\"wallet-amount\"]), [\n [_vShow, !_ctx.isSmallScreen && _ctx.vm?.canUseWallet && parseInt(_ctx.productStore.walletAmount) !== 0]\n ])\n ]),\n _: 1\n }, 8, [\"can-submit\", \"is-in-edit-mode\", \"is-autodesk-product\", \"is-product-available\", \"max-amount\", \"min-amount\", \"offer-request-form-url\", \"total-price\", \"value\", \"variation-guid\", \"variation-id\", \"onAddToCart\", \"onAmountChanged\", \"onRequestAutodeskQuote\"])\n ]),\n _: 3\n }, 8, [\"modelValue\", \"help-block\", \"vm\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.cartStore.showProductAddedModal)\n ? (_openBlock(), _createBlock(_component_ProductAddedModal, {\n key: 2,\n vm: _ctx.productAddedVm\n }, null, 8, [\"vm\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.showPartnerInfo)\n ? (_openBlock(), _createBlock(_component_PartnerInfoModal, {\n key: 3,\n vm: _ctx.vm.currentPartner,\n onCancel: _cache[17] || (_cache[17] = ($event: any) => (_ctx.showPartnerInfo = false))\n }, null, 8, [\"vm\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<ProductLayout v-if=\"isAutodeskProduct\" v-model=\"showSideBar\" :help-block=\"selectedHelpBlock\" :vm=\"vm\">\r\n\t\t<template #tabs>\r\n\t\t\t<div class=\"container my-5\" v-if=\"vm.autodeskInfoBlock?.isVisible && vm.autodeskInfoBlock?.video && vm.autodeskInfoBlock?.title\">\r\n\t\t\t\t<div class=\"left-pane\">\r\n\t\t\t\t\t<video autoplay loop muted playsinline class=\"animation-video\">\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t<source :src=\"vm.autodeskInfoBlock.video\" type=\"video/mp4\">\r\n\t\t\t\t\t\tYour browser does not support the video tag.\r\n\t\t\t\t\t</video>\t\t\t\t\t\t\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"right-pane d-none d-sm-flex\">\t\t\t\t\t\t\t\r\n\t\t\t\t\t<h2>{{ vm.autodeskInfoBlock.title }}</h2>\r\n\t\t\t\t\t<p>{{ vm.autodeskInfoBlock.text }}</p>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\r\n\t\t\t<ProductPageContentSection v-if=\"hasTab('tabInfo')\">\r\n\t\t\t\t<h3>{{ vm.productInfoTabTitle || $t(\"product.tabProductInfoTitle\") }} {{ vm.name }}</h3>\r\n\t\t\t\t<div class=\"rte\" v-html=\"vm.productInfoTab\" />\r\n\t\t\t</ProductPageContentSection>\r\n\t\t\t<ProductPageContentSection v-if=\"$slots.blocks\" type=\"content\">\r\n\t\t\t\t<slot name=\"blocks\" />\r\n\t\t\t</ProductPageContentSection>\r\n\t\t\t<ProductPageContentSection v-if=\"vm.relatedUpSellProducts?.length\" type=\"upsell\">\r\n\t\t\t\t<h3 class=\"\">{{ $t(\"product.titleUpSell\") }}</h3>\r\n\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t<div v-for=\"product in vm.relatedUpSellProducts\" :key=\"product\" class=\"col-md-6 mb-2\">\r\n\t\t\t\t\t\t<BaseProductOverviewItemCard is-cross-sell :vm=\"product\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</ProductPageContentSection>\r\n\r\n\t\t\t\r\n\t\t\t<ProductPageContentSection v-if=\"vm.autodeskSupportBlock?.isVisible && vm.autodeskSupportBlock?.items?.length\" type=\"content\">\r\n\r\n\t\t\t\t<h3 class=\"\">{{ vm.autodeskSupportBlock.title }}</h3>\r\n\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t<div v-for=\"item in vm.autodeskSupportBlock.items\" :key=\"item\" class=\"col-md-6 mb-2\">\r\n\t\t\t\t\t\t<Card class=\"support-card\">\r\n\t\t\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t\t\t<font-awesome-icon class=\"support-icon mt-3\" :icon=\"item.icon\" size=\"2x\" />\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t<template #title>\r\n\t\t\t\t\t\t\t\t{{item.title}}\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t{{item.text}}\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t<template #footer>\r\n\t\t\t\t\t\t\t\t<Button class=\"search-button w-100 p-button-raised\"\r\n\t\t\t\t\t\t\t\t\t\t:label=\"item.buttonText\"\r\n\t\t\t\t\t\t\t\t\t\t:title=\"item.buttonText\"\r\n\t\t\t\t\t\t\t\t\t\t:url=\"item.buttonLink?.url\" />\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</Card>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</ProductPageContentSection>\r\n\t\t</template>\r\n\r\n\t\t<template #summary>\r\n\t\t\t<ProductPageSummary :can-submit=\"!submitted && validateProductConfiguration() && vm.availableInCurrentMarket\"\r\n\t\t\t\t\t\t\t\t:is-in-edit-mode=\"isInEditMode\"\r\n\t\t\t\t\t\t\t\t:is-autodesk-product=\"isAutodeskProduct\"\r\n\t\t\t\t\t\t\t\t:is-product-available=\"vm.viewModelIsValid && !isFlexLicense\"\r\n\t\t\t\t\t\t\t\t:max-amount=\"productStore.selectedVariation?.maxQuantity\"\r\n\t\t\t\t\t\t\t\t:min-amount=\"productStore.selectedVariation?.minQuantity\"\r\n\t\t\t\t\t\t\t\t:offer-request-form-url=\"vm.productGuid\"\r\n\t\t\t\t\t\t\t\tshow-amount-input\r\n\t\t\t\t\t\t\t\t:total-price=\"priceSummary?.totalPrice\"\r\n\t\t\t\t\t\t\t\t:value=\"productStore?.selectedAmount\"\r\n\t\t\t\t\t\t\t\t:variation-guid=\"productStore.selectedVariation?.guid\"\r\n\t\t\t\t\t\t\t\t:variation-id=\"productStore.selectedVariation?.id\"\r\n\t\t\t\t\t\t\t\t@addToCart=\"addProductToCart\"\r\n\t\t\t\t\t\t\t\t@amountChanged=\"onSelectedAmountChanged\"\r\n\t\t\t\t\t\t\t\t@requestAutodeskQuote=\"onRequestAutodeskQuote\">\r\n\t\t\t\t<template #priceSummary>\r\n\t\t\t\t\t<div v-if=\"isSmallScreen\">\r\n\t\t\t\t\t\t<div class=\"p-2\">\r\n\t\t\t\t\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t\t\t\t\t<div class=\"d-flex flex-row w-100 pt-2 justify-content-between\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"price-text\">\r\n\t\t\t\t\t\t\t\t\t\t{{ formatCurrency(priceSummary.basePrice) }}\t\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<InputNumber v-model=\"selectedAmount\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t class=\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t decrement-button-class=\"p-button-outlined\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t increment-button-class=\"p-button-outlined\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t :max=\"maxAmount\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t :min=\"minAmount\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t show-buttons\r\n\t\t\t\t\t\t\t\t\t\t\t\t style=\"width: clamp(125px, 25%, 175px); height: 59px; margin-top: -8px\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t :use-grouping=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t @input=\"amountChanged\" />\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<!-- duration 12 or 36 months; commented because not in design -->\r\n\t\t\t\t\t\t\t\t<!--<div class=\"d-flex flex-row pt-1 justify-content-around\">\r\n\t\t\t\t\t\t\t\t\t<ProductConfigurationOption v-for=\"(option, index) in productStore.availableDurations\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"duration\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:disabled=\"isBusy\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:is-selected=\"option.value === productStore.selectedDuration\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:option=\"option\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@option-selected=\"onDurationSelected(option.value)\">\r\n\t\t\t\t\t\t\t\t\t</ProductConfigurationOption>\r\n\t\t\t\t\t\t\t\t</div>-->\r\n\r\n\t\t\t\t\t\t\t\t<div v-if=\"vm.autodeskLoyaltyCashbackBlock?.isVisible && parseInt(productStore.walletAmount) !== 0\"\r\n\t\t\t\t\t\t\t\t\t class=\"wallet-text-small\">\r\n\t\t\t\t\t\t\t\t\t{{$t('quotation.product.wallet.label')}} {{formatCurrency(productStore.walletAmount) }}\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<Button v-if=\"isAutodeskProduct\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"p-button-success p-button-lg p-button-raised p-button-arrow w-100 px-1 my-1\"\r\n\t\t\t\t\t\t\t\t\t\t:label=\"$t(`product.button.quote`)\"\r\n\t\t\t\t\t\t\t\t\t\t:disabled=\"submitted || !validateProductConfiguration() || !vm.availableInCurrentMarket\"\r\n\t\t\t\t\t\t\t\t\t\t@click=\"onRequestAutodeskQuote()\" />\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div v-else>\r\n\t\t\t\t\t\t<p class=\"mb-0\">\r\n\t\t\t\t\t\t\t{{ vm.brand }}\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t<h1>{{ formatProductName(vm.name, vm.brand) }}</h1>\r\n\r\n\t\t\t\t\t\t<div class=\"my-3\">\r\n\t\t\t\t\t\t\t<p class=\"text-bold mb-1\">{{ $t(\"common.productSummary.amount\") }}</p>\r\n\t\t\t\t\t\t\t<InputNumber v-model=\"selectedAmount\"\r\n\t\t\t\t\t\t\t\t\t\t class=\"mr-2\"\r\n\t\t\t\t\t\t\t\t\t\t decrement-button-class=\"p-button-outlined\"\r\n\t\t\t\t\t\t\t\t\t\t increment-button-class=\"p-button-outlined\"\r\n\t\t\t\t\t\t\t\t\t\t :max=\"maxAmount\"\r\n\t\t\t\t\t\t\t\t\t\t :min=\"minAmount\"\r\n\t\t\t\t\t\t\t\t\t\t show-buttons\r\n\t\t\t\t\t\t\t\t\t\t style=\"width: clamp(125px, 25%, 175px); height: 59px; margin-top: -8px\"\r\n\t\t\t\t\t\t\t\t\t\t :use-grouping=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t @input=\"amountChanged\" />\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"my-3\">\r\n\t\t\t\t\t\t\t<p class=\"text-bold mb-1\">{{ $t(\"common.productSummary.duration\") }}</p>\r\n\t\t\t\t\t\t\t<div class=\"duration\">\r\n\t\t\t\t\t\t\t\t<ProductConfigurationOption v-for=\"(option, index) in productStore.availableDurations\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"duration\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:disabled=\"isBusy\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:is-selected=\"option.value === productStore.selectedDuration\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:option=\"option\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@option-selected=\"onDurationSelected(option.value)\">\r\n\t\t\t\t\t\t\t\t</ProductConfigurationOption>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t<hr class=\"my-2\" />\r\n\r\n\t\t\t\t\t\t<h4 v-if=\"vm.basePrice\" class=\"text-primary autodesk-price\">\r\n\t\t\t\t\t\t\t<span class=\"price-label\">\r\n\t\t\t\t\t\t\t\t{{ $t(\"common.priceSummary.basePrice\") }}\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t<span>\r\n\t\t\t\t\t\t\t\t<b>{{ formatCurrency(priceSummary.basePrice) }}</b>\r\n\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t</h4>\r\n\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template #configurationSummary>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template #validationMessage>\r\n\t\t\t\t\t<Message v-if=\"validationErrors.length && submitted\"\r\n\t\t\t\t\t\t\t :closable=\"false\"\r\n\t\t\t\t\t\t\t severity=\"warn\"\r\n\t\t\t\t\t\t\t style=\"cursor: pointer\"\r\n\t\t\t\t\t\t\t @click=\"scrollToFirstValidationError()\">\r\n\t\t\t\t\t\t{{ $tc(\"common.productSummary.msgValidationErrors\", validationErrors.length) }}\r\n\t\t\t\t\t</Message>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template #walletMessage>\r\n\t\t\t\t\t<div class=\"wallet-card-container\"\r\n\t\t\t\t\t\t v-if=\"vm.autodeskLoyaltyCashbackBlock?.isVisible && parseInt(productStore.walletAmount) !== 0\"\r\n\t\t\t\t\t\t :style=\"{'background-image': `url('/Static/images/stars-background.jpg')`}\">\r\n\t\t\t\t\t\t<div class=\"wallet-card-extended\">\r\n\t\t\t\t\t\t\t<img v-if=\"vm.autodeskLoyaltyCashbackBlock?.icon\" v-lazy=\"vm.autodeskLoyaltyCashbackBlock.icon?.url\" :alt=\"vm.autodeskLoyaltyCashbackBlock?.icon?.alt\" class=\"wallet-icon\" />\r\n\r\n\t\t\t\t\t\t\t<div class=\"wallet-text\">\r\n\t\t\t\t\t\t\t\t{{vm.autodeskLoyaltyCashbackBlock?.text}}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<span class=\"wallet-amount\">{{ formatCurrency(productStore.walletAmount) }}</span>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<hr class=\"mb-1 mt-2 wallet-card-line\" />\r\n\t\t\t\t\t\t<a :href=\"vm.autodeskLoyaltyCashbackBlock?.link?.url\" class=\"wallet-card-link\">\r\n\t\t\t\t\t\t\t{{vm.autodeskLoyaltyCashbackBlock?.link?.text}}\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</ProductPageSummary>\t\t\t\r\n\t\t</template>\r\n\t\t</ProductLayout>\r\n\t<ProductLayout v-if=\"!isAutodeskProduct\" v-model=\"showSideBar\" :help-block=\"selectedHelpBlock\" :vm=\"vm\">\r\n\t\t<template #tabs>\r\n\t\t\t<ProductTabs :items=\"productTabs\">\r\n\t\t\t\t<template #tabConfiguration>\r\n\t\t\t\t\t<ProductPageContentSection>\r\n\t\t\t\t\t\t<Message v-if=\"vm.advisorInfoPageUrl && vm.brand?.toLowerCase() === 'autodesk'\"\r\n\t\t\t\t\t\t\t\t\tclass=\"advice-banner\"\r\n\t\t\t\t\t\t\t\t\t:closable=\"false\"\r\n\t\t\t\t\t\t\t\t\tseverity=\"info\">\r\n\t\t\t\t\t\t\t<div class=\"d-flex flex-column mx-1\">\r\n\t\t\t\t\t\t\t\t<div class=\"title\">{{ $t(\"digitalAdvisor.banner.titleDigitalAdvisor\") }}</div>\r\n\t\t\t\t\t\t\t\t<div class=\"content\">\r\n\t\t\t\t\t\t\t\t\t{{ $t(\"digitalAdvisor.banner.digitalAdvisorSummary\") }}\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t<Button class=\"advice-button p-button-success p-button-primary mx-1\"\r\n\t\t\t\t\t\t\t\t\t:label=\"$t('digitalAdvisor.button.adviceMe')\"\r\n\t\t\t\t\t\t\t\t\t@click=\"\r\n\t\t\t\t\t\t\t\t\topenUrl(vm.advisorInfoPageUrl);\r\n\t\t\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t\t\t\" />\r\n\t\t\t\t\t\t</Message>\r\n\r\n\t\t\t\t\t\t<ProductConfiguration v-if=\"vm.viewModelIsValid\">\r\n\t\t\t\t\t\t\t<ProductConfigurationStep v-if=\"productStore.availableLicenseModels?.length > 1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tid=\"step-type\">\r\n\t\t\t\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t\t\t\t<span class=\"mr-1\"> {{ $t(\"product.lblChooseLicenceModel\") }}</span>\r\n\t\t\t\t\t\t\t\t\t<Button v-if=\"vm.helpBlockLicenseType\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"header-explanation-text text-underline py-0 p-button-text p-button-secondary text-underline\"\r\n\t\t\t\t\t\t\t\t\t\t\t:label=\"vm.helpBlockLicenseType?.linkText\"\r\n\t\t\t\t\t\t\t\t\t\t\t@click=\"showHelpSideBar(vm.helpBlockLicenseType)\" />\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t<template #error>\r\n\t\t\t\t\t\t\t\t\t<Message v-if=\"\r\n\t\t\t\t\t\t\t\t\t\t\t!productValidation.get(productValidationEnum.ValidContract) &&\r\n\t\t\t\t\t\t\t\t\t\t\tsubmitted\r\n\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t:id=\"`validation-msg-${productValidationEnum.ValidContract}`\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t:closable=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tseverity=\"error\">\r\n\t\t\t\t\t\t\t\t\t\t{{ $t(\"product.message.atleastOneAsset\") }}\r\n\t\t\t\t\t\t\t\t\t</Message>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t<template #options>\r\n\t\t\t\t\t\t\t\t\t<ProductConfigurationOption v-for=\"(option, index) in productStore.availableLicenseModels\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:disabled=\"isBusy\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:is-selected=\"option.value === productStore.selectedLicenseModel\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:option=\"option\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@option-selected=\"onLicenseModelSelected(option.value)\">\r\n\t\t\t\t\t\t\t\t\t</ProductConfigurationOption>\r\n\r\n\t\t\t\t\t\t\t\t\t<ProductConfigurationFlexLicense v-if=\"isFlexLicense\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:product-name=\"vm.name\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:product-usage-advice=\"productStore.productUsageAdvice\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@select-subscription=\"onLicenseModelSelected(0)\" />\r\n\r\n\t\t\t\t\t\t\t\t\t<Message class=\"advice-banner\" :closable=\"false\" severity=\"info\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"d-flex flex-column mx-1\">\r\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"title\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ $t(\"digitalAdvisor.banner.titleDigitalAdvisor\") }}\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"content\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ $t(\"digitalAdvisor.banner.digitalAdvisorSummary\") }}\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t\t\t\t<Button class=\"advice-button p-button-success p-button-raised p-button-primary mx-1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t:label=\"$t('digitalAdvisor.button.adviceMe')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t@click=\"\r\n\t\t\t\t\t\t\t\t\t\t\t\topenUrl(vm.advisorInfoPageUrl);\r\n\t\t\t\t\t\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t\t\t\t\t\t\" />\r\n\t\t\t\t\t\t\t\t\t</Message>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</ProductConfigurationStep>\r\n\r\n\t\t\t\t\t\t\t<ProductConfigurationStep v-if=\"productStore.availableLicenseClasses?.length > 0 && !isFlexLicense\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tid=\"step-type\">\r\n\t\t\t\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t\t\t\t<span class=\"mr-1\"> {{ $t(\"product.lblChooseLicenceType\") }}</span>\r\n\t\t\t\t\t\t\t\t\t<Button v-if=\"vm.helpBlockLicenseType\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"header-explanation-text text-underline py-0 p-button-text p-button-secondary text-underline\"\r\n\t\t\t\t\t\t\t\t\t\t\t:label=\"vm.helpBlockLicenseType?.linkText\"\r\n\t\t\t\t\t\t\t\t\t\t\t@click=\"showHelpSideBar(vm.helpBlockLicenseType)\" />\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t<template #error>\r\n\t\t\t\t\t\t\t\t\t<Message v-if=\"\r\n\t\t\t\t\t\t\t\t\t\t\t!productValidation.get(productValidationEnum.ValidContract) &&\r\n\t\t\t\t\t\t\t\t\t\t\tsubmitted\r\n\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t:id=\"`validation-msg-${productValidationEnum.ValidContract}`\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t:closable=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tseverity=\"error\">\r\n\t\t\t\t\t\t\t\t\t\t{{ $t(\"product.message.atleastOneAsset\") }}\r\n\t\t\t\t\t\t\t\t\t</Message>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t<template #options>\r\n\t\t\t\t\t\t\t\t\t<ProductConfigurationOption v-for=\"(option, index) in productStore.availableLicenseClasses\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:disabled=\"isBusy\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:is-selected=\"option.value === productStore.selectedLicenseClass\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:option=\"option\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@option-selected=\"onLicenseClassSelected(option.value)\">\r\n\t\t\t\t\t\t\t\t\t</ProductConfigurationOption>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</ProductConfigurationStep>\r\n\r\n\t\t\t\t\t\t\t<ProductConfigurationStep v-if=\"productStore.availableLicenseSizes?.length > 0 && !isFlexLicense\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tid=\"step-size\">\r\n\t\t\t\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t\t\t\t<span class=\"mr-1\">\r\n\t\t\t\t\t\t\t\t\t\t{{ vm.unitSelectionTitle || $t(\"product.lblChooseLicenceSize\") }}\r\n\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t<Button v-if=\"vm.helpBlockProductSize\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"header-explanation-text text-underline py-0 p-button-text p-button-secondary\"\r\n\t\t\t\t\t\t\t\t\t\t\t:label=\"vm.helpBlockProductSize?.linkText\"\r\n\t\t\t\t\t\t\t\t\t\t\t@click=\"showHelpSideBar(vm.helpBlockProductSize)\" />\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t<template #error>\r\n\t\t\t\t\t\t\t\t\t<Message v-if=\"\r\n\t\t\t\t\t\t\t\t\t\t\t!productValidation.get(productValidationEnum.ValidContract) &&\r\n\t\t\t\t\t\t\t\t\t\t\tsubmitted\r\n\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t:id=\"`validation-msg-${productValidationEnum.ValidContract}`\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t:closable=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tseverity=\"error\">\r\n\t\t\t\t\t\t\t\t\t\t{{ $t(\"product.message.atleastOneAsset\") }}\r\n\t\t\t\t\t\t\t\t\t</Message>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t<template #options>\r\n\t\t\t\t\t\t\t\t\t<ProductConfigurationOption v-for=\"(option, index) in productStore.availableLicenseSizes\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:disabled=\"isBusy\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:is-selected=\"option.value === productStore.selectedLicenseSize\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:option=\"option\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@option-selected=\"onLicenseSizeSelected(option.value)\">\r\n\t\t\t\t\t\t\t\t\t</ProductConfigurationOption>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</ProductConfigurationStep>\r\n\r\n\t\t\t\t\t\t\t<ProductConfigurationStep v-if=\"\r\n\t\t\t\t\t\t\t\t\tproductStore.canAddToContract &&\r\n\t\t\t\t\t\t\t\t\tproductStore.isAddingToContract &&\r\n\t\t\t\t\t\t\t\t\t!isFlexLicense\r\n\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tid=\"step-contract\">\r\n\t\t\t\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t\t\t\t<span class=\"mr-1\"> {{ $t(\"product.lblChooseContract\") }}</span>\r\n\t\t\t\t\t\t\t\t\t<Button v-if=\"vm.helpBlockContract\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"header-explanation-text text-underline py-0 p-button-text p-button-secondary\"\r\n\t\t\t\t\t\t\t\t\t\t\t:label=\"vm.helpBlockContract?.linkText\"\r\n\t\t\t\t\t\t\t\t\t\t\t@click=\"showHelpSideBar(vm.helpBlockContract)\" />\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t<ProgressSpinner v-if=\"isSpinnerVisible('contractTable')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tanimation-duration=\".75s\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"d-block mr-auto ml-0\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tstroke-width=\"3\" />\r\n\t\t\t\t\t\t\t\t<DataTable v-else\r\n\t\t\t\t\t\t\t\t\t\t\tv-model:selection=\"productStore.selectedContract\"\r\n\t\t\t\t\t\t\t\t\t\t\tauto-layout\r\n\t\t\t\t\t\t\t\t\t\t\tdata-key=\"contractNumber\"\r\n\t\t\t\t\t\t\t\t\t\t\tselection-mode=\"single\"\r\n\t\t\t\t\t\t\t\t\t\t\t:value=\"productStore.contractsForProduct\"\r\n\t\t\t\t\t\t\t\t\t\t\t@row-select=\"onContractSelected\">\r\n\t\t\t\t\t\t\t\t\t<Column class=\"text-lg-center\"\r\n\t\t\t\t\t\t\t\t\t\t\tselection-mode=\"single\"\r\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"width: 5%; padding: 1rem; overflow: hidden\" />\r\n\t\t\t\t\t\t\t\t\t<Column key=\"contractNumber\"\r\n\t\t\t\t\t\t\t\t\t\t\tfield=\"contractNumber\"\r\n\t\t\t\t\t\t\t\t\t\t\t:header=\"$t('contract.contractNumber')\">\r\n\t\t\t\t\t\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t\t\t\t\t\t<p v-if=\"userProfile?.isCadacSales || userProfile?.isImpersonated\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mb-0 text-bold\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"javascript:void(0)\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t:title=\"$t('common.goToCrm')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"openUrl(item.data.crmUrl, '_blank')\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ item.data.contractNumber }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t\t\t<p v-else class=\"mb-0 text-bold\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ item.data.contractNumber }}\r\n\t\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t\t</Column>\r\n\t\t\t\t\t\t\t\t\t<Column key=\"endDate\" field=\"endDate\" :header=\"$t('contract.endDate')\">\r\n\t\t\t\t\t\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t\t\t\t\t\t<span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ formatDate(item.data.endDate) }}\r\n\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t\t</Column>\r\n\t\t\t\t\t\t\t\t\t<Column key=\"remainingTerm\" :header=\"$t('contract.remainingDuration')\">\r\n\t\t\t\t\t\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t\t\t\t\t\t<span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ $tc(\"common.months\", item.data.duration) }}\r\n\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t\t</Column>\r\n\t\t\t\t\t\t\t\t\t<Column :header=\"`${$t('common.costs')} ${$t('common.pricePerMonth')}`\">\r\n\t\t\t\t\t\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"text-bold\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ formatCurrency(item.data.customerPrice) }}\r\n\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t\t</Column>\r\n\t\t\t\t\t\t\t\t</DataTable>\r\n\t\t\t\t\t\t\t\t<Button v-if=\"productStore.canAddToContract\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"py-0 mt-2 p-button-text p-button-link\"\r\n\t\t\t\t\t\t\t\t\t\t:label=\"$t('product.button.dontAddToExistingContract')\"\r\n\t\t\t\t\t\t\t\t\t\t@click=\"toggleAddToContract\" />\r\n\t\t\t\t\t\t\t</ProductConfigurationStep>\r\n\r\n\t\t\t\t\t\t\t<ProductConfigurationStep v-else-if=\"!isFlexLicense\" id=\"step-duration\">\r\n\t\t\t\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t\t\t\t<span class=\"mr-1\"> {{ $t(\"product.lblChooseDuration\") }}</span>\r\n\t\t\t\t\t\t\t\t\t<Button v-if=\"vm.helpBlockDuration\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"header-explanation-text text-underline py-0 p-button-text p-button-secondary\"\r\n\t\t\t\t\t\t\t\t\t\t\t:label=\"vm.helpBlockDuration?.linkText\"\r\n\t\t\t\t\t\t\t\t\t\t\t@click=\"showHelpSideBar(vm.helpBlockDuration)\" />\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t<template #error>\r\n\t\t\t\t\t\t\t\t\t<Message v-if=\"\r\n\t\t\t\t\t\t\t\t\t\t\t!productValidation.get(productValidationEnum.ValidContract) &&\r\n\t\t\t\t\t\t\t\t\t\t\tsubmitted\r\n\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t:id=\"`validation-msg-${productValidationEnum.ValidContract}`\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t:closable=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tseverity=\"error\">\r\n\t\t\t\t\t\t\t\t\t\t{{ $t(\"product.message.atleastOneAsset\") }}\r\n\t\t\t\t\t\t\t\t\t</Message>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t<template #options>\r\n\t\t\t\t\t\t\t\t\t<ProductConfigurationOption v-for=\"(option, index) in productStore.availableDurations\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:disabled=\"isBusy\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:is-selected=\"option.value === productStore.selectedDuration\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:option=\"option\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@option-selected=\"onDurationSelected(option.value)\">\r\n\t\t\t\t\t\t\t\t\t\t<template #usp-pricePerMonth>\r\n\t\t\t\t\t\t\t\t\t\t\t<span :class=\"{ 'text-muted': !isCheapestDuration(option.value) }\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t$t(\"common.pricePerMonth\", [\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tformatCurrency(getPricePerMonthForDuration(option.value)),\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t])\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t\t\t<template #usp-cheapest>\r\n\t\t\t\t\t\t\t\t\t\t\t<span v-if=\"isCheapestDuration(option.value)\" class=\"text-success\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"pi pi-check-circle mr-1\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ $t(\"product.bestPrice\") }}\r\n\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t\t</ProductConfigurationOption>\r\n\t\t\t\t\t\t\t\t</template>\r\n\r\n\t\t\t\t\t\t\t\t<Message v-if=\"!layoutStore.isAuthenticated && !productStore.canAddToContract\"\r\n\t\t\t\t\t\t\t\t\t\t\t:closable=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\tseverity=\"custom\">\r\n\t\t\t\t\t\t\t\t\t<i18n-t keypath=\"product.message.loginToAddToContract\">\r\n\t\t\t\t\t\t\t\t\t\t<template #loginLink>\r\n\t\t\t\t\t\t\t\t\t\t\t<a :href=\"loginPageUrl\">{{ $t(\"common.login\") }}</a>\r\n\t\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t\t</i18n-t>\r\n\t\t\t\t\t\t\t\t</Message>\r\n\t\t\t\t\t\t\t\t<Button v-if=\"productStore.canAddToContract\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"py-0 mt-2 p-button-text p-button-link\"\r\n\t\t\t\t\t\t\t\t\t\t:label=\"$t('product.button.addToExistingContract')\"\r\n\t\t\t\t\t\t\t\t\t\t@click=\"toggleAddToContract\" />\r\n\t\t\t\t\t\t\t</ProductConfigurationStep>\r\n\t\t\t\t\t\t</ProductConfiguration>\r\n\t\t\t\t\t\t<Message v-else :closable=\"false\" severity=\"error\">\r\n\t\t\t\t\t\t\t{{ $t(\"product.message.currentlyUnavailable\") }}\r\n\t\t\t\t\t\t</Message>\r\n\t\t\t\t\t</ProductPageContentSection>\r\n\t\t\t\t\t<ProductPageContentSection v-if=\"vm.relatedUpSellProducts?.length\" type=\"upsell\">\r\n\t\t\t\t\t\t<h3 class=\"\">{{ $t(\"product.titleUpSell\") }}</h3>\r\n\t\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t\t<div v-for=\"product in vm.relatedUpSellProducts\" :key=\"product\" class=\"col-md-6 mb-2\">\r\n\t\t\t\t\t\t\t\t<BaseProductOverviewItemCard is-cross-sell :vm=\"product\" />\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</ProductPageContentSection>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template #tabInfo>\r\n\t\t\t\t\t<ProductPageContentSection v-if=\"hasTab('tabInfo')\">\r\n\t\t\t\t\t\t<h3>{{ vm.productInfoTabTitle || $t(\"product.tabProductInfoTitle\") }} {{ vm.name }}</h3>\r\n\t\t\t\t\t\t<div class=\"rte\" v-html=\"vm.productInfoTab\" />\r\n\t\t\t\t\t</ProductPageContentSection>\r\n\t\t\t\t\t<ProductPageContentSection v-if=\"$slots.blocks\" type=\"content\">\r\n\t\t\t\t\t\t<slot name=\"blocks\" />\r\n\t\t\t\t\t</ProductPageContentSection>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template #tabSpecifications>\r\n\t\t\t\t\t<ProductPageContentSection v-if=\"hasTab('tabSpecifications')\" type=\"content\">\r\n\t\t\t\t\t\t<h3>\r\n\t\t\t\t\t\t\t{{ vm.specificationsTabTitle || $t(\"product.tabSpecificationsTitle\") }} {{ vm.name }}\r\n\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t<div class=\"product-specification\" v-html=\"vm.specificationsTab\" />\r\n\t\t\t\t\t</ProductPageContentSection>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template #tabContent>\r\n\t\t\t\t\t<ProductPageContentSection v-if=\"hasTab('tabContent')\" type=\"content\">\r\n\t\t\t\t\t\t<h3>{{ $t(\"product.tabContentTitle\") }} {{ vm.name }}</h3>\r\n\t\t\t\t\t\t<div class=\"\" v-html=\"contentTabVm\" />\r\n\t\t\t\t\t</ProductPageContentSection>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template #tabMedia>\r\n\t\t\t\t\t<ProductPageContentSection v-if=\"hasTab('tabMedia')\" type=\"media\">\r\n\t\t\t\t\t\t<h3>{{ mediaEmbedCaption }}</h3>\r\n\t\t\t\t\t\t<embed height=\"100%\"\r\n\t\t\t\t\t\t\t\t:src=\"mediaEmbedSrc\"\r\n\t\t\t\t\t\t\t\tstyle=\"min-height: 400px\"\r\n\t\t\t\t\t\t\t\t:title=\"mediaEmbedCaption\"\r\n\t\t\t\t\t\t\t\ttype=\"video/mp4\"\r\n\t\t\t\t\t\t\t\twidth=\"100%\"\r\n\t\t\t\t\t\t\t\twmode=\"transparent\" />\r\n\t\t\t\t\t</ProductPageContentSection>\r\n\t\t\t\t</template>\r\n\t\t\t</ProductTabs>\r\n\t\t</template>\r\n\t\t<template #summary>\r\n\t\t\t<ProductPageSummary\r\n\t\t\t\t\t\t\t\t:can-submit=\"!submitted && validateProductConfiguration() && vm.availableInCurrentMarket\"\r\n\t\t\t\t\t\t\t\t:is-in-edit-mode=\"isInEditMode\"\r\n\t\t\t\t\t\t\t\t:is-autodesk-product=\"isAutodeskProduct\"\r\n\t\t\t\t\t\t\t\t:is-product-available=\"vm.viewModelIsValid && !isFlexLicense\"\r\n\t\t\t\t\t\t\t\t:max-amount=\"productStore.selectedVariation?.maxQuantity\"\r\n\t\t\t\t\t\t\t\t:min-amount=\"productStore.selectedVariation?.minQuantity\"\r\n\t\t\t\t\t\t\t\t:offer-request-form-url=\"vm.productGuid\"\r\n\t\t\t\t\t\t\t\tshow-amount-input\r\n\t\t\t\t\t\t\t\t:total-price=\"priceSummary?.totalPrice\"\r\n\t\t\t\t\t\t\t\t:value=\"productStore?.selectedAmount\"\r\n\t\t\t\t\t\t\t\t:variation-guid=\"productStore.selectedVariation?.guid\"\r\n\t\t\t\t\t\t\t\t:variation-id=\"productStore.selectedVariation?.id\"\r\n\t\t\t\t\t\t\t\t@addToCart=\"addProductToCart\"\r\n\t\t\t\t\t\t\t\t@amountChanged=\"onSelectedAmountChanged\"\r\n\t\t\t\t\t\t\t\t@requestAutodeskQuote=\"onRequestAutodeskQuote\">\r\n\t\t\t\t<template #priceSummary>\r\n\t\t\t\t\t<PriceSummary :vm=\"priceSummary\" />\r\n\t\t\t\t\t<p class=\"text-muted lead text-right\">{{ $t(\"common.productSummary.allPricesExclVat\") }}</p>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template #configurationSummary>\r\n\t\t\t\t\t<ProductConfigurationSummary :header=\"$t('product.titleSummaryProductSubscription', [vm.name])\">\r\n\t\t\t\t\t\t<ProductConfigurationSummaryItem :content=\"$t(`enum.licenseClass.${productStore.selectedLicenseClass || 0}`)\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:label=\"$t('product.lblLicenceType')\" />\r\n\t\t\t\t\t\t<ProductConfigurationSummaryItem v-if=\"vm.unitSelectionTitle && productStore.selectedLicenseSize\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:content=\"productStore.selectedLicenseSizeLabel\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:label=\"vm.unitSelectionTitle\" />\r\n\t\t\t\t\t\t<ProductConfigurationSummaryItem :content=\"$tc(`common.months`, productStore.selectedDuration)\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:label=\"$t('product.lblDuration')\" />\r\n\t\t\t\t\t\t<ProductConfigurationSummaryItem v-if=\"layoutStore.canImpersonate\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:content=\"productStore.selectedVariation?.sku\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel=\"SKU\" />\r\n\t\t\t\t\t</ProductConfigurationSummary>\r\n\t\t\t\t\t<div v-if=\"vm.currentPartner\">\r\n\t\t\t\t\t\t<p class=\"lead mt-2\">{{ $t(\"product.lblYourPartner\") }}</p>\r\n\t\t\t\t\t\t<Button class=\"p-button-text p-button-arrow btn-partner-info\"\r\n\t\t\t\t\t\t\t\t@click=\"showPartnerInfo = true\">\r\n\t\t\t\t\t\t\t<div class=\"align-self-center mr-1\">\r\n\t\t\t\t\t\t\t\t<Avatar shape=\"circle\" size=\"large\">\r\n\t\t\t\t\t\t\t\t\t<img v-if=\"vm.currentPartner?.iconUrl\"\r\n\t\t\t\t\t\t\t\t\t\t\tv-lazy=\"vm.currentPartner?.iconUrl\"\r\n\t\t\t\t\t\t\t\t\t\t\t:alt=\"vm.currentPartner?.iconAlt\"\r\n\t\t\t\t\t\t\t\t\t\t\t:title=\"vm.currentPartner?.name\" />\r\n\t\t\t\t\t\t\t\t</Avatar>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"d-flex flex-column align-items-start flex-1 text-left\">\r\n\t\t\t\t\t\t\t\t<p class=\"mb-0 font-weight-bold\">\r\n\t\t\t\t\t\t\t\t\t{{ vm.currentPartner?.name }}\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t<p class=\"mb-0 text-muted font-weight-normal\">\r\n\t\t\t\t\t\t\t\t\t{{ vm.currentPartner?.addressString }}\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</Button>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template #validationMessage>\r\n\t\t\t\t\t<Message v-if=\"validationErrors.length && submitted\"\r\n\t\t\t\t\t\t\t\t:closable=\"false\"\r\n\t\t\t\t\t\t\t\tseverity=\"warn\"\r\n\t\t\t\t\t\t\t\tstyle=\"cursor: pointer\"\r\n\t\t\t\t\t\t\t\t@click=\"scrollToFirstValidationError()\">\r\n\t\t\t\t\t\t{{ $tc(\"common.productSummary.msgValidationErrors\", validationErrors.length) }}\r\n\t\t\t\t\t</Message>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template #walletMessage>\r\n\t\t\t\t\t<WalletMessage v-show=\"!isSmallScreen && vm?.canUseWallet && parseInt(productStore.walletAmount) !== 0\"\r\n\t\t\t\t\t\t\t\t\t:wallet-amount=\"productStore.walletAmount\" />\r\n\t\t\t\t</template>\r\n\t\t\t</ProductPageSummary>\r\n\t\t</template>\r\n\t</ProductLayout>\r\n\t<ProductAddedModal v-if=\"cartStore.showProductAddedModal\" :vm=\"productAddedVm\" />\r\n\t<PartnerInfoModal v-if=\"showPartnerInfo\" :vm=\"vm.currentPartner\" @cancel=\"showPartnerInfo = false\" />\r\n</template>\r\n\r\n<script lang=\"ts\">\r\n\timport BaseProductOverviewItemCard from \"@/components/product/baseProductOverviewItemCard.vue\";\r\n\timport BaseComponent from \"@/components/base/baseComponent.vue\";\r\n\timport PartnerInfoModal from \"@/components/partners/partnerInfoModal.vue\";\r\n\timport PopoverIcon from \"@/components/common/popoverIcon.vue\";\r\n\timport PriceSummary from \"@/components/common/priceSummary.vue\";\r\n\timport ProductAddedModal from \"@/components/commerce/productAddedModal.vue\";\r\n\timport ProductConfiguration from \"@/components/product/productConfiguration.vue\";\r\n\timport ProductConfigurationOption from \"@/components/product/productConfigurationOption.vue\";\r\n\timport ProductConfigurationStep from \"@/components/product/productConfigurationStep.vue\";\r\n\timport ProductConfigurationSummary from \"@/components/product/productConfigurationSummary.vue\";\r\n\timport ProductConfigurationSummaryItem from \"@/components/product/productConfigurationSummaryItem.vue\";\r\n\timport ProductLayout from \"@/views/layout/productLayout.vue\";\r\n\timport ProductOverviewItemCard from \"@/components/product/productOverviewItemCard.vue\";\r\n\timport ProductPageContentSection from \"@/components/product/productPageContentSection.vue\";\r\n\timport ProductPageSummary from \"@/components/product/productPageSummary.vue\";\r\n\timport ProductTabs, { ProductTab } from \"@/components/product/productTabs.vue\";\r\n\timport ProgressSpinner from \"primevue/progressspinner\";\r\n\timport WalletMessage from \"@/components/common/WalletMessage.vue\";\r\n\timport toFixed from \"accounting-js/lib/toFixed.js\";\r\n\timport { Component, Prop } from \"vue-facing-decorator\";\r\n\timport { ContractsForProduct } from \"@/types/generated/Api/contractsForProduct\";\r\n\timport { HelpBlockViewModel } from \"@/types/generated/Common/helpBlockViewModel\";\r\n\timport { IPriceSummary } from \"@/types/models/common/priceSummary.interface\";\r\n\timport { IProductAddedModal } from \"@/types/viewModels/commerce/productAddedModalViewModel\";\r\n\timport { ISoftwareProduct } from \"@/types/viewModels/commerce/softwareProductViewModel\";\r\n\timport { ItemProductType } from \"@/types/enum/itemProductType\";\r\n\timport { LicenseClass } from \"@/types/enum/licenseClass\";\r\n\timport { Log } from \"@/types/helpers/logHelper\";\r\n\timport { ProductVariation } from \"@/types/models/software/productVariation\";\r\n\timport { PropType } from \"vue\";\r\n\timport { SoftwareProductValidation } from \"@/types/enum/softwareProductValidation\";\r\n\timport { min } from \"lodash\";\r\n\timport { useCartStore } from \"@/store/commerce/cartStore\";\r\n\timport { useSoftwareProductStore } from \"@/store/software/softwareProductStore\";\r\n\timport ProductConfigurationFlexLicense from \"@/components/product/productConfigurationFlexLicense.vue\";\r\n\timport { LicenseModel } from \"@/types/enum/licenseModel\";\r\n\timport { ProductCategoryType } from \"@/types/enum/productCategoryType\";\r\n\timport { ServiceItemViewModel } from \"../../types/models/service/serviceItemViewModel\";\r\n\r\n\t// PRICE EXPLANATIONS\r\n\t// basePrice = Advies prijs\r\n\t// basePriceMonthly = Advies prijs gedeeld door aantal maanden van duration\r\n\t// ecommerceBasePrice = Rekenprijs e - commerce.Is het minimale dat Cadac moet verdienen om quitte te spelen op dit product. (inkoop prijs - kickback fee schatting Autodesk)\r\n\t// ecommercePrice = Goedkoopste prijs op de markt -> is wat je als niet ingelogde gebruiker zou moeten zien.\r\n\t// ecommerceBasePriceMonthly = commerceBasePrice gedeeld door aantal maanden van duration\r\n\t// ecommercePriceMonthly = ecommercePriceMonthly gedeeld door aantal maanden van duration\r\n\t// personalPrice = te betalen prijs(als je bent ingelogd)\r\n\t// personalPriceMonthly te betalen prijs(als je bent ingelogd) gedeeld door aantal maanden van duration\r\n\r\n\t@Component({\r\n\t\tcomponents: {\r\n\t\t\tPartnerInfoModal,\r\n\t\t\tProductLayout,\r\n\t\t\tProductPageSummary,\r\n\t\t\tPopoverIcon,\r\n\t\t\tPriceSummary,\r\n\t\t\tProductAddedModal,\r\n\t\t\tProductConfiguration,\r\n\t\t\tProductConfigurationOption,\r\n\t\t\tProductConfigurationStep,\r\n\t\t\tProductConfigurationSummary,\r\n\t\t\tProductConfigurationSummaryItem,\r\n\t\t\tProductOverviewItemCard,\r\n\t\t\tProductPageContentSection,\r\n\t\t\tProductTabs,\r\n\t\t\tProgressSpinner,\r\n\t\t\tWalletMessage,\r\n\t\t\tProductConfigurationFlexLicense,\r\n\t\t\tBaseProductOverviewItemCard,\r\n\t\t},\r\n\t})\r\n\texport default class SoftwareProduct extends BaseComponent {\r\n\t\t@Prop({ type: Object as PropType<ISoftwareProduct>, required: true, default: {} }) vm!: ISoftwareProduct;\r\n\r\n\t\t@Prop({ type: Number, required: false, default: 1 }) value!: number;\r\n\t\t@Prop({ type: Number, required: false, default: 1 }) minAmount!: number;\r\n\t\t@Prop({ type: Number, required: false, default: 999 }) maxAmount!: number;\r\n\t\tselectedAmount!: number;\r\n\r\n\t\tshowSideBar = false;\r\n\t\tshowPartnerInfo = false;\r\n\t\tsubmitted = false;\r\n\t\tselectedHelpBlock!: HelpBlockViewModel | null;\r\n\r\n\t\tproductValidation: Map<SoftwareProductValidation, boolean> = new Map<SoftwareProductValidation, boolean>();\r\n\r\n\t\tcartStore = useCartStore();\r\n\t\tproductStore = useSoftwareProductStore();\r\n\r\n\tcreated(): void {\r\n\t\tthis.productStore.vm = this.vm;\r\n\r\n\t\t\tLog.info(\"SoftwareProduct\", this.vm);\r\n\r\n\t\t\tif (this.vm.viewModelIsValid) {\r\n\t\t\t\tthis.productStore.init();\r\n\t\t\t} else {\r\n\t\t\t\tLog.error(new Error(this.vm.viewModelErrors?.join(\", \")));\r\n\t\t\t}\r\n\r\n\r\n\t\t\tthis.selectedAmount = this.value ?? this.minAmount;\r\n\r\n\t\t\tthis.setDataLayer.viewItem(\r\n\t\t\t\ttoFixed(\r\n\t\t\t\t\tthis.layoutStore.isAuthenticated\r\n\t\t\t\t\t\t? this.priceSummary.totalPersonalPrice\r\n\t\t\t\t\t\t: this.productStore.selectedVariation?.basePrice,\r\n\t\t\t\t\t2\r\n\t\t\t\t),\r\n\t\t\t\tthis.productStore.selectedVariation ? [this.productStore.selectedVariation] : [],\r\n\t\t\t\tthis.productStore?.selectedAmount.toString(),\r\n\t\t\t\tthis.vm.brand,\r\n\t\t\t\tthis.vm.name,\r\n\t\t\t\tProductCategoryType[this.vm.productCategory]\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tget isFlexLicense(): boolean {\r\n\t\t\treturn this.productStore.selectedLicenseModel === LicenseModel.flex;\r\n\t\t}\r\n\r\n\t\tget productValidationEnum(): typeof SoftwareProductValidation {\r\n\t\t\treturn SoftwareProductValidation;\r\n\t\t}\r\n\r\n\t\tget productAddedVm(): IProductAddedModal {\r\n\t\t\treturn {\r\n\t\t\t\tproduct: {\r\n\t\t\t\t\t...this.vm,\r\n\t\t\t\t\tproductType: ItemProductType.Software,\r\n } as unknown as ServiceItemViewModel,\r\n\t\t\t\tcrossSellProducts: this.vm.relatedCrossSellProducts,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tget isInEditMode(): boolean {\r\n\t\t\treturn this.vm.oldLineItemId != null && this.vm.oldLineItemId > 0;\r\n\t\t}\r\n\r\n\t\tget isAutodeskProduct(): boolean {\r\n\t\t\treturn this.vm.isAutodeskProduct;\r\n\t\t}\r\n\r\n\t\tget contentTabVm(): string {\r\n\t\t\tif (!this.vm.relatedProducts || !this.vm.relatedNotForSaleProducts?.length) return \"\";\r\n\t\t\tconst allProductNames = [\r\n\t\t\t\t...this.vm.relatedProducts.map((x) => x.name),\r\n\t\t\t\t...this.vm.relatedNotForSaleProducts,\r\n\t\t\t];\r\n\t\t\treturn allProductNames?.map((x) => `<li>${x}</li>`).join(\"\");\r\n\t\t}\r\n\r\n\t\tget hasTab(): (id: string) => boolean {\r\n\t\t\treturn (id: string) => this.productTabs.findIndex((x) => x.id === id) > -1;\r\n\t\t}\r\n\r\n\t\tget productTabs(): ProductTab[] {\r\n\t\t\tconst productTabs: ProductTab[] = [];\r\n\t\t\tif (!this.vm.latestVersionOfProduct) {\r\n\t\t\t\tproductTabs.push({\r\n\t\t\t\t\tlabel: this.$t(\"product.configureSubscription\"),\r\n\t\t\t\t\tid: \"tabConfiguration\",\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif (this.vm.productInfoTab) {\r\n\t\t\t\tproductTabs.push({\r\n\t\t\t\t\tlabel: this.vm.productInfoTabTitle || this.$t(\"product.tabProductInfoTitle\"),\r\n\t\t\t\t\tid: \"tabInfo\",\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif (this.vm.specificationsTab) {\r\n\t\t\t\tproductTabs.push({\r\n\t\t\t\t\tlabel: this.vm.specificationsTabTitle || this.$t(\"product.tabSpecificationsTitle\"),\r\n\t\t\t\t\tid: \"tabSpecifications\",\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif (this.vm.mediaTab) {\r\n\t\t\t\tproductTabs.push({\r\n\t\t\t\t\tlabel: this.vm.mediaTabTitle || this.$t(\"product.tabMediaTitle\"),\r\n\t\t\t\t\tid: \"tabMedia\",\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif (this.contentTabVm) {\r\n\t\t\t\tproductTabs.push({\r\n\t\t\t\t\tlabel: this.$t(\"product.tabContentTitle\"),\r\n\t\t\t\t\tid: \"tabContent\",\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\treturn productTabs;\r\n\t\t}\r\n\r\n\t\tget validationErrors(): boolean[] {\r\n\t\t\treturn [...this.productValidation.values()].filter((x) => !x);\r\n\t\t}\r\n\r\n\t\t\tget priceSummary(): IPriceSummary {\r\n\t\t\t\tif (!this.productStore.selectedVariation) return {} as IPriceSummary;\r\n\t\t\t\tconst { selectedAmount, selectedVariation, selectedDuration } = this.productStore;\r\n\t\t\t\tlet { basePriceMonthly, ecommercePriceMonthly, personalPriceMonthly, duration } = selectedVariation;\r\n\r\n\t\t\t\tif (this.productStore.isAddingToContract) {\r\n\t\t\t\t\tduration = selectedDuration;\r\n\t\t\t\t}\r\n\r\n\t\t\tconst totalBasePrice = (basePriceMonthly || 0) * (selectedAmount || 1) * (duration || 1);\r\n\t\t\tconst totalEcommercePrice = (ecommercePriceMonthly || 0) * (selectedAmount || 1) * (duration || 1);\r\n\r\n\t\t\tconst totalPersonalPrice = (personalPriceMonthly || 0) * (selectedAmount || 1) * (duration || 1);\r\n\r\n\t\t\tlet totalDiscount = 0;\r\n\t\t\tlet totalPrice = 0;\r\n\r\n\t\t\tif (this.layoutStore.isAuthenticated) {\r\n\t\t\t\ttotalDiscount = totalBasePrice - totalPersonalPrice;\r\n\t\t\t\ttotalPrice = totalPersonalPrice;\r\n\t\t\t} else if (this.vm.hasDifferentEcommercePrice) {\r\n\t\t\t\ttotalDiscount = totalBasePrice - totalEcommercePrice;\r\n\t\t\t\ttotalPrice = totalEcommercePrice;\r\n\t\t\t} else {\r\n\t\t\t\ttotalPrice = totalBasePrice;\r\n\t\t\t}\r\n\r\n\t\t\treturn {\r\n\t\t\t\tbasePrice: totalBasePrice,\r\n\t\t\t\ttotalDiscount,\r\n\t\t\t\ttotalPersonalPrice: totalDiscount ? totalPersonalPrice : 0,\r\n\t\t\t\ttotalPrice,\r\n\t\t\t} as IPriceSummary;\r\n\t\t}\r\n\r\n\t\tget mediaEmbedSrc(): string {\r\n\t\t\tconst mediaTabContent = this.vm.mediaTab?.replace(\"<p>\", \"\").replace(\"</p>\", \"\");\r\n\t\t\tlet videoUrl = mediaTabContent;\r\n\t\t\tif (mediaTabContent.includes(\"|\")) {\r\n\t\t\t\tconst parts = mediaTabContent.split(\"|\");\r\n\t\t\t\tvideoUrl = parts.length > 1 ? parts[1] : parts[0];\r\n\t\t\t}\r\n\t\t\treturn videoUrl;\r\n\t\t}\r\n\r\n\t\tget mediaEmbedCaption(): string {\r\n\t\t\tconst mediaTabContent = this.vm.mediaTab?.replace(\"<p>\", \"\").replace(\"</p>\", \"\");\r\n\t\t\tlet caption = `${this.$t(\"product.tabMediaTitle\")} ${this.vm.name}`;\r\n\t\t\tif (mediaTabContent.includes(\"|\")) {\r\n\t\t\t\tconst parts = mediaTabContent.split(\"|\");\r\n\t\t\t\tcaption = parts[0];\r\n\t\t\t}\r\n\t\t\treturn caption;\r\n\t\t}\r\n\r\n\t\ttoggleAddToContract(): void {\r\n\t\t\tthis.productStore.isAddingToContract = !this.productStore.isAddingToContract;\r\n\t\t\tthis.productStore.updateConfiguration();\r\n\t\t}\r\n\r\n\t\tonRequestAutodeskQuote(): void {\r\n\t\t\tconst quotationPageUrl = this?.vm?.mainLayout?.quotationPageUrl;\r\n\t\t\tvar url = `${window.location.origin}${quotationPageUrl}`;\r\n\r\n\t\t\t//call the [POST] `localhost/Api/Quote/Queue/` endpoint and submit QuoteCartLineItem.cs as body\r\n\t\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\t\tthis.axios\r\n\t\t\t\t.post(\"/api/quote/queue\",\r\n\t\t\t\t\t// QuoteCartLineItem\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tsku: this.productStore.selectedVariation?.sku,\r\n\t\t\t\t\t\tamount: this.productStore.selectedAmount\r\n\t\t\t\t\t}\r\n\t\t\t\t)\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\t// redirect the user to the QuotationPage, URL can be found in MainLayoutViewModel.ts as quotationPageUrl\r\n\t\t\t\t\twindow.open(url, \"_self\");\r\n\t\t\t\t})\r\n\t\t\t\t.catch((err) => Log.error(err))\r\n\t\t\t\t.finally(() => this.loadingStore.decreaseLoadingCount());\r\n\t\t}\r\n\r\n\t\taddProductToCart(): void {\r\n\t\t\tthis.submitted = true;\r\n\t\t\tif (!this.validateProductConfiguration()) {\r\n\t\t\t\tsetTimeout(() => this.scrollToFirstValidationError(), 50);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\t\tthis.productStore\r\n\t\t\t\t.addToCart()\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tthis.cartStore.showModal(\"ProductAdded\");\r\n\r\n\t\t\t\t\tconst priceNotLoggedIn =\r\n\t\t\t\t\t\t(this.productStore.selectedVariation?.basePrice || 0) * this.productStore?.selectedAmount;\r\n\r\n\t\t\t\t\tthis.setDataLayer.addToCart(\r\n\t\t\t\t\t\tthis.layoutStore.isAuthenticated\r\n\t\t\t\t\t\t\t? toFixed(this.priceSummary.totalPersonalPrice, 2)\r\n\t\t\t\t\t\t\t: toFixed(priceNotLoggedIn, 2),\r\n\t\t\t\t\t\tthis.productStore.selectedVariation ? [this.productStore.selectedVariation] : [],\r\n\t\t\t\t\t\tthis.productStore?.selectedAmount.toString(),\r\n\t\t\t\t\t\tthis.vm.brand,\r\n\t\t\t\t\t\tthis.vm.name,\r\n\t\t\t\t\t\tProductCategoryType[this.vm.productCategory]\r\n\t\t\t\t\t);\r\n\t\t\t\t})\r\n\t\t\t\t.catch(() =>\r\n\t\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\t\tdetail: this.$t(\"common.messages.addToCartError\"),\r\n\t\t\t\t\t\tlife: 3000,\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t\t.finally(() => this.loadingStore.decreaseLoadingCount());\r\n\t\t}\r\n\r\n\t\t\tgetPricePerMonthForDuration(duration: number): number {\r\n\t\t\t\tconst productVariation = this.vm.productVariations?.find(\r\n\t\t\t\t\t(x) =>\r\n\t\t\t\t\t\tx.duration === duration &&\r\n\t\t\t\t\t\tx.licenseClass === this.productStore.selectedLicenseClass &&\r\n\t\t\t\t\t\tx.licenseSize === this.productStore.selectedLicenseSize\r\n\t\t\t\t);\r\n\r\n\t\t\t\tconst price = this.layoutStore.isAuthenticated ? productVariation?.personalPriceMonthly : productVariation?.ecommercePriceMonthly;\r\n\t\t\t\treturn price || 0;\r\n\t\t\t}\r\n\r\n\t\tgetPricesPerMonthForAvailableDurations(): number[] {\r\n\t\t\treturn this.productStore.availableDurations.map((x) =>\r\n\t\t\t\tthis.getPricePerMonthForDuration(x.value as number)\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tisCheapestDuration(duration: number): boolean {\r\n\t\t\tconst pricesPerMonth = this.getPricesPerMonthForAvailableDurations();\r\n\t\t\t//Check if prices are the same, return false if so.\r\n\t\t\tif (new Set(pricesPerMonth)?.size === 1) return false;\r\n\t\t\treturn this.getPricePerMonthForDuration(duration) === min(pricesPerMonth);\r\n\t\t}\r\n\r\n\t\tshowHelpSideBar(helpBlock: HelpBlockViewModel) {\r\n\t\t\tthis.selectedHelpBlock = helpBlock;\r\n\t\t\tthis.showSideBar = true;\r\n\t\t}\r\n\r\n\t\tonContractSelected({ data }: { data: ContractsForProduct }) {\r\n\t\t\tthis.productStore.updateConfiguration(data);\r\n\t\t}\r\n\r\n\t\tamountChanged({ value }: { value: number }): void {\r\n\t\t\tthis.selectedAmount = value > this.maxAmount ? this.maxAmount : value < this.minAmount ? this.minAmount : value;\r\n\t\t\tthis.onSelectedAmountChanged(this.selectedAmount);\r\n\t\t}\r\n\r\n\t\tonSelectedAmountChanged(value: number): void {\r\n\t\t\tthis.productStore.selectedAmount = value;\r\n\t\t\tthis.productStore.updateConfiguration();\r\n\t\t}\r\n\r\n\t\tonLicenseModelSelected(value: LicenseModel) {\r\n\t\t\tthis.productStore.selectedLicenseModel = value;\r\n\t\t}\r\n\r\n\t\tonLicenseClassSelected(value: LicenseClass) {\r\n\t\t\tif (value === this.productStore.selectedLicenseClass) return;\r\n\t\t\tthis.productStore.selectedLicenseClass = value;\r\n\t\t\tconst filterOptions = this.productStore.isAddingToContract\r\n\t\t\t\t? {\r\n\t\t\t\t\t\tlicenseClass: value,\r\n\t\t\t\t\t}\r\n\t\t\t\t: {\r\n\t\t\t\t\t\tduration: this.productStore.selectedDuration,\r\n\t\t\t\t\t\tlicenseClass: this.productStore.selectedLicenseClass,\r\n\t\t\t\t\t};\r\n\t\t\tthis.productStore.selectedVariation = this.productStore.currentVariation(filterOptions);\r\n\t\t\tthis.productStore.updateConfiguration();\r\n\t\t}\r\n\r\n\t\tonLicenseSizeSelected(value: number) {\r\n\t\t\tif (value === this.productStore.selectedLicenseSize) return;\r\n\t\t\tthis.productStore.selectedLicenseSize = value;\r\n\t\t\tconst filterOptions = {\r\n\t\t\t\tlicenseSize: value,\r\n\t\t\t\tlicenseClass: this.productStore.selectedLicenseClass,\r\n\t\t\t};\r\n\t\t\tthis.productStore.selectedVariation = this.productStore.currentVariation(filterOptions);\r\n\t\t\tthis.productStore.updateConfiguration();\r\n\t\t}\r\n\r\n\t\tonDurationSelected(value: number) {\r\n\t\t\tif (value === this.productStore.selectedDuration) return;\r\n\t\t\tthis.productStore.selectedDuration = value;\r\n\t\t\tconst filterOptions: Partial<ProductVariation> = this.productStore.isAddingToContract\r\n\t\t\t\t? {\r\n\t\t\t\t\t\tlicenseClass: this.productStore.selectedLicenseClass,\r\n\t\t\t\t\t\tlicenseSize: this.productStore.selectedLicenseSize,\r\n\t\t\t\t\t}\r\n\t\t\t\t: {\r\n\t\t\t\t\t\tduration: value,\r\n\t\t\t\t\t\tlicenseClass: this.productStore.selectedLicenseClass,\r\n\t\t\t\t\t\tlicenseSize: this.productStore.selectedLicenseSize,\r\n\t\t\t\t\t};\r\n\t\t\tthis.productStore.selectedVariation = this.productStore.currentVariation(filterOptions);\r\n\t\t\tthis.productStore.updateConfiguration();\r\n\t\t\tthis.setDataLayer.customizeProduct(this.vm.name, this.productStore.selectedVariation);\r\n\t\t}\r\n\r\n\t\tprivate validateProductConfiguration(): boolean {\r\n\t\t\tthis.productValidation.set(SoftwareProductValidation.ValidContract, true);\r\n\t\t\treturn this.validationErrors.length === 0;\r\n\t\t}\r\n\t}\r\n\t</script>\r\n\r\n<style scoped lang=\"scss\">\r\n\t.product-config-step-subtitle {\r\n\t\tfont-size: 1rem;\r\n\t\tfont-weight: 400;\r\n\t\tcolor: var(--text-color-secondary);\r\n\t}\r\n\r\n\t.header-explanation-text {\r\n\t\tfont-size: 0.9rem !important;\r\n\t}\r\n\r\n\t.btn-partner-info {\r\n\t\twidth: 100%;\r\n\r\n\t\t&:hover {\r\n\t\t\tbackground-color: inherit !important;\r\n\t\t\tbox-shadow:\r\n\t\t\t\t0px 3px 1px -2px rgb(0 0 0 / 20%),\r\n\t\t\t\t0px 2px 2px 0px rgb(0 0 0 / 14%),\r\n\t\t\t\t0px 1px 5px 0px rgb(0 0 0 / 12%);\r\n\t\t}\r\n\t}\r\n\r\n\t.advice-banner {\r\n\t\tbackground: #dcf6e5;\r\n\t\tborder: none;\r\n\t\tborder-radius: var(--border-radius);\r\n\t\tpadding: 0.25rem 0.75rem;\r\n\t\tcolor: var(--success);\r\n\r\n\t\t::v-deep(.p-message-text) {\r\n\t\t\tdisplay: flex;\r\n\t\t\tflex-direction: row;\r\n\t\t\tjustify-content: space-between;\r\n\t\t\talign-items: center;\r\n\t\t\twidth: 100%;\r\n\r\n\t\t\t@media (max-width: 960px) {\r\n\t\t\t\tflex-direction: column;\r\n\t\t\t\tpadding-right: 1rem;\r\n\t\t\t\tpadding-left: 1rem;\r\n\t\t\t\tgap: 1rem;\r\n\t\t\t\talign-items: start;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t::v-deep(.p-message-icon) {\r\n\t\t\tcolor: var(--success);\r\n\t\t\tpadding-right: 0.75rem;\r\n\t\t}\r\n\r\n\t\t::v-deep(.p-button) {\r\n\t\t\twidth: 16rem;\r\n\r\n\t\t\t@media (max-width: 576px) {\r\n\t\t\t\twidth: 100%;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.title {\r\n\t\t\tfont-weight: 500;\r\n\t\t}\r\n\r\n\t\t.content {\r\n\t\t\tfont-weight: 400;\r\n\t\t}\r\n\t}\r\n\r\n\t.container {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: row;\r\n\t\twidth: 100%;\r\n\t}\r\n\r\n\t.left-pane {\r\n\t\tflex: 3;\r\n\t}\r\n\r\n\t.right-pane {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\tjustify-content: center;\r\n\t\tmargin: 2rem 3rem 2rem 0rem;\r\n\t\tflex: 2;\r\n\t}\r\n\r\n .animation-video {\r\n max-width: 100%;\r\n max-height: 100%;\r\n\t\t/*trick to hide lines around*/\r\n outline: 4px solid white;\r\n outline-offset: -4px;\r\n }\r\n\r\n\t.support-card {\r\n\t\ttext-align: center;\r\n\t}\r\n\r\n\t.support-icon {\r\n\t\twidth: 30px;\r\n\t\theight: 30px;\r\n\t}\r\n\r\n\t:deep(.support-card) {\r\n\t\t.p-card-title {\r\n\t\t\tfont-size: 1rem;\r\n\t\t\tfont-weight: 500;\r\n\t\t\tmargin: 0;\r\n\t\t}\r\n\r\n\t\t.p-card-body {\r\n\t\t\tdisplay: flex;\r\n\t\t\tflex-direction: column;\r\n\t\t}\r\n\t}\r\n\r\n\t.price-label {\r\n\t\ttext-align: left;\r\n\t\tmargin-right: 1rem;\r\n\t}\r\n\r\n\t.autodesk-price {\r\n\t\tmargin: 2rem 0;\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: space-between;\r\n\t}\r\n\r\n\t.duration {\r\n\t\tdisplay: block;\r\n\t\t@media (min-width: 1200px) {\r\n\t\t\tdisplay: flex;\r\n\t\t}\r\n\t}\r\n\r\n .wallet-card-container {\r\n padding: 0 0 1rem 0;\r\n margin: 2rem 0;\r\n width: 100%;\r\n background-color: #b72a5a;\r\n\t\t \r\n background-position: center;\r\n background-size: cover;\r\n\t\t\t\t\r\n border-radius: 0.3125rem;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n color: white;\r\n }\r\n\r\n\t.wallet-card-extended {\r\n\t\tmargin-top: 1.5rem;\r\n\t\twidth: 100%;\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\t}\r\n\r\n\t.wallet-card-line {\r\n\t\tborder-top: 1px dashed white;\r\n\t\twidth: 80%;\r\n\t}\r\n\r\n .wallet-card-link {\r\n color: white;\r\n text-align: center;\r\n\r\n &:hover {\r\n text-decoration: underline;\r\n }\r\n }\r\n\r\n .wallet-text {\r\n font-size: 1rem;\r\n margin-right: 1rem;\r\n\r\n @media (min-width: 36rem) {\r\n font-size: 1.3rem;\r\n }\r\n }\r\n\t\r\n .wallet-amount {\r\n display: inline-block;\r\n font-size: 1.35rem;\r\n font-weight: 450;\r\n -webkit-mask-image: linear-gradient( -75deg, rgba(207, 114, 52, 0.6) 30%, rgba(207, 114, 52) 50%, rgba(207, 114, 52, 0.6) 70% );\r\n -webkit-mask-size: 200%;\r\n animation: shine 3s linear infinite;\r\n color: #ffcc81;\r\n\r\n @media (min-width: 2000px) {\r\n font-size: 2rem;\r\n }\r\n }\r\n\r\n @keyframes shine {\r\n from {\r\n -webkit-mask-position: 150%;\r\n }\r\n\r\n to {\r\n -webkit-mask-position: -50%;\r\n }\r\n }\r\n\r\n .wallet-icon {\r\n width: 2rem;\r\n height: 2rem;\r\n float: left;\r\n margin-right: 1rem;\r\n }\r\n\r\n .price-text {\r\n font-size: 1.625rem;\r\n font-weight: 500;\r\n line-height: 0.8;\r\n color: #91004b;\r\n\t\tpadding-top: 0.5rem;\r\n }\r\n\r\n .wallet-text-small {\r\n color: #91004b;\r\n font-size: 1rem;\r\n font-weight: 400;\t\t\r\n }\r\n\r\n</style>\r\n","import { resolveDirective as _resolveDirective, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"d-flex\" }\nconst _hoisted_2 = { class: \"align-self-center mr-1\" }\nconst _hoisted_3 = [\"alt\", \"title\"]\nconst _hoisted_4 = { class: \"d-flex flex-column\" }\nconst _hoisted_5 = { class: \"mb-0\" }\nconst _hoisted_6 = { class: \"mb-0 text-muted lead\" }\nconst _hoisted_7 = { class: \"d-flex flex-wrap\" }\nconst _hoisted_8 = { class: \"flex-1 pb-2\" }\nconst _hoisted_9 = [\"innerHTML\"]\nconst _hoisted_10 = { class: \"modal-image\" }\nconst _hoisted_11 = [\"alt\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_Dialog = _resolveComponent(\"Dialog\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createBlock(_component_Dialog, {\n visible: _ctx.isVisible,\n \"onUpdate:visible\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.isVisible) = $event)),\n breakpoints: { '1600px': '45vw', '1200px': '50vw', '992px': '60vw', '768px': '75vw', '576px': '90vw' },\n class: \"p-dialog-secondary partner-info-modal\",\n closable: \"\",\n \"close-on-escape\": \"\",\n draggable: false,\n modal: \"\",\n style: { width: '40vw' },\n onHide: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onCancel()))\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_Avatar, {\n shape: \"circle\",\n size: \"xlarge\"\n }, {\n default: _withCtx(() => [\n (_ctx.vm.iconUrl)\n ? _withDirectives((_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n alt: _ctx.vm.iconAlt,\n title: _ctx.vm.name\n }, null, 8, _hoisted_3)), [\n [_directive_lazy, _ctx.vm.iconUrl]\n ])\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"h2\", _hoisted_5, _toDisplayString(_ctx.vm.name), 1),\n _createElementVNode(\"p\", _hoisted_6, _toDisplayString(_ctx.vm.addressString), 1)\n ])\n ])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"p\", {\n class: \"mb-0 preserve-html\",\n innerHTML: _ctx.vm?.introText\n }, null, 8, _hoisted_9)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _withDirectives(_createElementVNode(\"img\", {\n alt: _ctx.vm.imageAlt\n }, null, 8, _hoisted_11), [\n [_directive_lazy, _ctx.vm.mainImageUrl]\n ])\n ])\n ])\n ]),\n _: 1\n }, 8, [\"visible\"]))\n}","<template>\r\n\t<Dialog\r\n\t\tv-model:visible=\"isVisible\"\r\n\t\t:breakpoints=\"{ '1600px': '45vw', '1200px': '50vw', '992px': '60vw', '768px': '75vw', '576px': '90vw' }\"\r\n\t\tclass=\"p-dialog-secondary partner-info-modal\"\r\n\t\tclosable\r\n\t\tclose-on-escape\r\n\t\t:draggable=\"false\"\r\n\t\tmodal\r\n\t\t:style=\"{ width: '40vw' }\"\r\n\t\t@hide=\"onCancel()\"\r\n\t>\r\n\t\t<template #header>\r\n\t\t\t<div class=\"d-flex\">\r\n\t\t\t\t<div class=\"align-self-center mr-1\">\r\n\t\t\t\t\t<Avatar shape=\"circle\" size=\"xlarge\">\r\n\t\t\t\t\t\t<img v-if=\"vm.iconUrl\" v-lazy=\"vm.iconUrl\" :alt=\"vm.iconAlt\" :title=\"vm.name\" />\r\n\t\t\t\t\t</Avatar>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t\t<h2 class=\"mb-0\">\r\n\t\t\t\t\t\t{{ vm.name }}\r\n\t\t\t\t\t</h2>\r\n\t\t\t\t\t<p class=\"mb-0 text-muted lead\">\r\n\t\t\t\t\t\t{{ vm.addressString }}\r\n\t\t\t\t\t</p>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t\t<div class=\"d-flex flex-wrap\">\r\n\t\t\t<div class=\"flex-1 pb-2\">\r\n\t\t\t\t<p class=\"mb-0 preserve-html\" v-html=\"vm?.introText\" />\r\n\t\t\t</div>\r\n\t\t\t<div class=\"modal-image\">\r\n\t\t\t\t<img v-lazy=\"vm.mainImageUrl\" :alt=\"vm.imageAlt\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</Dialog>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Emit, Prop } from \"vue-facing-decorator\";\r\nimport { PropType } from \"vue\";\r\nimport { PartnerViewModel } from \"@/types/models/partner/partnerViewModel\";\r\n\r\n@Component\r\nexport default class PartnerInfoModal extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<PartnerViewModel>, required: true, default: {} })\r\n\tvm!: PartnerViewModel;\r\n\r\n\tisVisible = true;\r\n\r\n\t@Emit() submit() {\r\n\t\treturn true;\r\n\t}\r\n\r\n\t@Emit() cancel() {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tonCancel(): void {\r\n\t\tthis.cancel();\r\n\t}\r\n\r\n\tonSubmit(): void {\r\n\t\tthis.submit();\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n.partner-info-modal {\r\n\t.modal-image {\r\n\t\timg {\r\n\t\t\theight: 100%;\r\n\t\t\twidth: 100%;\r\n\t\t\tobject-fit: cover;\r\n\t\t\tobject-position: center;\r\n\t\t}\r\n\t}\r\n\r\n\t.preserve-html {\r\n\t\tul {\r\n\t\t\tlist-style: disc inside;\r\n\t\t}\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./partnerInfoModal.vue?vue&type=template&id=686437e4&ts=true\"\nimport script from \"./partnerInfoModal.vue?vue&type=script&lang=ts\"\nexport * from \"./partnerInfoModal.vue?vue&type=script&lang=ts\"\n\nimport \"./partnerInfoModal.vue?vue&type=style&index=0&id=686437e4&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","export enum SoftwareProductValidation {\r\n\tValidContract,\r\n}\r\n","export enum LicenseModel {\r\n\tsubscription,\r\n\tflex,\r\n}\r\n","import httpClient from '@/types/helpers/apiHelper';\r\nimport i18n from '@/types/utils/i18n';\r\nimport { AddToCartResponse } from '@/types/generated/Api/addToCartResponse';\r\nimport { AxiosResponse } from 'axios';\r\nimport { ContractsForProduct } from '@/types/generated/Api/contractsForProduct';\r\nimport { IDropdownItem } from '@/types/models/common/dropdownItem.interface';\r\nimport { ISoftwareProduct } from '@/types/viewModels/commerce/softwareProductViewModel';\r\nimport { LicenseClass } from '@/types/enum/licenseClass';\r\nimport { LicenseModel } from '@/types/enum/licenseModel';\r\nimport { ProductAddToCart } from '@/types/generated/Api/productAddToCart';\r\nimport { ProductUsageAdvice } from '@/types/models/software/productUsageAdvice';\r\nimport { ProductVariation } from '@/types/models/software/productVariation';\r\nimport { defineStore } from 'pinia';\r\nimport { filter, find, first, sortBy, uniqBy } from 'lodash';\r\nimport { useLayoutStore } from '@/store/common/layoutStore';\r\nimport { useLoadingStore } from '@/store/common/loadingStore';\r\n\r\ninterface SoftwareProductState {\r\n\tisAddingToContract: boolean;\r\n\r\n\tselectedLicenseSize?: number;\r\n\tselectedLicenseClass?: LicenseClass;\r\n\tselectedLicenseModel?: LicenseModel;\r\n\tselectedContract?: ContractsForProduct;\r\n\tselectedVariation?: ProductVariation;\r\n\tselectedDuration?: number;\r\n\tselectedAmount: number;\r\n\twalletAmount: number;\r\n\r\n\tavailableLicenseSizes: IDropdownItem[];\r\n\tavailableLicenseClasses: IDropdownItem[];\r\n\tavailableDurations: IDropdownItem[];\r\n\tcontractsForProduct: ContractsForProduct[];\r\n\tavailableLicenseModels: IDropdownItem[];\r\n\tproductUsageAdvice: ProductUsageAdvice | null;\r\n\tvm: ISoftwareProduct | null;\r\n}\r\n\r\nexport const useSoftwareProductStore = defineStore('softwareProduct', {\r\n\tstate: () =>\r\n\t\t({\r\n\t\t\tisAddingToContract: false,\r\n\t\t\tselectedLicenseSize: undefined,\r\n\t\t\tselectedLicenseClass: undefined,\r\n\t\t\tselectedContract: undefined,\r\n\t\t\tselectedDuration: undefined,\r\n\t\t\tselectedVariation: undefined,\r\n\t\t\tselectedLicenseModel: LicenseModel.subscription,\r\n\t\t\tavailableDurations: [],\r\n\t\t\tavailableLicenseSizes: [],\r\n\t\t\tavailableLicenseClasses: [],\r\n\t\t\tavailableLicenseModels: [{ value: 0, label: i18n.global.t(`enum.licenseModel.0`) }],\r\n\t\t\tcontractsForProduct: [],\r\n\t\t\tvm: null,\r\n\t\t\tselectedAmount: 1,\r\n\t\t\twalletAmount: 0,\r\n\t\t\tproductUsageAdvice: null,\r\n\t\t}) as SoftwareProductState,\r\n\tgetters: {\r\n\t\tselectedLicenseSizeLabel(state: SoftwareProductState): string {\r\n\t\t\treturn state.availableLicenseSizes.find((x) => x.value === state.selectedLicenseSize)?.label || '';\r\n\t\t},\r\n\t\tcanAddToContract(state: SoftwareProductState): boolean {\r\n\t\t\treturn !!state.vm?.canAddToContract && state.contractsForProduct?.length > 0;\r\n\t\t},\r\n\t\tisSelectedDurationAvailable(state: SoftwareProductState): boolean {\r\n\t\t\treturn state.availableDurations.findIndex((x) => x.value === state.selectedDuration) > -1;\r\n\t\t},\r\n\t\tcurrentVariation(\r\n\t\t\tstate: SoftwareProductState\r\n\t\t): (filterOptions?: Partial<ProductVariation>) => ProductVariation {\r\n\t\t\treturn (filterOptions?: Partial<ProductVariation>) => {\r\n\t\t\t\tif (!filterOptions)\r\n\t\t\t\t\tfilterOptions = {\r\n\t\t\t\t\t\tlicenseSize:\r\n\t\t\t\t\t\t\tstate.selectedLicenseSize || (first(this.availableLicenseSizes)?.value as number),\r\n\t\t\t\t\t\tlicenseClass:\r\n\t\t\t\t\t\t\tstate.selectedLicenseClass || (first(this.availableLicenseClasses)?.value as number),\r\n\t\t\t\t\t\tduration: this.isSelectedDurationAvailable\r\n\t\t\t\t\t\t\t? state.selectedDuration\r\n\t\t\t\t\t\t\t: (first(this.availableDurations)?.value as number),\r\n\t\t\t\t\t};\r\n\t\t\t\treturn find(state.vm?.productVariations, filterOptions) as ProductVariation;\r\n\t\t\t};\r\n\t\t},\r\n\t},\r\n\tactions: {\r\n\t\tasync init(): Promise<void> {\r\n\t\t\tif (this.vm?.productUsageAdvice) {\r\n\t\t\t\tthis.productUsageAdvice = this.vm?.productUsageAdvice;\r\n\t\t\t\tthis.availableLicenseModels.push({ value: 1, label: i18n.global.t(`enum.licenseModel.1`) });\r\n\t\t\t}\r\n\r\n\t\t\tthis.availableLicenseClasses =\r\n\t\t\t\tthis.vm?.distinctLicenseClass?.map((x) => ({\r\n\t\t\t\t\tvalue: x,\r\n\t\t\t\t\tlabel: i18n.global.t(`enum.licenseClass.${x}`),\r\n\t\t\t\t})) || [];\r\n\t\t\tthis.availableDurations =\r\n\t\t\t\tthis.vm?.distinctDuration?.map((x) => ({\r\n\t\t\t\t\tvalue: x,\r\n\t\t\t\t\tlabel: i18n.global.tc('common.months', x),\r\n\t\t\t\t})) || [];\r\n\t\t\tthis.availableLicenseSizes =\r\n\t\t\t\tthis.vm?.licenseSizes?.map((x) => ({\r\n\t\t\t\t\tvalue: x.key,\r\n\t\t\t\t\tlabel: x.value,\r\n\t\t\t\t})) || [];\r\n\r\n\t\t\tthis.selectedVariation =\r\n\t\t\t\tthis.vm?.selectedProductVariation || (this.vm?.productVariations[0] as ProductVariation);\r\n\t\t\tthis.selectedAmount = this.vm?.selectedSeats || 1;\r\n\t\t\tthis.selectedContract = this.contractsForProduct?.find(\r\n\t\t\t\t(x) => x.contractNumber === this.vm?.selectedContractNumber\r\n\t\t\t);\r\n\t\t\tthis.isAddingToContract = !!this.vm?.canAddToContract && useLayoutStore().isAuthenticated && !this.vm?.isAutodeskProduct;\r\n\t\t\tawait this.updateConfiguration();\r\n\t\t},\r\n\t\tupdateAvailableOptions(): void {\r\n\t\t\tthis.availableDurations = filter(this.vm?.productVariations, {\r\n\t\t\t\tlicenseClass: this.selectedLicenseClass,\r\n\t\t\t\tlicenseSize: this.selectedLicenseSize,\r\n\t\t\t}).map((x) => ({\r\n\t\t\t\tvalue: x.duration,\r\n\t\t\t\tlabel: i18n.global.tc('common.months', x.duration || 0),\r\n\t\t\t}));\r\n\t\t\tthis.availableDurations = sortBy(uniqBy(this.availableDurations, 'value'), 'value');\r\n\t\t},\r\n\t\tasync updateSelectedContract(): Promise<ContractsForProduct | undefined> {\r\n\t\t\tif (this.isAddingToContract) {\r\n\t\t\t\tuseLoadingStore().showSpinner('contractTable');\r\n\t\t\t\treturn this.fetchContractsForSelectedVariation()\r\n\t\t\t\t\t.then((contractsForProduct) => {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\tcontractsForProduct.find(\r\n\t\t\t\t\t\t\t\t(x) => x.contractNumber === this.vm?.selectedContractNumber\r\n\t\t\t\t\t\t\t) || contractsForProduct[0]\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.finally(() => useLoadingStore().hideSpinner('contractTable'));\r\n\t\t\t} else {\r\n\t\t\t\treturn undefined;\r\n\t\t\t}\r\n\t\t},\r\n\t\tasync updateConfiguration(selectedContract?: ContractsForProduct): Promise<void> {\r\n\t\t\tuseLoadingStore().showSpinner('priceSummary');\r\n\t\t\tif (!selectedContract) {\r\n\t\t\t\tselectedContract = await this.updateSelectedContract();\r\n\t\t\t\tthis.selectedVariation = selectedContract\r\n\t\t\t\t\t? this.currentVariation({\r\n\t\t\t\t\t\t\tsku: selectedContract.skuCodeToUse,\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t: this.selectedVariation;\r\n\t\t\t}\r\n\r\n\t\t\tthis.selectedContract = selectedContract;\r\n\t\t\tthis.selectedLicenseSize = this.selectedVariation?.licenseSize;\r\n\t\t\tthis.selectedLicenseClass = this.selectedVariation?.licenseClass;\r\n\t\t\tthis.selectedDuration = selectedContract?.duration || this.selectedVariation?.duration;\r\n\t\t\tthis.walletAmount = (this.selectedVariation?.walletAmount || 0) * this.selectedAmount;\r\n\t\t\tthis.updateAvailableOptions();\r\n\t\t\tuseLoadingStore().hideSpinner('priceSummary');\r\n\t\t},\r\n\t\tasync addToCart() {\r\n\t\t\tconst payLoad: ProductAddToCart = {\r\n\t\t\t\tseats: this.selectedAmount || 1,\r\n\t\t\t\tcontractNumber: this.selectedContract?.contractNumber,\r\n\t\t\t\toldLineItemId: this.vm?.oldLineItemId,\r\n\t\t\t\twalletAmount: this.walletAmount || 0,\r\n\t\t\t\ttypes: this.selectedContract\r\n\t\t\t\t\t? this.selectedContract?.skuIdToUse\r\n\t\t\t\t\t: ([this.selectedVariation?.id] as number[]),\r\n\t\t\t};\r\n\t\t\tconst response: AxiosResponse<AddToCartResponse> = await httpClient.post<AddToCartResponse>(\r\n\t\t\t\t'/api/cart/add',\r\n\t\t\t\tpayLoad\r\n\t\t\t);\r\n\t\t\treturn response.data;\r\n\t\t},\r\n\t\tasync fetchContractsForSelectedVariation() {\r\n\t\t\tif (!this.selectedVariation) return [];\r\n\t\t\tconst response = await httpClient.get<ContractsForProduct[]>(\r\n\t\t\t\t`/api/product/contractsForProduct/${this.selectedVariation?.sku}`\r\n\t\t\t);\r\n\t\t\tthis.contractsForProduct = response.data;\r\n\t\t\tthis.isAddingToContract = this.canAddToContract && !this.vm?.isAutodeskProduct;\r\n\t\t\treturn response.data;\r\n\t\t},\r\n\t},\r\n});\r\n","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeStyle as _normalizeStyle, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-a48b558e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"flex-license-container d-flex flex-column\" }\nconst _hoisted_2 = { class: \"lead font-weight-bold mb-3\" }\nconst _hoisted_3 = { class: \"slider-wrapper flex-1 col-md-6 shadow-sm\" }\nconst _hoisted_4 = { class: \"bubble-container\" }\nconst _hoisted_5 = { class: \"slider-bubble\" }\nconst _hoisted_6 = { class: \"slider-bubble-selected\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"slider-time\" }, [\n /*#__PURE__*/_createElementVNode(\"b\", { class: \"slider-time-start\" }, \" 1 \"),\n /*#__PURE__*/_createElementVNode(\"b\", { class: \"slider-time-end\" }, \" 30+ \")\n], -1))\nconst _hoisted_8 = { class: \"d-flex flex-column mx-1\" }\nconst _hoisted_9 = { class: \"content\" }\nconst _hoisted_10 = { class: \"mx-1\" }\nconst _hoisted_11 = {\n key: 2,\n class: \"d-flex justify-content-start flex-wrap\"\n}\nconst _hoisted_12 = { class: \"token-price-wrapper d-flex flex-column mr-4 my-1\" }\nconst _hoisted_13 = { class: \"token-price-wrapper-title\" }\nconst _hoisted_14 = { class: \"d-flex flex-column\" }\nconst _hoisted_15 = { class: \"token-price-wrapper-subtitle\" }\nconst _hoisted_16 = { class: \"d-flex flex-row justify-content-between mt-1 w-full\" }\nconst _hoisted_17 = { class: \"token-price-wrapper-left my-auto\" }\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"divider\" }, null, -1))\nconst _hoisted_19 = { class: \"d-flex flex-column token-price-wrapper-right my-auto\" }\nconst _hoisted_20 = { class: \"d-flex flex-column my-1\" }\nconst _hoisted_21 = { class: \"mb-1\" }\nconst _hoisted_22 = [\"href\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Slider = _resolveComponent(\"Slider\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createVNode(_component_Card, null, {\n content: _withCtx(() => [\n _createElementVNode(\"p\", _hoisted_2, _toDisplayString(_ctx.$tc(\"product.advice.titleProductAdvice\", { product: _ctx.productName })), 1),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", {\n class: \"bubble\",\n style: _normalizeStyle({ left: `${_ctx.bubbleStyle(_ctx.selectedDays)}%` })\n }, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"b\", _hoisted_6, _toDisplayString(_ctx.selectedDays), 1)\n ])\n ], 4)\n ]),\n _createVNode(_component_Slider, {\n modelValue: _ctx.selectedDays,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.selectedDays) = $event)),\n max: 30,\n min: 1,\n step: 1\n }, null, 8, [\"modelValue\"]),\n _hoisted_7\n ]),\n _createElementVNode(\"div\", null, [\n (!_ctx.isPositiveFlexAdvice)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n class: \"advice-banner mb-0\",\n closable: false,\n severity: \"error\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, _toDisplayString(_ctx.$t(\"product.advice.message.negativeSummary\")), 1)\n ]),\n _createVNode(_component_Button, {\n class: \"advice-button p-button-success p-button-primary mx-1\",\n label: _ctx.$t('digitalAdvisor.button.lblSelectSubscription'),\n onClick: _ctx.selectSubscription\n }, null, 8, [\"label\", \"onClick\"])\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.isPositiveFlexAdvice)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 1,\n class: \"advice-banner\",\n closable: false,\n severity: \"success\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_10, _toDisplayString(_ctx.$t(\"product.advice.message.positiveSummary\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.isPositiveFlexAdvice)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.productName) + \" | \", 1),\n _createTextVNode(\" \" + _toDisplayString(_ctx.$tc(\"product.advice.titleProductTokenUsage\", _ctx.productUsageAdvice.tokensPerDay)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, _toDisplayString(_ctx.$t(\"product.advice.estimatedUsage\")), 1),\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"div\", _hoisted_17, [\n _createVNode(_component_i18n_t, { keypath: \"product.advice.lblYearlyTokenUsage\" }, {\n amount: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.productUsageAdvice.tokensPerDay * _ctx.selectedDays * 12), 1)\n ]),\n _: 1\n })\n ]),\n _hoisted_18,\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.formatCurrency(_ctx.productUsageAdvice.totalCostsPerDay * _ctx.selectedDays * 12)), 1),\n _createElementVNode(\"small\", null, _toDisplayString(_ctx.$t(\"common.priceSummary.noVat\")), 1)\n ])\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"h5\", null, _toDisplayString(_ctx.$t(\"product.advice.buyTokens\")), 1),\n (_ctx.layoutStore.chatWidgetAvailable)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-success p-button-raised w-100 mb-1\",\n label: _ctx.$t('product.advice.button.chatWithEmployee'),\n onClick: _ctx.initChat\n }, null, 8, [\"label\", \"onClick\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"small\", _hoisted_21, [\n _createVNode(_component_i18n_t, { keypath: \"common.support.contactUsAt\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"a\", {\n href: 'tel:' + _ctx.$t('common.support.phoneNumber')\n }, _toDisplayString(_ctx.$t(\"common.support.phoneNumber\")), 9, _hoisted_22)\n ]),\n _: 1\n })\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n })\n ]))\n}","<template>\r\n\t<div class=\"flex-license-container d-flex flex-column\">\r\n\t\t<Card>\r\n\t\t\t<template #content>\r\n\t\t\t\t<p class=\"lead font-weight-bold mb-3\">\r\n\t\t\t\t\t{{ $tc(\"product.advice.titleProductAdvice\", { product: productName }) }}\r\n\t\t\t\t</p>\r\n\t\t\t\t<div class=\"slider-wrapper flex-1 col-md-6 shadow-sm\">\r\n\t\t\t\t\t<div class=\"bubble-container\">\r\n\t\t\t\t\t\t<div class=\"bubble\" :style=\"{ left: `${bubbleStyle(selectedDays)}%` }\">\r\n\t\t\t\t\t\t\t<div class=\"slider-bubble\">\r\n\t\t\t\t\t\t\t\t<b class=\"slider-bubble-selected\">{{ selectedDays }}</b>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<Slider v-model=\"selectedDays\" :max=\"30\" :min=\"1\" :step=\"1\" />\r\n\r\n\t\t\t\t\t<div class=\"slider-time\">\r\n\t\t\t\t\t\t<b class=\"slider-time-start\"> 1 </b>\r\n\t\t\t\t\t\t<b class=\"slider-time-end\"> 30+ </b>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div>\r\n\t\t\t\t\t<Message\r\n\t\t\t\t\t\tv-if=\"!isPositiveFlexAdvice\"\r\n\t\t\t\t\t\tclass=\"advice-banner mb-0\"\r\n\t\t\t\t\t\t:closable=\"false\"\r\n\t\t\t\t\t\tseverity=\"error\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<div class=\"d-flex flex-column mx-1\">\r\n\t\t\t\t\t\t\t<div class=\"content\">{{ $t(\"product.advice.message.negativeSummary\") }}</div>\r\n\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\tclass=\"advice-button p-button-success p-button-primary mx-1\"\r\n\t\t\t\t\t\t\t:label=\"$t('digitalAdvisor.button.lblSelectSubscription')\"\r\n\t\t\t\t\t\t\t@click=\"selectSubscription\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</Message>\r\n\r\n\t\t\t\t\t<Message\r\n\t\t\t\t\t\tv-if=\"isPositiveFlexAdvice\"\r\n\t\t\t\t\t\tclass=\"advice-banner\"\r\n\t\t\t\t\t\t:closable=\"false\"\r\n\t\t\t\t\t\tseverity=\"success\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<div class=\"mx-1\">\r\n\t\t\t\t\t\t\t{{ $t(\"product.advice.message.positiveSummary\") }}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</Message>\r\n\r\n\t\t\t\t\t<div v-if=\"isPositiveFlexAdvice\" class=\"d-flex justify-content-start flex-wrap\">\r\n\t\t\t\t\t\t<div class=\"token-price-wrapper d-flex flex-column mr-4 my-1\">\r\n\t\t\t\t\t\t\t<div class=\"token-price-wrapper-title\">\r\n\t\t\t\t\t\t\t\t<span>{{ productName }} | </span>\r\n\t\t\t\t\t\t\t\t{{ $tc(\"product.advice.titleProductTokenUsage\", productUsageAdvice.tokensPerDay) }}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t\t\t\t\t<div class=\"token-price-wrapper-subtitle\">\r\n\t\t\t\t\t\t\t\t\t{{ $t(\"product.advice.estimatedUsage\") }}\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div class=\"d-flex flex-row justify-content-between mt-1 w-full\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"token-price-wrapper-left my-auto\">\r\n\t\t\t\t\t\t\t\t\t\t<i18n-t keypath=\"product.advice.lblYearlyTokenUsage\">\r\n\t\t\t\t\t\t\t\t\t\t\t<template #amount>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<b>{{ productUsageAdvice.tokensPerDay * selectedDays * 12 }}</b>\r\n\t\t\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t\t\t</i18n-t>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<div class=\"divider\"></div>\r\n\t\t\t\t\t\t\t\t\t<div class=\"d-flex flex-column token-price-wrapper-right my-auto\">\r\n\t\t\t\t\t\t\t\t\t\t<b>{{\r\n\t\t\t\t\t\t\t\t\t\t\tformatCurrency(productUsageAdvice.totalCostsPerDay * selectedDays * 12)\r\n\t\t\t\t\t\t\t\t\t\t}}</b>\r\n\t\t\t\t\t\t\t\t\t\t<small>{{ $t(\"common.priceSummary.noVat\") }} </small>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t<div class=\"d-flex flex-column my-1\">\r\n\t\t\t\t\t\t\t<h5>{{ $t(\"product.advice.buyTokens\") }}</h5>\r\n\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\tv-if=\"layoutStore.chatWidgetAvailable\"\r\n\t\t\t\t\t\t\t\tclass=\"p-button-success p-button-raised w-100 mb-1\"\r\n\t\t\t\t\t\t\t\t:label=\"$t('product.advice.button.chatWithEmployee')\"\r\n\t\t\t\t\t\t\t\t@click=\"initChat\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<small class=\"mb-1\">\r\n\t\t\t\t\t\t\t\t<i18n-t keypath=\"common.support.contactUsAt\">\r\n\t\t\t\t\t\t\t\t\t<a :href=\"'tel:' + $t('common.support.phoneNumber')\">\r\n\t\t\t\t\t\t\t\t\t\t{{ $t(\"common.support.phoneNumber\") }}\r\n\t\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t</i18n-t>\r\n\t\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t</Card>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Message from \"primevue/message\";\r\nimport Slider from \"primevue/slider\";\r\nimport { Component, Emit, Prop } from \"vue-facing-decorator\";\r\nimport { ProductUsageAdvice } from \"@/types/models/software/productUsageAdvice\";\r\nimport { PropType } from \"vue\";\r\nimport { useSoftwareProductStore } from \"@/store/software/softwareProductStore\";\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tSlider,\r\n\t\tMessage,\r\n\t},\r\n})\r\nexport default class ProductConfigurationFlexLicense extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<ProductUsageAdvice>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tproductUsageAdvice!: ProductUsageAdvice;\r\n\r\n\t@Prop({\r\n\t\ttype: String,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tproductName;\r\n\r\n\tselectedDays!: number;\r\n\tproductStore = useSoftwareProductStore();\r\n\r\n\t@Emit(\"select-subscription\") selectSubscription(): void {\r\n\t\treturn;\r\n\t}\r\n\r\n\tget isPositiveFlexAdvice(): boolean {\r\n\t\treturn this.selectedDays <= this.productUsageAdvice.monthlyThreshold;\r\n\t}\r\n\r\n\tmounted(): void {\r\n\t\tthis.selectedDays = Math.floor(this.productUsageAdvice.monthlyThreshold);\r\n\t}\r\n\r\n\tbubbleStyle(selectedDays: number): number {\r\n\t\treturn (selectedDays / (30 - 1) - 1 / (30 - 1)) * 100;\r\n\t}\r\n\r\n\tinitChat(): void {\r\n\t\tthis.chatWidget.open({ name: \"Support\", replyText: \"I would like to purchase flex tokens\" });\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.slider-wrapper {\r\n\tbackground: #ffffff;\r\n\tborder: 1px solid var(--surface-b);\r\n\tcolor: var(--primary-color);\r\n\tborder-radius: 0.25em;\r\n\tpadding: 0 1.75rem;\r\n\tmargin-right: 1.25rem;\r\n}\r\n\r\n.token-price-wrapper {\r\n\tbackground: #ffffff;\r\n\tmargin-right: 1.25rem;\r\n\twidth: 33%;\r\n\r\n\t.token-price-wrapper-left {\r\n\t\twidth: 45%;\r\n\r\n\t\tb {\r\n\t\t\tfont-size: 1.2rem;\r\n\t\t}\r\n\t}\r\n\r\n\t.token-price-wrapper-right {\r\n\t\twidth: 45%;\r\n\r\n\t\tb {\r\n\t\t\tfont-size: 1.2rem;\r\n\t\t\tcolor: var(--primary-color);\r\n\t\t}\r\n\t}\r\n\r\n\t.token-price-wrapper-title {\r\n\t\tcolor: var(--primary-color);\r\n\t\tfont-size: 0.9rem;\r\n\t\tfont-weight: 600;\r\n\t}\r\n\r\n\t.token-price-wrapper-subtitle {\r\n\t\tcolor: var(--secondary-color);\r\n\t\tfont-size: 1.1rem;\r\n\t\tfont-weight: 400;\r\n\t}\r\n\r\n\t.divider {\r\n\t\tborder-left: 2px solid var(--secondary-color);\r\n\t\theight: 100%;\r\n\t}\r\n}\r\n\r\n.bubble-container {\r\n\tposition: relative;\r\n\tmargin-bottom: 1.1rem;\r\n\twidth: 100%;\r\n\r\n\t.bubble {\r\n\t\tposition: absolute;\r\n\t\ttransform: translateX(-50%);\r\n\t\tbottom: -6px;\r\n\t}\r\n\r\n\t.slider-bubble {\r\n\t\tposition: relative;\r\n\t\tbackground: var(--surface-a);\r\n\t\tborder: 1px solid var(--surface-d);\r\n\t\tborder-radius: var(--border-radius);\r\n\t\tpadding: 0 12px;\r\n\r\n\t\t.slider-bubble-selected {\r\n\t\t\tfont-size: 0.8rem;\r\n\t\t}\r\n\r\n\t\t&:after {\r\n\t\t\tcontent: \"\";\r\n\t\t\tposition: absolute;\r\n\t\t\tborder: 1px solid rgba(51, 51, 51, 0.19);\r\n\t\t\tbottom: -6px;\r\n\t\t\tleft: 33%;\r\n\t\t}\r\n\r\n\t\t&:before {\r\n\t\t\tcontent: \"\";\r\n\t\t\tposition: absolute;\r\n\t\t\tborder: 1px solid #333;\r\n\t\t\tbottom: -7px;\r\n\t\t\tleft: 33%;\r\n\t\t}\r\n\r\n\t\t&:after {\r\n\t\t\tborder-color: white transparent;\r\n\t\t\tborder-width: 7px 7px 0 6px;\r\n\t\t}\r\n\r\n\t\t&:before {\r\n\t\t\tborder-color: #999 transparent;\r\n\t\t\tborder-width: 7px 7px 0 6px;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n.slider-time {\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\talign-items: center;\r\n\tcolor: var(--primary-color);\r\n\r\n\t.slider-time-start {\r\n\t\ttransform: translateX(-50%);\r\n\t\tfont-size: 0.8rem;\r\n\t}\r\n\r\n\t.slider-time-end {\r\n\t\ttransform: translateX(50%);\r\n\t\tfont-size: 0.8rem;\r\n\t}\r\n}\r\n\r\n.advice-button-info {\r\n\twidth: fit-content;\r\n\tcolor: var(--primary-color);\r\n\tfont-weight: 500;\r\n}\r\n\r\n.advice-banner {\r\n\tborder: none;\r\n\tborder-radius: var(--border-radius);\r\n\tpadding: 0.25rem 0.75rem;\r\n\r\n\t.negative {\r\n\t\tcolor: var(--primary-color);\r\n\r\n\t\t::v-deep(.p-message-icon) {\r\n\t\t\tcolor: var(--primary-color);\r\n\t\t}\r\n\t}\r\n\r\n\t::v-deep(.p-message-text) {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: row;\r\n\t\tjustify-content: space-between;\r\n\t\talign-items: center;\r\n\t\tfont-weight: 400;\r\n\r\n\t\t@media (max-width: 960px) {\r\n\t\t\tflex-direction: column;\r\n\t\t\tpadding-right: 1rem;\r\n\t\t\tpadding-left: 1rem;\r\n\t\t\tgap: 1rem;\r\n\t\t\talign-items: start;\r\n\t\t}\r\n\t}\r\n\r\n\t::v-deep(.p-button) {\r\n\t\twidth: 16rem;\r\n\r\n\t\t@media (max-width: 576px) {\r\n\t\t\twidth: 100%;\r\n\t\t}\r\n\t}\r\n\r\n\t.title {\r\n\t\tfont-weight: 500;\r\n\t}\r\n\r\n\t.content {\r\n\t\tfont-weight: 400;\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./productConfigurationFlexLicense.vue?vue&type=template&id=a48b558e&scoped=true&ts=true\"\nimport script from \"./productConfigurationFlexLicense.vue?vue&type=script&lang=ts\"\nexport * from \"./productConfigurationFlexLicense.vue?vue&type=script&lang=ts\"\n\nimport \"./productConfigurationFlexLicense.vue?vue&type=style&index=0&id=a48b558e&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-a48b558e\"]])\n\nexport default __exports__","import { render } from \"./softwareProduct.vue?vue&type=template&id=6c82b934&scoped=true&ts=true\"\nimport script from \"./softwareProduct.vue?vue&type=script&lang=ts\"\nexport * from \"./softwareProduct.vue?vue&type=script&lang=ts\"\n\nimport \"./softwareProduct.vue?vue&type=style&index=0&id=6c82b934&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-6c82b934\"]])\n\nexport default __exports__","import { renderSlot as _renderSlot, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, normalizeClass as _normalizeClass, createBlock as _createBlock, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7bc4d906\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"pt-3 pb-2\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"mb-0\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_ProductOverviewItemCard = _resolveComponent(\"ProductOverviewItemCard\")!\n const _component_ServiceOverviewItemCardSkeleton = _resolveComponent(\"ServiceOverviewItemCardSkeleton\")!\n const _component_ProductOverviewLayout = _resolveComponent(\"ProductOverviewLayout\")!\n\n return (_openBlock(), _createBlock(_component_ProductOverviewLayout, {\n vm: _ctx.overviewVm,\n onOnFilterChange: _ctx.onFilterChange,\n onOnSearch: _ctx.onSearch,\n onOnSortChange: _ctx.onSortChange\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _renderSlot(_ctx.$slots, \"breadcrumbs\", {}, undefined, true),\n (_ctx.vm.pageTitle)\n ? (_openBlock(), _createElementBlock(\"h1\", _hoisted_2, _toDisplayString(_ctx.vm.pageTitle), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n \"grid-item\": _withCtx(({ data }) => [\n (!_ctx.isSpinnerVisible('product-overview'))\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: _normalizeClass([\"mb-2\", data?.products?.length ? 'col-md-6' : 'col-md-6 col-xxl-3'])\n }, [\n _createVNode(_component_ProductOverviewItemCard, {\n item: data,\n layout: \"grid\"\n }, null, 8, [\"item\"])\n ], 2))\n : (_openBlock(), _createBlock(_component_ServiceOverviewItemCardSkeleton, {\n key: 1,\n type: \"grid\"\n }))\n ]),\n \"list-item\": _withCtx(({ data }) => [\n (!_ctx.isSpinnerVisible('product-overview'))\n ? (_openBlock(), _createBlock(_component_ProductOverviewItemCard, {\n key: 0,\n item: data,\n layout: \"list\",\n \"show-intro\": \"\"\n }, null, 8, [\"item\"]))\n : (_openBlock(), _createBlock(_component_ServiceOverviewItemCardSkeleton, {\n key: 1,\n type: \"list\"\n }))\n ]),\n _: 3\n }, 8, [\"vm\", \"onOnFilterChange\", \"onOnSearch\", \"onOnSortChange\"]))\n}","<template>\r\n\t<ProductOverviewLayout\r\n\t\t:vm=\"overviewVm\"\r\n\t\t@on-filter-change=\"onFilterChange\"\r\n\t\t@on-search=\"onSearch\"\r\n\t\t@on-sort-change=\"onSortChange\"\r\n\t>\r\n\t\t<template #header>\r\n\t\t\t<div class=\"pt-3 pb-2\">\r\n\t\t\t\t<slot name=\"breadcrumbs\" />\r\n\t\t\t\t<h1 v-if=\"vm.pageTitle\" class=\"mb-0\">{{ vm.pageTitle }}</h1>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t\t<template #grid-item=\"{ data }\">\r\n\t\t\t<div\r\n\t\t\t\tv-if=\"!isSpinnerVisible('product-overview')\"\r\n\t\t\t\tclass=\"mb-2\"\r\n\t\t\t\t:class=\"data?.products?.length ? 'col-md-6' : 'col-md-6 col-xxl-3'\"\r\n\t\t\t>\r\n\t\t\t\t<ProductOverviewItemCard :item=\"data\" layout=\"grid\" />\r\n\t\t\t</div>\r\n\t\t\t<ServiceOverviewItemCardSkeleton v-else type=\"grid\" />\r\n\t\t</template>\r\n\t\t<template #list-item=\"{ data }\">\r\n\t\t\t<ProductOverviewItemCard\r\n\t\t\t\tv-if=\"!isSpinnerVisible('product-overview')\"\r\n\t\t\t\t:item=\"data\"\r\n\t\t\t\tlayout=\"list\"\r\n\t\t\t\tshow-intro\r\n\t\t\t/>\r\n\t\t\t<ServiceOverviewItemCardSkeleton v-else type=\"list\" />\r\n\t\t</template>\r\n\t</ProductOverviewLayout>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport ProductOverviewItemCard from \"@/components/product/productOverviewItemCard.vue\";\r\nimport ServiceOverviewItemCardSkeleton from \"@/components/service/serviceOverviewItemCardSkeleton.vue\";\r\nimport ProductOverviewLayout, { IProductOverviewLayout } from \"@/views/layout/productOverviewLayout.vue\";\r\nimport { CollectionItemViewModel } from \"@/types/models/software/collectionItemViewModel\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { ISoftwareProductOverview } from \"@/types/viewModels/commerce/softwareProductOverviewViewModel\";\r\nimport { ItemProductType } from \"@/types/enum/itemProductType\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { OverviewSortType } from \"@/types/enum/overviewSortType\";\r\nimport { PropType } from \"vue\";\r\nimport { take } from \"lodash\";\r\nimport { useProductOverviewFilterStore } from \"@/store/common/productOverviewFiltersStore\";\r\nimport { ServiceItemViewModel } from \"../../types/models/service/serviceItemViewModel\";\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tProductOverviewItemCard,\r\n\t\tServiceOverviewItemCardSkeleton,\r\n\t\tProductOverviewLayout,\r\n\t},\r\n})\r\nexport default class SoftwareProductOverview extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<ISoftwareProductOverview>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: ISoftwareProductOverview;\r\n\r\n overviewItems: ServiceItemViewModel[] | CollectionItemViewModel[] = [];\r\n\r\n\tfilterStore = useProductOverviewFilterStore();\r\n\r\n\tcollections: CollectionItemViewModel[] = [];\r\n\r\n\tcreated(): void {\r\n\t\tLog.info(\"SoftwareProductOverview\", this.vm);\r\n\t\tthis.overviewItems = this.vm.products;\r\n\t\tthis.collections = this.vm.collections;\r\n\t\tthis.addCollectionsToOverview();\r\n\t\tthis.filterStore.init(this.vm.filters);\r\n\t\tthis.filterStore.addPriceSortOptions();\r\n\t}\r\n\r\n\tget overviewVm(): IProductOverviewLayout {\r\n\t\treturn { productType: ItemProductType.Software, items: this.overviewItems, defaultViewLayout: \"grid\" };\r\n\t}\r\n\r\n\tget maxAmountOfCollectionsToShow(): number {\r\n\t\treturn this.isSmallScreen ? 2 : 3;\r\n\t}\r\n\r\n\tget collectionsToShow(): CollectionItemViewModel[] {\r\n\t\treturn take(this.collections, this.maxAmountOfCollectionsToShow);\r\n\t}\r\n\r\n\tonSortChange(sortType: OverviewSortType): void {\r\n\t\tthis.filterStore.sortType = sortType;\r\n\t\tthis.updateFilters();\r\n\t}\r\n\r\n\tonFilterChange(): void {\r\n\t\tthis.updateFilters();\r\n\t}\r\n\r\n\tonSearch(query: string): void {\r\n\t\tif (!this.filterStore.hasQueryFilter) return;\r\n\t\tthis.filterStore.updateSearchQuery(query);\r\n\t\tthis.updateFilters();\r\n\t}\r\n\r\n\tprivate updateFilters(): void {\r\n\t\tthis.loadingStore.showSpinner(\"product-overview\");\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tthis.filterStore\r\n\t\t\t.updateProductFilters()\r\n\t\t\t.then((data) => {\r\n\t\t\t\tthis.collections = data?.collections ? [...data.collections] : [];\r\n\t\t\t\tthis.overviewItems = data?.products ? [...data.products] : [];\r\n\t\t\t\tthis.addCollectionsToOverview();\r\n\t\t\t})\r\n\t\t\t.catch((err) => Log.error(err))\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.loadingStore.hideSpinner(\"product-overview\");\r\n\t\t\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t\t\t});\r\n\t}\r\n\r\n\tprivate addCollectionsToOverview(): void {\r\n\t\tthis.overviewItems.splice(this.isSmallScreen ? 4 : 8, 0, ...this.collectionsToShow);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n:deep(.product-grid-card) {\r\n\t&.p-card {\r\n\t\tmin-height: 200px;\r\n\t}\r\n}\r\n\r\n:deep(.p-dataview .p-dataview-header) {\r\n\ttop: var(--navbarHeightInPx);\r\n}\r\n</style>\r\n","import { render } from \"./softwareProductOverview.vue?vue&type=template&id=7bc4d906&scoped=true&ts=true\"\nimport script from \"./softwareProductOverview.vue?vue&type=script&lang=ts\"\nexport * from \"./softwareProductOverview.vue?vue&type=script&lang=ts\"\n\nimport \"./softwareProductOverview.vue?vue&type=style&index=0&id=7bc4d906&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7bc4d906\"]])\n\nexport default __exports__","import { renderSlot as _renderSlot, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createBlock as _createBlock, resolveDirective as _resolveDirective, withDirectives as _withDirectives, normalizeClass as _normalizeClass, vShow as _vShow, createTextVNode as _createTextVNode, createSlots as _createSlots, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-62721b7c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"container mt-3 mb-4\" }\nconst _hoisted_2 = { class: \"row justify-content-center\" }\nconst _hoisted_3 = { class: \"col-lg-10\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"d-flex align-items-end\"\n}\nconst _hoisted_5 = { class: \"mb-2\" }\nconst _hoisted_6 = { class: \"mb-1\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"lead text-preline\"\n}\nconst _hoisted_8 = [\"href\"]\nconst _hoisted_9 = {\n key: 0,\n alt: \"\",\n class: \"ml-auto\",\n height: \"144\",\n width: \"150\"\n}\nconst _hoisted_10 = { class: \"text-center pt-1\" }\nconst _hoisted_11 = { key: 0 }\nconst _hoisted_12 = { class: \"d-flex flex-column align-items-center p-3\" }\nconst _hoisted_13 = { class: \"font-weight-bold lead text-primary\" }\nconst _hoisted_14 = { class: \"mb-0 lead\" }\nconst _hoisted_15 = {\n key: 0,\n class: \"mt-2 mb-0 font-weight-normal\"\n}\nconst _hoisted_16 = [\"href\"]\nconst _hoisted_17 = { key: 1 }\nconst _hoisted_18 = { class: \"my-2\" }\nconst _hoisted_19 = { class: \"col d-flex flex-column align-items-center p-3\" }\nconst _hoisted_20 = { class: \"font-weight-bold lead text-primary\" }\nconst _hoisted_21 = { key: 2 }\nconst _hoisted_22 = { class: \"my-2\" }\nconst _hoisted_23 = { class: \"col d-flex flex-column align-items-center p-3\" }\nconst _hoisted_24 = { class: \"font-weight-bold lead text-primary\" }\nconst _hoisted_25 = { key: 1 }\nconst _hoisted_26 = { class: \"d-flex align-items-center justify-content-between\" }\nconst _hoisted_27 = { class: \"category-breadcrumbs\" }\nconst _hoisted_28 = { key: 0 }\nconst _hoisted_29 = { key: 1 }\nconst _hoisted_30 = { key: 2 }\nconst _hoisted_31 = { key: 0 }\nconst _hoisted_32 = { class: \"mb-0 text-bold mr-1\" }\nconst _hoisted_33 = { class: \"mr-2\" }\nconst _hoisted_34 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"svg\", {\n fill: \"#000\",\n height: \"30\",\n width: \"34\"\n}, [\n /*#__PURE__*/_createElementVNode(\"use\", { \"xlink:href\": \"#icon-support-avatar\" })\n], -1))\nconst _hoisted_35 = [\n _hoisted_34\n]\nconst _hoisted_36 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1))\nconst _hoisted_37 = {\n key: 0,\n class: \"mb-2\"\n}\nconst _hoisted_38 = { key: 0 }\nconst _hoisted_39 = { key: 1 }\nconst _hoisted_40 = { key: 2 }\nconst _hoisted_41 = {\n key: 3,\n class: \"\"\n}\nconst _hoisted_42 = { key: 4 }\nconst _hoisted_43 = { class: \"d-flex flex-column align-items-center p-1 w-100\" }\nconst _hoisted_44 = { class: \"font-weight-bold\" }\nconst _hoisted_45 = { key: 5 }\nconst _hoisted_46 = {\n key: 1,\n class: \"p-inputgroup\"\n}\nconst _hoisted_47 = { class: \"d-flex justify-content-between align-items-center\" }\nconst _hoisted_48 = { class: \"d-flex align-items-center\" }\nconst _hoisted_49 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"svg\", {\n height: \"30\",\n width: \"30\"\n}, [\n /*#__PURE__*/_createElementVNode(\"use\", { \"xlink:href\": \"#icon-cadac\" })\n], -1))\nconst _hoisted_50 = { class: \"mb-0 text-bold\" }\nconst _hoisted_51 = {\n key: 2,\n class: \"d-flex align-items-center\"\n}\nconst _hoisted_52 = { class: \"d-flex flex-column align-items-center p-2 border\" }\nconst _hoisted_53 = { class: \"font-weight-bold\" }\nconst _hoisted_54 = {\n key: 6,\n class: \"mb-3\"\n}\nconst _hoisted_55 = { class: \"d-flex align-items-center\" }\nconst _hoisted_56 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-exclamation-circle text-primary message-icon mr-2\" }, null, -1))\nconst _hoisted_57 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1))\nconst _hoisted_58 = { key: 1 }\nconst _hoisted_59 = {\n key: 1,\n id: \"`recaptcha-help`\",\n class: \"p-error\"\n}\nconst _hoisted_60 = {\n key: 2,\n class: \"p-2\"\n}\nconst _hoisted_61 = [\"innerHTML\"]\nconst _hoisted_62 = { class: \"d-flex justify-content-end\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_ProgressBar = _resolveComponent(\"ProgressBar\")!\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_SelectButton = _resolveComponent(\"SelectButton\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Divider = _resolveComponent(\"Divider\")!\n const _component_AutoComplete = _resolveComponent(\"AutoComplete\")!\n const _component_LinkButton = _resolveComponent(\"LinkButton\")!\n const _component_AskAQuestionPersonalForm = _resolveComponent(\"AskAQuestionPersonalForm\")!\n const _component_AskAQuestionSupportTicketForm = _resolveComponent(\"AskAQuestionSupportTicketForm\")!\n const _component_AskAQuestionMessageForm = _resolveComponent(\"AskAQuestionMessageForm\")!\n const _component_vue_recaptcha = _resolveComponent(\"vue-recaptcha\")!\n const _component_Card = _resolveComponent(\"Card\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n const _directive_badge = _resolveDirective(\"badge\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _renderSlot(_ctx.$slots, \"breadcrumbs\", {}, undefined, true),\n (_ctx.activeStep < 3)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"h1\", _hoisted_6, _toDisplayString(_ctx.vm.pageTitle), 1),\n (_ctx.vm.pageIntro)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_7, _toDisplayString(_ctx.vm.pageIntro), 1))\n : _createCommentVNode(\"\", true),\n (!_ctx.layoutStore.isAuthenticated)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 1,\n class: \"p-1\",\n closable: false,\n severity: \"custom\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_i18n_t, { keypath: \"support.message.loginForFasterAssistance\" }, {\n loginLink: _withCtx(() => [\n _createElementVNode(\"a\", { href: _ctx.loginPageUrl }, _toDisplayString(_ctx.$t(\"common.login\")), 9, _hoisted_8)\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n (!_ctx.isSmallScreen)\n ? _withDirectives((_openBlock(), _createElementBlock(\"img\", _hoisted_9, null, 512)), [\n [_directive_lazy, '/Static/images/support.png']\n ])\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Card, null, _createSlots({\n content: _withCtx(() => [\n (_ctx.activeStep === 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createVNode(_component_SelectButton, {\n modelValue: _ctx.selectedMainCategory,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.selectedMainCategory) = $event)),\n class: \"row m-0\",\n \"data-key\": \"id\",\n options: _ctx.filteredMainCategories,\n onChange: _ctx.updateQueryParams\n }, {\n option: _withCtx((slotProps) => [\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"d-flex flex-column align-items-center\", {\r\n\t\t\t\t\t\t\t\t\t\t\t\t'p-disabled':\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t!_ctx.layoutStore.isAuthenticated &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t_ctx.isSupportCategory(slotProps.option.categoryType),\r\n\t\t\t\t\t\t\t\t\t\t\t}])\n }, [\n _createVNode(_component_Avatar, {\n class: \"mb-2\",\n image: slotProps.option.icon,\n shape: \"square\",\n size: \"large\"\n }, null, 8, [\"image\"]),\n _createElementVNode(\"p\", _hoisted_13, _toDisplayString(slotProps.option.title), 1),\n _createElementVNode(\"p\", _hoisted_14, _toDisplayString(slotProps.option.subtitle), 1)\n ], 2),\n (\r\n\t\t\t\t\t\t\t\t\t\t\t\t!_ctx.layoutStore.isAuthenticated &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t_ctx.isSupportCategory(slotProps.option.categoryType)\r\n\t\t\t\t\t\t\t\t\t\t\t)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_15, [\n _createVNode(_component_i18n_t, { keypath: \"support.message.loginForSupport\" }, {\n loginLink: _withCtx(() => [\n _createElementVNode(\"a\", { href: _ctx.loginPageUrl }, _toDisplayString(_ctx.$t(\"common.login\")), 9, _hoisted_16)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n }, 8, [\"modelValue\", \"options\", \"onChange\"]),\n (_ctx.otherMainCategory)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"my-2 p-0 p-button-text p-button-secondary p-button-link\",\n label: _ctx.otherMainCategory?.title,\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.selectedMainCategory = _ctx.otherMainCategory))\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.selectedMainCategory)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createElementVNode(\"h3\", _hoisted_18, _toDisplayString(_ctx.selectedMainCategory?.subCategoriesTitle), 1),\n _withDirectives(_createVNode(_component_SelectButton, {\n modelValue: _ctx.selectedSubCategory,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.selectedSubCategory) = $event)),\n class: \"row m-0\",\n \"data-key\": \"id\",\n options: _ctx.availableSubCategories,\n onChange: _ctx.updateQueryParams\n }, {\n option: _withCtx((slotProps) => [\n _createElementVNode(\"div\", _hoisted_19, [\n _createVNode(_component_Avatar, {\n class: \"mb-2\",\n image: slotProps.option.icon,\n shape: \"square\"\n }, null, 8, [\"image\"]),\n _createElementVNode(\"p\", _hoisted_20, _toDisplayString(slotProps.option.title), 1)\n ])\n ]),\n _: 1\n }, 8, [\"modelValue\", \"options\", \"onChange\"]), [\n [_vShow, _ctx.availableSubCategories?.length > 0]\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.selectedSubCategory)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_21, [\n _createElementVNode(\"h3\", _hoisted_22, _toDisplayString(_ctx.selectedSubCategory?.subCategoriesTitle), 1),\n (_ctx.availableSubSubCategories?.length > 0)\n ? (_openBlock(), _createBlock(_component_SelectButton, {\n key: 0,\n modelValue: _ctx.selectedSubSubCategory,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.selectedSubSubCategory) = $event)),\n class: \"row m-0\",\n \"data-key\": \"id\",\n options: _ctx.availableSubSubCategories,\n onChange: _ctx.updateQueryParams\n }, {\n option: _withCtx((slotProps) => [\n _createElementVNode(\"div\", _hoisted_23, [\n _createVNode(_component_Avatar, {\n class: \"mb-2\",\n image: slotProps.option.icon,\n shape: \"square\"\n }, null, 8, [\"image\"]),\n _createElementVNode(\"p\", _hoisted_24, _toDisplayString(slotProps.option.title), 1)\n ])\n ]),\n _: 1\n }, 8, [\"modelValue\", \"options\", \"onChange\"]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : (_ctx.activeStep === 2)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_25, [\n _createElementVNode(\"div\", _hoisted_26, [\n _createElementVNode(\"p\", _hoisted_27, [\n (_ctx.selectedMainCategory)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_28, _toDisplayString(_ctx.selectedMainCategory.title), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.selectedSubCategory)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_29, _toDisplayString(_ctx.selectedSubCategory.title), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.selectedSubSubCategory)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_30, _toDisplayString(_ctx.selectedSubSubCategory.title), 1))\n : _createCommentVNode(\"\", true)\n ]),\n (_ctx.hasSelectedSupportCategory)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_31, [\n _createElementVNode(\"span\", _hoisted_32, _toDisplayString(_ctx.$t(\"support.amountOfTickets\")), 1),\n _withDirectives((_openBlock(), _createElementBlock(\"i\", _hoisted_33, _hoisted_35)), [\n [\n _directive_badge,\n _ctx.vm.availableAmountOfSupportTickets,\n void 0,\n { secondary: true }\n ]\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _hoisted_36,\n (_ctx.hasSelectedSupportCategory)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_37, [\n (_ctx.hasSupportProducts && _ctx.hasTickets)\n ? (_openBlock(), _createElementBlock(\"h3\", _hoisted_38, _toDisplayString(_ctx.vm.ticketsAndSubscriptionsTitle || _ctx.vm.ticketsAndSubscriptionsSubTitle), 1))\n : (_ctx.hasSupportProducts && !_ctx.hasTickets)\n ? (_openBlock(), _createElementBlock(\"h3\", _hoisted_39, _toDisplayString(_ctx.vm.noTicketsButSubscriptionsTitle || _ctx.vm.noTicketsButSubscriptionsSubTitle), 1))\n : (!_ctx.hasSupportProducts && _ctx.hasTickets)\n ? (_openBlock(), _createElementBlock(\"h3\", _hoisted_40, _toDisplayString(_ctx.vm.noSubscriptionsButTicketsTitle || _ctx.vm.noSubscriptionsButTicketsSubTitle), 1))\n : (!_ctx.hasSupportProducts && !_ctx.hasTickets)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_41, _toDisplayString(_ctx.vm.noSubscriptionsAndNoTicketsSubtitle), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.hasSupportProducts)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_42, [\n _createVNode(_component_SelectButton, {\n modelValue: _ctx.selectedSupportProduct,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_ctx.selectedSupportProduct) = $event)),\n class: \"p-select-button-grid\",\n \"data-key\": \"sku\",\n options: _ctx.vm.supportContractSupportAssets,\n onChange: _ctx.onSupportProductSelected\n }, {\n option: _withCtx((slotProps) => [\n _createElementVNode(\"div\", _hoisted_43, [\n _createVNode(_component_Avatar, {\n class: \"mb-1\",\n image: slotProps.option.icon,\n shape: \"square\"\n }, null, 8, [\"image\"]),\n _createElementVNode(\"p\", _hoisted_44, _toDisplayString(slotProps.option.title), 1)\n ])\n ]),\n _: 1\n }, 8, [\"modelValue\", \"options\", \"onChange\"])\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.hasTickets)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_45, [\n (_ctx.hasSupportProducts)\n ? (_openBlock(), _createBlock(_component_Divider, { key: 0 }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"common.or\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"h3\", null, _toDisplayString(_ctx.vm.ticketsAndSubscriptionsOtherSoftwareTitle), 1),\n (!_ctx.hasSelectedSupportTicketProduct)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_46, [\n _createVNode(_component_AutoComplete, {\n modelValue: _ctx.selectedSupportTicketProduct,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event: any) => ((_ctx.selectedSupportTicketProduct) = $event)),\n \"force-selection\": \"\",\n \"min-length\": 2,\n multiple: false,\n \"option-label\": \"title\",\n placeholder: _ctx.$t('myCadac.supportOverview.autocomplete.placeholder'),\n suggestions: _ctx.searchProductResults,\n onComplete: _cache[6] || (_cache[6] = ($event: any) => (_ctx.onSearchSoftware($event))),\n onItemSelect: _ctx.onSupportTicketProductSelected\n }, {\n item: _withCtx((slotProps) => [\n _createElementVNode(\"div\", _hoisted_47, [\n _createElementVNode(\"div\", _hoisted_48, [\n (slotProps.item.icon)\n ? (_openBlock(), _createBlock(_component_Avatar, {\n key: 0,\n alt: \"product-icon\",\n class: \"mr-1 bg-transparent\",\n image: slotProps.item.icon,\n shape: \"square\"\n }, null, 8, [\"image\"]))\n : (_openBlock(), _createBlock(_component_Avatar, {\n key: 1,\n alt: \"product-icon\",\n class: \"mr-1 bg-transparent\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [\n _hoisted_49\n ]),\n _: 1\n })),\n _createElementVNode(\"p\", _hoisted_50, _toDisplayString(slotProps.item.title), 1)\n ])\n ])\n ]),\n _: 1\n }, 8, [\"modelValue\", \"placeholder\", \"suggestions\", \"onItemSelect\"]),\n _createVNode(_component_Button, {\n class: \"p-button-primary\",\n icon: \"pi pi-search\"\n })\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_51, [\n _createElementVNode(\"div\", _hoisted_52, [\n _createVNode(_component_Avatar, {\n class: \"mb-1\",\n image: _ctx.selectedSupportTicketProduct.icon,\n shape: \"square\"\n }, null, 8, [\"image\"]),\n _createElementVNode(\"p\", _hoisted_53, _toDisplayString(_ctx.selectedSupportTicketProduct.title), 1),\n _createVNode(_component_Button, {\n class: \"p-button-danger p-button-text\",\n icon: \"pi pi-times\",\n title: _ctx.$t('common.remove'),\n onClick: _cache[7] || (_cache[7] = ($event: any) => (_ctx.selectedSupportTicketProduct = null))\n }, null, 8, [\"title\"])\n ])\n ])),\n (_ctx.hasSelectedSupportTicketProduct)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 3,\n class: \"\",\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"support.message.ticketProductWarning\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.hasNoSearchResults)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 4,\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.supportOverview.autocomplete.msgNoResults\", {\r\n\t\t\t\t\t\t\t\t\t\t\t\tquery: _ctx.searchQuery,\r\n\t\t\t\t\t\t\t\t\t\t\t})), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]))\n : (!_ctx.hasSupportProducts && !_ctx.hasTickets)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_54, [\n _createVNode(_component_Message, {\n class: \"message-with-button my-3\",\n closable: false,\n severity: \"custom\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_55, [\n _hoisted_56,\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.vm.ticketsCtaTitle), 1)\n ]),\n (_ctx.vm.subscriptionsLinkItem)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 0,\n class: \"p-button-success p-button-arrow m-1\",\n label: _ctx.vm.subscriptionsLinkItem.text,\n target: _ctx.vm.subscriptionsLinkItem.target,\n title: _ctx.vm.subscriptionsLinkItem.title,\n url: _ctx.vm.subscriptionsLinkItem.url\n }, null, 8, [\"label\", \"target\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.ticketsLinkItem)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 1,\n class: \"p-button-success p-button-arrow m-1\",\n label: _ctx.vm.ticketsLinkItem.text,\n target: _ctx.vm.ticketsLinkItem.target,\n title: _ctx.vm.ticketsLinkItem.title,\n url: _ctx.vm.ticketsLinkItem.url\n }, null, 8, [\"label\", \"target\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n })\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_57\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.showForms)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_58, [\n _createVNode(_component_AskAQuestionPersonalForm, {\n modelValue: _ctx.v$,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = ($event: any) => ((_ctx.v$) = $event)),\n ref: \"personalForm\",\n submitted: _ctx.submitted,\n onPhoneObjectValidationChange: _ctx.onPhoneObjectValidChanged\n }, null, 8, [\"modelValue\", \"submitted\", \"onPhoneObjectValidationChange\"]),\n (_ctx.showSupportTicketForm)\n ? (_openBlock(), _createBlock(_component_AskAQuestionSupportTicketForm, {\n key: 0,\n modelValue: _ctx.v$,\n \"onUpdate:modelValue\": _cache[9] || (_cache[9] = ($event: any) => ((_ctx.v$) = $event)),\n submitted: _ctx.submitted\n }, null, 8, [\"modelValue\", \"submitted\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_AskAQuestionMessageForm, {\n modelValue: _ctx.v$,\n \"onUpdate:modelValue\": _cache[10] || (_cache[10] = ($event: any) => ((_ctx.v$) = $event)),\n \"is-support-question\": _ctx.hasSelectedSupportCategory,\n submitted: _ctx.submitted\n }, null, 8, [\"modelValue\", \"is-support-question\", \"submitted\"]),\n _createVNode(_component_vue_recaptcha, {\n size: \"normal\",\n theme: \"light\",\n onExpired: _cache[11] || (_cache[11] = ($event: any) => (_ctx.recaptchaValid = false)),\n onFail: _cache[12] || (_cache[12] = ($event: any) => (_ctx.recaptchaValid = false)),\n onVerify: _cache[13] || (_cache[13] = ($event: any) => (_ctx.recaptchaValid = !!$event))\n }),\n (!_ctx.recaptchaValid && _ctx.submitted)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_59, _toDisplayString(_ctx.$t(\"validations.recaptcha\")), 1))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n (_ctx.activeStep === 3)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_60, [\n _createElementVNode(\"p\", {\n class: \"lead\",\n innerHTML: _ctx.vm.requestSuccessMessage\n }, null, 8, _hoisted_61),\n (_ctx.vm.requestSuccessCtaLinkItem)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 0,\n class: \"\",\n label: _ctx.vm.requestSuccessCtaLinkItem.text,\n target: _ctx.vm.requestSuccessCtaLinkItem.target,\n title: _ctx.vm.requestSuccessCtaLinkItem.title,\n url: _ctx.vm.requestSuccessCtaLinkItem.url\n }, null, 8, [\"label\", \"target\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n footer: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_62, [\n (_ctx.activeStep === 2)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-secondary p-button-outlined px-3 mb-1 mr-1\",\n label: _ctx.$t(`common.previous`),\n onClick: _cache[14] || (_cache[14] = ($event: any) => (_ctx.activeStep = 1))\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.activeStep < 3)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 1,\n class: \"p-button-success p-button-arrow p-button-raised mb-1\",\n disabled: \r\n\t\t\t\t\t\t\t\t\t_ctx.activeStep > 1 ? !_ctx.showForms || (_ctx.submitted && !_ctx.formsValid) : !_ctx.canGoToNextStep\r\n\t\t\t\t\t\t\t\t,\n label: _ctx.activeStep > 1 ? _ctx.$t(`common.send`) : _ctx.$t(`common.nextStep`),\n onClick: _cache[15] || (_cache[15] = ($event: any) => (_ctx.goToNextStep()))\n }, null, 8, [\"disabled\", \"label\"]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 2\n }, [\n (_ctx.activeStep < 3)\n ? {\n name: \"header\",\n fn: _withCtx(() => [\n _createElementVNode(\"h6\", _hoisted_10, _toDisplayString(_ctx.$t(\"common.stepXOfY\", [_ctx.activeStep, 2])), 1),\n _createVNode(_component_ProgressBar, {\n class: \"mx-2\",\n \"show-value\": false,\n style: {\"height\":\"1rem\"},\n value: _ctx.activeStep * 50\n }, null, 8, [\"value\"])\n ]),\n key: \"0\"\n }\n : undefined\n ]), 1024)\n ])\n ])\n ]))\n}","<template>\r\n\t<div class=\"container mt-3 mb-4\">\r\n\t\t<div class=\"row justify-content-center\">\r\n\t\t\t<div class=\"col-lg-10\">\r\n\t\t\t\t<slot name=\"breadcrumbs\" />\r\n\t\t\t\t<div v-if=\"activeStep < 3\" class=\"d-flex align-items-end\">\r\n\t\t\t\t\t<div class=\"mb-2\">\r\n\t\t\t\t\t\t<h1 class=\"mb-1\">\r\n\t\t\t\t\t\t\t{{ vm.pageTitle }}\r\n\t\t\t\t\t\t</h1>\r\n\t\t\t\t\t\t<p v-if=\"vm.pageIntro\" class=\"lead text-preline\">{{ vm.pageIntro }}</p>\r\n\r\n\t\t\t\t\t\t<Message\r\n\t\t\t\t\t\t\tv-if=\"!layoutStore.isAuthenticated\"\r\n\t\t\t\t\t\t\tclass=\"p-1\"\r\n\t\t\t\t\t\t\t:closable=\"false\"\r\n\t\t\t\t\t\t\tseverity=\"custom\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<i18n-t keypath=\"support.message.loginForFasterAssistance\">\r\n\t\t\t\t\t\t\t\t<template #loginLink>\r\n\t\t\t\t\t\t\t\t\t<a :href=\"loginPageUrl\">{{ $t(\"common.login\") }}</a>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</i18n-t>\r\n\t\t\t\t\t\t</Message>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<img\r\n\t\t\t\t\t\tv-if=\"!isSmallScreen\"\r\n\t\t\t\t\t\tv-lazy=\"'/Static/images/support.png'\"\r\n\t\t\t\t\t\talt=\"\"\r\n\t\t\t\t\t\tclass=\"ml-auto\"\r\n\t\t\t\t\t\theight=\"144\"\r\n\t\t\t\t\t\twidth=\"150\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t\t<Card>\r\n\t\t\t\t\t<template v-if=\"activeStep < 3\" #header>\r\n\t\t\t\t\t\t<h6 class=\"text-center pt-1\">\r\n\t\t\t\t\t\t\t{{ $t(\"common.stepXOfY\", [activeStep, 2]) }}\r\n\t\t\t\t\t\t</h6>\r\n\t\t\t\t\t\t<ProgressBar\r\n\t\t\t\t\t\t\tclass=\"mx-2\"\r\n\t\t\t\t\t\t\t:show-value=\"false\"\r\n\t\t\t\t\t\t\tstyle=\"height: 1rem\"\r\n\t\t\t\t\t\t\t:value=\"activeStep * 50\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t<div v-if=\"activeStep === 1\">\r\n\t\t\t\t\t\t\t<SelectButton\r\n\t\t\t\t\t\t\t\tv-model=\"selectedMainCategory\"\r\n\t\t\t\t\t\t\t\tclass=\"row m-0\"\r\n\t\t\t\t\t\t\t\tdata-key=\"id\"\r\n\t\t\t\t\t\t\t\t:options=\"filteredMainCategories\"\r\n\t\t\t\t\t\t\t\t@change=\"updateQueryParams\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<template #option=\"slotProps\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"d-flex flex-column align-items-center p-3\">\r\n\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"d-flex flex-column align-items-center\"\r\n\t\t\t\t\t\t\t\t\t\t\t:class=\"{\r\n\t\t\t\t\t\t\t\t\t\t\t\t'p-disabled':\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t!layoutStore.isAuthenticated &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tisSupportCategory(slotProps.option.categoryType),\r\n\t\t\t\t\t\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mb-2\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t:image=\"slotProps.option.icon\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"large\"\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t<p class=\"font-weight-bold lead text-primary\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ slotProps.option.title }}\r\n\t\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t\t\t<p class=\"mb-0 lead\">{{ slotProps.option.subtitle }}</p>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t<p\r\n\t\t\t\t\t\t\t\t\t\t\tv-if=\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t!layoutStore.isAuthenticated &&\r\n\t\t\t\t\t\t\t\t\t\t\t\tisSupportCategory(slotProps.option.categoryType)\r\n\t\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"mt-2 mb-0 font-weight-normal\"\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t<i18n-t keypath=\"support.message.loginForSupport\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<template #loginLink>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<a :href=\"loginPageUrl\">{{ $t(\"common.login\") }}</a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t\t\t\t</i18n-t>\r\n\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</SelectButton>\r\n\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\tv-if=\"otherMainCategory\"\r\n\t\t\t\t\t\t\t\tclass=\"my-2 p-0 p-button-text p-button-secondary p-button-link\"\r\n\t\t\t\t\t\t\t\t:label=\"otherMainCategory?.title\"\r\n\t\t\t\t\t\t\t\t@click=\"selectedMainCategory = otherMainCategory\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<div v-if=\"selectedMainCategory\">\r\n\t\t\t\t\t\t\t\t<h3 class=\"my-2\">\r\n\t\t\t\t\t\t\t\t\t{{ selectedMainCategory?.subCategoriesTitle }}\r\n\t\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t\t<SelectButton\r\n\t\t\t\t\t\t\t\t\tv-show=\"availableSubCategories?.length > 0\"\r\n\t\t\t\t\t\t\t\t\tv-model=\"selectedSubCategory\"\r\n\t\t\t\t\t\t\t\t\tclass=\"row m-0\"\r\n\t\t\t\t\t\t\t\t\tdata-key=\"id\"\r\n\t\t\t\t\t\t\t\t\t:options=\"availableSubCategories\"\r\n\t\t\t\t\t\t\t\t\t@change=\"updateQueryParams\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<template #option=\"slotProps\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"col d-flex flex-column align-items-center p-3\">\r\n\t\t\t\t\t\t\t\t\t\t\t<Avatar class=\"mb-2\" :image=\"slotProps.option.icon\" shape=\"square\" />\r\n\t\t\t\t\t\t\t\t\t\t\t<p class=\"font-weight-bold lead text-primary\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ slotProps.option.title }}\r\n\t\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t</SelectButton>\r\n\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t<div v-if=\"selectedSubCategory\">\r\n\t\t\t\t\t\t\t\t<h3 class=\"my-2\">\r\n\t\t\t\t\t\t\t\t\t{{ selectedSubCategory?.subCategoriesTitle }}\r\n\t\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t\t<SelectButton\r\n\t\t\t\t\t\t\t\t\tv-if=\"availableSubSubCategories?.length > 0\"\r\n\t\t\t\t\t\t\t\t\tv-model=\"selectedSubSubCategory\"\r\n\t\t\t\t\t\t\t\t\tclass=\"row m-0\"\r\n\t\t\t\t\t\t\t\t\tdata-key=\"id\"\r\n\t\t\t\t\t\t\t\t\t:options=\"availableSubSubCategories\"\r\n\t\t\t\t\t\t\t\t\t@change=\"updateQueryParams\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<template #option=\"slotProps\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"col d-flex flex-column align-items-center p-3\">\r\n\t\t\t\t\t\t\t\t\t\t\t<Avatar class=\"mb-2\" :image=\"slotProps.option.icon\" shape=\"square\" />\r\n\t\t\t\t\t\t\t\t\t\t\t<p class=\"font-weight-bold lead text-primary\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ slotProps.option.title }}\r\n\t\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t</SelectButton>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t<div v-else-if=\"activeStep === 2\">\r\n\t\t\t\t\t\t\t<div class=\"d-flex align-items-center justify-content-between\">\r\n\t\t\t\t\t\t\t\t<p class=\"category-breadcrumbs\">\r\n\t\t\t\t\t\t\t\t\t<span v-if=\"selectedMainCategory\">{{ selectedMainCategory.title }}</span>\r\n\t\t\t\t\t\t\t\t\t<span v-if=\"selectedSubCategory\">{{ selectedSubCategory.title }}</span>\r\n\t\t\t\t\t\t\t\t\t<span v-if=\"selectedSubSubCategory\">{{ selectedSubSubCategory.title }}</span>\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t<div v-if=\"hasSelectedSupportCategory\">\r\n\t\t\t\t\t\t\t\t\t<span class=\"mb-0 text-bold mr-1\">{{ $t(\"support.amountOfTickets\") }}</span>\r\n\t\t\t\t\t\t\t\t\t<i v-badge.secondary=\"vm.availableAmountOfSupportTickets\" class=\"mr-2\">\r\n\t\t\t\t\t\t\t\t\t\t<svg fill=\"#000\" height=\"30\" width=\"34\">\r\n\t\t\t\t\t\t\t\t\t\t\t<use xlink:href=\"#icon-support-avatar\" />\r\n\t\t\t\t\t\t\t\t\t\t</svg>\r\n\t\t\t\t\t\t\t\t\t</i>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<hr />\r\n\t\t\t\t\t\t\t<div v-if=\"hasSelectedSupportCategory\" class=\"mb-2\">\r\n\t\t\t\t\t\t\t\t<h3 v-if=\"hasSupportProducts && hasTickets\">\r\n\t\t\t\t\t\t\t\t\t{{ vm.ticketsAndSubscriptionsTitle || vm.ticketsAndSubscriptionsSubTitle }}\r\n\t\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t\t<h3 v-else-if=\"hasSupportProducts && !hasTickets\">\r\n\t\t\t\t\t\t\t\t\t{{ vm.noTicketsButSubscriptionsTitle || vm.noTicketsButSubscriptionsSubTitle }}\r\n\t\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t\t<h3 v-else-if=\"!hasSupportProducts && hasTickets\">\r\n\t\t\t\t\t\t\t\t\t{{ vm.noSubscriptionsButTicketsTitle || vm.noSubscriptionsButTicketsSubTitle }}\r\n\t\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t\t<p v-else-if=\"!hasSupportProducts && !hasTickets\" class=\"\">\r\n\t\t\t\t\t\t\t\t\t{{ vm.noSubscriptionsAndNoTicketsSubtitle }}\r\n\t\t\t\t\t\t\t\t</p>\r\n\r\n\t\t\t\t\t\t\t\t<div v-if=\"hasSupportProducts\">\r\n\t\t\t\t\t\t\t\t\t<SelectButton\r\n\t\t\t\t\t\t\t\t\t\tv-model=\"selectedSupportProduct\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"p-select-button-grid\"\r\n\t\t\t\t\t\t\t\t\t\tdata-key=\"sku\"\r\n\t\t\t\t\t\t\t\t\t\t:options=\"vm.supportContractSupportAssets\"\r\n\t\t\t\t\t\t\t\t\t\t@change=\"onSupportProductSelected\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<template #option=\"slotProps\">\r\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"d-flex flex-column align-items-center p-1 w-100\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mb-1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t:image=\"slotProps.option.icon\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"font-weight-bold\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ slotProps.option.title }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t\t</SelectButton>\r\n\t\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t\t<div v-if=\"hasTickets\">\r\n\t\t\t\t\t\t\t\t\t<Divider v-if=\"hasSupportProducts\">\r\n\t\t\t\t\t\t\t\t\t\t{{ $t(\"common.or\") }}\r\n\t\t\t\t\t\t\t\t\t</Divider>\r\n\r\n\t\t\t\t\t\t\t\t\t<h3>\r\n\t\t\t\t\t\t\t\t\t\t{{ vm.ticketsAndSubscriptionsOtherSoftwareTitle }}\r\n\t\t\t\t\t\t\t\t\t</h3>\r\n\r\n\t\t\t\t\t\t\t\t\t<div v-if=\"!hasSelectedSupportTicketProduct\" class=\"p-inputgroup\">\r\n\t\t\t\t\t\t\t\t\t\t<AutoComplete\r\n\t\t\t\t\t\t\t\t\t\t\tv-model=\"selectedSupportTicketProduct\"\r\n\t\t\t\t\t\t\t\t\t\t\tforce-selection\r\n\t\t\t\t\t\t\t\t\t\t\t:min-length=\"2\"\r\n\t\t\t\t\t\t\t\t\t\t\t:multiple=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\toption-label=\"title\"\r\n\t\t\t\t\t\t\t\t\t\t\t:placeholder=\"$t('myCadac.supportOverview.autocomplete.placeholder')\"\r\n\t\t\t\t\t\t\t\t\t\t\t:suggestions=\"searchProductResults\"\r\n\t\t\t\t\t\t\t\t\t\t\t@complete=\"onSearchSoftware($event)\"\r\n\t\t\t\t\t\t\t\t\t\t\t@item-select=\"onSupportTicketProductSelected\"\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t<template #item=\"slotProps\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"d-flex justify-content-between align-items-center\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-if=\"slotProps.item.icon\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\talt=\"product-icon\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mr-1 bg-transparent\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:image=\"slotProps.item.icon\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-else\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\talt=\"product-icon\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mr-1 bg-transparent\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<svg height=\"30\" width=\"30\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<use xlink:href=\"#icon-cadac\"></use>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</svg>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Avatar>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"mb-0 text-bold\">{{ slotProps.item.title }}</p>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t\t\t</AutoComplete>\r\n\t\t\t\t\t\t\t\t\t\t<Button class=\"p-button-primary\" icon=\"pi pi-search\" />\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<div v-else class=\"d-flex align-items-center\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"d-flex flex-column align-items-center p-2 border\">\r\n\t\t\t\t\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mb-1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t:image=\"selectedSupportTicketProduct.icon\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t<p class=\"font-weight-bold\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ selectedSupportTicketProduct.title }}\r\n\t\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"p-button-danger p-button-text\"\r\n\t\t\t\t\t\t\t\t\t\t\t\ticon=\"pi pi-times\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t:title=\"$t('common.remove')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t@click=\"selectedSupportTicketProduct = null\"\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<Message\r\n\t\t\t\t\t\t\t\t\t\tv-if=\"hasSelectedSupportTicketProduct\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"\"\r\n\t\t\t\t\t\t\t\t\t\t:closable=\"false\"\r\n\t\t\t\t\t\t\t\t\t\tseverity=\"warn\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{{ $t(\"support.message.ticketProductWarning\") }}\r\n\t\t\t\t\t\t\t\t\t</Message>\r\n\t\t\t\t\t\t\t\t\t<Message v-if=\"hasNoSearchResults\" :closable=\"false\" severity=\"warn\">\r\n\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t$t(\"myCadac.supportOverview.autocomplete.msgNoResults\", {\r\n\t\t\t\t\t\t\t\t\t\t\t\tquery: searchQuery,\r\n\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t</Message>\r\n\t\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t\t<div v-else-if=\"!hasSupportProducts && !hasTickets\" class=\"mb-3\">\r\n\t\t\t\t\t\t\t\t\t<Message class=\"message-with-button my-3\" :closable=\"false\" severity=\"custom\">\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t\t\t\t\t\t\t<i class=\"pi pi-exclamation-circle text-primary message-icon mr-2\" />\r\n\t\t\t\t\t\t\t\t\t\t\t<span>{{ vm.ticketsCtaTitle }}</span>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t<LinkButton\r\n\t\t\t\t\t\t\t\t\t\t\tv-if=\"vm.subscriptionsLinkItem\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"p-button-success p-button-arrow m-1\"\r\n\t\t\t\t\t\t\t\t\t\t\t:label=\"vm.subscriptionsLinkItem.text\"\r\n\t\t\t\t\t\t\t\t\t\t\t:target=\"vm.subscriptionsLinkItem.target\"\r\n\t\t\t\t\t\t\t\t\t\t\t:title=\"vm.subscriptionsLinkItem.title\"\r\n\t\t\t\t\t\t\t\t\t\t\t:url=\"vm.subscriptionsLinkItem.url\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t<LinkButton\r\n\t\t\t\t\t\t\t\t\t\t\tv-if=\"vm.ticketsLinkItem\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"p-button-success p-button-arrow m-1\"\r\n\t\t\t\t\t\t\t\t\t\t\t:label=\"vm.ticketsLinkItem.text\"\r\n\t\t\t\t\t\t\t\t\t\t\t:target=\"vm.ticketsLinkItem.target\"\r\n\t\t\t\t\t\t\t\t\t\t\t:title=\"vm.ticketsLinkItem.title\"\r\n\t\t\t\t\t\t\t\t\t\t\t:url=\"vm.ticketsLinkItem.url\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t</Message>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<hr />\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div v-if=\"showForms\">\r\n\t\t\t\t\t\t\t\t<AskAQuestionPersonalForm\r\n\t\t\t\t\t\t\t\t\tv-model=\"v$\"\r\n\t\t\t\t\t\t\t\t\tref=\"personalForm\"\r\n\t\t\t\t\t\t\t\t\t:submitted=\"submitted\"\r\n\t\t\t\t\t\t\t\t\t@phoneObjectValidationChange=\"onPhoneObjectValidChanged\"\r\n\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t<AskAQuestionSupportTicketForm\r\n\t\t\t\t\t\t\t\t\tv-if=\"showSupportTicketForm\"\r\n\t\t\t\t\t\t\t\t\tv-model=\"v$\"\r\n\t\t\t\t\t\t\t\t\t:submitted=\"submitted\"\r\n\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t<AskAQuestionMessageForm\r\n\t\t\t\t\t\t\t\t\tv-model=\"v$\"\r\n\t\t\t\t\t\t\t\t\t:is-support-question=\"hasSelectedSupportCategory\"\r\n\t\t\t\t\t\t\t\t\t:submitted=\"submitted\"\r\n\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t<vue-recaptcha\r\n\t\t\t\t\t\t\t\t\tsize=\"normal\"\r\n\t\t\t\t\t\t\t\t\ttheme=\"light\"\r\n\t\t\t\t\t\t\t\t\t@expired=\"recaptchaValid = false\"\r\n\t\t\t\t\t\t\t\t\t@fail=\"recaptchaValid = false\"\r\n\t\t\t\t\t\t\t\t\t@verify=\"recaptchaValid = !!$event\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t<small v-if=\"!recaptchaValid && submitted\" id=\"`recaptcha-help`\" class=\"p-error\">\r\n\t\t\t\t\t\t\t\t\t{{ $t(\"validations.recaptcha\") }}\r\n\t\t\t\t\t\t\t\t</small>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div v-if=\"activeStep === 3\" class=\"p-2\">\r\n\t\t\t\t\t\t\t<p class=\"lead\" v-html=\"vm.requestSuccessMessage\" />\r\n\t\t\t\t\t\t\t<LinkButton\r\n\t\t\t\t\t\t\t\tv-if=\"vm.requestSuccessCtaLinkItem\"\r\n\t\t\t\t\t\t\t\tclass=\"\"\r\n\t\t\t\t\t\t\t\t:label=\"vm.requestSuccessCtaLinkItem.text\"\r\n\t\t\t\t\t\t\t\t:target=\"vm.requestSuccessCtaLinkItem.target\"\r\n\t\t\t\t\t\t\t\t:title=\"vm.requestSuccessCtaLinkItem.title\"\r\n\t\t\t\t\t\t\t\t:url=\"vm.requestSuccessCtaLinkItem.url\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template #footer>\r\n\t\t\t\t\t\t<div class=\"d-flex justify-content-end\">\r\n\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\tv-if=\"activeStep === 2\"\r\n\t\t\t\t\t\t\t\tclass=\"p-button-secondary p-button-outlined px-3 mb-1 mr-1\"\r\n\t\t\t\t\t\t\t\t:label=\"$t(`common.previous`)\"\r\n\t\t\t\t\t\t\t\t@click=\"activeStep = 1\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\tv-if=\"activeStep < 3\"\r\n\t\t\t\t\t\t\t\tclass=\"p-button-success p-button-arrow p-button-raised mb-1\"\r\n\t\t\t\t\t\t\t\t:disabled=\"\r\n\t\t\t\t\t\t\t\t\tactiveStep > 1 ? !showForms || (submitted && !formsValid) : !canGoToNextStep\r\n\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t:label=\"activeStep > 1 ? $t(`common.send`) : $t(`common.nextStep`)\"\r\n\t\t\t\t\t\t\t\t@click=\"goToNextStep()\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Card>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport AskAQuestionMessageForm from \"@/components/support/askAQuestionMessageForm.vue\";\r\nimport AskAQuestionPersonalForm from \"@/components/support/askAQuestionPersonalForm.vue\";\r\nimport AskAQuestionSupportTicketForm from \"@/components/support/askAQuestionSupportTicketForm.vue\";\r\nimport AutoComplete from \"primevue/autocomplete\";\r\nimport BackButton from \"@/components/common/backButton.vue\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Divider from \"primevue/divider\";\r\nimport ProgressBar from \"primevue/progressbar\";\r\nimport SelectButton from \"primevue/selectbutton\";\r\nimport useVuelidate, { ValidatorFn } from \"@vuelidate/core\";\r\nimport { AskAQuestionCategoryType } from \"@/types/enum/askAQuestionCategoryType\";\r\nimport { AskAQuestionMessageFormModel } from \"@/types/models/form/askAQuestionTicketMessageForm\";\r\nimport { AskAQuestionPersonalFormModel } from \"@/types/models/form/askAQuestionPersonalForm\";\r\nimport { AskAQuestionSubCategoryType } from \"@/types/enum/askAQuestionSubCategoryType\";\r\nimport { AskAQuestionSupportTicketFormModel } from \"@/types/models/form/askAQuestionSupportTicketForm\";\r\nimport { Component, Prop, Ref, Watch } from \"vue-facing-decorator\";\r\nimport { ISupportAskQuestion } from \"@/types/viewModels/commerce/supportAskQuestionViewModel\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { SubmitSupportTicketRequest } from \"@/types/models/support/submitSupportTicketRequest\";\r\nimport { SupportVariationViewModel } from \"@/types/models/support/supportVariationViewModel\";\r\nimport { TicketFormHeadCategory } from \"@/types/models/support/ticketFormHeadCategory\";\r\nimport { TicketFormSubCategory } from \"@/types/models/support/ticketFormSubCategory\";\r\nimport { TicketFormSubSubCategory } from \"@/types/models/support/ticketFormSubSubCategory\";\r\nimport { ValidationHelper } from \"@/types/helpers/validationHelper\";\r\nimport { email, maxLength, minLength, required, withI18nMessage } from \"@/types/utils/i18n-validators\";\r\nimport { merge } from \"lodash\";\r\nimport { ScrollHelper } from \"../../types/helpers/scrollHelper\";\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tAskAQuestionMessageForm,\r\n\t\tAskAQuestionPersonalForm,\r\n\t\tAskAQuestionSupportTicketForm,\r\n\t\tAutoComplete,\r\n\t\tBackButton,\r\n\t\tDivider,\r\n\t\tProgressBar,\r\n\t\tSelectButton,\r\n\t},\r\n\toptions: {\r\n\t\tvalidations: {\r\n\t\t\taskAQuestionSupportTicketForm: {\r\n\t\t\t\timpact: { required },\r\n\t\t\t\turgency: { required },\r\n\t\t\t},\r\n\t\t\taskAQuestionMessageForm: {\r\n\t\t\t\tsubject: { required, maxLength: maxLength(255) },\r\n\t\t\t\tmessage: { required, minLength: minLength(120), maxLength: maxLength(15000) },\r\n\t\t\t\tattachments: {},\r\n\t\t\t},\r\n\t\t\taskAQuestionPersonalForm: {\r\n\t\t\t\tfirstName: { required },\r\n\t\t\t\tlastName: { required },\r\n\t\t\t\temail: { required, email },\r\n\t\t\t\tcompany: { required },\r\n\t\t\t\tphoneNumber: {\r\n\t\t\t\t\trequired,\r\n\t\t\t\t\tvalidPhone: withI18nMessage(ValidationHelper.validatePhoneObjectValid as ValidatorFn),\r\n\t\t\t\t},\r\n\t\t\t\tcadacAccountId: {},\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n})\r\nexport default class SupportAskQuestion extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<ISupportAskQuestion>, required: true, default: {} })\r\n\tvm!: ISupportAskQuestion;\r\n\t@Ref readonly personalForm!: AskAQuestionPersonalForm;\r\n\r\n\tselectedMainCategory!: TicketFormHeadCategory | null;\r\n\tselectedSubCategory!: TicketFormSubCategory | null;\r\n\tselectedSubSubCategory!: TicketFormSubSubCategory | null;\r\n\tselectedSupportProduct!: SupportVariationViewModel | null;\r\n\tselectedSupportTicketProduct!: SupportVariationViewModel | null;\r\n\r\n\tavailableSubCategories: TicketFormSubCategory[] = [];\r\n\tavailableSubSubCategories: TicketFormSubSubCategory[] = [];\r\n\tsearchProductResults: SupportVariationViewModel[] = [];\r\n\r\n\taskAQuestionMessageForm!: AskAQuestionMessageFormModel;\r\n\taskAQuestionPersonalForm!: AskAQuestionPersonalFormModel;\r\n\taskAQuestionSupportTicketForm!: AskAQuestionSupportTicketFormModel;\r\n\r\n\tactiveStep = 1;\r\n\thasNoSearchResults = false;\r\n\tphoneObjectValid = false;\r\n\tsearchQuery = \"\";\r\n\tsubmitted = false;\r\n\trecaptchaValid = false;\r\n\r\n\tv$ = useVuelidate();\r\n\r\n\t@Watch(\"selectedMainCategory\") onMainCategoryChanged(\r\n\t\tval: TicketFormHeadCategory,\r\n\t\tprev: TicketFormHeadCategory\r\n\t): void {\r\n\t\tif (val && this.isSupportCategory(val.categoryType) && !this.layoutStore.isAuthenticated) {\r\n\t\t\tthis.selectedMainCategory = prev;\r\n\t\t} else {\r\n\t\t\tthis.selectedSubCategory = null;\r\n\t\t\tthis.selectedSubSubCategory = null;\r\n\t\t}\r\n\t\tif (this.selectedMainCategory) {\r\n\t\t\tif (this.selectedMainCategory.categoryType === AskAQuestionCategoryType.Other) {\r\n\t\t\t\tthis.updateQueryParams();\r\n\t\t\t\tthis.goToNextStep();\r\n\t\t\t}\r\n\t\t\tthis.availableSubCategories = this.selectedMainCategory.subCategories;\r\n\t\t}\r\n\t}\r\n\r\n\t@Watch(\"selectedSubCategory\") onSelectedSubCategoryChanged(): void {\r\n\t\tthis.selectedSubSubCategory = null;\r\n\t\tif (this.selectedSubCategory) {\r\n\t\t\tthis.availableSubSubCategories = this.selectedSubCategory.subSubCategories;\r\n\t\t}\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.initForm();\r\n\t\tthis.initStateFromQuery();\r\n\t}\r\n\r\n\tget hasSelectedSupportCategory(): boolean {\r\n\t\treturn this.isSupportCategory(this.selectedMainCategory?.categoryType as AskAQuestionCategoryType);\r\n\t}\r\n\r\n\tget hasSelectedIncidentCategory(): boolean {\r\n\t\treturn this.selectedSubCategory?.subCategoryType === AskAQuestionSubCategoryType.Incident;\r\n\t}\r\n\r\n\tget hasSelectedSupportProduct(): boolean {\r\n\t\treturn !!this.selectedSupportProduct?.id;\r\n\t}\r\n\r\n\tget hasSelectedSupportTicketProduct(): boolean {\r\n\t\treturn !!this.selectedSupportTicketProduct?.id;\r\n\t}\r\n\r\n\tget isSupportCategory(): (categoryType: AskAQuestionCategoryType) => boolean {\r\n\t\treturn (categoryType) => categoryType === AskAQuestionCategoryType.Support;\r\n\t}\r\n\r\n\tget hasTickets(): boolean {\r\n\t\treturn this.vm.availableAmountOfSupportTickets > 0;\r\n\t}\r\n\r\n\tget showForms(): boolean {\r\n\t\treturn (\r\n\t\t\t!this.hasSelectedSupportCategory ||\r\n\t\t\t(this.hasSupportProducts && !!this.selectedSupportProduct) ||\r\n\t\t\t(this.hasTickets && !!this.selectedSupportTicketProduct)\r\n\t\t);\r\n\t}\r\n\r\n\tget showSupportTicketForm(): boolean {\r\n\t\treturn this.hasSelectedSupportCategory && this.hasSelectedIncidentCategory;\r\n\t}\r\n\r\n\tget hasSupportProducts(): boolean {\r\n\t\treturn this.vm.supportContractSupportAssets?.length > 0;\r\n\t}\r\n\r\n\tget filteredMainCategories(): TicketFormHeadCategory[] {\r\n\t\treturn this.vm.ticketFormCategoryTree.filter((x) => x.categoryType !== AskAQuestionCategoryType.Other);\r\n\t}\r\n\r\n\tget otherMainCategory(): TicketFormHeadCategory {\r\n\t\treturn this.vm.ticketFormCategoryTree.find(\r\n\t\t\t(x) => x.categoryType === AskAQuestionCategoryType.Other\r\n\t\t) as TicketFormHeadCategory;\r\n\t}\r\n\r\n\tget subCategoryTitle(): string | undefined {\r\n\t\treturn this.selectedMainCategory?.subCategoriesTitle;\r\n\t}\r\n\r\n\tget canGoToNextStep(): boolean {\r\n\t\treturn (\r\n\t\t\t(this.selectedMainCategory && this.selectedMainCategory.subCategories?.length < 1) ||\r\n\t\t\t(this.selectedSubCategory && this.selectedSubCategory.subSubCategories?.length < 1) ||\r\n\t\t\t(!!this.selectedSubCategory && !!this.selectedSubSubCategory)\r\n\t\t);\r\n\t}\r\n\r\n\tget formsValid(): boolean {\r\n\t\treturn (\r\n\t\t\tthis.recaptchaValid &&\r\n\t\t\t((!this.v$[\"askAQuestionPersonalForm\"].$invalid &&\r\n\t\t\t\t!this.v$[\"askAQuestionSupportTicketForm\"].$invalid &&\r\n\t\t\t\t!this.v$[\"askAQuestionMessageForm\"].$invalid &&\r\n\t\t\t\tthis.showSupportTicketForm) ||\r\n\t\t\t\t(!this.v$[\"askAQuestionMessageForm\"].$invalid && !this.showSupportTicketForm))\r\n\t\t);\r\n\t}\r\n\r\n\tget submitSupportTicketRequestModel(): SubmitSupportTicketRequest | null {\r\n\t\tif (!this.selectedMainCategory) return null;\r\n\t\tconst model: SubmitSupportTicketRequest = merge(\r\n\t\t\tthis.v$[\"askAQuestionPersonalForm\"]?.$model,\r\n\t\t\tthis.v$[\"askAQuestionSupportTicketForm\"]?.$model,\r\n\t\t\tthis.v$[\"askAQuestionMessageForm\"]?.$model\r\n\t\t);\r\n\t\tif (this.selectedSupportProduct) {\r\n\t\t\tmodel.selectedSupportId = this.selectedSupportProduct?.id;\r\n\t\t\tmodel.selectedSupportName = this.selectedSupportProduct?.title;\r\n\t\t} else if (this.selectedSupportTicketProduct) {\r\n\t\t\tmodel.selectedSupportId = this.selectedSupportTicketProduct?.id;\r\n\t\t\tmodel.selectedSupportName = this.selectedSupportTicketProduct?.title;\r\n\t\t}\r\n\t\tmodel.mainCategoryId = this.selectedMainCategory?.freshDeskId;\r\n\t\tmodel.subCategoryId = this.selectedSubCategory?.freshDeskId;\r\n\t\tmodel.itemId = this.selectedSubSubCategory?.freshDeskId;\r\n\t\treturn model;\r\n\t}\r\n\r\n\tgoToNextStep(): void {\r\n\t\tif (this.activeStep === 2) {\r\n\t\t\tthis.submitQuestion();\r\n\t\t} else {\r\n\t\t\tthis.activeStep = 2;\r\n\t\t\tScrollHelper.scrollTo('.p-card-header');\r\n\t\t}\r\n\t}\r\n\r\n\tonSupportProductSelected(): void {\r\n\t\tif (this.selectedSupportProduct != null) this.selectedSupportTicketProduct = null;\r\n\t\tthis.updateQueryParams();\r\n\t}\r\n\r\n\tonSupportTicketProductSelected(): void {\r\n\t\tif (this.selectedSupportTicketProduct != null) this.selectedSupportProduct = null;\r\n\t\tthis.updateQueryParams();\r\n\t}\r\n\r\n\tonPhoneObjectValidChanged(val: boolean): void {\r\n\t\tthis.phoneObjectValid = val;\r\n\t}\r\n\r\n\tonSearchSoftware({ query }: { query: string }): void {\r\n\t\tthis.searchQuery = query;\r\n\t\tconst existingIds = this.vm.supportContractSupportAssets.map((x) => x.id).join(\"|\");\r\n\t\tthis.axios\r\n\t\t\t.get(`/api/support/searchvariations`, { params: { query, existingIds } })\r\n\t\t\t.then(({ data }) => {\r\n\t\t\t\tthis.searchProductResults = data.results;\r\n\t\t\t\tthis.hasNoSearchResults = data.results.length <= 0;\r\n\t\t\t})\r\n\t\t\t.catch((err) => Log.error(err));\r\n\t}\r\n\r\n\tasync submitQuestion() {\r\n\t\tthis.submitted = true;\r\n\t\tif (!this.formsValid) return;\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tconst formData = new FormData();\r\n\t\tconst model = this.submitSupportTicketRequestModel;\r\n\t\tmodel?.attachments?.forEach((x) => formData.append(\"file\", x));\r\n\t\t// Delete attachments from the model because files are not serializable.\r\n\t\tdelete model?.attachments;\r\n\t\tformData.append(\"form\", JSON.stringify(model));\r\n\r\n\t\tthis.axios\r\n\t\t\t.post(`/api/${this.layoutStore.vm.localizationPrefix}/freshdesk/submit-ticket`, formData, {\r\n\t\t\t\trequestId: \"submit-ticket\",\r\n\t\t\t\theaders: { \"Content-Type\": \"multipart/form-data\" },\r\n\t\t\t})\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.activeStep = 3;\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"success\",\r\n\t\t\t\t\tdetail: this.$t(\"support.toast.submitQuestionSuccess\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tdetail: this.$t(\"support.toast.submitQuestionError\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t\t\t});\r\n\t}\r\n\r\n\tprotected updateQueryParams(): void {\r\n\t\tconst queryParams = new URLSearchParams(\"\");\r\n\t\tif (this.selectedMainCategory?.id) queryParams.set(\"cat\", this.selectedMainCategory.id.toString());\r\n\t\tif (this.selectedSubCategory?.id) queryParams.set(\"subcat\", this.selectedSubCategory.id.toString());\r\n\t\tif (this.selectedSubSubCategory?.id)\r\n\t\t\tqueryParams.set(\"subsubcat\", this.selectedSubSubCategory.id.toString());\r\n\t\tif (this.selectedSupportProduct) queryParams.set(\"sku\", this.selectedSupportProduct.id.toString());\r\n\r\n\t\tconst url = new URL(window.location.href);\r\n\t\turl.search = queryParams.toString();\r\n\r\n\t\tif (window.history.replaceState) {\r\n\t\t\twindow.history.replaceState({}, document.title, url.toString());\r\n\t\t}\r\n\t}\r\n\r\n\tprivate initStateFromQuery(): void {\r\n\t\tconst params = new URLSearchParams(window.location.search);\r\n\r\n\t\tsetTimeout(() => {\r\n\t\t\tif (params.has(\"cat\")) {\r\n\t\t\t\tthis.selectedMainCategory = this.vm.ticketFormCategoryTree?.find(\r\n\t\t\t\t\t(x) => x.id === parseInt(params.get(\"cat\") as string)\r\n\t\t\t\t) as TicketFormHeadCategory;\r\n\t\t\t}\r\n\t\t}, 10);\r\n\t\tsetTimeout(() => {\r\n\t\t\tif (params.has(\"subcat\")) {\r\n\t\t\t\tthis.selectedSubCategory = this.availableSubCategories?.find(\r\n\t\t\t\t\t(x) => x.id === parseInt(params.get(\"subcat\") as string)\r\n\t\t\t\t) as TicketFormSubCategory;\r\n\t\t\t}\r\n\t\t}, 10);\r\n\t\tsetTimeout(() => {\r\n\t\t\tif (params.has(\"subsubcat\")) {\r\n\t\t\t\tthis.selectedSubSubCategory = this.availableSubSubCategories?.find(\r\n\t\t\t\t\t(x) => x.id === parseInt(params.get(\"subsubcat\") as string)\r\n\t\t\t\t) as TicketFormSubSubCategory;\r\n\t\t\t}\r\n\t\t}, 10);\r\n\t\tsetTimeout(() => {\r\n\t\t\tif (params.has(\"sku\")) {\r\n\t\t\t\tthis.selectedSupportProduct = this.vm.supportContractSupportAssets?.find(\r\n\t\t\t\t\t(x) => x.sku === params.get(\"sku\")\r\n\t\t\t\t) as SupportVariationViewModel;\r\n\t\t\t}\r\n\t\t}, 10);\r\n\t}\r\n\r\n\tprivate initForm(): void {\r\n\t\tthis.askAQuestionSupportTicketForm = {\r\n\t\t\turgency: undefined as any,\r\n\t\t\timpact: undefined as any,\r\n\t\t};\r\n\t\tthis.askAQuestionMessageForm = {\r\n\t\t\tattachments: [],\r\n\t\t\tmessage: \"\",\r\n\t\t\tsubject: \"\",\r\n\t\t};\r\n\t\tthis.askAQuestionPersonalForm = {\r\n\t\t\tcompany: this.userProfile?.company?.companyName || \"\",\r\n\t\t\temail: this.userProfile?.email || \"\",\r\n\t\t\tfirstName: this.userProfile?.firstName || \"\",\r\n\t\t\tlastName: this.userProfile?.lastName || \"\",\r\n\t\t\tphoneNumber: this.userProfile?.phoneNumber || \"\",\r\n\t\t\tcadacAccountId: this.userProfile?.cadacAccountId || \"\",\r\n\t\t};\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.category-breadcrumbs {\r\n\tfont-weight: 500;\r\n\tfont-size: 1.1rem;\r\n\r\n\tspan {\r\n\t\t&:not(:first-of-type):before {\r\n\t\t\tcontent: \">\";\r\n\t\t\tmargin: 0 0.25rem;\r\n\t\t\tcolor: var(--primary-color);\r\n\t\t\tfont-weight: 500;\r\n\t\t}\r\n\t}\r\n}\r\n</style>\r\n","import { toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, withCtx as _withCtx, renderList as _renderList, Fragment as _Fragment, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { key: 0 }\nconst _hoisted_2 = { class: \"form-row\" }\nconst _hoisted_3 = { class: \"form-group col-lg-6\" }\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_6 = {\n key: 1,\n class: \"p-error\"\n}\nconst _hoisted_7 = { class: \"form-row\" }\nconst _hoisted_8 = { class: \"form-group col col-lg-9\" }\nconst _hoisted_9 = { key: 0 }\nconst _hoisted_10 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_11 = {\n key: 1,\n class: \"p-error\"\n}\nconst _hoisted_12 = {\n key: 2,\n class: \"p-error\"\n}\nconst _hoisted_13 = {\n key: 0,\n class: \"form-row\"\n}\nconst _hoisted_14 = { class: \"form-group col col-lg-9\" }\nconst _hoisted_15 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"popover-icon pi pi-question\" }, null, -1)\nconst _hoisted_16 = [\"innerHTML\"]\nconst _hoisted_17 = { key: 0 }\nconst _hoisted_18 = { class: \"d-flex flex-wrap p-2 p-lg-0\" }\nconst _hoisted_19 = [\"alt\", \"src\"]\nconst _hoisted_20 = { class: \"text-bold ml-2 flex-1\" }\nconst _hoisted_21 = { class: \"ml-2\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_InputText = _resolveComponent(\"InputText\")!\n const _component_Textarea = _resolveComponent(\"Textarea\")!\n const _component_PopoverIcon = _resolveComponent(\"PopoverIcon\")!\n const _component_FileUpload = _resolveComponent(\"FileUpload\")!\n const _component_font_awesome_icon = _resolveComponent(\"font-awesome-icon\")!\n const _component_Button = _resolveComponent(\"Button\")!\n\n return (_ctx.v$['askAQuestionMessageForm'])\n ? (_openBlock(), _createElementBlock(\"form\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['askAQuestionMessageForm'].subject?.required })\n }, _toDisplayString(_ctx.$t(\"common.forms.lblSubject\")), 3),\n _createVNode(_component_InputText, {\n modelValue: _ctx.v$['askAQuestionMessageForm'].subject.$model,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.v$['askAQuestionMessageForm'].subject.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['askAQuestionMessageForm'].subject) }),\n type: \"text\"\n }, null, 8, [\"modelValue\", \"class\"]),\n (_ctx.shouldShowError(_ctx.v$['askAQuestionMessageForm'].subject))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, [\n (!_ctx.v$['askAQuestionMessageForm'].subject.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_5, _toDisplayString(_ctx.v$[\"askAQuestionMessageForm\"].subject?.required?.$message), 1))\n : (_ctx.v$['askAQuestionMessageForm'].subject.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_6, _toDisplayString(_ctx.v$[\"askAQuestionMessageForm\"].subject.maxLength?.$message), 1))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['askAQuestionMessageForm'].message?.required })\n }, _toDisplayString(_ctx.$t(\"common.forms.lblDescription\")), 3),\n _createVNode(_component_Textarea, {\n modelValue: _ctx.v$['askAQuestionMessageForm'].message.$model,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.v$['askAQuestionMessageForm'].message.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['askAQuestionMessageForm'].message) }),\n rows: \"5\",\n type: \"text\"\n }, null, 8, [\"modelValue\", \"class\"]),\n (_ctx.shouldShowError(_ctx.v$['askAQuestionMessageForm'].message))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_9, [\n (!_ctx.v$['askAQuestionMessageForm'].message.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_10, _toDisplayString(_ctx.v$[\"askAQuestionMessageForm\"].message?.required?.$message), 1))\n : (_ctx.v$['askAQuestionMessageForm'].message.minLength.$invalid)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_11, _toDisplayString(_ctx.v$[\"askAQuestionMessageForm\"].message.minLength?.$message), 1))\n : (_ctx.v$['askAQuestionMessageForm'].message.maxLength.$invalid)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_12, _toDisplayString(_ctx.v$[\"askAQuestionMessageForm\"].message.maxLength?.$message), 1))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n (_ctx.isSupportQuestion)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t(\"common.forms.lblAttachment\")), 1),\n _createVNode(_component_PopoverIcon, { class: \"d-inline-flex ml-0\" }, {\n content: _withCtx(() => [\n _createElementVNode(\"div\", {\n innerHTML: _ctx.$t('support.attachmentTooltip')\n }, null, 8, _hoisted_16)\n ]),\n default: _withCtx(() => [\n _hoisted_15\n ]),\n _: 1\n }),\n _createVNode(_component_FileUpload, {\n ref: \"fileUploader\",\n auto: true,\n \"choose-label\": _ctx.$t('common.chooseFile'),\n \"custom-upload\": true,\n \"invalid-file-size-message\": _ctx.$t('common.fileMayNotBeLargerThan', { fileSize: '20MB' }),\n \"max-file-size\": 20971520,\n mode: \"basic\",\n name: \"attachment\",\n onUploader: _ctx.onFileSelected\n }, null, 8, [\"choose-label\", \"invalid-file-size-message\", \"onUploader\"]),\n (_ctx.v$['askAQuestionMessageForm'].attachments.$model.length > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createElementVNode(\"div\", _hoisted_18, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.v$['askAQuestionMessageForm'].attachments.$model, (file, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: file.name + file.type + file.size,\n class: \"my-2 p-1 d-flex shadow-sm align-items-center w-100\",\n style: {\"border\":\"1px solid #dddd\"}\n }, [\n _createElementVNode(\"div\", null, [\n (file.objectURL)\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n alt: file.name,\n class: \"\",\n height: \"50\",\n role: \"presentation\",\n src: file.objectURL,\n width: \"100\"\n }, null, 8, _hoisted_19))\n : (_openBlock(), _createBlock(_component_font_awesome_icon, {\n key: 1,\n icon: ['far', 'file'],\n size: \"2x\"\n }))\n ]),\n _createElementVNode(\"span\", _hoisted_20, _toDisplayString(file.name), 1),\n _createElementVNode(\"div\", _hoisted_21, _toDisplayString(_ctx.formatSize(file.size)), 1),\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-danger p-button-rounded ml-2\",\n icon: \"pi pi-trash\",\n label: _ctx.isSmallScreen ? _ctx.$t('common.remove') : '',\n title: _ctx.$t('common.remove'),\n onClick: ($event: any) => (_ctx.onFileRemoved(file, index))\n }, null, 8, [\"label\", \"title\", \"onClick\"])\n ]))\n }), 128))\n ]),\n _createElementVNode(\"small\", null, _toDisplayString(_ctx.$t(\"common.xOfY\", [_ctx.formatSize(_ctx.totalSize), _ctx.formatSize(_ctx.totalSizeLimit)])), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n}","<template>\r\n\t<form v-if=\"v$['askAQuestionMessageForm']\">\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-lg-6\">\r\n\t\t\t\t<label :class=\"{ required: v$['askAQuestionMessageForm'].subject?.required }\">\r\n\t\t\t\t\t{{ $t(\"common.forms.lblSubject\") }}\r\n\t\t\t\t</label>\r\n\t\t\t\t<InputText\r\n\t\t\t\t\tv-model=\"v$['askAQuestionMessageForm'].subject.$model\"\r\n\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['askAQuestionMessageForm'].subject) }\"\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t/>\r\n\t\t\t\t<span v-if=\"shouldShowError(v$['askAQuestionMessageForm'].subject)\">\r\n\t\t\t\t\t<small v-if=\"!v$['askAQuestionMessageForm'].subject.$model\" class=\"p-error\">\r\n\t\t\t\t\t\t{{ v$[\"askAQuestionMessageForm\"].subject?.required?.$message }}\r\n\t\t\t\t\t</small>\r\n\t\t\t\t\t<small v-else-if=\"v$['askAQuestionMessageForm'].subject.$model\" class=\"p-error\">\r\n\t\t\t\t\t\t{{ v$[\"askAQuestionMessageForm\"].subject.maxLength?.$message }}\r\n\t\t\t\t\t</small>\r\n\t\t\t\t</span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col col-lg-9\">\r\n\t\t\t\t<label :class=\"{ required: v$['askAQuestionMessageForm'].message?.required }\">\r\n\t\t\t\t\t{{ $t(\"common.forms.lblDescription\") }}\r\n\t\t\t\t</label>\r\n\t\t\t\t<Textarea\r\n\t\t\t\t\tv-model=\"v$['askAQuestionMessageForm'].message.$model\"\r\n\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['askAQuestionMessageForm'].message) }\"\r\n\t\t\t\t\trows=\"5\"\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t/>\r\n\t\t\t\t<span v-if=\"shouldShowError(v$['askAQuestionMessageForm'].message)\">\r\n\t\t\t\t\t<small v-if=\"!v$['askAQuestionMessageForm'].message.$model\" class=\"p-error\">\r\n\t\t\t\t\t\t{{ v$[\"askAQuestionMessageForm\"].message?.required?.$message }}\r\n\t\t\t\t\t</small>\r\n\t\t\t\t\t<small v-else-if=\"v$['askAQuestionMessageForm'].message.minLength.$invalid\" class=\"p-error\">\r\n\t\t\t\t\t\t{{ v$[\"askAQuestionMessageForm\"].message.minLength?.$message }}\r\n\t\t\t\t\t</small>\r\n\t\t\t\t\t<small v-else-if=\"v$['askAQuestionMessageForm'].message.maxLength.$invalid\" class=\"p-error\">\r\n\t\t\t\t\t\t{{ v$[\"askAQuestionMessageForm\"].message.maxLength?.$message }}\r\n\t\t\t\t\t</small>\r\n\t\t\t\t</span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div v-if=\"isSupportQuestion\" class=\"form-row\">\r\n\t\t\t<div class=\"form-group col col-lg-9\">\r\n\t\t\t\t<label>\r\n\t\t\t\t\t{{ $t(\"common.forms.lblAttachment\") }}\r\n\t\t\t\t</label>\r\n\t\t\t\t<PopoverIcon class=\"d-inline-flex ml-0\">\r\n\t\t\t\t\t<i class=\"popover-icon pi pi-question\" />\r\n\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t<div v-html=\"$t('support.attachmentTooltip')\" />\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</PopoverIcon>\r\n\r\n\t\t\t\t<FileUpload\r\n\t\t\t\t\tref=\"fileUploader\"\r\n\t\t\t\t\t:auto=\"true\"\r\n\t\t\t\t\t:choose-label=\"$t('common.chooseFile')\"\r\n\t\t\t\t\t:custom-upload=\"true\"\r\n\t\t\t\t\t:invalid-file-size-message=\"$t('common.fileMayNotBeLargerThan', { fileSize: '20MB' })\"\r\n\t\t\t\t\t:max-file-size=\"20971520\"\r\n\t\t\t\t\tmode=\"basic\"\r\n\t\t\t\t\tname=\"attachment\"\r\n\t\t\t\t\t@uploader=\"onFileSelected\"\r\n\t\t\t\t>\r\n\t\t\t\t</FileUpload>\r\n\t\t\t\t<div v-if=\"v$['askAQuestionMessageForm'].attachments.$model.length > 0\">\r\n\t\t\t\t\t<div class=\"d-flex flex-wrap p-2 p-lg-0\">\r\n\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\tv-for=\"(file, index) of v$['askAQuestionMessageForm'].attachments.$model\"\r\n\t\t\t\t\t\t\t:key=\"file.name + file.type + file.size\"\r\n\t\t\t\t\t\t\tclass=\"my-2 p-1 d-flex shadow-sm align-items-center w-100\"\r\n\t\t\t\t\t\t\tstyle=\"border: 1px solid #dddd\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t<img\r\n\t\t\t\t\t\t\t\t\tv-if=\"file.objectURL\"\r\n\t\t\t\t\t\t\t\t\t:alt=\"file.name\"\r\n\t\t\t\t\t\t\t\t\tclass=\"\"\r\n\t\t\t\t\t\t\t\t\theight=\"50\"\r\n\t\t\t\t\t\t\t\t\trole=\"presentation\"\r\n\t\t\t\t\t\t\t\t\t:src=\"file.objectURL\"\r\n\t\t\t\t\t\t\t\t\twidth=\"100\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t<font-awesome-icon v-else :icon=\"['far', 'file']\" size=\"2x\" />\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<span class=\"text-bold ml-2 flex-1\">{{ file.name }}</span>\r\n\t\t\t\t\t\t\t<div class=\"ml-2\">{{ formatSize(file.size) }}</div>\r\n\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\tclass=\"p-button-text p-button-danger p-button-rounded ml-2\"\r\n\t\t\t\t\t\t\t\ticon=\"pi pi-trash\"\r\n\t\t\t\t\t\t\t\t:label=\"isSmallScreen ? $t('common.remove') : ''\"\r\n\t\t\t\t\t\t\t\t:title=\"$t('common.remove')\"\r\n\t\t\t\t\t\t\t\t@click=\"onFileRemoved(file, index)\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<small>{{ $t(\"common.xOfY\", [formatSize(totalSize), formatSize(totalSizeLimit)]) }}</small>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</form>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Prop, Ref, VModel } from \"vue-facing-decorator\";\r\nimport { Validation } from \"@vuelidate/core\";\r\nimport FileUpload from \"primevue/fileupload\";\r\nimport { sumBy } from \"lodash\";\r\n\r\n@Component({\r\n\tcomponents: { FileUpload },\r\n})\r\nexport default class AskAQuestionMessageForm extends BaseComponent {\r\n\t@Prop({ type: Boolean, required: true, default: false }) submitted!: boolean;\r\n\t@Prop({ type: Boolean, required: true, default: false }) isSupportQuestion!: boolean;\r\n\t@Ref readonly fileUploader;\r\n\t@VModel() v$!: Validation;\r\n\r\n\t//20MB\r\n\ttotalSizeLimit = 20971520;\r\n\ttotalSize = 0;\r\n\r\n\tget checkTotalFileSize(): boolean {\r\n\t\treturn this.totalSize < this.totalSizeLimit;\r\n\t}\r\n\r\n\tformatSize(bytes) {\r\n\t\tif (bytes === 0) {\r\n\t\t\treturn \"0 B\";\r\n\t\t}\r\n\r\n\t\tlet k = 1024,\r\n\t\t\tdm = 0,\r\n\t\t\tsizes = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"],\r\n\t\t\ti = Math.floor(Math.log(bytes) / Math.log(k));\r\n\r\n\t\treturn parseFloat(Math.floor(bytes / Math.pow(k, i)).toFixed(dm)) + \" \" + sizes[i];\r\n\t}\r\n\r\n\tshouldShowError(fieldToValidate: Validation): boolean {\r\n\t\treturn fieldToValidate.$invalid && (this.submitted || fieldToValidate.$dirty);\r\n\t}\r\n\r\n\tonFileSelected(event: any): void {\r\n\t\tconst file: File = event.files[0];\r\n\t\tif (file.size + this.totalSize < this.totalSizeLimit) {\r\n\t\t\tthis.v$[\"askAQuestionMessageForm\"].attachments.$model.push(file);\r\n\t\t\tthis.totalSize = sumBy(this.v$[\"askAQuestionMessageForm\"].attachments.$model, (x: File) => x.size);\r\n\t\t} else {\r\n\t\t\t//throw error\r\n\t\t\tthis.fileUploader.remove(this.v$[\"askAQuestionMessageForm\"].attachments.$model.length);\r\n\t\t\tthis.$toast.add({\r\n\t\t\t\tseverity: \"error\",\r\n\t\t\t\tdetail: this.$t(\"support.toast.uploadFileTotalSizeLimitError\"),\r\n\t\t\t\tlife: 3000,\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tonFileRemoved(file: File, index: number): void {\r\n\t\tthis.v$[\"askAQuestionMessageForm\"].attachments.$model.splice(index, 1);\r\n\t\tthis.fileUploader.remove(index);\r\n\t\tthis.totalSize -= file.size;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { render } from \"./askAQuestionMessageForm.vue?vue&type=template&id=367971ec&ts=true\"\nimport script from \"./askAQuestionMessageForm.vue?vue&type=script&lang=ts\"\nexport * from \"./askAQuestionMessageForm.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = { class: \"form-row\" }\nconst _hoisted_2 = { class: \"form-group col-lg-6\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_4 = { class: \"form-group col-lg-6\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_6 = { class: \"form-row\" }\nconst _hoisted_7 = { class: \"form-group col-lg-6\" }\nconst _hoisted_8 = { key: 0 }\nconst _hoisted_9 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_10 = {\n key: 1,\n class: \"p-error\"\n}\nconst _hoisted_11 = { class: \"form-group col-lg-6\" }\nconst _hoisted_12 = { key: 0 }\nconst _hoisted_13 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_14 = {\n key: 1,\n class: \"p-error\"\n}\nconst _hoisted_15 = { class: \"form-row\" }\nconst _hoisted_16 = { class: \"form-group col-lg-6\" }\nconst _hoisted_17 = {\n key: 0,\n class: \"p-error\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_InputText = _resolveComponent(\"InputText\")!\n const _component_vue_tel_input = _resolveComponent(\"vue-tel-input\")!\n\n return (_openBlock(), _createElementBlock(\"form\", null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['askAQuestionPersonalForm'].firstName?.required })\n }, _toDisplayString(_ctx.$t(\"common.forms.lblFirstName\")), 3),\n _createVNode(_component_InputText, {\n modelValue: _ctx.v$['askAQuestionPersonalForm'].firstName.$model,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.v$['askAQuestionPersonalForm'].firstName.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['askAQuestionPersonalForm'].firstName) }),\n type: \"text\"\n }, null, 8, [\"modelValue\", \"class\"]),\n (_ctx.shouldShowError(_ctx.v$['askAQuestionPersonalForm'].firstName))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_3, _toDisplayString(_ctx.v$[\"askAQuestionPersonalForm\"].firstName?.required?.$message), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['askAQuestionPersonalForm'].lastName?.required })\n }, _toDisplayString(_ctx.$t(\"common.forms.lblLastName\")), 3),\n _createVNode(_component_InputText, {\n modelValue: _ctx.v$['askAQuestionPersonalForm'].lastName.$model,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.v$['askAQuestionPersonalForm'].lastName.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['askAQuestionPersonalForm'].lastName) }),\n type: \"text\"\n }, null, 8, [\"modelValue\", \"class\"]),\n (_ctx.shouldShowError(_ctx.v$['askAQuestionPersonalForm'].lastName))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_5, _toDisplayString(_ctx.v$[\"askAQuestionPersonalForm\"].lastName?.required?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['askAQuestionPersonalForm'].email?.required })\n }, _toDisplayString(_ctx.$t(\"common.forms.lblEmail\")), 3),\n _createVNode(_component_InputText, {\n modelValue: _ctx.v$['askAQuestionPersonalForm'].email.$model,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.v$['askAQuestionPersonalForm'].email.$model) = $event)),\n class: \"mr-1 username-input\",\n name: \"email\",\n type: \"email\"\n }, null, 8, [\"modelValue\"]),\n (_ctx.shouldShowError(_ctx.v$['askAQuestionPersonalForm'].email))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_8, [\n (!_ctx.v$['askAQuestionPersonalForm'].email.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_9, _toDisplayString(_ctx.v$[\"askAQuestionPersonalForm\"].email?.required?.$message), 1))\n : (_ctx.v$['askAQuestionPersonalForm'].email.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_10, _toDisplayString(_ctx.v$[\"askAQuestionPersonalForm\"].email.email?.$message), 1))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['askAQuestionPersonalForm'].phoneNumber?.required })\n }, _toDisplayString(_ctx.$t(\"common.forms.lblPhoneNumber\")), 3),\n _createVNode(_component_vue_tel_input, {\n modelValue: _ctx.v$['askAQuestionPersonalForm'].phoneNumber.$model,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.v$['askAQuestionPersonalForm'].phoneNumber.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['askAQuestionPersonalForm'].phoneNumber) }),\n \"input-options\": { placeholder: '' },\n onOnInput: _ctx.onPhoneInputBlur,\n onValidate: _ctx.onPhoneInputValidate\n }, null, 8, [\"modelValue\", \"class\", \"onOnInput\", \"onValidate\"]),\n (_ctx.shouldShowError(_ctx.v$['askAQuestionPersonalForm'].phoneNumber))\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_12, [\n (!_ctx.v$['askAQuestionPersonalForm'].phoneNumber.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_13, _toDisplayString(_ctx.v$[\"askAQuestionPersonalForm\"].phoneNumber?.required?.$message), 1))\n : (_ctx.v$['askAQuestionPersonalForm'].phoneNumber.$model)\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_14, _toDisplayString(_ctx.v$[\"askAQuestionPersonalForm\"].phoneNumber.validPhone?.$message), 1))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['askAQuestionPersonalForm'].company?.required })\n }, _toDisplayString(_ctx.$t(\"common.forms.lblCompanyName\")), 3),\n _createVNode(_component_InputText, {\n modelValue: _ctx.v$['askAQuestionPersonalForm'].company.$model,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_ctx.v$['askAQuestionPersonalForm'].company.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['askAQuestionPersonalForm'].company) }),\n type: \"text\"\n }, null, 8, [\"modelValue\", \"class\"]),\n (_ctx.shouldShowError(_ctx.v$['askAQuestionPersonalForm'].company))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_17, _toDisplayString(_ctx.v$[\"askAQuestionPersonalForm\"].company?.required?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n}","<template>\r\n\t<form>\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-lg-6\">\r\n\t\t\t\t<label :class=\"{ required: v$['askAQuestionPersonalForm'].firstName?.required }\">\r\n\t\t\t\t\t{{ $t(\"common.forms.lblFirstName\") }}\r\n\t\t\t\t</label>\r\n\t\t\t\t<InputText\r\n\t\t\t\t\tv-model=\"v$['askAQuestionPersonalForm'].firstName.$model\"\r\n\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['askAQuestionPersonalForm'].firstName) }\"\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t/>\r\n\t\t\t\t<small v-if=\"shouldShowError(v$['askAQuestionPersonalForm'].firstName)\" class=\"p-error\">\r\n\t\t\t\t\t{{ v$[\"askAQuestionPersonalForm\"].firstName?.required?.$message }}\r\n\t\t\t\t</small>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"form-group col-lg-6\">\r\n\t\t\t\t<label :class=\"{ required: v$['askAQuestionPersonalForm'].lastName?.required }\">\r\n\t\t\t\t\t{{ $t(\"common.forms.lblLastName\") }}\r\n\t\t\t\t</label>\r\n\t\t\t\t<InputText\r\n\t\t\t\t\tv-model=\"v$['askAQuestionPersonalForm'].lastName.$model\"\r\n\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['askAQuestionPersonalForm'].lastName) }\"\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t/>\r\n\t\t\t\t<small v-if=\"shouldShowError(v$['askAQuestionPersonalForm'].lastName)\" class=\"p-error\">\r\n\t\t\t\t\t{{ v$[\"askAQuestionPersonalForm\"].lastName?.required?.$message }}\r\n\t\t\t\t</small>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-lg-6\">\r\n\t\t\t\t<label :class=\"{ required: v$['askAQuestionPersonalForm'].email?.required }\">\r\n\t\t\t\t\t{{ $t(\"common.forms.lblEmail\") }}\r\n\t\t\t\t</label>\r\n\t\t\t\t<InputText\r\n\t\t\t\t\tv-model=\"v$['askAQuestionPersonalForm'].email.$model\"\r\n\t\t\t\t\tclass=\"mr-1 username-input\"\r\n\t\t\t\t\tname=\"email\"\r\n\t\t\t\t\ttype=\"email\"\r\n\t\t\t\t/>\r\n\t\t\t\t<span v-if=\"shouldShowError(v$['askAQuestionPersonalForm'].email)\">\r\n\t\t\t\t\t<small v-if=\"!v$['askAQuestionPersonalForm'].email.$model\" class=\"p-error\">\r\n\t\t\t\t\t\t{{ v$[\"askAQuestionPersonalForm\"].email?.required?.$message }}\r\n\t\t\t\t\t</small>\r\n\t\t\t\t\t<small v-else-if=\"v$['askAQuestionPersonalForm'].email.$model\" class=\"p-error\">\r\n\t\t\t\t\t\t{{ v$[\"askAQuestionPersonalForm\"].email.email?.$message }}\r\n\t\t\t\t\t</small>\r\n\t\t\t\t</span>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"form-group col-lg-6\">\r\n\t\t\t\t<label :class=\"{ required: v$['askAQuestionPersonalForm'].phoneNumber?.required }\">\r\n\t\t\t\t\t{{ $t(\"common.forms.lblPhoneNumber\") }}\r\n\t\t\t\t</label>\r\n\t\t\t\t<vue-tel-input\r\n\t\t\t\t\tv-model=\"v$['askAQuestionPersonalForm'].phoneNumber.$model\"\r\n\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['askAQuestionPersonalForm'].phoneNumber) }\"\r\n\t\t\t\t\t:input-options=\"{ placeholder: '' }\"\r\n\t\t\t\t\t@on-input=\"onPhoneInputBlur\"\r\n\t\t\t\t\t@validate=\"onPhoneInputValidate\"\r\n\t\t\t\t/>\r\n\t\t\t\t<span v-if=\"shouldShowError(v$['askAQuestionPersonalForm'].phoneNumber)\">\r\n\t\t\t\t\t<small v-if=\"!v$['askAQuestionPersonalForm'].phoneNumber.$model\" class=\"p-error\">\r\n\t\t\t\t\t\t{{ v$[\"askAQuestionPersonalForm\"].phoneNumber?.required?.$message }}\r\n\t\t\t\t\t</small>\r\n\t\t\t\t\t<small v-else-if=\"v$['askAQuestionPersonalForm'].phoneNumber.$model\" class=\"p-error\">\r\n\t\t\t\t\t\t{{ v$[\"askAQuestionPersonalForm\"].phoneNumber.validPhone?.$message }}\r\n\t\t\t\t\t</small>\r\n\t\t\t\t</span>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-lg-6\">\r\n\t\t\t\t<label :class=\"{ required: v$['askAQuestionPersonalForm'].company?.required }\">\r\n\t\t\t\t\t{{ $t(\"common.forms.lblCompanyName\") }}\r\n\t\t\t\t</label>\r\n\t\t\t\t<InputText\r\n\t\t\t\t\tv-model=\"v$['askAQuestionPersonalForm'].company.$model\"\r\n\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['askAQuestionPersonalForm'].company) }\"\r\n\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t/>\r\n\t\t\t\t<small v-if=\"shouldShowError(v$['askAQuestionPersonalForm'].company)\" class=\"p-error\">\r\n\t\t\t\t\t{{ v$[\"askAQuestionPersonalForm\"].company?.required?.$message }}\r\n\t\t\t\t</small>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</form>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Emit, Prop, VModel } from \"vue-facing-decorator\";\r\nimport { Validation } from \"@vuelidate/core\";\r\nimport { IPhoneObject } from \"@/types/models/common/phoneObject.interface\";\r\n\r\n@Component\r\nexport default class AskAQuestionPersonalForm extends BaseComponent {\r\n\t@Prop({ type: Boolean, required: true, default: false }) submitted!: boolean;\r\n\t@VModel() v$!: Validation;\r\n\r\n\t@Emit() phoneObjectValidationChange(): boolean {\r\n\t\treturn this.phoneObject?.valid;\r\n\t}\r\n\r\n\tphoneObject!: IPhoneObject;\r\n\r\n\tshouldShowError(fieldToValidate: Validation): boolean {\r\n\t\treturn fieldToValidate.$invalid && (this.submitted || fieldToValidate.$dirty);\r\n\t}\r\n\r\n\tonPhoneInputValidate(phoneObject: IPhoneObject): void {\r\n\t\tif (!this.v$[\"askAQuestionPersonalForm\"]) return;\r\n\t\tthis.phoneObject = phoneObject;\r\n\t\tif (phoneObject.number) this.v$[\"askAQuestionPersonalForm\"].phoneNumber?.$validate();\r\n\t\telse this.v$[\"askAQuestionPersonalForm\"].phoneNumber?.$reset();\r\n\t\tthis.phoneObjectValidationChange();\r\n\t}\r\n\r\n\t/// Make sure phone input is formatted on blur\r\n\tonPhoneInputBlur(_, phoneObject): void {\r\n\t\tif (this.phoneObject?.valid) {\r\n\t\t\tthis.v$[\"askAQuestionPersonalForm\"].phoneNumber.$model = phoneObject.formatted;\r\n\t\t}\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { render } from \"./askAQuestionPersonalForm.vue?vue&type=template&id=0de11e65&ts=true\"\nimport script from \"./askAQuestionPersonalForm.vue?vue&type=script&lang=ts\"\nexport * from \"./askAQuestionPersonalForm.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nconst _hoisted_1 = { key: 0 }\nconst _hoisted_2 = { class: \"form-row\" }\nconst _hoisted_3 = { class: \"form-group col-lg-6\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"p-error\"\n}\nconst _hoisted_5 = { class: \"form-row\" }\nconst _hoisted_6 = { class: \"form-group col-lg-6\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"p-error\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Dropdown = _resolveComponent(\"Dropdown\")!\n\n return (_ctx.v$['askAQuestionSupportTicketForm'])\n ? (_openBlock(), _createElementBlock(\"form\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['askAQuestionSupportTicketForm']?.impact?.required })\n }, _toDisplayString(_ctx.$t(\"support.lblImpact\")), 3),\n _createVNode(_component_Dropdown, {\n modelValue: _ctx.v$['askAQuestionSupportTicketForm'].impact.$model,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.v$['askAQuestionSupportTicketForm'].impact.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['askAQuestionSupportTicketForm']?.impact) }),\n \"option-label\": \"label\",\n \"option-value\": \"value\",\n options: _ctx.availableImpactOptions\n }, null, 8, [\"modelValue\", \"class\", \"options\"]),\n (_ctx.shouldShowError(_ctx.v$['askAQuestionSupportTicketForm']?.impact))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_4, _toDisplayString(_ctx.v$[\"askAQuestionSupportTicketForm\"].impact?.required?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"label\", {\n class: _normalizeClass({ required: _ctx.v$['askAQuestionSupportTicketForm']?.urgency?.required })\n }, _toDisplayString(_ctx.$t(\"support.lblUrgency\")), 3),\n _createVNode(_component_Dropdown, {\n modelValue: _ctx.v$['askAQuestionSupportTicketForm'].urgency.$model,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.v$['askAQuestionSupportTicketForm'].urgency.$model) = $event)),\n class: _normalizeClass({ 'p-invalid': _ctx.shouldShowError(_ctx.v$['askAQuestionSupportTicketForm']?.urgency) }),\n \"option-label\": \"label\",\n \"option-value\": \"value\",\n options: _ctx.availableUrgencyOptions\n }, null, 8, [\"modelValue\", \"class\", \"options\"]),\n (_ctx.shouldShowError(_ctx.v$['askAQuestionSupportTicketForm']?.urgency))\n ? (_openBlock(), _createElementBlock(\"small\", _hoisted_7, _toDisplayString(_ctx.v$[\"askAQuestionSupportTicketForm\"]?.urgency?.required?.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n}","<template>\r\n\t<form v-if=\"v$['askAQuestionSupportTicketForm']\">\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-lg-6\">\r\n\t\t\t\t<label :class=\"{ required: v$['askAQuestionSupportTicketForm']?.impact?.required }\">\r\n\t\t\t\t\t{{ $t(\"support.lblImpact\") }}\r\n\t\t\t\t</label>\r\n\t\t\t\t<Dropdown\r\n\t\t\t\t\tv-model=\"v$['askAQuestionSupportTicketForm'].impact.$model\"\r\n\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['askAQuestionSupportTicketForm']?.impact) }\"\r\n\t\t\t\t\toption-label=\"label\"\r\n\t\t\t\t\toption-value=\"value\"\r\n\t\t\t\t\t:options=\"availableImpactOptions\"\r\n\t\t\t\t/>\r\n\t\t\t\t<small v-if=\"shouldShowError(v$['askAQuestionSupportTicketForm']?.impact)\" class=\"p-error\">\r\n\t\t\t\t\t{{ v$[\"askAQuestionSupportTicketForm\"].impact?.required?.$message }}\r\n\t\t\t\t</small>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"form-row\">\r\n\t\t\t<div class=\"form-group col-lg-6\">\r\n\t\t\t\t<label :class=\"{ required: v$['askAQuestionSupportTicketForm']?.urgency?.required }\">\r\n\t\t\t\t\t{{ $t(\"support.lblUrgency\") }}\r\n\t\t\t\t</label>\r\n\t\t\t\t<Dropdown\r\n\t\t\t\t\tv-model=\"v$['askAQuestionSupportTicketForm'].urgency.$model\"\r\n\t\t\t\t\t:class=\"{ 'p-invalid': shouldShowError(v$['askAQuestionSupportTicketForm']?.urgency) }\"\r\n\t\t\t\t\toption-label=\"label\"\r\n\t\t\t\t\toption-value=\"value\"\r\n\t\t\t\t\t:options=\"availableUrgencyOptions\"\r\n\t\t\t\t/>\r\n\t\t\t\t<small v-if=\"shouldShowError(v$['askAQuestionSupportTicketForm']?.urgency)\" class=\"p-error\">\r\n\t\t\t\t\t{{ v$[\"askAQuestionSupportTicketForm\"]?.urgency?.required?.$message }}\r\n\t\t\t\t</small>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</form>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Dropdown from \"primevue/dropdown\";\r\nimport { Validation } from \"@vuelidate/core\";\r\nimport { Component, Prop, VModel } from \"vue-facing-decorator\";\r\nimport { IDropdownItem } from \"@/types/models/common/dropdownItem.interface\";\r\nimport { SupportVariationViewModel } from \"@/types/models/support/supportVariationViewModel\";\r\nimport { TicketImpact } from \"@/types/enum/ticketImpact\";\r\nimport { TicketUrgency } from \"@/types/enum/ticketUrgency\";\r\nimport { values } from \"lodash\";\r\n\r\n@Component({\r\n\tcomponents: { Dropdown },\r\n})\r\nexport default class AskAQuestionSupportTicketForm extends BaseComponent {\r\n\t@Prop({ type: Boolean, required: true, default: false }) submitted!: boolean;\r\n\t@VModel() v$!: Validation;\r\n\r\n\tselectedSupportProduct!: SupportVariationViewModel | null;\r\n\r\n\tavailableUrgencyOptions: IDropdownItem[] = [];\r\n\tavailableImpactOptions: IDropdownItem[] = [];\r\n\r\n\tcreated(): void {\r\n\t\tthis.availableUrgencyOptions = values(TicketUrgency)\r\n\t\t\t.filter(Number.isFinite)\r\n\t\t\t.filter(Boolean)\r\n\t\t\t.map((x) => ({\r\n\t\t\t\tvalue: x,\r\n\t\t\t\tlabel: this.$t(`enum.ticketUrgency.${x}`),\r\n\t\t\t}));\r\n\t\tthis.availableImpactOptions = values(TicketImpact)\r\n\t\t\t.filter(Number.isFinite)\r\n\t\t\t.filter(Boolean)\r\n\t\t\t.map((x) => ({\r\n\t\t\t\tvalue: x,\r\n\t\t\t\tlabel: this.$t(`enum.ticketImpact.${x}`),\r\n\t\t\t}));\r\n\t}\r\n\r\n\tshouldShowError(fieldToValidate: Validation): boolean {\r\n\t\treturn fieldToValidate.$invalid && (this.submitted || fieldToValidate.$dirty);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","export enum TicketImpact {\r\n\tUnknown,\r\n\tOneIndividual,\r\n\tOneDepartment,\r\n\tMultipleDepartment,\r\n\tEntireOrganisation,\r\n}\r\n","export enum TicketUrgency {\r\n\tUnknown = 0,\r\n\tMinorDecreaseProductivity = 1,\r\n\tMajorDecreaseProductivity = 2,\r\n\tCompletlyUnableToWork = 4,\r\n}\r\n","import { render } from \"./askAQuestionSupportTicketForm.vue?vue&type=template&id=14b58758&ts=true\"\nimport script from \"./askAQuestionSupportTicketForm.vue?vue&type=script&lang=ts\"\nexport * from \"./askAQuestionSupportTicketForm.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","export enum AskAQuestionSubCategoryType {\r\n\tUnknown = 0,\r\n\tOther = 0,\r\n\tRequest = 1,\r\n\tIncident = 2,\r\n}\r\n","import { render } from \"./supportAskQuestion.vue?vue&type=template&id=62721b7c&scoped=true&ts=true\"\nimport script from \"./supportAskQuestion.vue?vue&type=script&lang=ts\"\nexport * from \"./supportAskQuestion.vue?vue&type=script&lang=ts\"\n\nimport \"./supportAskQuestion.vue?vue&type=style&index=0&id=62721b7c&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-62721b7c\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, withCtx as _withCtx, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, resolveDirective as _resolveDirective, withDirectives as _withDirectives, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-18deaffa\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"container\" }\nconst _hoisted_2 = { class: \"row mt-3 mb-4\" }\nconst _hoisted_3 = [\"id\"]\nconst _hoisted_4 = { class: \"d-flex flex-column align-items-center flex-1 p-2\" }\nconst _hoisted_5 = { class: \"d-flex flex-column align-items-center\" }\nconst _hoisted_6 = [\"alt\", \"src\"]\nconst _hoisted_7 = { class: \"font-weight-bold lead text-primary text-upper\" }\nconst _hoisted_8 = { class: \"mb-0 lead\" }\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1))\nconst _hoisted_10 = { class: \"col-md-4 col-xl-3\" }\nconst _hoisted_11 = { class: \"faq-menu\" }\nconst _hoisted_12 = { class: \"faq-category-menu\" }\nconst _hoisted_13 = [\"id\"]\nconst _hoisted_14 = [\"onClick\"]\nconst _hoisted_15 = { class: \"faq-category-subsubmenu\" }\nconst _hoisted_16 = [\"href\"]\nconst _hoisted_17 = { class: \"col-md-8 col-xl-9\" }\nconst _hoisted_18 = { class: \"faq-container\" }\nconst _hoisted_19 = [\"id\"]\nconst _hoisted_20 = [\"id\"]\nconst _hoisted_21 = [\"id\"]\nconst _hoisted_22 = [\"href\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_HeroFaqBlock = _resolveComponent(\"HeroFaqBlock\")!\n const _component_SelectButton = _resolveComponent(\"SelectButton\")!\n const _component_Panel = _resolveComponent(\"Panel\")!\n const _component_ScrollPanel = _resolveComponent(\"ScrollPanel\")!\n const _directive_vue_intersect = _resolveDirective(\"vue-intersect\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (_ctx.vm.heroFaqBlock)\n ? (_openBlock(), _createBlock(_component_HeroFaqBlock, {\n key: 0,\n vm: _ctx.vm.heroFaqBlock\n }, null, 8, [\"vm\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", {\n id: `cat_${_ctx.selectedCategory.faqId}`,\n class: \"col-12\"\n }, [\n _createVNode(_component_SelectButton, {\n modelValue: _ctx.selectedCategory,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.selectedCategory) = $event)),\n class: \"row m-0 faq-categories\",\n \"data-key\": \"faqId\",\n options: _ctx.vm.faqHeadCategories,\n onChange: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onHeadCategoryChanged()))\n }, {\n option: _withCtx(({ option }) => [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n (option.icon)\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n alt: option.icon.alt,\n class: \"mb-2 category-icon\",\n src: option.icon.url\n }, null, 8, _hoisted_6))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"p\", _hoisted_7, _toDisplayString(option.title), 1),\n _createElementVNode(\"p\", _hoisted_8, _toDisplayString(option.description), 1)\n ])\n ])\n ]),\n _: 1\n }, 8, [\"modelValue\", \"options\"]),\n _hoisted_9\n ], 8, _hoisted_3),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"div\", _hoisted_11, [\n _createVNode(_component_ScrollPanel, { style: {\"width\":\"100%\",\"height\":\"60vh\",\"overflow\":\"hidden\"} }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_12, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.selectedCategory?.subCategories, (subCategory) => {\n return (_openBlock(), _createBlock(_component_Panel, {\n collapsed: \r\n\t\t\t\t\t\t\t\t\t_ctx.menuItemCollapsed[`${_ctx.selectedCategory?.faqId}_${subCategory.id}`]\r\n\t\t\t\t\t\t\t\t,\n \"onUpdate:collapsed\": ($event: any) => ((\r\n\t\t\t\t\t\t\t\t\t_ctx.menuItemCollapsed[`${_ctx.selectedCategory?.faqId}_${subCategory.id}`]\r\n\t\t\t\t\t\t\t\t) = $event),\n key: `menu_${_ctx.selectedCategory?.faqId}_${subCategory.id}`,\n class: \"faq-category-submenu\"\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", {\n id: `${_ctx.selectedCategory?.faqId}_${subCategory.id}`,\n class: \"\"\n }, _toDisplayString(subCategory.title), 9, _hoisted_13)\n ]),\n icons: _withCtx(() => [\n (_ctx.selectedCategory?.subCategories?.length > 1)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"p-panel-header-icon p-link mr-2\",\n onClick: ($event: any) => (\r\n\t\t\t\t\t\t\t\t\t\t\t_ctx.toggleMenuItemCollapse(`${_ctx.selectedCategory?.faqId}_${subCategory.id}`)\r\n\t\t\t\t\t\t\t\t\t\t)\n }, [\n _createElementVNode(\"i\", {\n class: _normalizeClass(\r\n\t\t\t\t\t\t\t\t\t\t\t\t_ctx.isMenuItemCollapsed(`${_ctx.selectedCategory?.faqId}_${subCategory.id}`)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 'pi pi-chevron-down'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 'pi pi-chevron-up'\r\n\t\t\t\t\t\t\t\t\t\t\t)\n }, null, 2)\n ], 8, _hoisted_14))\n : _createCommentVNode(\"\", true)\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"ul\", _hoisted_15, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(subCategory.subSubCategories, (subSubCategory) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: `menu_${_ctx.selectedCategory?.faqId}_${subCategory.id}_${subSubCategory.id}`,\n class: _normalizeClass([\"faq-category-header-item\", {\r\n\t\t\t\t\t\t\t\t\t\t\tactive:\r\n\t\t\t\t\t\t\t\t\t\t\t\t_ctx.firstVisibleHeader ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t`${_ctx.selectedCategory?.faqId}_${subCategory.id}_${subSubCategory.id}`,\r\n\t\t\t\t\t\t\t\t\t\t}])\n }, [\n _createElementVNode(\"a\", {\n class: \"faq-category-header-item-link\",\n href: `#${_ctx.selectedCategory?.faqId}_${subCategory.id}_${subSubCategory.id}`\n }, [\n _createElementVNode(\"span\", null, _toDisplayString(subSubCategory.title), 1)\n ], 8, _hoisted_16)\n ], 2))\n }), 128))\n ])\n ]),\n _: 2\n }, 1032, [\"collapsed\", \"onUpdate:collapsed\"]))\n }), 128))\n ])\n ]),\n _: 1\n })\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"div\", _hoisted_18, [\n (_openBlock(), _createElementBlock(\"div\", {\n key: `content_${_ctx.selectedCategory.faqId}`,\n class: \"faq-items p-2\"\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.selectedCategory.subCategories, (subCategory) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: `content_${_ctx.selectedCategory.faqId}_${subCategory.id}`,\n class: \"faq-sub-items\"\n }, [\n _createElementVNode(\"h4\", {\n id: `${_ctx.selectedCategory.faqId}_${subCategory.id}`,\n class: \"mb-0\"\n }, _toDisplayString(subCategory.title), 9, _hoisted_19),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(subCategory.subSubCategories, (subSubCategory) => {\n return (_openBlock(), _createElementBlock(\"ul\", {\n key: `content_${_ctx.selectedCategory.faqId}_${subCategory.id}_${subSubCategory.id}`,\n class: \"faq-sub-sub-items\"\n }, [\n _createElementVNode(\"li\", null, [\n _withDirectives((_openBlock(), _createElementBlock(\"a\", {\n id: `${_ctx.selectedCategory.faqId}_${subCategory.id}_${subSubCategory.id}`,\n class: \"hidden-category-anchor\"\n }, [\n _createTextVNode(_toDisplayString(subCategory.title), 1)\n ], 8, _hoisted_20)), [\n [_directive_vue_intersect, \r\n\t\t\t\t\t\t\t\t\t\t\t_ctx.onIntersectionObserved(\r\n\t\t\t\t\t\t\t\t\t\t\t\t`${_ctx.selectedCategory.faqId}_${subCategory.id}_${subSubCategory.id}`\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t]\n ]),\n _createElementVNode(\"p\", {\n id: `header_${_ctx.selectedCategory.faqId}_${subCategory.id}_${subSubCategory.id}`,\n class: \"faq-sub-sub-header\"\n }, _toDisplayString(subSubCategory.title), 9, _hoisted_21),\n _createElementVNode(\"ul\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(subSubCategory.faqItems, (item) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: `item_${item.id}`,\n class: \"faq-item\"\n }, [\n _createElementVNode(\"a\", {\n class: \"p-button p-button-arrow p-button-outlined justify-content-between ml-0 mb-1\",\n href: item.url\n }, _toDisplayString(item.question), 9, _hoisted_22)\n ]))\n }), 128))\n ])\n ])\n ]))\n }), 128))\n ]))\n }), 128))\n ]))\n ])\n ])\n ])\n ])\n ], 64))\n}","<template>\r\n\t<HeroFaqBlock v-if=\"vm.heroFaqBlock\" :vm=\"vm.heroFaqBlock\" />\r\n\t<div class=\"container\">\r\n\t\t<div class=\"row mt-3 mb-4\">\r\n\t\t\t<div :id=\"`cat_${selectedCategory.faqId}`\" class=\"col-12\">\r\n\t\t\t\t<SelectButton\r\n\t\t\t\t\tv-model=\"selectedCategory\"\r\n\t\t\t\t\tclass=\"row m-0 faq-categories\"\r\n\t\t\t\t\tdata-key=\"faqId\"\r\n\t\t\t\t\t:options=\"vm.faqHeadCategories\"\r\n\t\t\t\t\t@change=\"onHeadCategoryChanged()\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #option=\"{ option }\">\r\n\t\t\t\t\t\t<div class=\"d-flex flex-column align-items-center flex-1 p-2\">\r\n\t\t\t\t\t\t\t<div class=\"d-flex flex-column align-items-center\">\r\n\t\t\t\t\t\t\t\t<img\r\n\t\t\t\t\t\t\t\t\tv-if=\"option.icon\"\r\n\t\t\t\t\t\t\t\t\t:alt=\"option.icon.alt\"\r\n\t\t\t\t\t\t\t\t\tclass=\"mb-2 category-icon\"\r\n\t\t\t\t\t\t\t\t\t:src=\"option.icon.url\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t<p class=\"font-weight-bold lead text-primary text-upper\">\r\n\t\t\t\t\t\t\t\t\t{{ option.title }}\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t<p class=\"mb-0 lead\">{{ option.description }}</p>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</SelectButton>\r\n\t\t\t\t<hr />\r\n\t\t\t</div>\r\n\t\t\t<div class=\"col-md-4 col-xl-3\">\r\n\t\t\t\t<div class=\"faq-menu\">\r\n\t\t\t\t\t<ScrollPanel style=\"width: 100%; height: 60vh; overflow: hidden\">\r\n\t\t\t\t\t\t<div class=\"faq-category-menu\">\r\n\t\t\t\t\t\t\t<Panel\r\n\t\t\t\t\t\t\t\tv-for=\"subCategory in selectedCategory?.subCategories\"\r\n\t\t\t\t\t\t\t\tv-model:collapsed=\"\r\n\t\t\t\t\t\t\t\t\tmenuItemCollapsed[`${selectedCategory?.faqId}_${subCategory.id}`]\r\n\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t:key=\"`menu_${selectedCategory?.faqId}_${subCategory.id}`\"\r\n\t\t\t\t\t\t\t\tclass=\"faq-category-submenu\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t\t\t\t<div :id=\"`${selectedCategory?.faqId}_${subCategory.id}`\" class=\"\">\r\n\t\t\t\t\t\t\t\t\t\t{{ subCategory.title }}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t<template #icons>\r\n\t\t\t\t\t\t\t\t\t<button\r\n\t\t\t\t\t\t\t\t\t\tv-if=\"selectedCategory?.subCategories?.length > 1\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"p-panel-header-icon p-link mr-2\"\r\n\t\t\t\t\t\t\t\t\t\t@click=\"\r\n\t\t\t\t\t\t\t\t\t\t\ttoggleMenuItemCollapse(`${selectedCategory?.faqId}_${subCategory.id}`)\r\n\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t\t\t:class=\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tisMenuItemCollapsed(`${selectedCategory?.faqId}_${subCategory.id}`)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 'pi pi-chevron-down'\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 'pi pi-chevron-up'\r\n\t\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t</button>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t<ul class=\"faq-category-subsubmenu\">\r\n\t\t\t\t\t\t\t\t\t<li\r\n\t\t\t\t\t\t\t\t\t\tv-for=\"subSubCategory in subCategory.subSubCategories\"\r\n\t\t\t\t\t\t\t\t\t\t:key=\"`menu_${selectedCategory?.faqId}_${subCategory.id}_${subSubCategory.id}`\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"faq-category-header-item\"\r\n\t\t\t\t\t\t\t\t\t\t:class=\"{\r\n\t\t\t\t\t\t\t\t\t\t\tactive:\r\n\t\t\t\t\t\t\t\t\t\t\t\tfirstVisibleHeader ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t`${selectedCategory?.faqId}_${subCategory.id}_${subSubCategory.id}`,\r\n\t\t\t\t\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"faq-category-header-item-link\"\r\n\t\t\t\t\t\t\t\t\t\t\t:href=\"`#${selectedCategory?.faqId}_${subCategory.id}_${subSubCategory.id}`\"\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t<span>{{ subSubCategory.title }}</span>\r\n\t\t\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t\t\t</ul>\r\n\t\t\t\t\t\t\t</Panel>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</ScrollPanel>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"col-md-8 col-xl-9\">\r\n\t\t\t\t<div class=\"faq-container\">\r\n\t\t\t\t\t<div :key=\"`content_${selectedCategory.faqId}`\" class=\"faq-items p-2\">\r\n\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\tv-for=\"subCategory in selectedCategory.subCategories\"\r\n\t\t\t\t\t\t\t:key=\"`content_${selectedCategory.faqId}_${subCategory.id}`\"\r\n\t\t\t\t\t\t\tclass=\"faq-sub-items\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<h4 :id=\"`${selectedCategory.faqId}_${subCategory.id}`\" class=\"mb-0\">\r\n\t\t\t\t\t\t\t\t{{ subCategory.title }}\r\n\t\t\t\t\t\t\t</h4>\r\n\t\t\t\t\t\t\t<ul\r\n\t\t\t\t\t\t\t\tv-for=\"subSubCategory in subCategory.subSubCategories\"\r\n\t\t\t\t\t\t\t\t:key=\"`content_${selectedCategory.faqId}_${subCategory.id}_${subSubCategory.id}`\"\r\n\t\t\t\t\t\t\t\tclass=\"faq-sub-sub-items\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<li>\r\n\t\t\t\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\t\t\t\t:id=\"`${selectedCategory.faqId}_${subCategory.id}_${subSubCategory.id}`\"\r\n\t\t\t\t\t\t\t\t\t\tv-vue-intersect=\"\r\n\t\t\t\t\t\t\t\t\t\t\tonIntersectionObserved(\r\n\t\t\t\t\t\t\t\t\t\t\t\t`${selectedCategory.faqId}_${subCategory.id}_${subSubCategory.id}`\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"hidden-category-anchor\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{{ subCategory.title }}\r\n\t\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t\t<p\r\n\t\t\t\t\t\t\t\t\t\t:id=\"`header_${selectedCategory.faqId}_${subCategory.id}_${subSubCategory.id}`\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"faq-sub-sub-header\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{{ subSubCategory.title }}\r\n\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t\t\t\t\t<li\r\n\t\t\t\t\t\t\t\t\t\t\tv-for=\"item in subSubCategory.faqItems\"\r\n\t\t\t\t\t\t\t\t\t\t\t:key=\"`item_${item.id}`\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"faq-item\"\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"p-button p-button-arrow p-button-outlined justify-content-between ml-0 mb-1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t:href=\"item.url\"\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ item.question }}\r\n\t\t\t\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t\t\t\t</ul>\r\n\t\t\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t\t</ul>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport HeroFaqBlock from \"@/views/blocks/heroFaqBlock.vue\";\r\nimport ScrollPanel from \"primevue/scrollpanel\";\r\nimport SelectButton from \"primevue/selectbutton\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { FaqHeadCategory } from \"@/types/models/support/faqHeadCategory\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { SupportFaqViewModel } from \"@/types/viewModels/commerce/supportFaqViewModel\";\r\nimport { entries, groupBy } from \"lodash\";\r\nimport { throttledWatch } from \"@vueuse/core\";\r\nimport CallToActionSimpleBlock from \"@/views/blocks/callToActionSimpleBlock.vue\";\r\n\r\n@Component({ components: { CallToActionSimpleBlock, HeroFaqBlock, ScrollPanel, SelectButton } })\r\nexport default class SupportFaq extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<SupportFaqViewModel>, required: true, default: {} })\r\n\tvm!: SupportFaqViewModel;\r\n\r\n\tmenuItemCollapsed: Dictionary<boolean> = {};\r\n\tactiveCategory: Dictionary<boolean> = {};\r\n\tpreviouslyFirstActiveHeader = \"\";\r\n\tselectedCategory!: FaqHeadCategory;\r\n\r\n\tcreated(): void {\r\n\t\tLog.info(\"SupportFaq\", this.vm);\r\n\r\n\t\tthis.initHeadCategoryFromUrl();\r\n\t\tthis.initMenuItems();\r\n\t\tthis.sortFaqHeadCategories();\r\n\t}\r\n\r\n\tmounted(): void {\r\n\t\tthrottledWatch(this.activeCategory, this.collapseCategories, {\r\n\t\t\tthrottle: 350,\r\n\t\t});\r\n\t}\r\n\r\n\tget isMenuItemCollapsed(): (id) => boolean {\r\n\t\treturn (id) => this.menuItemCollapsed[id];\r\n\t}\r\n\r\n\tget firstVisibleHeader(): string {\r\n\t\tlet id = \"\";\r\n\t\tentries(this.activeCategory)\r\n\t\t\t.sort()\r\n\t\t\t.some(([key, val]) => {\r\n\t\t\t\tif (val && !id) {\r\n\t\t\t\t\tid = key;\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t\treturn false;\r\n\t\t\t});\r\n\t\tif (id) {\r\n\t\t\tthis.previouslyFirstActiveHeader = id;\r\n\t\t\treturn id;\r\n\t\t} else {\r\n\t\t\treturn this.previouslyFirstActiveHeader;\r\n\t\t}\r\n\t}\r\n\r\n\tinitHeadCategoryFromUrl(): void {\r\n\t\tconst regex = /\\/([^/]+)\\/?(?:#|$)/;\r\n\t\tconst match = window.location.href.match(regex);\r\n\t\tif (!match) return;\r\n\t\tconst category = match[1];\r\n\t\tthis.selectedCategory = this.vm.faqHeadCategories.find((x) => x.faqId === category) as FaqHeadCategory;\r\n\t}\r\n\r\n\tinitMenuItems(): void {\r\n\t\t// this.vm.faqHeadCategories.forEach((headCat) => {\r\n\t\t// \theadCat.subCategories.forEach((subCat) => {\r\n\t\t// \t\tthis.menuItemCollapsed[`${headCat.faqId}_${subCat.id}`] = true;\r\n\t\t// \t});\r\n\t\t// });\r\n\t\tthis.selectedCategory?.subCategories.forEach((subCat) => {\r\n\t\t\tthis.menuItemCollapsed[`${this.selectedCategory.faqId}_${subCat.id}`] = true;\r\n\t\t});\r\n\t}\r\n\r\n\tcollapseCategories(activeCategories: Dictionary<boolean>): void {\r\n\t\t// Group categories by prefix\r\n\t\tconst groupedCategories = groupBy(entries(activeCategories).sort(), ([key, _value]) =>\r\n\t\t\tkey.substring(0, key.lastIndexOf(\"_\"))\r\n\t\t);\r\n\r\n\t\t// Map values into an object with prefix as key and a boolean array as value\r\n\t\tconst mappedGroupedCategories = entries(groupedCategories).reduce(\r\n\t\t\t(acc, [key, val]) => {\r\n\t\t\t\tacc[key] = val.map(([_key, value]) => value);\r\n\t\t\t\treturn acc;\r\n\t\t\t},\r\n\t\t\t{} as Dictionary<boolean[]>\r\n\t\t);\r\n\r\n\t\t// Generate object with key as prefix and value as a boolean indicating whether to collapse\r\n\t\tthis.menuItemCollapsed = entries(mappedGroupedCategories).reduce((acc, [id, values]) => {\r\n\t\t\tconst anyTrue = values.some((val) => val);\r\n\t\t\tacc[id] = !anyTrue;\r\n\t\t\treturn acc;\r\n\t\t}, {} as Dictionary<boolean>);\r\n\t}\r\n\r\n\tonIntersectionObserved(id: string): (...args) => void {\r\n\t\treturn (...args) => {\r\n\t\t\tconst [{ isIntersecting }] = args[0];\r\n\t\t\tthis.activeCategory[id] = isIntersecting;\r\n\t\t};\r\n\t}\r\n\r\n\ttoggleMenuItemCollapse(id: string): void {\r\n\t\tthis.menuItemCollapsed[id] = !this.menuItemCollapsed[id];\r\n\t}\r\n\r\n\tonHeadCategoryChanged(): void {\r\n\t\tthis.initMenuItems();\r\n\t\tthis.updateUrlForSelectedCategory();\r\n\t}\r\n\r\n\t// TODO sort categories based on predefined order, needs refactoring to a more global\r\n\tsortFaqHeadCategories(): void {\r\n\t\tenum sortOrder {\r\n\t\t\tSALES = \"sales\" as any,\r\n\t\t\tSERVICE = \"service\" as any,\r\n\t\t\tSUPPORT = \"support\" as any,\r\n\t\t}\r\n\r\n\t\tthis.vm.faqHeadCategories.sort(\r\n\t\t\t(a, b) => Object.values(sortOrder).indexOf(a.faqId) - Object.values(sortOrder).indexOf(b.faqId)\r\n\t\t);\r\n\t}\r\n\r\n\tprivate updateUrlForSelectedCategory(): void {\r\n\t\t// Get the current URL\r\n\t\tconst currentUrl = window.location.href;\r\n\t\t// Split the URL by '/'\r\n\t\tconst urlParts = currentUrl.split(\"/\");\r\n\t\t// Replace the second part of the URL with 'sales'\r\n\t\turlParts[4] = this.selectedCategory.faqId;\r\n\t\t// Join the URL parts back together\r\n\t\tconst newUrl = urlParts.join(\"/\");\r\n\t\t// Replace the current URL with the new URL\r\n\t\twindow.history.replaceState(null, document.title, newUrl);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.faq-category-header {\r\n\ttext-transform: uppercase;\r\n\tborder-top: 1px solid;\r\n\tborder-bottom: 1px solid;\r\n\tborder-color: var(--gray-400);\r\n\tpadding: 0.5rem 0;\r\n\ttext-align: center;\r\n}\r\n\r\n.faq-menu {\r\n\tposition: sticky;\r\n\ttop: calc(var(--navbarHeightInPx) + 1rem);\r\n\tpadding: 1rem 0;\r\n\toverflow: hidden;\r\n\r\n\t.faq-category-menu {\r\n\t\tmargin-bottom: 1rem;\r\n\t}\r\n\r\n\ta {\r\n\t\ttext-decoration: none;\r\n\t\tcolor: var(--text-color-secondary);\r\n\t}\r\n\r\n\t.faq-category-header-item {\r\n\t\tpadding: 0.2rem 0.4rem;\r\n\r\n\t\t&.active {\r\n\t\t\tborder-left: 3px solid var(--primary-color);\r\n\r\n\t\t\ta {\r\n\t\t\t\tfont-weight: bold;\r\n\t\t\t\tcolor: var(--primary-color);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t::v-deep(.p-panel) {\r\n\t\t.p-panel-header {\r\n\t\t\tpadding: 0.25rem 0;\r\n\t\t\tfont-weight: 500;\r\n\t\t\tborder-bottom: 0 none;\r\n\t\t}\r\n\r\n\t\t.p-panel-content {\r\n\t\t\tpadding: 0.25rem 0;\r\n\t\t}\r\n\t}\r\n\r\n\t::v-deep(.p-scrollpanel) {\r\n\t\t.p-scrollpanel-bar {\r\n\t\t\tbackground: var(--surface-d);\r\n\t\t}\r\n\t}\r\n}\r\n\r\n.faq-container {\r\n\t.faq-sub-sub-header {\r\n\t\tbackground-color: var(--surface-a);\r\n\t\tmargin: 0;\r\n\t\tpadding: 1rem 0 1rem 0;\r\n\t\tfont-size: 1.3rem;\r\n\t\tfont-weight: 500;\r\n\t}\r\n\r\n\t.faq-item {\r\n\t\t&:hover {\r\n\t\t\ta {\r\n\t\t\t\tbackground-color: var(--surface-e);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\ta {\r\n\t\t\tbackground-color: var(--surface-a);\r\n\t\t\tborder: 1px solid var(--surface-d);\r\n\t\t\tfont-size: 1.1rem;\r\n\t\t\ttext-decoration: none;\r\n\t\t\tjustify-content: space-between;\r\n\t\t\ttext-align: left;\r\n\t\t\twidth: 100%;\r\n\t\t\tmargin-left: 0;\r\n\t\t\tmargin-bottom: 0.5rem;\r\n\t\t}\r\n\t}\r\n\r\n\t.faq-sub-sub-items {\r\n\t\tpadding: 0 1rem;\r\n\t}\r\n}\r\n\r\n.faq-categories {\r\n\ta {\r\n\t\ttext-decoration: none;\r\n\t\tcolor: var(--text-color);\r\n\t}\r\n}\r\n\r\n.hidden-category-anchor {\r\n\tdisplay: block;\r\n\tvisibility: hidden;\r\n\tposition: relative;\r\n\ttop: -3rem;\r\n}\r\n\r\n.category-icon {\r\n\twidth: 50px;\r\n\theight: 50px;\r\n\tobject-fit: cover;\r\n}\r\n</style>\r\n","import { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, normalizeClass as _normalizeClass, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, withCtx as _withCtx, createVNode as _createVNode, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-613645d9\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = [\"innerHTML\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_LinkButton = _resolveComponent(\"LinkButton\")!\n const _component_Card = _resolveComponent(\"Card\")!\n\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createVNode(_component_Card, null, {\n content: _withCtx(() => [\n _createElementVNode(\"p\", {\n class: \"text-preline\",\n innerHTML: _ctx.vm.intro\n }, null, 8, _hoisted_1),\n (_ctx.vm.link)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 0,\n class: _normalizeClass([\"my-2\", {\r\n\t\t\t\t\t\t[_ctx.ctaButtonClass(_ctx.vm.linkStyle)]: _ctx.ctaButtonClass(_ctx.vm.linkStyle),\r\n\t\t\t\t\t\t'p-button-success p-button-raised p-button-arrow': !_ctx.ctaButtonClass(_ctx.vm.linkStyle),\r\n\t\t\t\t\t}]),\n href: _ctx.vm.link.url,\n label: _ctx.vm.link.text,\n target: _ctx.vm.link.target,\n title: _ctx.vm.link.title,\n url: _ctx.vm.link.url\n }, null, 8, [\"class\", \"href\", \"label\", \"target\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n })\n ]))\n}","<template>\r\n\t<div>\r\n\t\t<Card>\r\n\t\t\t<template #content>\r\n\t\t\t\t<p class=\"text-preline\" v-html=\"vm.intro\" />\r\n\t\t\t\t<LinkButton\r\n\t\t\t\t\tv-if=\"vm.link\"\r\n\t\t\t\t\tclass=\"my-2\"\r\n\t\t\t\t\t:class=\"{\r\n\t\t\t\t\t\t[ctaButtonClass(vm.linkStyle)]: ctaButtonClass(vm.linkStyle),\r\n\t\t\t\t\t\t'p-button-success p-button-raised p-button-arrow': !ctaButtonClass(vm.linkStyle),\r\n\t\t\t\t\t}\"\r\n\t\t\t\t\t:href=\"vm.link.url\"\r\n\t\t\t\t\t:label=\"vm.link.text\"\r\n\t\t\t\t\t:target=\"vm.link.target\"\r\n\t\t\t\t\t:title=\"vm.link.title\"\r\n\t\t\t\t\t:url=\"vm.link.url\"\r\n\t\t\t\t/>\r\n\t\t\t</template>\r\n\t\t</Card>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseBlock from \"@/components/base/baseBlock.vue\";\r\nimport { CallToActionSimpleBlockViewModel } from \"@/types/viewModels/blocks/callToActionSimpleBlockViewModel\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\n\r\n@Component\r\nexport default class CallToActionSimpleBlock extends BaseBlock {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<CallToActionSimpleBlockViewModel>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: CallToActionSimpleBlockViewModel;\r\n\r\n\tcreated(): void {\r\n\t\tLog.info(\"CallToActionSimpleBlock\", this.vm);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n::v-deep(.p-card) {\r\n\t.p-card-content {\r\n\t\tpadding: 0;\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./callToActionSimpleBlock.vue?vue&type=template&id=613645d9&scoped=true&ts=true\"\nimport script from \"./callToActionSimpleBlock.vue?vue&type=script&lang=ts\"\nexport * from \"./callToActionSimpleBlock.vue?vue&type=script&lang=ts\"\n\nimport \"./callToActionSimpleBlock.vue?vue&type=style&index=0&id=613645d9&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-613645d9\"]])\n\nexport default __exports__","import { render } from \"./supportFaq.vue?vue&type=template&id=18deaffa&scoped=true&ts=true\"\nimport script from \"./supportFaq.vue?vue&type=script&lang=ts\"\nexport * from \"./supportFaq.vue?vue&type=script&lang=ts\"\n\nimport \"./supportFaq.vue?vue&type=style&index=0&id=18deaffa&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-18deaffa\"]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1e222702\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"container\" }\nconst _hoisted_2 = { class: \"row my-4\" }\nconst _hoisted_3 = { class: \"col-12 mb-2\" }\nconst _hoisted_4 = { class: \"col-md-8 col-xl-9\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"display-4\"\n}\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", { class: \"mb-0 mt-2\" }, null, -1))\nconst _hoisted_7 = { class: \"text-color-secondary text-right mb-3\" }\nconst _hoisted_8 = [\"innerHTML\"]\nconst _hoisted_9 = {\n key: 0,\n class: \"col-md-4 col-xl-3\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_BackButton = _resolveComponent(\"BackButton\")!\n const _component_CallToActionSimpleBlock = _resolveComponent(\"CallToActionSimpleBlock\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode(_component_BackButton, {\n label: _ctx.$t('common.back')\n }, null, 8, [\"label\"])\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n (_ctx.article.title)\n ? (_openBlock(), _createElementBlock(\"h1\", _hoisted_5, _toDisplayString(_ctx.article.title), 1))\n : _createCommentVNode(\"\", true),\n _hoisted_6,\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"small\", null, _toDisplayString(_ctx.$t(\"common.lastModified\", { date: _ctx.formatLongDate(_ctx.article.modifiedDate) })), 1)\n ]),\n _createElementVNode(\"p\", {\n class: \"rte\",\n innerHTML: _ctx.article.description\n }, null, 8, _hoisted_8)\n ]),\n (_ctx.vm.questionBlockViewModel)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", {\n class: _normalizeClass({ 'sticky-sidebar': !_ctx.isSmallScreen })\n }, [\n _createVNode(_component_CallToActionSimpleBlock, {\n vm: _ctx.vm.questionBlockViewModel\n }, null, 8, [\"vm\"])\n ], 2)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}","<template>\r\n\t<div class=\"container\">\r\n\t\t<div class=\"row my-4\">\r\n\t\t\t<div class=\"col-12 mb-2\">\r\n\t\t\t\t<BackButton :label=\"$t('common.back')\" />\r\n\t\t\t</div>\r\n\t\t\t<div class=\"col-md-8 col-xl-9\">\r\n\t\t\t\t<h1 v-if=\"article.title\" class=\"display-4\">{{ article.title }}</h1>\r\n\t\t\t\t<hr class=\"mb-0 mt-2\" />\r\n\t\t\t\t<div class=\"text-color-secondary text-right mb-3\">\r\n\t\t\t\t\t<small>{{ $t(\"common.lastModified\", { date: formatLongDate(article.modifiedDate) }) }}</small>\r\n\t\t\t\t</div>\r\n\t\t\t\t<p class=\"rte\" v-html=\"article.description\" />\r\n\t\t\t</div>\r\n\t\t\t<div v-if=\"vm.questionBlockViewModel\" class=\"col-md-4 col-xl-3\">\r\n\t\t\t\t<div :class=\"{ 'sticky-sidebar': !isSmallScreen }\">\r\n\t\t\t\t\t<CallToActionSimpleBlock :vm=\"vm.questionBlockViewModel\" />\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport CallToActionSimpleBlock from \"@/views/blocks/callToActionSimpleBlock.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { FaqArticlePageViewModel } from \"@/types/models/support/faqArticlePageViewModel\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { SupportFaqArticleViewModel } from \"@/types/viewModels/commerce/supportFaqArticleViewModel\";\r\nimport BackButton from \"@/components/common/backButton.vue\";\r\n\r\n@Component({\r\n\tcomponents: { BackButton, CallToActionSimpleBlock },\r\n})\r\nexport default class SupportFaqArticle extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<SupportFaqArticleViewModel>, required: true, default: {} })\r\n\tvm!: SupportFaqArticleViewModel;\r\n\r\n\tcreated(): void {\r\n\t\tLog.info(\"supportFaqArticle\", this.vm);\r\n\t}\r\n\r\n\tget article(): FaqArticlePageViewModel {\r\n\t\treturn this.vm.faqArticle;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.sticky-sidebar {\r\n\tposition: sticky;\r\n\ttop: calc(var(--navbarHeightInPx) + 2rem);\r\n}\r\n</style>\r\n","import { render } from \"./supportFaqArticle.vue?vue&type=template&id=1e222702&scoped=true&ts=true\"\nimport script from \"./supportFaqArticle.vue?vue&type=script&lang=ts\"\nexport * from \"./supportFaqArticle.vue?vue&type=script&lang=ts\"\n\nimport \"./supportFaqArticle.vue?vue&type=style&index=0&id=1e222702&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1e222702\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createBlock as _createBlock, createTextVNode as _createTextVNode, createVNode as _createVNode, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-ea306c16\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"mb-1\"\n}\nconst _hoisted_2 = [\"innerHTML\"]\nconst _hoisted_3 = { class: \"row my-2\" }\nconst _hoisted_4 = { class: \"col mb-1\" }\nconst _hoisted_5 = { class: \"d-flex flex-column\" }\nconst _hoisted_6 = { class: \"mb-1\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"popover-icon pi pi-question\" }, null, -1))\nconst _hoisted_8 = { class: \"mb-0 pr-1\" }\nconst _hoisted_9 = { class: \"d-flex\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"svg\", {\n height: \"30\",\n width: \"30\"\n}, [\n /*#__PURE__*/_createElementVNode(\"use\", { \"xlink:href\": \"#icon-cadac\" })\n], -1))\nconst _hoisted_11 = { class: \"mb-0 text-bold\" }\nconst _hoisted_12 = { class: \"row mb-2\" }\nconst _hoisted_13 = { class: \"col mb-1\" }\nconst _hoisted_14 = { class: \"d-flex flex-column\" }\nconst _hoisted_15 = { class: \"mb-1\" }\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"popover-icon pi pi-question\" }, null, -1))\nconst _hoisted_17 = { class: \"mb-0 pr-1\" }\nconst _hoisted_18 = {\n key: 0,\n class: \"d-flex align-items-center\"\n}\nconst _hoisted_19 = { class: \"icon-available-tickets\" }\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"svg\", {\n fill: \"#000\",\n height: \"22\",\n width: \"22\"\n}, [\n /*#__PURE__*/_createElementVNode(\"use\", { \"xlink:href\": \"#icon-support-avatar\" })\n], -1))\nconst _hoisted_21 = { class: \"row mb-2\" }\nconst _hoisted_22 = { class: \"col mb-1\" }\nconst _hoisted_23 = { class: \"d-flex flex-column\" }\nconst _hoisted_24 = { class: \"mb-1\" }\nconst _hoisted_25 = { class: \"mb-0 pr-1\" }\nconst _hoisted_26 = { class: \"p-inputgroup\" }\nconst _hoisted_27 = { class: \"d-flex justify-content-between align-items-center\" }\nconst _hoisted_28 = { class: \"d-flex align-items-center\" }\nconst _hoisted_29 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"svg\", {\n height: \"30\",\n width: \"30\"\n}, [\n /*#__PURE__*/_createElementVNode(\"use\", { \"xlink:href\": \"#icon-cadac\" })\n], -1))\nconst _hoisted_30 = { class: \"mb-0 text-bold\" }\nconst _hoisted_31 = { class: \"mb-0 text-bold\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_PopoverIcon = _resolveComponent(\"PopoverIcon\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_Panel = _resolveComponent(\"Panel\")!\n const _component_AutoComplete = _resolveComponent(\"AutoComplete\")!\n const _component_ProductAddedModal = _resolveComponent(\"ProductAddedModal\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (_ctx.vm.pageTitle)\n ? (_openBlock(), _createElementBlock(\"h1\", _hoisted_1, _toDisplayString(_ctx.vm.pageTitle), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.introText)\n ? (_openBlock(), _createElementBlock(\"p\", {\n key: 1,\n class: \"lead\",\n innerHTML: _ctx.vm.introText\n }, null, 8, _hoisted_2))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(_component_Panel, {\n id: \"panel-supportSubscriptions\",\n toggleable: false\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"h3\", _hoisted_6, [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.supportOverview.panel.titleSupportSubscriptions\")) + \" \", 1),\n (_ctx.vm.supportSubscriptionsHelpText)\n ? (_openBlock(), _createBlock(_component_PopoverIcon, {\n key: 0,\n class: \"d-inline-flex\",\n content: _ctx.vm.supportSubscriptionsHelpText,\n placement: \"right\"\n }, {\n default: _withCtx(() => [\n _hoisted_7\n ]),\n _: 1\n }, 8, [\"content\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"p\", _hoisted_8, _toDisplayString(_ctx.$t(\"myCadac.supportOverview.panel.subtitleSupportSubscriptions\")), 1)\n ]),\n (_ctx.vm.supportContractSupportAssets?.length)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-raised p-button-success p-button-arrow p-button-sm\",\n disabled: !_ctx.urlToCreateTicketForAsset,\n label: _ctx.$t('myCadac.supportOverview.button.submitSupportRequest'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => {\r\n\t\t\t\t\t\t\t_ctx.openUrl(_ctx.urlToCreateTicketForAsset);\r\n\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t})\n }, null, 8, [\"disabled\", \"label\"]))\n : _createCommentVNode(\"\", true)\n ]),\n default: _withCtx(() => [\n (_ctx.vm.supportContractSupportAssets?.length)\n ? (_openBlock(), _createBlock(_component_DataTable, {\n key: 0,\n selection: _ctx.selectedSupportContractAsset,\n \"onUpdate:selection\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.selectedSupportContractAsset) = $event)),\n \"removable-sort\": \"\",\n \"responsive-layout\": \"scroll\",\n \"selection-mode\": \"single\",\n value: _ctx.vm.supportContractSupportAssets\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Column, {\n field: \"title\",\n sortable: false\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_9, [\n (item.data.icon)\n ? (_openBlock(), _createBlock(_component_Avatar, {\n key: 0,\n alt: \"product-icon\",\n class: \"mr-1 bg-transparent\",\n image: item.data.icon,\n shape: \"square\"\n }, null, 8, [\"image\"]))\n : (_openBlock(), _createBlock(_component_Avatar, {\n key: 1,\n alt: \"product-icon\",\n class: \"mr-1 bg-transparent\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [\n _hoisted_10\n ]),\n _: 1\n })),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"p\", _hoisted_11, _toDisplayString(item.data.title), 1)\n ])\n ])\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"selection\", \"value\"]))\n : _createCommentVNode(\"\", true),\n (!_ctx.vm.supportContractSupportAssets?.length)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 1,\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.supportOverview.panel.noSupportSubscriptionsMessage\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n })\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", _hoisted_13, [\n _createVNode(_component_Panel, {\n id: \"panel-supportTickets\",\n toggleable: false\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"h3\", _hoisted_15, [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.supportOverview.panel.titleTickets\")) + \" \", 1),\n (_ctx.vm.supportTicketsHelpText)\n ? (_openBlock(), _createBlock(_component_PopoverIcon, {\n key: 0,\n class: \"d-inline-flex\",\n content: _ctx.vm.supportTicketsHelpText,\n placement: \"right\"\n }, {\n default: _withCtx(() => [\n _hoisted_16\n ]),\n _: 1\n }, 8, [\"content\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"p\", _hoisted_17, _toDisplayString(_ctx.$t(\"myCadac.supportOverview.panel.subtitleTickets\")), 1)\n ]),\n _createVNode(_component_Button, {\n class: \"p-button-raised p-button-success p-button-arrow p-button-sm\",\n label: _ctx.$t('myCadac.supportOverview.button.submitSupportRequest'),\n onClick: _cache[2] || (_cache[2] = ($event: any) => {\r\n\t\t\t\t\t\t\t_ctx.openUrl(_ctx.vm.supportTicketsCreatePageUrl);\r\n\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t})\n }, null, 8, [\"label\"])\n ]),\n default: _withCtx(() => [\n (_ctx.vm.availableAmountOfSupportTickets)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_18, [\n _createElementVNode(\"div\", _hoisted_19, [\n _hoisted_20,\n _createElementVNode(\"strong\", null, _toDisplayString(_ctx.vm.availableAmountOfSupportTickets), 1)\n ]),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$tc(\r\n\t\t\t\t\t\t\t\t\"myCadac.supportOverview.panel.availableTickets\",\r\n\t\t\t\t\t\t\t\t_ctx.vm.availableAmountOfSupportTickets\r\n\t\t\t\t\t\t\t)), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (!_ctx.vm.availableAmountOfSupportTickets)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 1,\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.supportOverview.panel.noTicketsMessage\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.supportTicketsBuyPageUrl)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 2,\n class: \"p-button-raised p-button-primary\",\n label: _ctx.$t('myCadac.supportOverview.button.buyTickets'),\n onClick: _cache[3] || (_cache[3] = ($event: any) => {\r\n\t\t\t\t\t\t_ctx.openUrl(_ctx.vm.supportTicketsBuyPageUrl);\r\n\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t})\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n })\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_21, [\n _createElementVNode(\"div\", _hoisted_22, [\n _createVNode(_component_Panel, {\n id: \"panel-addSoftware\",\n toggleable: false\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_23, [\n _createElementVNode(\"h3\", _hoisted_24, _toDisplayString(_ctx.$t(\"myCadac.supportOverview.panel.titleAddSoftware\")), 1),\n _createElementVNode(\"p\", _hoisted_25, _toDisplayString(_ctx.$t(\"myCadac.supportOverview.panel.subtitleAddSoftware\")), 1)\n ]),\n _createVNode(_component_Button, {\n class: \"p-button-raised p-button-success p-button-arrow p-button-sm ml-auto\",\n disabled: !_ctx.productsToAdd.length,\n label: _ctx.$t('myCadac.supportOverview.button.addProductsToCart'),\n onClick: _cache[4] || (_cache[4] = ($event: any) => (_ctx.addSupportProductToCart()))\n }, null, 8, [\"disabled\", \"label\"])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_26, [\n _createVNode(_component_AutoComplete, {\n modelValue: _ctx.selectedProducts,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event: any) => ((_ctx.selectedProducts) = $event)),\n \"force-selection\": \"\",\n \"min-length\": 2,\n multiple: true,\n \"option-label\": \"title\",\n placeholder: _ctx.$t('myCadac.supportOverview.autocomplete.placeholder'),\n suggestions: _ctx.searchProductResults,\n onComplete: _cache[6] || (_cache[6] = ($event: any) => (_ctx.onSearchTrigger($event)))\n }, {\n option: _withCtx(({ option }) => [\n _createElementVNode(\"div\", _hoisted_27, [\n _createElementVNode(\"div\", _hoisted_28, [\n (option.icon)\n ? (_openBlock(), _createBlock(_component_Avatar, {\n key: 0,\n alt: \"product-icon\",\n class: \"mr-1 bg-transparent\",\n image: option.icon,\n shape: \"square\"\n }, null, 8, [\"image\"]))\n : (_openBlock(), _createBlock(_component_Avatar, {\n key: 1,\n alt: \"product-icon\",\n class: \"mr-1 bg-transparent\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [\n _hoisted_29\n ]),\n _: 1\n })),\n _createElementVNode(\"p\", _hoisted_30, _toDisplayString(option.title), 1)\n ]),\n _createElementVNode(\"p\", _hoisted_31, _toDisplayString(_ctx.$t(\"myCadac.supportOverview.autocomplete.yearPrice\", {\r\n\t\t\t\t\t\t\t\t\t\t\tprice: _ctx.formatCurrency(option.yearPrice),\r\n\t\t\t\t\t\t\t\t\t\t})), 1)\n ])\n ]),\n _: 1\n }, 8, [\"modelValue\", \"placeholder\", \"suggestions\"]),\n _createVNode(_component_Button, {\n class: \"p-button-primary\",\n icon: \"pi pi-search\"\n })\n ]),\n (_ctx.searchProductNoResults)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.supportOverview.autocomplete.msgNoResults\", { query: _ctx.searchQuery })), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n })\n ])\n ]),\n (_ctx.cartStore.showProductAddedModal)\n ? (_openBlock(), _createBlock(_component_ProductAddedModal, {\n key: 2,\n vm: _ctx.productAddedVm\n }, null, 8, [\"vm\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<h1 v-if=\"vm.pageTitle\" class=\"mb-1\">{{ vm.pageTitle }}</h1>\r\n\t<p v-if=\"vm.introText\" class=\"lead\" v-html=\"vm.introText\" />\r\n\r\n\t<div class=\"row my-2\">\r\n\t\t<div class=\"col mb-1\">\r\n\t\t\t<Panel id=\"panel-supportSubscriptions\" :toggleable=\"false\">\r\n\t\t\t\t<template #header>\r\n\t\t\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t\t\t<h3 class=\"mb-1\">\r\n\t\t\t\t\t\t\t{{ $t(\"myCadac.supportOverview.panel.titleSupportSubscriptions\") }}\r\n\t\t\t\t\t\t\t<PopoverIcon\r\n\t\t\t\t\t\t\t\tv-if=\"vm.supportSubscriptionsHelpText\"\r\n\t\t\t\t\t\t\t\tclass=\"d-inline-flex\"\r\n\t\t\t\t\t\t\t\t:content=\"vm.supportSubscriptionsHelpText\"\r\n\t\t\t\t\t\t\t\tplacement=\"right\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<i class=\"popover-icon pi pi-question\" />\r\n\t\t\t\t\t\t\t</PopoverIcon>\r\n\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t<p class=\"mb-0 pr-1\">\r\n\t\t\t\t\t\t\t{{ $t(\"myCadac.supportOverview.panel.subtitleSupportSubscriptions\") }}\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\tv-if=\"vm.supportContractSupportAssets?.length\"\r\n\t\t\t\t\t\tclass=\"p-button-raised p-button-success p-button-arrow p-button-sm\"\r\n\t\t\t\t\t\t:disabled=\"!urlToCreateTicketForAsset\"\r\n\t\t\t\t\t\t:label=\"$t('myCadac.supportOverview.button.submitSupportRequest')\"\r\n\t\t\t\t\t\t@click=\"\r\n\t\t\t\t\t\t\topenUrl(urlToCreateTicketForAsset);\r\n\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</template>\r\n\t\t\t\t<DataTable\r\n\t\t\t\t\tv-if=\"vm.supportContractSupportAssets?.length\"\r\n\t\t\t\t\tv-model:selection=\"selectedSupportContractAsset\"\r\n\t\t\t\t\tremovable-sort\r\n\t\t\t\t\tresponsive-layout=\"scroll\"\r\n\t\t\t\t\tselection-mode=\"single\"\r\n\t\t\t\t\t:value=\"vm.supportContractSupportAssets\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<Column field=\"title\" :sortable=\"false\">\r\n\t\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t\t<div class=\"d-flex\">\r\n\t\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\t\tv-if=\"item.data.icon\"\r\n\t\t\t\t\t\t\t\t\talt=\"product-icon\"\r\n\t\t\t\t\t\t\t\t\tclass=\"mr-1 bg-transparent\"\r\n\t\t\t\t\t\t\t\t\t:image=\"item.data.icon\"\r\n\t\t\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t<Avatar v-else alt=\"product-icon\" class=\"mr-1 bg-transparent\" shape=\"square\">\r\n\t\t\t\t\t\t\t\t\t<svg height=\"30\" width=\"30\">\r\n\t\t\t\t\t\t\t\t\t\t<use xlink:href=\"#icon-cadac\"></use>\r\n\t\t\t\t\t\t\t\t\t</svg>\r\n\t\t\t\t\t\t\t\t</Avatar>\r\n\t\t\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t\t\t<p class=\"mb-0 text-bold\">{{ item.data.title }}</p>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</Column>\r\n\t\t\t\t</DataTable>\r\n\t\t\t\t<Message v-if=\"!vm.supportContractSupportAssets?.length\" :closable=\"false\" severity=\"warn\">\r\n\t\t\t\t\t{{ $t(\"myCadac.supportOverview.panel.noSupportSubscriptionsMessage\") }}\r\n\t\t\t\t</Message>\r\n\t\t\t</Panel>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div class=\"row mb-2\">\r\n\t\t<div class=\"col mb-1\">\r\n\t\t\t<Panel id=\"panel-supportTickets\" :toggleable=\"false\">\r\n\t\t\t\t<template #header>\r\n\t\t\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t\t\t<h3 class=\"mb-1\">\r\n\t\t\t\t\t\t\t{{ $t(\"myCadac.supportOverview.panel.titleTickets\") }}\r\n\r\n\t\t\t\t\t\t\t<PopoverIcon\r\n\t\t\t\t\t\t\t\tv-if=\"vm.supportTicketsHelpText\"\r\n\t\t\t\t\t\t\t\tclass=\"d-inline-flex\"\r\n\t\t\t\t\t\t\t\t:content=\"vm.supportTicketsHelpText\"\r\n\t\t\t\t\t\t\t\tplacement=\"right\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<i class=\"popover-icon pi pi-question\" />\r\n\t\t\t\t\t\t\t</PopoverIcon>\r\n\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t<p class=\"mb-0 pr-1\">\r\n\t\t\t\t\t\t\t{{ $t(\"myCadac.supportOverview.panel.subtitleTickets\") }}\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\tclass=\"p-button-raised p-button-success p-button-arrow p-button-sm\"\r\n\t\t\t\t\t\t:label=\"$t('myCadac.supportOverview.button.submitSupportRequest')\"\r\n\t\t\t\t\t\t@click=\"\r\n\t\t\t\t\t\t\topenUrl(vm.supportTicketsCreatePageUrl);\r\n\t\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\t\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</template>\r\n\t\t\t\t<div v-if=\"vm.availableAmountOfSupportTickets\" class=\"d-flex align-items-center\">\r\n\t\t\t\t\t<div class=\"icon-available-tickets\">\r\n\t\t\t\t\t\t<svg fill=\"#000\" height=\"22\" width=\"22\">\r\n\t\t\t\t\t\t\t<use xlink:href=\"#icon-support-avatar\"></use>\r\n\t\t\t\t\t\t</svg>\r\n\t\t\t\t\t\t<strong>{{ vm.availableAmountOfSupportTickets }}</strong>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<span>\r\n\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t$tc(\r\n\t\t\t\t\t\t\t\t\"myCadac.supportOverview.panel.availableTickets\",\r\n\t\t\t\t\t\t\t\tvm.availableAmountOfSupportTickets\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t</span>\r\n\t\t\t\t</div>\r\n\t\t\t\t<Message v-if=\"!vm.availableAmountOfSupportTickets\" :closable=\"false\" severity=\"warn\">\r\n\t\t\t\t\t{{ $t(\"myCadac.supportOverview.panel.noTicketsMessage\") }}\r\n\t\t\t\t</Message>\r\n\t\t\t\t<Button\r\n\t\t\t\t\tv-if=\"vm.supportTicketsBuyPageUrl\"\r\n\t\t\t\t\tclass=\"p-button-raised p-button-primary\"\r\n\t\t\t\t\t:label=\"$t('myCadac.supportOverview.button.buyTickets')\"\r\n\t\t\t\t\t@click=\"\r\n\t\t\t\t\t\topenUrl(vm.supportTicketsBuyPageUrl);\r\n\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\"\r\n\t\t\t\t/>\r\n\t\t\t</Panel>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div class=\"row mb-2\">\r\n\t\t<div class=\"col mb-1\">\r\n\t\t\t<Panel id=\"panel-addSoftware\" :toggleable=\"false\">\r\n\t\t\t\t<template #header>\r\n\t\t\t\t\t<div class=\"d-flex flex-column\">\r\n\t\t\t\t\t\t<h3 class=\"mb-1\">\r\n\t\t\t\t\t\t\t{{ $t(\"myCadac.supportOverview.panel.titleAddSoftware\") }}\r\n\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t<p class=\"mb-0 pr-1\">\r\n\t\t\t\t\t\t\t{{ $t(\"myCadac.supportOverview.panel.subtitleAddSoftware\") }}\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\tclass=\"p-button-raised p-button-success p-button-arrow p-button-sm ml-auto\"\r\n\t\t\t\t\t\t:disabled=\"!productsToAdd.length\"\r\n\t\t\t\t\t\t:label=\"$t('myCadac.supportOverview.button.addProductsToCart')\"\r\n\t\t\t\t\t\t@click=\"addSupportProductToCart()\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</template>\r\n\t\t\t\t<div class=\"p-inputgroup\">\r\n\t\t\t\t\t<AutoComplete\r\n\t\t\t\t\t\tv-model=\"selectedProducts\"\r\n\t\t\t\t\t\tforce-selection\r\n\t\t\t\t\t\t:min-length=\"2\"\r\n\t\t\t\t\t\t:multiple=\"true\"\r\n\t\t\t\t\t\toption-label=\"title\"\r\n\t\t\t\t\t\t:placeholder=\"$t('myCadac.supportOverview.autocomplete.placeholder')\"\r\n\t\t\t\t\t\t:suggestions=\"searchProductResults\"\r\n\t\t\t\t\t\t@complete=\"onSearchTrigger($event)\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<template #option=\"{ option }\">\r\n\t\t\t\t\t\t\t<div class=\"d-flex justify-content-between align-items-center\">\r\n\t\t\t\t\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\t\t\tv-if=\"option.icon\"\r\n\t\t\t\t\t\t\t\t\t\talt=\"product-icon\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"mr-1 bg-transparent\"\r\n\t\t\t\t\t\t\t\t\t\t:image=\"option.icon\"\r\n\t\t\t\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t<Avatar v-else alt=\"product-icon\" class=\"mr-1 bg-transparent\" shape=\"square\">\r\n\t\t\t\t\t\t\t\t\t\t<svg height=\"30\" width=\"30\">\r\n\t\t\t\t\t\t\t\t\t\t\t<use xlink:href=\"#icon-cadac\"></use>\r\n\t\t\t\t\t\t\t\t\t\t</svg>\r\n\t\t\t\t\t\t\t\t\t</Avatar>\r\n\t\t\t\t\t\t\t\t\t<p class=\"mb-0 text-bold\">{{ option.title }}</p>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<p class=\"mb-0 text-bold\">\r\n\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t$t(\"myCadac.supportOverview.autocomplete.yearPrice\", {\r\n\t\t\t\t\t\t\t\t\t\t\tprice: formatCurrency(option.yearPrice),\r\n\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</AutoComplete>\r\n\t\t\t\t\t<Button class=\"p-button-primary\" icon=\"pi pi-search\" />\r\n\t\t\t\t</div>\r\n\t\t\t\t<Message v-if=\"searchProductNoResults\" :closable=\"false\" severity=\"warn\">\r\n\t\t\t\t\t{{ $t(\"myCadac.supportOverview.autocomplete.msgNoResults\", { query: searchQuery }) }}\r\n\t\t\t\t</Message>\r\n\t\t\t</Panel>\r\n\t\t</div>\r\n\t</div>\r\n\t<ProductAddedModal v-if=\"cartStore.showProductAddedModal\" :vm=\"productAddedVm\" />\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport AutoComplete from \"primevue/autocomplete\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport ProductAddedModal from \"@/components/commerce/productAddedModal.vue\";\r\nimport { BaseProductItemViewModel } from \"@/types/models/common/baseProductItemViewModel\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { IProductAddedModal } from \"@/types/viewModels/commerce/productAddedModalViewModel\";\r\nimport { ISupportOverview } from \"@/types/viewModels/myCadac/supportOverviewViewModel\";\r\nimport { ItemProductType } from \"@/types/enum/itemProductType\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { SupportAddToCart } from \"@/types/generated/Api/supportAddToCart\";\r\nimport { SupportVariationViewModel } from \"@/types/models/support/supportVariationViewModel\";\r\nimport { useCartStore } from \"@/store/commerce/cartStore\";\r\n\r\n@Component({ components: { AutoComplete, ProductAddedModal } })\r\nexport default class SupportOverview extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<ISupportOverview>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: ISupportOverview;\r\n\r\n\tisLoading = false;\r\n\tshowProductAddedModal = false;\r\n\tsearchProductNoResults = false;\r\n\tsearchQuery = \"\";\r\n\tsearchProductResults: SupportVariationViewModel[] = [];\r\n\tselectedSupportContractAsset!: SupportVariationViewModel;\r\n\tselectedProducts: SupportVariationViewModel[] = [];\r\n\r\n\tcartStore = useCartStore();\r\n\r\n\tget urlToCreateTicketForAsset(): string {\r\n\t\treturn this.selectedSupportContractAsset?.sku\r\n\t\t\t? `${this.vm.supportTicketsCreatePageUrl}?cat=${this.vm.askAQuestionSupportCategoryId}&sku=${this.selectedSupportContractAsset.sku}`\r\n\t\t\t: this.selectedSupportContractAsset?.id\r\n\t\t\t\t? `${this.vm.supportTicketsCreatePageUrl}?cat=${this.vm.askAQuestionSupportCategoryId}&sku=null`\r\n\t\t\t\t: \"\";\r\n\t}\r\n\r\n\tget productAddedVm(): IProductAddedModal {\r\n\t\treturn {\r\n\t\t\tproduct: {\r\n\t\t\t\t...this.vm.supportProductViewModel,\r\n\t\t\t\tproductType: ItemProductType.Other,\r\n\t\t\t} as BaseProductItemViewModel,\r\n\t\t\tcrossSellProducts: this.vm.supportProductViewModel?.relatedCrossSellProducts,\r\n\t\t};\r\n\t}\r\n\r\n\tget productsToAdd(): SupportVariationViewModel[] {\r\n\t\treturn this.selectedProducts.filter((x) => !x.addedToCart);\r\n\t}\r\n\r\n\tget productAddedToCart(): SupportVariationViewModel[] {\r\n\t\treturn this.selectedProducts.filter((x) => x.addedToCart);\r\n\t}\r\n\r\n\tonSearchTrigger({ query }: { query: string }): void {\r\n\t\tthis.isLoading = true;\r\n\t\tthis.searchQuery = query;\r\n\t\tconst existingIds = this.vm.supportContractSupportAssets.map((x) => x.id).join(\"|\");\r\n\t\tthis.axios\r\n\t\t\t.get(`/api/${this.vm.localizationPrefix}/support/searchvariations`, { params: { query, existingIds } })\r\n\t\t\t.then(({ data }) => {\r\n\t\t\t\tthis.searchProductResults = data.results;\r\n\t\t\t\tthis.searchProductNoResults = data.results?.length === 0;\r\n\t\t\t})\r\n\t\t\t.catch((err) => Log.error(err))\r\n\t\t\t.finally(() => (this.isLoading = false));\r\n\t}\r\n\r\n\taddSupportProductToCart(): void {\r\n\t\tthis.isLoading = true;\r\n\t\tconst data = {\r\n\t\t\tsupportVariationCodes: this.productsToAdd.map((x) => x.id),\r\n\t\t} as SupportAddToCart;\r\n\t\tthis.axios\r\n\t\t\t.post(`/api/cart/add-support`, data)\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.cartStore.showModal(\"ProductAdded\");\r\n\t\t\t\tthis.selectedProducts = [\r\n\t\t\t\t\t...this.selectedProducts.map((x) => {\r\n\t\t\t\t\t\tx.addedToCart = true;\r\n\t\t\t\t\t\treturn x;\r\n\t\t\t\t\t}),\r\n\t\t\t\t];\r\n\t\t\t})\r\n\t\t\t.catch(() =>\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"common.messages.addToCartError\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t\t.finally(() => (this.isLoading = false));\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.icon-available-tickets {\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tpadding: 0.5em 0.75em;\r\n\tborder: 1px solid var(--surface-d);\r\n\tborder-radius: 0.25em;\r\n\tmargin: 1rem 0.5rem 1rem 0;\r\n\tcolor: var(--primary);\r\n\r\n\tsvg {\r\n\t\tcolor: black;\r\n\t\tmargin-right: 5px;\r\n\t}\r\n}\r\n\r\n::v-deep(#panel-supportSubscriptions) {\r\n\t.p-datatable-thead {\r\n\t\tdisplay: none;\r\n\t}\r\n\r\n\t.p-datatable-tbody > tr.p-highlight {\r\n\t\tbackground: var(--bg-highlight);\r\n\t\tcolor: var(--primary);\r\n\t\toutline-color: var(--primary);\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./supportOverview.vue?vue&type=template&id=ea306c16&scoped=true&ts=true\"\nimport script from \"./supportOverview.vue?vue&type=script&lang=ts\"\nexport * from \"./supportOverview.vue?vue&type=script&lang=ts\"\n\nimport \"./supportOverview.vue?vue&type=style&index=0&id=ea306c16&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-ea306c16\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, renderSlot as _renderSlot, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2987f734\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"mr-1\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-exclamation-circle\" }, null, -1))\nconst _hoisted_3 = [\"href\"]\nconst _hoisted_4 = { class: \"p-inputgroup\" }\nconst _hoisted_5 = { class: \"d-flex justify-content-between align-items-center\" }\nconst _hoisted_6 = { class: \"d-flex align-items-center\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"svg\", {\n height: \"30\",\n width: \"30\"\n}, [\n /*#__PURE__*/_createElementVNode(\"use\", { \"xlink:href\": \"#icon-cadac\" })\n], -1))\nconst _hoisted_8 = { class: \"mb-0 text-bold\" }\nconst _hoisted_9 = {\n key: 0,\n class: \"mb-0\"\n}\nconst _hoisted_10 = { class: \"ml-1\" }\nconst _hoisted_11 = {\n key: 1,\n class: \"mb-0\"\n}\nconst _hoisted_12 = { class: \"product-config-step-subtitle\" }\nconst _hoisted_13 = {\n key: 0,\n class: \"mb-0 text-bold\"\n}\nconst _hoisted_14 = [\"title\", \"onClick\"]\nconst _hoisted_15 = {\n key: 1,\n class: \"mb-0 text-bold\"\n}\nconst _hoisted_16 = { class: \"px-2\" }\nconst _hoisted_17 = { class: \"d-flex\" }\nconst _hoisted_18 = { class: \"text-muted lead text-right\" }\nconst _hoisted_19 = { key: 0 }\nconst _hoisted_20 = { key: 1 }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_PopoverIcon = _resolveComponent(\"PopoverIcon\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_AutoComplete = _resolveComponent(\"AutoComplete\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_ProductConfigurationStep = _resolveComponent(\"ProductConfigurationStep\")!\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_AvatarGroup = _resolveComponent(\"AvatarGroup\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n const _component_ProductConfiguration = _resolveComponent(\"ProductConfiguration\")!\n const _component_ProductOverviewItemCard = _resolveComponent(\"ProductOverviewItemCard\")!\n const _component_ProductPageContentSection = _resolveComponent(\"ProductPageContentSection\")!\n const _component_PriceSummary = _resolveComponent(\"PriceSummary\")!\n const _component_ProductConfigurationSummaryItem = _resolveComponent(\"ProductConfigurationSummaryItem\")!\n const _component_ProductConfigurationSummary = _resolveComponent(\"ProductConfigurationSummary\")!\n const _component_ProductPageSummary = _resolveComponent(\"ProductPageSummary\")!\n const _component_ProductLayout = _resolveComponent(\"ProductLayout\")!\n const _component_ProductAddedModal = _resolveComponent(\"ProductAddedModal\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_ProductLayout, { vm: _ctx.vm }, {\n configuration: _withCtx(() => [\n _createVNode(_component_ProductConfiguration, { class: \"mb-3\" }, {\n default: _withCtx(() => [\n _createVNode(_component_ProductConfigurationStep, { id: \"step-software\" }, {\n header: _withCtx(() => [\n _createElementVNode(\"span\", _hoisted_1, _toDisplayString(_ctx.$t(\"product.lblChooseSoftware\")), 1),\n (_ctx.vm.supportContract?.endDate)\n ? (_openBlock(), _createBlock(_component_PopoverIcon, {\n key: 0,\n class: \"d-inline-flex text-info\",\n placement: \"right\"\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"p\", null, [\n _createVNode(_component_i18n_t, { keypath: \"product.message.contractRenewalDate\" }, {\n date: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.formatDate(_ctx.vm.supportContract.endDate)), 1)\n ]),\n _: 1\n })\n ])\n ]),\n default: _withCtx(() => [\n _hoisted_2\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n error: _withCtx(() => [\n (\r\n\t\t\t\t\t\t\t\t!_ctx.supportProductValidation.get(_ctx.SupportValidationEnum.AtleastOneAsset) && _ctx.submitted\r\n\t\t\t\t\t\t\t)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n id: `validation-msg-${_ctx.SupportValidationEnum.AtleastOneAsset}`,\n closable: false,\n severity: \"error\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"product.message.atleastOneAsset\")), 1)\n ]),\n _: 1\n }, 8, [\"id\"]))\n : _createCommentVNode(\"\", true)\n ]),\n default: _withCtx(() => [\n (!_ctx.layoutStore.isAuthenticated)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n closable: false,\n severity: \"custom\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_i18n_t, { keypath: \"product.message.alreadyHaveSupportLogin\" }, {\n loginLink: _withCtx(() => [\n _createElementVNode(\"a\", { href: _ctx.loginPageUrl }, _toDisplayString(_ctx.$t(\"common.login\")), 9, _hoisted_3)\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(_component_AutoComplete, {\n modelValue: _ctx.selectedProducts,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.selectedProducts) = $event)),\n \"force-selection\": \"\",\n \"min-length\": 2,\n multiple: true,\n \"option-label\": \"title\",\n placeholder: _ctx.$t('myCadac.supportOverview.autocomplete.placeholder'),\n suggestions: _ctx.searchProductResults,\n onComplete: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onSearchTrigger($event)))\n }, {\n option: _withCtx(({ option }) => [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n (option.icon)\n ? (_openBlock(), _createBlock(_component_Avatar, {\n key: 0,\n alt: \"product-icon\",\n class: \"mr-1 bg-transparent\",\n image: option.icon,\n shape: \"square\"\n }, null, 8, [\"image\"]))\n : (_openBlock(), _createBlock(_component_Avatar, {\n key: 1,\n alt: \"product-icon\",\n class: \"mr-1 bg-transparent\",\n shape: \"square\"\n }, {\n default: _withCtx(() => [\n _hoisted_7\n ]),\n _: 1\n })),\n _createElementVNode(\"p\", _hoisted_8, _toDisplayString(option.title), 1)\n ]),\n (_ctx.selectedContract)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_9, [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.formatCurrency(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t(option.yearPrice / 12) * _ctx.selectedContract?.remainingMonths\r\n\t\t\t\t\t\t\t\t\t\t\t\t)), 1),\n _createElementVNode(\"span\", _hoisted_10, \" ( \" + _toDisplayString(_ctx.$t(\"myCadac.supportOverview.autocomplete.yearPrice\", {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tprice: _ctx.formatCurrency(option.yearPrice),\r\n\t\t\t\t\t\t\t\t\t\t\t\t})) + \" ) \", 1)\n ]))\n : (_openBlock(), _createElementBlock(\"b\", _hoisted_11, _toDisplayString(_ctx.$t(\"myCadac.supportOverview.autocomplete.yearPrice\", {\r\n\t\t\t\t\t\t\t\t\t\t\t\tprice: _ctx.formatCurrency(option.yearPrice),\r\n\t\t\t\t\t\t\t\t\t\t\t})), 1))\n ])\n ]),\n _: 1\n }, 8, [\"modelValue\", \"placeholder\", \"suggestions\"]),\n _createVNode(_component_Button, {\n class: \"p-button-primary\",\n icon: \"pi pi-search\"\n })\n ]),\n (_ctx.hasNoSearchResults)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 1,\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.supportOverview.autocomplete.msgNoResults\", { query: _ctx.searchQuery })), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }),\n (_ctx.vm.contractsForProduct?.length && !_ctx.vm.supportContract)\n ? (_openBlock(), _createBlock(_component_ProductConfigurationStep, {\n key: 0,\n id: \"step-contract\"\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(\"product.lblChooseContract\")), 1),\n _createElementVNode(\"span\", null, \"(\" + _toDisplayString(_ctx.$t(\"common.optional\")) + \")\", 1),\n _createElementVNode(\"p\", _hoisted_12, _toDisplayString(_ctx.$t(\"product.lblChooseContract_subtitle\")), 1)\n ]),\n default: _withCtx(() => [\n (_ctx.vm.contractsForProduct?.length)\n ? (_openBlock(), _createBlock(_component_DataTable, {\n key: 0,\n selection: _ctx.selectedContract,\n \"onUpdate:selection\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.selectedContract) = $event)),\n \"auto-layout\": \"\",\n \"data-key\": \"contractNumber\",\n \"meta-key-selection\": false,\n \"selection-mode\": \"single\",\n value: _ctx.vm.contractsForProduct\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Column, {\n class: \"text-lg-center\",\n \"selection-mode\": \"single\",\n style: {\"width\":\"5%\",\"padding\":\"1rem\",\"overflow\":\"hidden\"}\n }),\n _createVNode(_component_Column, {\n key: \"contractNumber\",\n field: \"contractNumber\",\n header: _ctx.$t('contract.contractNumber')\n }, {\n body: _withCtx((item) => [\n (_ctx.userProfile?.isCadacSales || _ctx.userProfile?.isImpersonated)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_13, [\n _createElementVNode(\"a\", {\n href: \"javascript:void(0)\",\n title: _ctx.$t('common.goToCrm'),\n onClick: ($event: any) => (_ctx.openUrl(item.data.crmUrl, '_blank'))\n }, _toDisplayString(item.data.contractNumber), 9, _hoisted_14)\n ]))\n : (_openBlock(), _createElementBlock(\"p\", _hoisted_15, _toDisplayString(item.data.contractNumber), 1))\n ]),\n _: 1\n }, 8, [\"header\"]),\n (!_ctx.isSmallScreen)\n ? (_openBlock(), _createBlock(_component_Column, {\n key: \"products\",\n header: _ctx.$t('contract.assets')\n }, {\n body: _withCtx((item) => [\n _createVNode(_component_AvatarGroup, null, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(item.data.contractAssets?.slice(\r\n\t\t\t\t\t\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\t\t\t\t\t_ctx.maxContractAssetsToShow\r\n\t\t\t\t\t\t\t\t\t\t), (asset, index) => {\n return (_openBlock(), _createBlock(_component_Avatar, {\n key: index,\n alt: asset.iconAlt,\n class: \"ml-0 bg-transparent\",\n image: asset.icon,\n shape: \"square\",\n size: \"small\",\n title: asset.productName\n }, null, 8, [\"alt\", \"image\", \"title\"]))\n }), 128)),\n (item.data.contractAssets?.length > _ctx.maxContractAssetsToShow)\n ? (_openBlock(), _createBlock(_component_Avatar, {\n key: 0,\n class: \"text-bold ml-0\",\n label: `+${item.data.contractAssets?.length - _ctx.maxContractAssetsToShow}`,\n shape: \"square\",\n size: \"small\"\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 2\n }, 1024)\n ]),\n _: 1\n }, 8, [\"header\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Column, {\n key: \"endDate\",\n field: \"endDate\",\n header: _ctx.$t('contract.endDate')\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.formatDate(item.data.endDate)), 1)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"remainingTerm\",\n header: _ctx.$t('contract.remainingDuration')\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$tc(\"common.months\", item.data.remainingMonths)), 1)\n ]),\n _: 1\n }, 8, [\"header\"])\n ]),\n _: 1\n }, 8, [\"selection\", \"value\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }),\n (_ctx.vm.relatedUpSellProducts?.length)\n ? (_openBlock(), _createBlock(_component_ProductPageContentSection, {\n key: 0,\n type: \"upsell\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"h3\", _hoisted_16, _toDisplayString(_ctx.$t(\"product.titleUpSell\")), 1),\n _createElementVNode(\"div\", _hoisted_17, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.relatedUpSellProducts, (product) => {\n return (_openBlock(), _createElementBlock(\"div\", { key: product }, [\n _createVNode(_component_ProductOverviewItemCard, {\n item: product,\n layout: \"grid\"\n }, null, 8, [\"item\"])\n ]))\n }), 128))\n ])\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n summary: _withCtx(() => [\n _createVNode(_component_ProductPageSummary, {\n \"can-submit\": !_ctx.submitted || !_ctx.validateProductConfiguration(),\n \"is-product-available\": _ctx.vm.viewModelIsValid,\n \"total-price\": _ctx.priceSummary?.totalPrice,\n onAddToCart: _cache[4] || (_cache[4] = ($event: any) => (_ctx.addSupportProductToCart()))\n }, {\n priceSummary: _withCtx(() => [\n _createVNode(_component_PriceSummary, { vm: _ctx.priceSummary }, null, 8, [\"vm\"]),\n _createElementVNode(\"p\", _hoisted_18, _toDisplayString(_ctx.$t(\"common.productSummary.allPricesExclVat\")), 1)\n ]),\n configurationSummary: _withCtx(() => [\n _createVNode(_component_ProductConfigurationSummary, {\n header: _ctx.$t('product.titleSummarySupport')\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ProductConfigurationSummaryItem, {\n content: \r\n\t\t\t\t\t\t\t\t_ctx.$tc(\r\n\t\t\t\t\t\t\t\t\t`common.months`,\r\n\t\t\t\t\t\t\t\t\t_ctx.vm.supportContract?.remainingMonths || _ctx.selectedContract?.remainingMonths || 12\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t,\n label: _ctx.$t('myCadac.contractDetail.table.colDuration')\n }, null, 8, [\"content\", \"label\"]),\n _createVNode(_component_ProductConfigurationSummaryItem, {\n label: _ctx.$t('cart.table.colSoftware')\n }, {\n content: _withCtx(() => [\n (_ctx.selectedProducts?.length)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_19, [\n _createVNode(_component_AvatarGroup, null, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.selectedProducts, (product, index) => {\n return (_openBlock(), _createBlock(_component_Avatar, {\n key: index,\n alt: product.iconAlt,\n class: \"bg-transparent\",\n image: product.icon,\n shape: \"square\",\n size: \"large\",\n title: product.title\n }, null, 8, [\"alt\", \"image\", \"title\"]))\n }), 128))\n ]),\n _: 1\n })\n ]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_20, _toDisplayString(_ctx.$t(\"common.none\")), 1))\n ]),\n _: 1\n }, 8, [\"label\"])\n ]),\n _: 1\n }, 8, [\"header\"])\n ]),\n validationMessage: _withCtx(() => [\n (_ctx.validationErrors.length && _ctx.submitted)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n closable: false,\n severity: \"warn\",\n style: {\"cursor\":\"pointer\"},\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.scrollToFirstValidationError()))\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$tc(\"common.productSummary.msgValidationErrors\", _ctx.validationErrors.length)), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"can-submit\", \"is-product-available\", \"total-price\"])\n ]),\n default: _withCtx(() => [\n (_ctx.$slots.blocks)\n ? (_openBlock(), _createBlock(_component_ProductPageContentSection, {\n key: 0,\n type: 'content'\n }, {\n default: _withCtx(() => [\n _renderSlot(_ctx.$slots, \"blocks\", {}, undefined, true)\n ]),\n _: 3\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 3\n }, 8, [\"vm\"]),\n (_ctx.cartStore.showProductAddedModal)\n ? (_openBlock(), _createBlock(_component_ProductAddedModal, {\n key: 0,\n vm: _ctx.productAddedVm\n }, null, 8, [\"vm\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<ProductLayout :vm=\"vm\">\r\n\t\t<template #configuration>\r\n\t\t\t<ProductConfiguration class=\"mb-3\">\r\n\t\t\t\t<ProductConfigurationStep id=\"step-software\">\r\n\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t<span class=\"mr-1\"> {{ $t(\"product.lblChooseSoftware\") }}</span>\r\n\t\t\t\t\t\t<PopoverIcon\r\n\t\t\t\t\t\t\tv-if=\"vm.supportContract?.endDate\"\r\n\t\t\t\t\t\t\tclass=\"d-inline-flex text-info\"\r\n\t\t\t\t\t\t\tplacement=\"right\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<i class=\"pi pi-exclamation-circle\" />\r\n\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t<p>\r\n\t\t\t\t\t\t\t\t\t<i18n-t keypath=\"product.message.contractRenewalDate\">\r\n\t\t\t\t\t\t\t\t\t\t<template #date>\r\n\t\t\t\t\t\t\t\t\t\t\t<b>{{ formatDate(vm.supportContract.endDate) }}</b>\r\n\t\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t\t</i18n-t>\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</PopoverIcon>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<Message v-if=\"!layoutStore.isAuthenticated\" :closable=\"false\" severity=\"custom\">\r\n\t\t\t\t\t\t<i18n-t keypath=\"product.message.alreadyHaveSupportLogin\">\r\n\t\t\t\t\t\t\t<template #loginLink>\r\n\t\t\t\t\t\t\t\t<a :href=\"loginPageUrl\">{{ $t(\"common.login\") }}</a>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</i18n-t>\r\n\t\t\t\t\t</Message>\r\n\t\t\t\t\t<div class=\"p-inputgroup\">\r\n\t\t\t\t\t\t<AutoComplete\r\n\t\t\t\t\t\t\tv-model=\"selectedProducts\"\r\n\t\t\t\t\t\t\tforce-selection\r\n\t\t\t\t\t\t\t:min-length=\"2\"\r\n\t\t\t\t\t\t\t:multiple=\"true\"\r\n\t\t\t\t\t\t\toption-label=\"title\"\r\n\t\t\t\t\t\t\t:placeholder=\"$t('myCadac.supportOverview.autocomplete.placeholder')\"\r\n\t\t\t\t\t\t\t:suggestions=\"searchProductResults\"\r\n\t\t\t\t\t\t\t@complete=\"onSearchTrigger($event)\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<template #option=\"{ option }\">\r\n\t\t\t\t\t\t\t\t<div class=\"d-flex justify-content-between align-items-center\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\t\t\t\tv-if=\"option.icon\"\r\n\t\t\t\t\t\t\t\t\t\t\talt=\"product-icon\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"mr-1 bg-transparent\"\r\n\t\t\t\t\t\t\t\t\t\t\t:image=\"option.icon\"\r\n\t\t\t\t\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\t\t\t\tv-else\r\n\t\t\t\t\t\t\t\t\t\t\talt=\"product-icon\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"mr-1 bg-transparent\"\r\n\t\t\t\t\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t<svg height=\"30\" width=\"30\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<use xlink:href=\"#icon-cadac\"></use>\r\n\t\t\t\t\t\t\t\t\t\t\t</svg>\r\n\t\t\t\t\t\t\t\t\t\t</Avatar>\r\n\t\t\t\t\t\t\t\t\t\t<p class=\"mb-0 text-bold\">{{ option.title }}</p>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<p v-if=\"selectedContract\" class=\"mb-0\">\r\n\t\t\t\t\t\t\t\t\t\t<b>\r\n\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\tformatCurrency(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t(option.yearPrice / 12) * selectedContract?.remainingMonths\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t</b>\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"ml-1\">\r\n\t\t\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t$t(\"myCadac.supportOverview.autocomplete.yearPrice\", {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tprice: formatCurrency(option.yearPrice),\r\n\t\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t<b v-else class=\"mb-0\">\r\n\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t$t(\"myCadac.supportOverview.autocomplete.yearPrice\", {\r\n\t\t\t\t\t\t\t\t\t\t\t\tprice: formatCurrency(option.yearPrice),\r\n\t\t\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t</b>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</AutoComplete>\r\n\t\t\t\t\t\t<Button class=\"p-button-primary\" icon=\"pi pi-search\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<Message v-if=\"hasNoSearchResults\" :closable=\"false\" severity=\"warn\">\r\n\t\t\t\t\t\t{{ $t(\"myCadac.supportOverview.autocomplete.msgNoResults\", { query: searchQuery }) }}\r\n\t\t\t\t\t</Message>\r\n\t\t\t\t\t<template #error>\r\n\t\t\t\t\t\t<Message\r\n\t\t\t\t\t\t\tv-if=\"\r\n\t\t\t\t\t\t\t\t!supportProductValidation.get(SupportValidationEnum.AtleastOneAsset) && submitted\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t:id=\"`validation-msg-${SupportValidationEnum.AtleastOneAsset}`\"\r\n\t\t\t\t\t\t\t:closable=\"false\"\r\n\t\t\t\t\t\t\tseverity=\"error\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{{ $t(\"product.message.atleastOneAsset\") }}\r\n\t\t\t\t\t\t</Message>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</ProductConfigurationStep>\r\n\r\n\t\t\t\t<ProductConfigurationStep\r\n\t\t\t\t\tv-if=\"vm.contractsForProduct?.length && !vm.supportContract\"\r\n\t\t\t\t\tid=\"step-contract\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t<span>{{ $t(\"product.lblChooseContract\") }}</span>\r\n\t\t\t\t\t\t<span>({{ $t(\"common.optional\") }})</span>\r\n\t\t\t\t\t\t<p class=\"product-config-step-subtitle\">{{ $t(\"product.lblChooseContract_subtitle\") }}</p>\r\n\t\t\t\t\t</template>\r\n\r\n\t\t\t\t\t<DataTable\r\n\t\t\t\t\t\tv-if=\"vm.contractsForProduct?.length\"\r\n\t\t\t\t\t\tv-model:selection=\"selectedContract\"\r\n\t\t\t\t\t\tauto-layout\r\n\t\t\t\t\t\tdata-key=\"contractNumber\"\r\n\t\t\t\t\t\t:meta-key-selection=\"false\"\r\n\t\t\t\t\t\tselection-mode=\"single\"\r\n\t\t\t\t\t\t:value=\"vm.contractsForProduct\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<Column\r\n\t\t\t\t\t\t\tclass=\"text-lg-center\"\r\n\t\t\t\t\t\t\tselection-mode=\"single\"\r\n\t\t\t\t\t\t\tstyle=\"width: 5%; padding: 1rem; overflow: hidden\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<Column\r\n\t\t\t\t\t\t\tkey=\"contractNumber\"\r\n\t\t\t\t\t\t\tfield=\"contractNumber\"\r\n\t\t\t\t\t\t\t:header=\"$t('contract.contractNumber')\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t\t\t<p\r\n\t\t\t\t\t\t\t\t\tv-if=\"userProfile?.isCadacSales || userProfile?.isImpersonated\"\r\n\t\t\t\t\t\t\t\t\tclass=\"mb-0 text-bold\"\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\t\t\t\thref=\"javascript:void(0)\"\r\n\t\t\t\t\t\t\t\t\t\t:title=\"$t('common.goToCrm')\"\r\n\t\t\t\t\t\t\t\t\t\t@click=\"openUrl(item.data.crmUrl, '_blank')\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{{ item.data.contractNumber }}\r\n\t\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t<p v-else class=\"mb-0 text-bold\">\r\n\t\t\t\t\t\t\t\t\t{{ item.data.contractNumber }}\r\n\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</Column>\r\n\t\t\t\t\t\t<Column v-if=\"!isSmallScreen\" key=\"products\" :header=\"$t('contract.assets')\">\r\n\t\t\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t\t\t<AvatarGroup>\r\n\t\t\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\t\t\tv-for=\"(asset, index) in item.data.contractAssets?.slice(\r\n\t\t\t\t\t\t\t\t\t\t\t0,\r\n\t\t\t\t\t\t\t\t\t\t\tmaxContractAssetsToShow\r\n\t\t\t\t\t\t\t\t\t\t)\"\r\n\t\t\t\t\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\t\t\t\t\t:alt=\"asset.iconAlt\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"ml-0 bg-transparent\"\r\n\t\t\t\t\t\t\t\t\t\t:image=\"asset.icon\"\r\n\t\t\t\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\t\t\t\t:title=\"asset.productName\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t</Avatar>\r\n\t\t\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\t\t\tv-if=\"item.data.contractAssets?.length > maxContractAssetsToShow\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"text-bold ml-0\"\r\n\t\t\t\t\t\t\t\t\t\t:label=\"`+${item.data.contractAssets?.length - maxContractAssetsToShow}`\"\r\n\t\t\t\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\t\t\t\tsize=\"small\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t</Avatar>\r\n\t\t\t\t\t\t\t\t</AvatarGroup>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</Column>\r\n\t\t\t\t\t\t<Column key=\"endDate\" field=\"endDate\" :header=\"$t('contract.endDate')\">\r\n\t\t\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t\t\t<span>\r\n\t\t\t\t\t\t\t\t\t{{ formatDate(item.data.endDate) }}\r\n\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</Column>\r\n\t\t\t\t\t\t<Column key=\"remainingTerm\" :header=\"$t('contract.remainingDuration')\">\r\n\t\t\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t\t\t<span>\r\n\t\t\t\t\t\t\t\t\t{{ $tc(\"common.months\", item.data.remainingMonths) }}\r\n\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</Column>\r\n\t\t\t\t\t</DataTable>\r\n\t\t\t\t</ProductConfigurationStep>\r\n\t\t\t</ProductConfiguration>\r\n\t\t\t<ProductPageContentSection v-if=\"vm.relatedUpSellProducts?.length\" type=\"upsell\">\r\n\t\t\t\t<h3 class=\"px-2\">{{ $t(\"product.titleUpSell\") }}</h3>\r\n\t\t\t\t<div class=\"d-flex\">\r\n\t\t\t\t\t<div v-for=\"product in vm.relatedUpSellProducts\" :key=\"product\">\r\n\t\t\t\t\t\t<ProductOverviewItemCard :item=\"product\" layout=\"grid\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</ProductPageContentSection>\r\n\t\t</template>\r\n\t\t<ProductPageContentSection v-if=\"$slots.blocks\" :type=\"'content'\">\r\n\t\t\t<slot name=\"blocks\" />\r\n\t\t</ProductPageContentSection>\r\n\t\t<template #summary>\r\n\t\t\t<ProductPageSummary\r\n\t\t\t\t:can-submit=\"!submitted || !validateProductConfiguration()\"\r\n\t\t\t\t:is-product-available=\"vm.viewModelIsValid\"\r\n\t\t\t\t:total-price=\"priceSummary?.totalPrice\"\r\n\t\t\t\t@addToCart=\"addSupportProductToCart()\"\r\n\t\t\t>\r\n\t\t\t\t<template #priceSummary>\r\n\t\t\t\t\t<PriceSummary :vm=\"priceSummary\" />\r\n\t\t\t\t\t<p class=\"text-muted lead text-right\">{{ $t(\"common.productSummary.allPricesExclVat\") }}</p>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template #configurationSummary>\r\n\t\t\t\t\t<ProductConfigurationSummary :header=\"$t('product.titleSummarySupport')\">\r\n\t\t\t\t\t\t<ProductConfigurationSummaryItem\r\n\t\t\t\t\t\t\t:content=\"\r\n\t\t\t\t\t\t\t\t$tc(\r\n\t\t\t\t\t\t\t\t\t`common.months`,\r\n\t\t\t\t\t\t\t\t\tvm.supportContract?.remainingMonths || selectedContract?.remainingMonths || 12\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t:label=\"$t('myCadac.contractDetail.table.colDuration')\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t<ProductConfigurationSummaryItem :label=\"$t('cart.table.colSoftware')\">\r\n\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t<div v-if=\"selectedProducts?.length\">\r\n\t\t\t\t\t\t\t\t\t<AvatarGroup>\r\n\t\t\t\t\t\t\t\t\t\t<Avatar\r\n\t\t\t\t\t\t\t\t\t\t\tv-for=\"(product, index) in selectedProducts\"\r\n\t\t\t\t\t\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\t\t\t\t\t\t:alt=\"product.iconAlt\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"bg-transparent\"\r\n\t\t\t\t\t\t\t\t\t\t\t:image=\"product.icon\"\r\n\t\t\t\t\t\t\t\t\t\t\tshape=\"square\"\r\n\t\t\t\t\t\t\t\t\t\t\tsize=\"large\"\r\n\t\t\t\t\t\t\t\t\t\t\t:title=\"product.title\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t</AvatarGroup>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<span v-else>{{ $t(\"common.none\") }}</span>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</ProductConfigurationSummaryItem>\r\n\t\t\t\t\t</ProductConfigurationSummary>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template #validationMessage>\r\n\t\t\t\t\t<Message\r\n\t\t\t\t\t\tv-if=\"validationErrors.length && submitted\"\r\n\t\t\t\t\t\t:closable=\"false\"\r\n\t\t\t\t\t\tseverity=\"warn\"\r\n\t\t\t\t\t\tstyle=\"cursor: pointer\"\r\n\t\t\t\t\t\t@click=\"scrollToFirstValidationError()\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{{ $tc(\"common.productSummary.msgValidationErrors\", validationErrors.length) }}\r\n\t\t\t\t\t</Message>\r\n\t\t\t\t</template>\r\n\t\t\t</ProductPageSummary>\r\n\t\t</template>\r\n\t</ProductLayout>\r\n\t<ProductAddedModal v-if=\"cartStore.showProductAddedModal\" :vm=\"productAddedVm\" />\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport AutoComplete from \"primevue/autocomplete\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport PopoverIcon from \"@/components/common/popoverIcon.vue\";\r\nimport PriceSummary from \"@/components/common/priceSummary.vue\";\r\nimport ProductAddedModal from \"@/components/commerce/productAddedModal.vue\";\r\nimport ProductConfiguration from \"@/components/product/productConfiguration.vue\";\r\nimport ProductConfigurationStep from \"@/components/product/productConfigurationStep.vue\";\r\nimport ProductConfigurationSummary from \"@/components/product/productConfigurationSummary.vue\";\r\nimport ProductConfigurationSummaryItem from \"@/components/product/productConfigurationSummaryItem.vue\";\r\nimport ProductLayout from \"../layout/productLayout.vue\";\r\nimport ProductOverviewItemCard from \"@/components/product/productOverviewItemCard.vue\";\r\nimport ProductPageContentSection from \"@/components/product/productPageContentSection.vue\";\r\nimport ProductPageHeader from \"@/components/product/productPageHeader.vue\";\r\nimport ProductPageSummary from \"@/components/product/productPageSummary.vue\";\r\nimport ProgressSpinner from \"primevue/progressspinner\";\r\nimport ScrollPanel from \"primevue/scrollpanel\";\r\nimport { BaseProductItemViewModel } from \"@/types/models/common/baseProductItemViewModel\";\r\nimport { Component, Prop, Watch } from \"vue-facing-decorator\";\r\nimport { Contract } from \"@/types/generated/contract\";\r\nimport { IPriceSummary } from \"@/types/models/common/priceSummary.interface\";\r\nimport { IProductAddedModal } from \"@/types/viewModels/commerce/productAddedModalViewModel\";\r\nimport { ISupportProduct } from \"@/types/viewModels/commerce/supportProductViewModel\";\r\nimport { ItemProductType } from \"@/types/enum/itemProductType\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { SupportAddToCart } from \"@/types/generated/Api/supportAddToCart\";\r\nimport { SupportProductValidation } from \"@/types/enum/SupportProductValidation\";\r\nimport { SupportVariationViewModel } from \"@/types/models/support/supportVariationViewModel\";\r\nimport { useCartStore } from \"@/store/commerce/cartStore\";\r\nimport { ProductCategoryType } from \"@/types/enum/productCategoryType\";\r\nimport toFixed from \"accounting-js/lib/toFixed.js\";\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tAutoComplete,\r\n\t\tPopoverIcon,\r\n\t\tPriceSummary,\r\n\t\tProductAddedModal,\r\n\t\tProductConfiguration,\r\n\t\tProductConfigurationStep,\r\n\t\tProductConfigurationSummary,\r\n\t\tProductConfigurationSummaryItem,\r\n\t\tProductLayout,\r\n\t\tProductOverviewItemCard,\r\n\t\tProductPageContentSection,\r\n\t\tProductPageHeader,\r\n\t\tProductPageSummary,\r\n\t\tProgressSpinner,\r\n\t\tScrollPanel,\r\n\t},\r\n})\r\nexport default class SupportProduct extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<ISupportProduct>, required: true, default: {} }) vm!: ISupportProduct;\r\n\r\n\tsearchQuery = \"\";\r\n\tsubmitted = false;\r\n\thasNoSearchResults = false;\r\n\tmaxContractAssetsToShow = 3;\r\n\r\n\tsearchProductResults: SupportVariationViewModel[] = [];\r\n\tselectedContract!: Contract;\r\n\tselectedProducts: SupportVariationViewModel[] = [];\r\n\tselectedSupportContractAsset!: SupportVariationViewModel;\r\n\r\n\tsupportProductValidation: Map<SupportProductValidation, boolean> = new Map<\r\n\t\tSupportProductValidation,\r\n\t\tboolean\r\n\t>();\r\n\tpriceSummary!: IPriceSummary;\r\n\r\n\tcartStore = useCartStore();\r\n\r\n\tcreated(): void {\r\n\t\tthis.selectedProducts = this.vm.supportVariations;\r\n\r\n\t\tthis.setDataLayer.viewItem(\r\n\t\t\ttoFixed(this.priceSummary?.totalPrice, 2),\r\n\t\t\tthis.selectedProducts,\r\n\t\t\tnull,\r\n\t\t\tthis.vm.brand,\r\n\t\t\tthis.vm.name,\r\n\t\t\tProductCategoryType[this.vm.productCategory]\r\n\t\t);\r\n\t}\r\n\r\n\t@Watch(\"selectedContract\") onContractChanged(): void {\r\n\t\tthis.selectedProducts = this.mapRemainingPrice(this.selectedProducts);\r\n\t\tthis.priceSummary = this.calculatePrice();\r\n\t}\r\n\r\n\t@Watch(\"selectedProducts\") onProductsChanged(): void {\r\n\t\tthis.priceSummary = this.calculatePrice();\r\n\t}\r\n\r\n\tget SupportValidationEnum(): typeof SupportProductValidation {\r\n\t\treturn SupportProductValidation;\r\n\t}\r\n\r\n\tget productAddedVm(): IProductAddedModal {\r\n\t\treturn {\r\n\t\t\tproduct: {\r\n\t\t\t\t...this.vm,\r\n\t\t\t\tproductType: ItemProductType.Other,\r\n\t\t\t} as unknown as BaseProductItemViewModel,\r\n\t\t\tcrossSellProducts: [],\r\n\t\t};\r\n\t}\r\n\r\n\tget addSupportRequestModel(): SupportAddToCart {\r\n\t\treturn {\r\n\t\t\tcontractNumber: this.selectedContract?.contractNumber,\r\n\t\t\tsupportVariationCodes: this.selectedProducts?.map((x) => x.id),\r\n\t\t};\r\n\t}\r\n\r\n\tget productsToAdd(): SupportVariationViewModel[] {\r\n\t\treturn this.selectedProducts.filter((x) => !x.addedToCart);\r\n\t}\r\n\r\n\tget validationErrors(): boolean[] {\r\n\t\treturn [...this.supportProductValidation.values()].filter((x) => !x);\r\n\t}\r\n\r\n\tget totalPrice(): number {\r\n\t\treturn this.selectedProducts.reduce((prev, cur) => {\r\n\t\t\tif (this.layoutStore.isAuthenticated && cur.remainingPrice) {\r\n\t\t\t\treturn prev + cur.remainingPrice;\r\n\t\t\t} else {\r\n\t\t\t\treturn prev + (cur.yearPrice || 0);\r\n\t\t\t}\r\n\t\t}, 0);\r\n\t}\r\n\r\n\tget calcRemainingPrice(): (product: SupportVariationViewModel) => number {\r\n\t\treturn (product: SupportVariationViewModel) =>\r\n\t\t\t((product.yearPrice || 0) / 12) * this.selectedContract?.remainingMonths;\r\n\t}\r\n\r\n\tcalculatePrice(): IPriceSummary {\r\n\t\tconst standardLines = new Map<string, number>();\r\n\t\tthis.selectedProducts?.forEach((x) => {\r\n\t\t\tstandardLines.set(x.title, x.remainingPrice || x.yearPrice || 0);\r\n\t\t});\r\n\t\treturn {\r\n\t\t\ttotalPrice: this.totalPrice,\r\n\t\t\tstandardLines,\r\n\t\t} as IPriceSummary;\r\n\t}\r\n\r\n\tmapRemainingPrice(products: SupportVariationViewModel[]): SupportVariationViewModel[] {\r\n\t\tproducts.forEach((prod) => {\r\n\t\t\tprod.remainingPrice = this.calcRemainingPrice(prod);\r\n\t\t});\r\n\t\treturn products;\r\n\t}\r\n\r\n\thideProductAddedModal(): void {\r\n\t\tthis.cartStore.hideModal(\"ProductAdded\");\r\n\t}\r\n\r\n\tonSearchTrigger({ query }: { query: string }): void {\r\n\t\tthis.searchQuery = query;\r\n\t\tconst existingIds = [...this.selectedProducts, ...this.vm.supportContractSupportAssets]\r\n\t\t\t.map((x) => x.id)\r\n\t\t\t.join(\"|\");\r\n\t\tthis.axios\r\n\t\t\t.get(`/api/${this.vm.localizationPrefix}/support/searchvariations`, {\r\n\t\t\t\tparams: { query, existingIds },\r\n\t\t\t\trequestId: \"searchVariations\",\r\n\t\t\t})\r\n\t\t\t.then(({ data }) => {\r\n\t\t\t\tthis.searchProductResults = this.selectedContract\r\n\t\t\t\t\t? this.mapRemainingPrice(data.results)\r\n\t\t\t\t\t: data.results;\r\n\t\t\t\tthis.hasNoSearchResults = data.results.length <= 0;\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tthis.searchProductResults = [];\r\n\t\t\t\tthis.hasNoSearchResults = true;\r\n\t\t\t\tLog.error(err);\r\n\t\t\t});\r\n\t}\r\n\r\n\taddSupportProductToCart(): void {\r\n\t\tthis.submitted = true;\r\n\t\tif (!this.validateProductConfiguration()) {\r\n\t\t\tsetTimeout(() => this.scrollToFirstValidationError(), 50);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\r\n\t\tthis.axios\r\n\t\t\t.post(`/api/cart/add-support`, this.addSupportRequestModel)\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.cartStore.showModal(\"ProductAdded\");\r\n\r\n\t\t\t\tthis.setDataLayer.addToCart(\r\n\t\t\t\t\ttoFixed(this.priceSummary?.totalPrice, 2),\r\n\t\t\t\t\tthis.selectedProducts,\r\n\t\t\t\t\tnull,\r\n\t\t\t\t\tthis.vm.brand\r\n\t\t\t\t);\r\n\t\t\t})\r\n\t\t\t.catch(() =>\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"common.messages.addToCartError\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t\t.finally(() => this.loadingStore.decreaseLoadingCount());\r\n\t}\r\n\r\n\tprivate validateProductConfiguration(): boolean {\r\n\t\tthis.supportProductValidation.set(\r\n\t\t\tSupportProductValidation.AtleastOneAsset,\r\n\t\t\tthis.productsToAdd?.length > 0\r\n\t\t);\r\n\t\treturn this.validationErrors.length === 0;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.product-config-step-subtitle {\r\n\tfont-size: 1rem;\r\n\tfont-weight: 400;\r\n\tcolor: var(--text-color-secondary);\r\n}\r\n</style>\r\n","export enum SupportProductValidation {\r\n\tAtleastOneAsset,\r\n}\r\n","import { render } from \"./supportProduct.vue?vue&type=template&id=2987f734&scoped=true&ts=true\"\nimport script from \"./supportProduct.vue?vue&type=script&lang=ts\"\nexport * from \"./supportProduct.vue?vue&type=script&lang=ts\"\n\nimport \"./supportProduct.vue?vue&type=style&index=0&id=2987f734&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2987f734\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, withCtx as _withCtx, createVNode as _createVNode, createTextVNode as _createTextVNode, Fragment as _Fragment, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1166bdda\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"d-flex align-items-center justify-content-between\" }\nconst _hoisted_2 = { class: \"mb-1\" }\nconst _hoisted_3 = { class: \"row my-3\" }\nconst _hoisted_4 = { class: \"col-12 col-lg-4 mb-1\" }\nconst _hoisted_5 = { class: \"d-flex\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"svg\", {\n class: \"\",\n fill: \"#000\",\n height: \"40\",\n width: \"40\"\n}, [\n /*#__PURE__*/_createElementVNode(\"use\", { \"xlink:href\": \"#icon-training\" })\n], -1))\nconst _hoisted_7 = { class: \"text-primary mb-0 mb-lg-2\" }\nconst _hoisted_8 = { class: \"mb-0\" }\nconst _hoisted_9 = { class: \"col-12 col-lg-4 mb-1\" }\nconst _hoisted_10 = { class: \"d-flex\" }\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"svg\", {\n class: \"\",\n fill: \"#000\",\n height: \"40\",\n width: \"40\"\n}, [\n /*#__PURE__*/_createElementVNode(\"use\", { \"xlink:href\": \"#icon-ticket-warning\" })\n], -1))\nconst _hoisted_12 = { class: \"text-primary mb-0 mb-lg-2\" }\nconst _hoisted_13 = { class: \"mb-0\" }\nconst _hoisted_14 = { class: \"col-12 col-lg-4 mb-1\" }\nconst _hoisted_15 = { class: \"d-flex\" }\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"svg\", {\n class: \"\",\n fill: \"#000\",\n height: \"40\",\n width: \"40\"\n}, [\n /*#__PURE__*/_createElementVNode(\"use\", { \"xlink:href\": \"#icon-support-avatar\" })\n], -1))\nconst _hoisted_17 = { class: \"text-primary mb-0 mb-lg-2\" }\nconst _hoisted_18 = { class: \"mb-0\" }\nconst _hoisted_19 = { class: \"row\" }\nconst _hoisted_20 = { class: \"col-12\" }\nconst _hoisted_21 = [\"href\"]\nconst _hoisted_22 = { class: \"lead\" }\nconst _hoisted_23 = { class: \"d-flex mt-2\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_Card = _resolveComponent(\"Card\")!\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_StatusBadge = _resolveComponent(\"StatusBadge\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"h1\", _hoisted_2, _toDisplayString(_ctx.vm.pageTitle), 1),\n (_ctx.vm.askAQuestionPageUrl)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-raised p-button-success p-button-arrow\",\n label: _ctx.$t('myCadac.supportTicketOverview.button.askAQuestion'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => {\r\n\t\t\t\t_ctx.openUrl(_ctx.vm.askAQuestionPageUrl);\r\n\t\t\t\t$event.target.disabled = true;\r\n\t\t\t})\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(_component_Card, {\n id: \"card-supportTickets-1\",\n class: \"support-ticket-card\"\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_5, [\n _createVNode(_component_Avatar, {\n class: \"mr-1 bg-transparent\",\n shape: \"square\",\n size: \"large\"\n }, {\n default: _withCtx(() => [\n _hoisted_6\n ]),\n _: 1\n }),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"h3\", _hoisted_7, _toDisplayString(_ctx.vm?.openTicketCount), 1),\n _createElementVNode(\"p\", _hoisted_8, _toDisplayString(_ctx.$t(\"myCadac.supportTicketOverview.card.questions\")), 1)\n ])\n ])\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createVNode(_component_Card, {\n id: \"card-supportTickets-2\",\n class: \"support-ticket-card\"\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_10, [\n _createVNode(_component_Avatar, {\n class: \"mr-1 bg-transparent\",\n shape: \"square\",\n size: \"large\"\n }, {\n default: _withCtx(() => [\n _hoisted_11\n ]),\n _: 1\n }),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"h3\", _hoisted_12, _toDisplayString(_ctx.vm?.actionRequiredTicketCount), 1),\n _createElementVNode(\"p\", _hoisted_13, _toDisplayString(_ctx.$tc(\r\n\t\t\t\t\t\t\t\t\t\t\"myCadac.supportTicketOverview.card.actions\",\r\n\t\t\t\t\t\t\t\t\t\t_ctx.vm?.actionRequiredTicketCount\r\n\t\t\t\t\t\t\t\t\t)), 1)\n ])\n ])\n ]),\n _: 1\n })\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createVNode(_component_Card, {\n id: \"card-supportTickets-3\",\n class: \"support-ticket-card\"\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_15, [\n _createVNode(_component_Avatar, {\n class: \"mr-1 bg-transparent\",\n shape: \"square\",\n size: \"large\"\n }, {\n default: _withCtx(() => [\n _hoisted_16\n ]),\n _: 1\n }),\n _createElementVNode(\"div\", null, [\n _createElementVNode(\"h3\", _hoisted_17, _toDisplayString(_ctx.vm?.inProgressTicketCount), 1),\n _createElementVNode(\"p\", _hoisted_18, _toDisplayString(_ctx.$t(\"myCadac.supportTicketOverview.card.inProgress\")), 1)\n ])\n ])\n ]),\n _: 1\n })\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_19, [\n _createElementVNode(\"div\", _hoisted_20, [\n (_ctx.tableData.length)\n ? (_openBlock(), _createBlock(_component_DataTable, {\n key: 0,\n breakpoint: \"991px\",\n class: \"mt-2\",\n \"removable-sort\": \"\",\n \"responsive-layout\": \"stack\",\n value: _ctx.tableData\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Column, {\n key: \"id\",\n field: \"id\",\n header: _ctx.$t('myCadac.supportTicketOverview.table.colId'),\n sortable: false\n }, null, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"subject\",\n field: \"subject\",\n header: _ctx.$t('myCadac.supportTicketOverview.table.colSubject'),\n sortable: false\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"a\", {\n class: \"text-blue\",\n href: item.data.ticketUrl,\n rel: \"noreferrer noopener\",\n target: \"_blank\"\n }, [\n _createElementVNode(\"b\", null, _toDisplayString(item.data.subject), 1)\n ], 8, _hoisted_21)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"mainCategory\",\n field: \"mainCategory\",\n header: _ctx.$t('myCadac.supportTicketOverview.table.colType'),\n sortable: true\n }, null, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"modified\",\n field: \"modified\",\n header: _ctx.$t('myCadac.supportTicketOverview.table.colModified'),\n sortable: true\n }, {\n body: _withCtx((item) => [\n _createTextVNode(_toDisplayString(_ctx.formatDate(item.data.modified)), 1)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"status\",\n field: \"status\",\n header: _ctx.$t('myCadac.supportTicketOverview.table.colStatus'),\n sortable: true\n }, {\n body: _withCtx((item) => [\n _createVNode(_component_StatusBadge, {\n status: item.data.simpleStatus,\n \"translation-prefix\": 'myCadac.supportTicketOverview.badge_status'\n }, null, 8, [\"status\"])\n ]),\n _: 1\n }, 8, [\"header\"])\n ]),\n _: 1\n }, 8, [\"value\"]))\n : _createCommentVNode(\"\", true),\n (!_ctx.tableData.length)\n ? (_openBlock(), _createBlock(_component_Card, {\n key: 1,\n class: \"mx-auto mt-2\"\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"p\", _hoisted_22, _toDisplayString(_ctx.$t(\"myCadac.supportTicketOverview.card.noTicketsWarning\")), 1),\n _createVNode(_component_Button, {\n class: \"p-button-primary\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.openUrl(_ctx.vm.askAQuestionPageUrl)))\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"myCadac.supportTicketOverview.card.noTicketsCta\")), 1)\n ]),\n _: 1\n })\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_23, [\n (_ctx.tableData.length && _ctx.vm.showAllTicketsCtaLinkItemHref)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-primary p-button-raised\",\n label: _ctx.vm.showAllTicketsCtaLinkItemText,\n onClick: _cache[2] || (_cache[2] = ($event: any) => {\r\n\t\t\t\t\t\t_ctx.openUrl(_ctx.vm.showAllTicketsCtaLinkItemHref, _ctx.vm.showAllTicketsCtaLinkItemTarget);\r\n\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t})\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ], 64))\n}","<template>\r\n\t<div class=\"d-flex align-items-center justify-content-between\">\r\n\t\t<h1 class=\"mb-1\">\r\n\t\t\t{{ vm.pageTitle }}\r\n\t\t</h1>\r\n\t\t<Button\r\n\t\t\tv-if=\"vm.askAQuestionPageUrl\"\r\n\t\t\tclass=\"p-button-raised p-button-success p-button-arrow\"\r\n\t\t\t:label=\"$t('myCadac.supportTicketOverview.button.askAQuestion')\"\r\n\t\t\t@click=\"\r\n\t\t\t\topenUrl(vm.askAQuestionPageUrl);\r\n\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\"\r\n\t\t/>\r\n\t</div>\r\n\r\n\t<div class=\"row my-3\">\r\n\t\t<div class=\"col-12 col-lg-4 mb-1\">\r\n\t\t\t<Card id=\"card-supportTickets-1\" class=\"support-ticket-card\">\r\n\t\t\t\t<template #content>\r\n\t\t\t\t\t<div class=\"d-flex\">\r\n\t\t\t\t\t\t<Avatar class=\"mr-1 bg-transparent\" shape=\"square\" size=\"large\">\r\n\t\t\t\t\t\t\t<svg class=\"\" fill=\"#000\" height=\"40\" width=\"40\">\r\n\t\t\t\t\t\t\t\t<use xlink:href=\"#icon-training\"></use>\r\n\t\t\t\t\t\t\t</svg>\r\n\t\t\t\t\t\t</Avatar>\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t<h3 class=\"text-primary mb-0 mb-lg-2\">\r\n\t\t\t\t\t\t\t\t{{ vm?.openTicketCount }}\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<p class=\"mb-0\">\r\n\t\t\t\t\t\t\t\t{{ $t(\"myCadac.supportTicketOverview.card.questions\") }}\r\n\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</Card>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"col-12 col-lg-4 mb-1\">\r\n\t\t\t<Card id=\"card-supportTickets-2\" class=\"support-ticket-card\">\r\n\t\t\t\t<template #content>\r\n\t\t\t\t\t<div class=\"d-flex\">\r\n\t\t\t\t\t\t<Avatar class=\"mr-1 bg-transparent\" shape=\"square\" size=\"large\">\r\n\t\t\t\t\t\t\t<svg class=\"\" fill=\"#000\" height=\"40\" width=\"40\">\r\n\t\t\t\t\t\t\t\t<use xlink:href=\"#icon-ticket-warning\"></use>\r\n\t\t\t\t\t\t\t</svg>\r\n\t\t\t\t\t\t</Avatar>\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t<h3 class=\"text-primary mb-0 mb-lg-2\">\r\n\t\t\t\t\t\t\t\t{{ vm?.actionRequiredTicketCount }}\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<p class=\"mb-0\">\r\n\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t$tc(\r\n\t\t\t\t\t\t\t\t\t\t\"myCadac.supportTicketOverview.card.actions\",\r\n\t\t\t\t\t\t\t\t\t\tvm?.actionRequiredTicketCount\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</Card>\r\n\t\t</div>\r\n\r\n\t\t<div class=\"col-12 col-lg-4 mb-1\">\r\n\t\t\t<Card id=\"card-supportTickets-3\" class=\"support-ticket-card\">\r\n\t\t\t\t<template #content>\r\n\t\t\t\t\t<div class=\"d-flex\">\r\n\t\t\t\t\t\t<Avatar class=\"mr-1 bg-transparent\" shape=\"square\" size=\"large\">\r\n\t\t\t\t\t\t\t<svg class=\"\" fill=\"#000\" height=\"40\" width=\"40\">\r\n\t\t\t\t\t\t\t\t<use xlink:href=\"#icon-support-avatar\"></use>\r\n\t\t\t\t\t\t\t</svg>\r\n\t\t\t\t\t\t</Avatar>\r\n\t\t\t\t\t\t<div>\r\n\t\t\t\t\t\t\t<h3 class=\"text-primary mb-0 mb-lg-2\">\r\n\t\t\t\t\t\t\t\t{{ vm?.inProgressTicketCount }}\r\n\t\t\t\t\t\t\t</h3>\r\n\t\t\t\t\t\t\t<p class=\"mb-0\">\r\n\t\t\t\t\t\t\t\t{{ $t(\"myCadac.supportTicketOverview.card.inProgress\") }}\r\n\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</Card>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<div class=\"row\">\r\n\t\t<div class=\"col-12\">\r\n\t\t\t<DataTable\r\n\t\t\t\tv-if=\"tableData.length\"\r\n\t\t\t\tbreakpoint=\"991px\"\r\n\t\t\t\tclass=\"mt-2\"\r\n\t\t\t\tremovable-sort\r\n\t\t\t\tresponsive-layout=\"stack\"\r\n\t\t\t\t:value=\"tableData\"\r\n\t\t\t>\r\n\t\t\t\t<Column\r\n\t\t\t\t\tkey=\"id\"\r\n\t\t\t\t\tfield=\"id\"\r\n\t\t\t\t\t:header=\"$t('myCadac.supportTicketOverview.table.colId')\"\r\n\t\t\t\t\t:sortable=\"false\"\r\n\t\t\t\t/>\r\n\t\t\t\t<Column\r\n\t\t\t\t\tkey=\"subject\"\r\n\t\t\t\t\tfield=\"subject\"\r\n\t\t\t\t\t:header=\"$t('myCadac.supportTicketOverview.table.colSubject')\"\r\n\t\t\t\t\t:sortable=\"false\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<a class=\"text-blue\" :href=\"item.data.ticketUrl\" rel=\"noreferrer noopener\" target=\"_blank\">\r\n\t\t\t\t\t\t\t<b>{{ item.data.subject }}</b>\r\n\t\t\t\t\t\t</a>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\t\t\t\t<Column\r\n\t\t\t\t\tkey=\"mainCategory\"\r\n\t\t\t\t\tfield=\"mainCategory\"\r\n\t\t\t\t\t:header=\"$t('myCadac.supportTicketOverview.table.colType')\"\r\n\t\t\t\t\t:sortable=\"true\"\r\n\t\t\t\t/>\r\n\t\t\t\t<Column\r\n\t\t\t\t\tkey=\"modified\"\r\n\t\t\t\t\tfield=\"modified\"\r\n\t\t\t\t\t:header=\"$t('myCadac.supportTicketOverview.table.colModified')\"\r\n\t\t\t\t\t:sortable=\"true\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t{{ formatDate(item.data.modified) }}\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\t\t\t\t<Column\r\n\t\t\t\t\tkey=\"status\"\r\n\t\t\t\t\tfield=\"status\"\r\n\t\t\t\t\t:header=\"$t('myCadac.supportTicketOverview.table.colStatus')\"\r\n\t\t\t\t\t:sortable=\"true\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t\t<StatusBadge\r\n\t\t\t\t\t\t\t:status=\"item.data.simpleStatus\"\r\n\t\t\t\t\t\t\t:translation-prefix=\"'myCadac.supportTicketOverview.badge_status'\"\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Column>\r\n\t\t\t</DataTable>\r\n\t\t\t<Card v-if=\"!tableData.length\" class=\"mx-auto mt-2\">\r\n\t\t\t\t<template #content>\r\n\t\t\t\t\t<p class=\"lead\">\r\n\t\t\t\t\t\t{{ $t(\"myCadac.supportTicketOverview.card.noTicketsWarning\") }}\r\n\t\t\t\t\t</p>\r\n\t\t\t\t\t<Button class=\"p-button-primary\" @click=\"openUrl(vm.askAQuestionPageUrl)\">\r\n\t\t\t\t\t\t{{ $t(\"myCadac.supportTicketOverview.card.noTicketsCta\") }}\r\n\t\t\t\t\t</Button>\r\n\t\t\t\t</template>\r\n\t\t\t</Card>\r\n\t\t\t<div class=\"d-flex mt-2\">\r\n\t\t\t\t<Button\r\n\t\t\t\t\tv-if=\"tableData.length && vm.showAllTicketsCtaLinkItemHref\"\r\n\t\t\t\t\tclass=\"p-button-primary p-button-raised\"\r\n\t\t\t\t\t:label=\"vm.showAllTicketsCtaLinkItemText\"\r\n\t\t\t\t\t@click=\"\r\n\t\t\t\t\t\topenUrl(vm.showAllTicketsCtaLinkItemHref, vm.showAllTicketsCtaLinkItemTarget);\r\n\t\t\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\t\t\"\r\n\t\t\t\t/>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport MyCadacMenu from \"@/components/common/menu/myCadacMenu.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { FormatHelper } from \"@/types/helpers/formatHelper\";\r\nimport { ISupportTicketOverview } from \"@/types/viewModels/myCadac/supportTicketOverviewViewModel\";\r\nimport { PropType } from \"vue\";\r\nimport { TicketViewModel } from \"@/types/generated/custom/ticketViewModel\";\r\n\r\n@Component({ components: { MyCadacMenu } })\r\nexport default class SupportTicketOverview extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<ISupportTicketOverview>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: ISupportTicketOverview;\r\n\r\n\tget tableData(): TicketViewModel[] {\r\n\t\treturn this.vm.tickets ? JSON.parse(this.vm.tickets, FormatHelper.formatJsonAsCamelCase) : [];\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n::v-deep(.support-ticket-card.p-card) {\r\n\t.p-card-body {\r\n\t\tpadding: 0;\r\n\t}\r\n\r\n\t.p-card-content {\r\n\t\tpadding: 1rem;\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./supportTicketOverview.vue?vue&type=template&id=1166bdda&scoped=true&ts=true\"\nimport script from \"./supportTicketOverview.vue?vue&type=script&lang=ts\"\nexport * from \"./supportTicketOverview.vue?vue&type=script&lang=ts\"\n\nimport \"./supportTicketOverview.vue?vue&type=style&index=0&id=1166bdda&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1166bdda\"]])\n\nexport default __exports__","import { renderSlot as _renderSlot, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveDirective as _resolveDirective, withDirectives as _withDirectives, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, createBlock as _createBlock, createTextVNode as _createTextVNode, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = { class: \"container\" }\nconst _hoisted_2 = { class: \"row\" }\nconst _hoisted_3 = { class: \"col-12\" }\nconst _hoisted_4 = { class: \"row\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"col-lg-10 mx-lg-auto\"\n}\nconst _hoisted_6 = { class: \"d-flex align-items-end\" }\nconst _hoisted_7 = { class: \"mb-2\" }\nconst _hoisted_8 = { class: \"mb-1\" }\nconst _hoisted_9 = {\n key: 0,\n class: \"lead text-preline\"\n}\nconst _hoisted_10 = {\n key: 0,\n alt: \"\",\n class: \"ml-auto\",\n height: \"144\",\n width: \"150\"\n}\nconst _hoisted_11 = { class: \"row\" }\nconst _hoisted_12 = { class: \"col-lg-4\" }\nconst _hoisted_13 = { class: \"col-lg-4 offset-lg-4\" }\nconst _hoisted_14 = { class: \"d-flex justify-content-end\" }\nconst _hoisted_15 = { class: \"d-flex align-items-center\" }\nconst _hoisted_16 = /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-exclamation-circle text-primary message-icon mr-2\" }, null, -1)\nconst _hoisted_17 = {\n key: 1,\n class: \"col-lg-10 mx-lg-auto\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_InputNumber = _resolveComponent(\"InputNumber\")!\n const _component_PriceSummary = _resolveComponent(\"PriceSummary\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Card = _resolveComponent(\"Card\")!\n const _component_LinkButton = _resolveComponent(\"LinkButton\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_ProductAddedModal = _resolveComponent(\"ProductAddedModal\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _renderSlot(_ctx.$slots, \"breadcrumbs\")\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_4, [\n (_ctx.vm.availableInCurrentMarket)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"h1\", _hoisted_8, _toDisplayString(_ctx.vm.title), 1),\n (_ctx.vm.intro)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_9, _toDisplayString(_ctx.vm.intro), 1))\n : _createCommentVNode(\"\", true)\n ]),\n (!_ctx.isSmallScreen)\n ? _withDirectives((_openBlock(), _createElementBlock(\"img\", _hoisted_10, null, 512)), [\n [_directive_lazy, '/Static/images/support.png']\n ])\n : _createCommentVNode(\"\", true)\n ]),\n _createVNode(_component_Card, null, {\n content: _withCtx(() => [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t(\"support.lblAmountOfTickets\")), 1),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"div\", _hoisted_12, [\n _createVNode(_component_InputNumber, {\n modelValue: _ctx.ticketAmount,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.ticketAmount) = $event)),\n \"decrement-button-class\": \"p-button-outlined\",\n \"increment-button-class\": \"p-button-outlined\",\n max: 100,\n min: 0,\n \"show-buttons\": \"\",\n \"use-grouping\": false\n }, null, 8, [\"modelValue\"])\n ]),\n _createElementVNode(\"div\", _hoisted_13, [\n _createVNode(_component_PriceSummary, { vm: _ctx.priceSummary }, null, 8, [\"vm\"])\n ])\n ])\n ]),\n footer: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_14, [\n _createVNode(_component_Button, {\n class: \"p-button-success p-button-raised p-button-lg\",\n label: _ctx.$t('common.addToCart'),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.addSupportTicketToCart()))\n }, null, 8, [\"label\"])\n ])\n ]),\n _: 1\n }),\n (_ctx.vm.supportSubscriptionText)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n class: \"message-with-button my-3\",\n closable: false,\n severity: \"custom\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_15, [\n _hoisted_16,\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.vm.supportSubscriptionText), 1)\n ]),\n (_ctx.vm.supportSubscriptionLinkItem)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 0,\n class: \"p-button-success m-1\",\n label: _ctx.vm.supportSubscriptionLinkItem.text,\n target: _ctx.vm.supportSubscriptionLinkItem.target,\n title: _ctx.vm.supportSubscriptionLinkItem.title,\n url: _ctx.vm.supportSubscriptionLinkItem.url\n }, null, 8, [\"label\", \"target\", \"title\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _createVNode(_component_Message, {\n closable: false,\n severity: \"error\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"common.productUnavailableInMarket\")), 1)\n ]),\n _: 1\n })\n ]))\n ])\n ]),\n (_ctx.cartStore.showProductAddedModal)\n ? (_openBlock(), _createBlock(_component_ProductAddedModal, {\n key: 0,\n vm: _ctx.productAddedVm\n }, null, 8, [\"vm\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<div class=\"container\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-12\">\r\n\t\t\t\t<slot name=\"breadcrumbs\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"row\">\r\n\t\t\t<div v-if=\"vm.availableInCurrentMarket\" class=\"col-lg-10 mx-lg-auto\">\r\n\t\t\t\t<div class=\"d-flex align-items-end\">\r\n\t\t\t\t\t<div class=\"mb-2\">\r\n\t\t\t\t\t\t<h1 class=\"mb-1\">\r\n\t\t\t\t\t\t\t{{ vm.title }}\r\n\t\t\t\t\t\t</h1>\r\n\t\t\t\t\t\t<p v-if=\"vm.intro\" class=\"lead text-preline\">{{ vm.intro }}</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<img\r\n\t\t\t\t\t\tv-if=\"!isSmallScreen\"\r\n\t\t\t\t\t\tv-lazy=\"'/Static/images/support.png'\"\r\n\t\t\t\t\t\talt=\"\"\r\n\t\t\t\t\t\tclass=\"ml-auto\"\r\n\t\t\t\t\t\theight=\"144\"\r\n\t\t\t\t\t\twidth=\"150\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</div>\r\n\t\t\t\t<Card>\r\n\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t<label>{{ $t(\"support.lblAmountOfTickets\") }}</label>\r\n\t\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t\t<div class=\"col-lg-4\">\r\n\t\t\t\t\t\t\t\t<InputNumber\r\n\t\t\t\t\t\t\t\t\tv-model=\"ticketAmount\"\r\n\t\t\t\t\t\t\t\t\tdecrement-button-class=\"p-button-outlined\"\r\n\t\t\t\t\t\t\t\t\tincrement-button-class=\"p-button-outlined\"\r\n\t\t\t\t\t\t\t\t\t:max=\"100\"\r\n\t\t\t\t\t\t\t\t\t:min=\"0\"\r\n\t\t\t\t\t\t\t\t\tshow-buttons\r\n\t\t\t\t\t\t\t\t\t:use-grouping=\"false\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"col-lg-4 offset-lg-4\">\r\n\t\t\t\t\t\t\t\t<PriceSummary :vm=\"priceSummary\" />\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template #footer>\r\n\t\t\t\t\t\t<div class=\"d-flex justify-content-end\">\r\n\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\tclass=\"p-button-success p-button-raised p-button-lg\"\r\n\t\t\t\t\t\t\t\t:label=\"$t('common.addToCart')\"\r\n\t\t\t\t\t\t\t\t@click=\"addSupportTicketToCart()\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Card>\r\n\t\t\t\t<Message\r\n\t\t\t\t\tv-if=\"vm.supportSubscriptionText\"\r\n\t\t\t\t\tclass=\"message-with-button my-3\"\r\n\t\t\t\t\t:closable=\"false\"\r\n\t\t\t\t\tseverity=\"custom\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t\t<i class=\"pi pi-exclamation-circle text-primary message-icon mr-2\" />\r\n\t\t\t\t\t\t<span>{{ vm.supportSubscriptionText }}</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<LinkButton\r\n\t\t\t\t\t\tv-if=\"vm.supportSubscriptionLinkItem\"\r\n\t\t\t\t\t\tclass=\"p-button-success m-1\"\r\n\t\t\t\t\t\t:label=\"vm.supportSubscriptionLinkItem.text\"\r\n\t\t\t\t\t\t:target=\"vm.supportSubscriptionLinkItem.target\"\r\n\t\t\t\t\t\t:title=\"vm.supportSubscriptionLinkItem.title\"\r\n\t\t\t\t\t\t:url=\"vm.supportSubscriptionLinkItem.url\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</Message>\r\n\t\t\t</div>\r\n\t\t\t<div v-else class=\"col-lg-10 mx-lg-auto\">\r\n\t\t\t\t<Message :closable=\"false\" severity=\"error\">{{ $t(\"common.productUnavailableInMarket\") }}</Message>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<ProductAddedModal v-if=\"cartStore.showProductAddedModal\" :vm=\"productAddedVm\" />\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Card from \"primevue/card\";\r\nimport Image from \"primevue/image\";\r\nimport InputNumber from \"primevue/inputnumber\";\r\nimport PriceSummary from \"@/components/common/priceSummary.vue\";\r\nimport ProductAddedModal from \"@/components/commerce/productAddedModal.vue\";\r\nimport { BaseProductItemViewModel } from \"@/types/models/common/baseProductItemViewModel\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { IPriceSummary } from \"@/types/models/common/priceSummary.interface\";\r\nimport { IProductAddedModal } from \"@/types/viewModels/commerce/productAddedModalViewModel\";\r\nimport { ISupportTicketProduct } from \"@/types/viewModels/commerce/supportTicketProductViewModel\";\r\nimport { ItemProductType } from \"@/types/enum/itemProductType\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { ProductUpdateInCart } from \"@/types/generated/Api/productUpdateInCart\";\r\nimport { PropType } from \"vue\";\r\nimport { useCartStore } from \"@/store/commerce/cartStore\";\r\nimport { ProductCategoryType } from \"@/types/enum/productCategoryType\";\r\nimport toFixed from \"accounting-js/lib/toFixed.js\";\r\n\r\n@Component({ components: { Image, Card, InputNumber, PriceSummary, ProductAddedModal } })\r\nexport default class SupportTicketProduct extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<ISupportTicketProduct>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: ISupportTicketProduct;\r\n\r\n\tticketAmount = 0;\r\n\r\n\tcartStore = useCartStore();\r\n\r\n\tcreated(): void {\r\n\t\tthis.ticketAmount = this.vm.amount;\r\n\r\n\t\tthis.setDataLayer.viewItem(\r\n\t\t\ttoFixed(this.priceSummary?.totalPrice, 2),\r\n\t\t\t[this.vm.supportTicketVariation],\r\n\t\t\tthis.ticketAmount.toString(),\r\n\t\t\tthis.vm.brand,\r\n\t\t\tthis.vm.name,\r\n\t\t\tProductCategoryType[this.vm.productCategory]\r\n\t\t);\r\n\t}\r\n\r\n\tget productAddedVm(): IProductAddedModal {\r\n\t\treturn {\r\n\t\t\tproduct: {\r\n\t\t\t\t...this.vm,\r\n\t\t\t\tproductType: ItemProductType.Other,\r\n\t\t\t} as unknown as BaseProductItemViewModel,\r\n\t\t\tcrossSellProducts: [],\r\n\t\t};\r\n\t}\r\n\r\n\tget priceSummary(): IPriceSummary {\r\n\t\tconst standardLines = new Map<string, number>();\r\n\t\tconst price = this.ticketAmount * (this.vm.supportTicketVariation.basePrice || 0);\r\n\t\tstandardLines.set(this.$t(`common.total`, [this.ticketAmount]), price);\r\n\r\n\t\treturn { standardLines, totalPrice: price } as IPriceSummary;\r\n\t}\r\n\r\n\taddSupportTicketToCart(): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tconst model: ProductUpdateInCart = {\r\n\t\t\tamount: this.ticketAmount,\r\n\t\t\tid: this.vm.lineItemId,\r\n\t\t};\r\n\t\tthis.axios\r\n\t\t\t.post(\"/api/cart/add-support-ticket\", model)\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.cartStore.showModal(\"ProductAdded\");\r\n\r\n\t\t\t\tthis.setDataLayer.addToCart(\r\n\t\t\t\t\ttoFixed(this.priceSummary?.totalPrice, 2),\r\n\t\t\t\t\t[this.vm.supportTicketVariation],\r\n\t\t\t\t\tthis.ticketAmount.toString(),\r\n\t\t\t\t\tthis.vm.brand,\r\n\t\t\t\t\tthis.vm.name\r\n\t\t\t\t);\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tLog.error(err);\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t\t\t});\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped></style>\r\n","import { render } from \"./supportTicketProduct.vue?vue&type=template&id=6ec18d90&ts=true\"\nimport script from \"./supportTicketProduct.vue?vue&type=script&lang=ts\"\nexport * from \"./supportTicketProduct.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock, createElementVNode as _createElementVNode, withCtx as _withCtx, createVNode as _createVNode, mergeProps as _mergeProps, createSlots as _createSlots, withModifiers as _withModifiers, vShow as _vShow, withDirectives as _withDirectives, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-650307ad\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"helper-text\" }\nconst _hoisted_2 = { class: \"\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"pt-2 w-100\"\n}\nconst _hoisted_4 = { class: \"d-flex align-items-center justify-content-between w-100\" }\nconst _hoisted_5 = { class: \"ml-1\" }\nconst _hoisted_6 = { class: \"font-weight-normal text-muted mx-1\" }\nconst _hoisted_7 = { key: 0 }\nconst _hoisted_8 = { class: \"input-group mb-3\" }\nconst _hoisted_9 = [\"for\"]\nconst _hoisted_10 = {\n key: 0,\n class: \"d-flex flex-wrap\"\n}\nconst _hoisted_11 = { key: 1 }\nconst _hoisted_12 = { class: \"form-row\" }\nconst _hoisted_13 = { class: \"form-group col-md-12 col-lg-10 col-xxl-8\" }\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"popover-icon pi pi-question\" }, null, -1))\nconst _hoisted_15 = [\"innerHTML\"]\nconst _hoisted_16 = { key: 2 }\nconst _hoisted_17 = { class: \"form-row\" }\nconst _hoisted_18 = { class: \"form-group col-md-12 col-lg-10 col-xxl-8\" }\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"popover-icon pi pi-question\" }, null, -1))\nconst _hoisted_20 = [\"innerHTML\"]\nconst _hoisted_21 = {\n key: 1,\n class: \"d-flex flex-wrap\"\n}\nconst _hoisted_22 = { key: 0 }\nconst _hoisted_23 = { key: 1 }\nconst _hoisted_24 = { key: 0 }\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-user text-primary mr-1\" }, null, -1))\nconst _hoisted_26 = {\n key: 0,\n class: \"text-success\"\n}\nconst _hoisted_27 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-check-circle mr-1\" }, null, -1))\nconst _hoisted_28 = { class: \"mb-3 pr-lg-5 pr-md-2\" }\nconst _hoisted_29 = { class: \"d-flex justify-content-between align-items-center w-100\" }\nconst _hoisted_30 = { class: \"d-flex align-items-center\" }\nconst _hoisted_31 = { class: \"mx-2 mb-0\" }\nconst _hoisted_32 = { class: \"mr-1 mb-0\" }\nconst _hoisted_33 = {\n key: 0,\n class: \"mt-2\"\n}\nconst _hoisted_34 = { class: \"\" }\nconst _hoisted_35 = { class: \"row\" }\nconst _hoisted_36 = { class: \"mb-1\" }\nconst _hoisted_37 = {\n key: 0,\n class: \"lead\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_ProductConfigurationOption = _resolveComponent(\"ProductConfigurationOption\")!\n const _component_TrainingModuleTable = _resolveComponent(\"TrainingModuleTable\")!\n const _component_AccordionTab = _resolveComponent(\"AccordionTab\")!\n const _component_Accordion = _resolveComponent(\"Accordion\")!\n const _component_ProductConfigurationStep = _resolveComponent(\"ProductConfigurationStep\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_RadioButton = _resolveComponent(\"RadioButton\")!\n const _component_AddressForm = _resolveComponent(\"AddressForm\")!\n const _component_PopoverIcon = _resolveComponent(\"PopoverIcon\")!\n const _component_Dropdown = _resolveComponent(\"Dropdown\")!\n const _component_Calendar = _resolveComponent(\"Calendar\")!\n const _component_TrainingParticipantForm = _resolveComponent(\"TrainingParticipantForm\")!\n const _component_ProductConfiguration = _resolveComponent(\"ProductConfiguration\")!\n const _component_ProductPageContentSection = _resolveComponent(\"ProductPageContentSection\")!\n const _component_BaseProductOverviewItemCard = _resolveComponent(\"BaseProductOverviewItemCard\")!\n const _component_ProductTabs = _resolveComponent(\"ProductTabs\")!\n const _component_LinkButton = _resolveComponent(\"LinkButton\")!\n const _component_Card = _resolveComponent(\"Card\")!\n const _component_TrainingPriceSummary = _resolveComponent(\"TrainingPriceSummary\")!\n const _component_ScrollPanel = _resolveComponent(\"ScrollPanel\")!\n const _component_ProductConfigurationSummaryItem = _resolveComponent(\"ProductConfigurationSummaryItem\")!\n const _component_ColumnYesNo = _resolveComponent(\"ColumnYesNo\")!\n const _component_ProductConfigurationSummary = _resolveComponent(\"ProductConfigurationSummary\")!\n const _component_WalletMessage = _resolveComponent(\"WalletMessage\")!\n const _component_ProductPageSummary = _resolveComponent(\"ProductPageSummary\")!\n const _component_ProductLayout = _resolveComponent(\"ProductLayout\")!\n const _component_ProductAddedModal = _resolveComponent(\"ProductAddedModal\")!\n const _component_TrainingAddCourseModal = _resolveComponent(\"TrainingAddCourseModal\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_ProductLayout, {\n modelValue: _ctx.showSideBar,\n \"onUpdate:modelValue\": _cache[15] || (_cache[15] = ($event: any) => ((_ctx.showSideBar) = $event)),\n showTeachingsMaterialButton: true,\n \"help-block\": _ctx.selectedHelpBlock,\n vm: _ctx.vm\n }, {\n tabs: _withCtx(() => [\n (_ctx.vm.viewModelIsValid && _ctx.vm.isBeNeMarket)\n ? (_openBlock(), _createBlock(_component_ProductTabs, {\n key: 0,\n items: _ctx.productTabs\n }, {\n tabConfiguration: _withCtx(() => [\n _createVNode(_component_ProductPageContentSection, null, {\n default: _withCtx(() => [\n _createVNode(_component_ProductConfiguration, null, {\n default: _withCtx(() => [\n (_ctx.productStore.availableTrainingMethods?.length)\n ? (_openBlock(), _createBlock(_component_ProductConfigurationStep, {\n key: 0,\n id: \"step-type\"\n }, {\n header: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"training.lblType\")) + \" \", 1),\n (_ctx.vm.helpBlockTrainingMethod)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"header-explanation-text text-underline py-0 p-button-text p-button-secondary\",\n label: _ctx.vm.helpBlockTrainingMethod?.linkText,\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.showHelpSideBar(_ctx.vm.helpBlockTrainingMethod)))\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]),\n options: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.productStore.availableTrainingMethods, (option, index) => {\n return (_openBlock(), _createBlock(_component_ProductConfigurationOption, {\n key: index,\n disabled: _ctx.isBusy,\n \"is-selected\": option.value === _ctx.productStore.selectedTrainingMethod,\n option: option,\n onOptionSelected: ($event: any) => (_ctx.onSelectedTrainingMethodChanged(option.value))\n }, null, 8, [\"disabled\", \"is-selected\", \"option\", \"onOptionSelected\"]))\n }), 128)),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"span\", _hoisted_2, _toDisplayString(_ctx.trainingMethodHelpText), 1)\n ]),\n (\r\n\t\t\t\t\t\t\t\t\t\t\t_ctx.productStore.selectedTrainingMethod ===\r\n\t\t\t\t\t\t\t\t\t\t\t_ctx.TrainingMethodEnum.inCompanyModular\r\n\t\t\t\t\t\t\t\t\t\t)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode(_component_Accordion, {\n \"active-index\": _ctx.trainingModulesAccordionActiveIndexes,\n class: \"accordion-modules\",\n multiple: true\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.productStore.allTrainingCourses, (course) => {\n return (_openBlock(), _createBlock(_component_AccordionTab, { key: course }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createTextVNode(_toDisplayString(course.name) + \" \", 1),\n _createElementVNode(\"span\", _hoisted_6, \" (\" + _toDisplayString(_ctx.$tc(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"training.lblModuleCount\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_ctx.selectedModulesForCourse(course).length\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)) + \") \", 1)\n ])\n ])\n ]),\n default: _withCtx(() => [\n (_openBlock(), _createBlock(_component_TrainingModuleTable, {\n key: course,\n \"is-editable\": \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t_ctx.productStore.selectedTrainingConfigurationOption ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t_ctx.TrainingConfigurationOptionEnum.Custom\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t,\n \"training-course\": course,\n onSelectedModulesChanged: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onSelectedModulesChanged($event)))\n }, null, 8, [\"is-editable\", \"training-course\"]))\n ]),\n _: 2\n }, 1024))\n }), 128))\n ]),\n _: 1\n }, 8, [\"active-index\"]),\n _createVNode(_component_Button, {\n class: \"mb-3 mb-1 w-100\",\n label: _ctx.$t('training.button.addModule'),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.onAddModuleClick()))\n }, null, 8, [\"label\"])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.productStore.canChooseLocation)\n ? (_openBlock(), _createBlock(_component_ProductConfigurationStep, {\n key: 1,\n id: \"step-location\"\n }, {\n error: _withCtx(() => [\n (\r\n\t\t\t\t\t\t\t\t\t\t\t!_ctx.trainingValidations.get(\r\n\t\t\t\t\t\t\t\t\t\t\t\t_ctx.TrainingValidationEnum.ValidAddressOwnLocation\r\n\t\t\t\t\t\t\t\t\t\t\t) && _ctx.submitted\r\n\t\t\t\t\t\t\t\t\t\t)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n id: `validation-msg-${_ctx.TrainingValidationEnum.ValidAddressOwnLocation}`,\n closable: false,\n severity: \"error\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"validations.address\")), 1)\n ]),\n _: 1\n }, 8, [\"id\"]))\n : _createCommentVNode(\"\", true),\n (\r\n\t\t\t\t\t\t\t\t\t\t\t!_ctx.trainingValidations.get(_ctx.TrainingValidationEnum.ValidVdiChoice) &&\r\n\t\t\t\t\t\t\t\t\t\t\t_ctx.submitted\r\n\t\t\t\t\t\t\t\t\t\t)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 1,\n id: `validation-msg-${_ctx.TrainingValidationEnum.ValidVdiChoice}`,\n closable: false,\n severity: \"error\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"validations.chooseTrainingHardware\")), 1)\n ]),\n _: 1\n }, 8, [\"id\"]))\n : _createCommentVNode(\"\", true)\n ]),\n header: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"training.lblLocation\")) + \" \", 1),\n (_ctx.vm.helpBlockTrainingLocation)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"header-explanation-text text-underline py-0 p-button-text p-button-secondary\",\n label: _ctx.vm.helpBlockTrainingLocation?.linkText,\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.showHelpSideBar(_ctx.vm.helpBlockTrainingLocation)))\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]),\n default: _withCtx(() => [\n (_ctx.productStore.availableTrainingLocationOptions?.length)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.productStore.getAvailableTrainingLocationOptions, (location, index) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: index,\n class: \"form-check-inline\"\n }, [\n _createVNode(_component_RadioButton, {\n modelValue: _ctx.productStore.selectedTrainingLocationOption,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((_ctx.productStore.selectedTrainingLocationOption) = $event)),\n \"input-id\": `location${index}`,\n name: \"location\",\n value: location.value,\n onChange: ($event: any) => (_ctx.onSelectedTrainingLocationOptionChanged(location.value))\n }, null, 8, [\"modelValue\", \"input-id\", \"value\", \"onChange\"]),\n _createElementVNode(\"label\", {\n class: \"ml-1 mb-0\",\n for: `location${index}`\n }, _toDisplayString(location.label), 9, _hoisted_9)\n ]))\n }), 128))\n ]),\n (\r\n\t\t\t\t\t\t\t\t\t\t\t_ctx.productStore.selectedTrainingLocationOption ===\r\n\t\t\t\t\t\t\t\t\t\t\t_ctx.TrainingLocationOptionEnum.Cadac\r\n\t\t\t\t\t\t\t\t\t\t)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.productStore.availableTrainingLocations, (option, index) => {\n return (_openBlock(), _createBlock(_component_ProductConfigurationOption, {\n key: index,\n disabled: _ctx.isBusy,\n \"is-selected\": \r\n\t\t\t\t\t\t\t\t\t\t\t\toption.value?.id === _ctx.productStore.selectedTrainingLocation?.id\r\n\t\t\t\t\t\t\t\t\t\t\t,\n option: option,\n onOptionSelected: ($event: any) => (_ctx.onSelectedTrainingLocationChanged(option.value))\n }, null, 8, [\"disabled\", \"is-selected\", \"option\", \"onOptionSelected\"]))\n }), 128))\n ]))\n : (\r\n\t\t\t\t\t\t\t\t\t\t\t_ctx.productStore.selectedTrainingLocationOption ===\r\n\t\t\t\t\t\t\t\t\t\t\t_ctx.TrainingLocationOptionEnum.OwnLocation\r\n\t\t\t\t\t\t\t\t\t\t)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createVNode(_component_AddressForm, {\n modelValue: _ctx.productStore.trainingAddress,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event: any) => ((_ctx.productStore.trainingAddress) = $event)),\n ref: \"trainingAddressForm\",\n countries: _ctx.vm.countries\n }, null, 8, [\"modelValue\", \"countries\"]),\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t(\"training.lblUseCadacHardware\")), 1),\n _createVNode(_component_PopoverIcon, { class: \"d-inline-flex ml-0\" }, {\n content: _withCtx(() => [\n _createElementVNode(\"span\", {\n innerHTML: \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_ctx.vm.helpBlockTrainingHardware?.items\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t?.map((x) => x.text)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t?.join('<br>')\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n }, null, 8, _hoisted_15)\n ]),\n default: _withCtx(() => [\n _hoisted_14\n ]),\n _: 1\n }),\n _createVNode(_component_Dropdown, {\n modelValue: _ctx.selectedVdiChoice,\n \"onUpdate:modelValue\": _cache[6] || (_cache[6] = ($event: any) => ((_ctx.selectedVdiChoice) = $event)),\n \"option-label\": \"label\",\n \"option-value\": \"value\",\n options: _ctx.vdiTrainingOptions\n }, null, 8, [\"modelValue\", \"options\"])\n ])\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_16, [\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"div\", _hoisted_18, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t(\"training.lblUseCadacHardware\")), 1),\n _createVNode(_component_PopoverIcon, { class: \"d-inline-flex ml-0\" }, {\n content: _withCtx(() => [\n _createElementVNode(\"span\", {\n innerHTML: \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_ctx.vm.helpBlockTrainingHardware?.items\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t?.map((x) => x.text)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t?.join('<br>')\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n }, null, 8, _hoisted_20)\n ]),\n default: _withCtx(() => [\n _hoisted_19\n ]),\n _: 1\n }),\n _createVNode(_component_Dropdown, {\n modelValue: _ctx.selectedVdiChoice,\n \"onUpdate:modelValue\": _cache[7] || (_cache[7] = ($event: any) => ((_ctx.selectedVdiChoice) = $event)),\n \"option-label\": \"label\",\n \"option-value\": \"value\",\n options: _ctx.vdiTrainingOptions\n }, null, 8, [\"modelValue\", \"options\"])\n ])\n ])\n ]))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_21, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.productStore.availableTrainingLocations, (option, index) => {\n return (_openBlock(), _createBlock(_component_ProductConfigurationOption, {\n key: index,\n disabled: _ctx.isBusy,\n \"is-selected\": \r\n\t\t\t\t\t\t\t\t\t\t\toption.value?.id === _ctx.productStore.selectedTrainingLocation?.id\r\n\t\t\t\t\t\t\t\t\t\t,\n option: option,\n onOptionSelected: ($event: any) => (_ctx.onSelectedTrainingLocationChanged(option.value))\n }, null, 8, [\"disabled\", \"is-selected\", \"option\", \"onOptionSelected\"]))\n }), 128))\n ]))\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (\r\n\t\t\t\t\t\t\t\t\t_ctx.productStore.selectedTrainingMethod === _ctx.TrainingMethodEnum.training ||\r\n\t\t\t\t\t\t\t\t\t_ctx.productStore.selectedTrainingMethod === _ctx.TrainingMethodEnum.inCompany ||\r\n\t\t\t\t\t\t\t\t\t_ctx.productStore.selectedTrainingMethod === _ctx.TrainingMethodEnum.inCompanyModular\r\n\t\t\t\t\t\t\t\t)\n ? (_openBlock(), _createBlock(_component_ProductConfigurationStep, {\n key: 2,\n id: \"step-date\"\n }, _createSlots({\n error: _withCtx(() => [\n (\r\n\t\t\t\t\t\t\t\t\t\t\t!_ctx.trainingValidations.get(\r\n\t\t\t\t\t\t\t\t\t\t\t\t_ctx.TrainingValidationEnum.ValidPreferredStartDate\r\n\t\t\t\t\t\t\t\t\t\t\t) && _ctx.submitted\r\n\t\t\t\t\t\t\t\t\t\t)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n id: `validation-msg-${_ctx.TrainingValidationEnum.ValidPreferredStartDate}`,\n closable: false,\n severity: \"error\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"training.message.selectPreferredDate\")), 1)\n ]),\n _: 1\n }, 8, [\"id\"]))\n : _createCommentVNode(\"\", true)\n ]),\n header: _withCtx(() => [\n (\r\n\t\t\t\t\t\t\t\t\t\t\t_ctx.productStore.selectedTrainingMethod === _ctx.TrainingMethodEnum.inCompany ||\r\n\t\t\t\t\t\t\t\t\t\t\t_ctx.productStore.selectedTrainingMethod ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t_ctx.TrainingMethodEnum.inCompanyModular\r\n\t\t\t\t\t\t\t\t\t\t)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_22, _toDisplayString(_ctx.$t(\"training.lblDate\")), 1))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_23, _toDisplayString(_ctx.$t(\"training.lblDates\")), 1))\n ]),\n _: 2\n }, [\n (\r\n\t\t\t\t\t\t\t\t\t\t_ctx.productStore.selectedTrainingMethod === _ctx.TrainingMethodEnum.inCompany ||\r\n\t\t\t\t\t\t\t\t\t\t_ctx.productStore.selectedTrainingMethod === _ctx.TrainingMethodEnum.inCompanyModular\r\n\t\t\t\t\t\t\t\t\t)\n ? {\n name: \"footer\",\n fn: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"training.lblEndDatePreference\")), 1)\n ]),\n key: \"0\"\n }\n : undefined,\n (_ctx.productStore.selectedTrainingMethod === _ctx.TrainingMethodEnum.training)\n ? {\n name: \"options\",\n fn: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.productStore.availableScheduledTrainings, (option, index) => {\n return (_openBlock(), _createBlock(_component_ProductConfigurationOption, {\n key: index,\n disabled: _ctx.isBusy,\n \"is-selected\": \r\n\t\t\t\t\t\t\t\t\t\t\toption.value?.id === _ctx.productStore.selectedScheduledTraining?.id\r\n\t\t\t\t\t\t\t\t\t\t,\n option: option,\n onOptionSelected: ($event: any) => (_ctx.onSelectedScheduledTrainingChanged(option.value))\n }, {\n \"usp-availablePlaces\": _withCtx(() => [\n (option.value.availablePlaces)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_24, [\n _hoisted_25,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$tc(\"training.lblAvailableSeats\", option.value.availablePlaces)), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n \"usp-isGuaranteed\": _withCtx(() => [\n (option.value.guaranteed)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_26, [\n _hoisted_27,\n _createTextVNode(\" \" + _toDisplayString(_ctx.$t(\"training.lblGuaranteed\")), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 2\n }, 1032, [\"disabled\", \"is-selected\", \"option\", \"onOptionSelected\"]))\n }), 128))\n ]),\n key: \"1\"\n }\n : {\n name: \"options\",\n fn: _withCtx(() => [\n _createVNode(_component_Calendar, _mergeProps({\n modelValue: _ctx.selectedPreferredStartDate,\n \"onUpdate:modelValue\": _cache[8] || (_cache[8] = ($event: any) => ((_ctx.selectedPreferredStartDate) = $event)),\n locale: _ctx.currentRegion\n }, _ctx.preferredDateOptions), null, 16, [\"modelValue\", \"locale\"])\n ]),\n key: \"2\"\n }\n ]), 1024))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_ProductConfigurationStep, { id: \"step-participants\" }, {\n error: _withCtx(() => [\n (\r\n\t\t\t\t\t\t\t\t\t\t\t!_ctx.trainingValidations.get(_ctx.TrainingValidationEnum.MaxParticipants) &&\r\n\t\t\t\t\t\t\t\t\t\t\t_ctx.submitted\r\n\t\t\t\t\t\t\t\t\t\t)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n id: `validation-msg-${_ctx.TrainingValidationEnum.MaxParticipants}`,\n closable: false,\n severity: \"error\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"training.message.tooManyParticipants\", [\r\n\t\t\t\t\t\t\t\t\t\t\t\t_ctx.productStore.maxParticipants,\r\n\t\t\t\t\t\t\t\t\t\t\t])), 1)\n ]),\n _: 1\n }, 8, [\"id\"]))\n : _createCommentVNode(\"\", true),\n (\r\n\t\t\t\t\t\t\t\t\t\t\t!_ctx.trainingValidations.get(\r\n\t\t\t\t\t\t\t\t\t\t\t\t_ctx.TrainingValidationEnum.AtleastOneParticipant\r\n\t\t\t\t\t\t\t\t\t\t\t) && _ctx.submitted\r\n\t\t\t\t\t\t\t\t\t\t)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 1,\n id: `validation-msg-${_ctx.TrainingValidationEnum.AtleastOneParticipant}`,\n closable: false,\n severity: \"error\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"training.message.atLeastOneParticipant\")), 1)\n ]),\n _: 1\n }, 8, [\"id\"]))\n : _createCommentVNode(\"\", true),\n (\r\n\t\t\t\t\t\t\t\t\t\t\t!_ctx.trainingValidations.get(\r\n\t\t\t\t\t\t\t\t\t\t\t\t_ctx.TrainingValidationEnum.UniqueEmailParticipant\r\n\t\t\t\t\t\t\t\t\t\t\t) && _ctx.submitted\r\n\t\t\t\t\t\t\t\t\t\t)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 2,\n id: `validation-msg-${_ctx.TrainingValidationEnum.UniqueEmailParticipant}`,\n closable: false,\n severity: \"error\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"training.message.uniqueEmailParticipant\")), 1)\n ]),\n _: 1\n }, 8, [\"id\"]))\n : _createCommentVNode(\"\", true)\n ]),\n header: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"training.lblParticipants\")) + \" \", 1),\n (_ctx.vm.helpBlockTrainingParticipants)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"header-explanation-text text-underline py-0 p-button-text p-button-secondary\",\n label: _ctx.vm.helpBlockTrainingParticipants?.linkText,\n onClick: _cache[9] || (_cache[9] = ($event: any) => (_ctx.showHelpSideBar(_ctx.vm.helpBlockTrainingParticipants)))\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_28, [\n _createVNode(_component_Accordion, {\n \"active-index\": _ctx.trainingParticipantsAccordionActiveIndexes,\n \"onUpdate:activeIndex\": _cache[10] || (_cache[10] = ($event: any) => ((_ctx.trainingParticipantsAccordionActiveIndexes) = $event)),\n ref: \"productStore.trainingParticipantsAccordion\",\n multiple: true\n }, {\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.productStore.trainingParticipants, (participant, index) => {\n return (_openBlock(), _createBlock(_component_AccordionTab, { key: participant }, {\n header: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_29, [\n _createElementVNode(\"div\", _hoisted_30, [\n _createElementVNode(\"h5\", _hoisted_31, _toDisplayString(index + 1) + \".\", 1),\n _createElementVNode(\"p\", _hoisted_32, _toDisplayString(_ctx.getParticipantName(participant)), 1)\n ]),\n _createVNode(_component_Button, {\n class: \"p-button-danger p-button-outlined p-button-rounded border\",\n icon: \"pi pi-times\",\n onClick: _withModifiers(($event: any) => (_ctx.removeParticipant(index)), [\"stop\"])\n }, null, 8, [\"onClick\"])\n ])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"small\", null, _toDisplayString(_ctx.$t(\"training.lblOptionalFieldsIfUnknown\")), 1),\n _createVNode(_component_TrainingParticipantForm, {\n class: \"mt-1\",\n index: index,\n item: participant,\n submitted: _ctx.submitted\n }, null, 8, [\"index\", \"item\", \"submitted\"])\n ]),\n _: 2\n }, 1024))\n }), 128))\n ]),\n _: 1\n }, 8, [\"active-index\"]),\n (_ctx.productStore.canAddParticipants)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_33, [\n _createVNode(_component_Button, {\n class: \"p-button-text mr-2 px-0\",\n icon: \"pi pi-plus-circle p-button-icon-lg\",\n label: _ctx.$t('training.button.addParticipant'),\n onClick: _cache[11] || (_cache[11] = ($event: any) => (_ctx.addParticipant()))\n }, null, 8, [\"label\"]),\n (\r\n\t\t\t\t\t\t\t\t\t\t\t\t_ctx.vm.loggedInUserAsParticipant &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t!_ctx.productStore.trainingParticipants.find(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t(x) => x.id === _ctx.vm.loggedInUserAsParticipant.id\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-text p-button-secondary px-0\",\n icon: \"pi pi-user-plus p-button-icon-lg\",\n label: _ctx.$t('training.button.addSelfAsParticipant'),\n onClick: _cache[12] || (_cache[12] = ($event: any) => (_ctx.addParticipant(_ctx.vm.loggedInUserAsParticipant)))\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]),\n _: 1\n }),\n (_ctx.vm.relatedUpSellProducts?.length)\n ? (_openBlock(), _createBlock(_component_ProductPageContentSection, {\n key: 0,\n type: \"upsell\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"h3\", _hoisted_34, _toDisplayString(_ctx.$t(\"product.titleUpSell\")), 1),\n _createElementVNode(\"div\", _hoisted_35, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.relatedUpSellProducts, (product) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: product,\n class: \"col-md-6 mb-2\"\n }, [\n _createVNode(_component_BaseProductOverviewItemCard, {\n \"is-cross-sell\": \"\",\n vm: product\n }, null, 8, [\"vm\"])\n ]))\n }), 128))\n ])\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"items\"]))\n : _createCommentVNode(\"\", true)\n ]),\n summary: _withCtx(() => [\n _createVNode(_component_ProductPageSummary, {\n \"can-submit\": !_ctx.submitted || _ctx.validateProductConfiguration(),\n \"is-product-available\": _ctx.vm.viewModelIsValid && _ctx.vm.isBeNeMarket,\n \"total-price\": _ctx.trainingPriceCalculation?.totalPrice,\n onAddToCart: _cache[14] || (_cache[14] = ($event: any) => (_ctx.addToCart()))\n }, {\n priceSummary: _withCtx(() => [\n _createVNode(_component_ScrollPanel, { style: {\"width\":\"100%\",\"height\":\"clamp(200px, 30vh, 300px)\"} }, {\n default: _withCtx(() => [\n _createVNode(_component_TrainingPriceSummary, { vm: _ctx.trainingPriceCalculation }, null, 8, [\"vm\"])\n ]),\n _: 1\n })\n ]),\n configurationSummary: _withCtx(() => [\n _createVNode(_component_ProductConfigurationSummary, {\n header: _ctx.$t('training.titleSummary')\n }, {\n default: _withCtx(() => [\n _createVNode(_component_ProductConfigurationSummaryItem, {\n content: _ctx.$t(`enum.trainingMethod.${_ctx.productStore.selectedTrainingMethod}`),\n label: _ctx.$t('training.lblType')\n }, null, 8, [\"content\", \"label\"]),\n (_ctx.productStore.selectedTrainingMethod === 3)\n ? (_openBlock(), _createBlock(_component_ProductConfigurationSummaryItem, {\n key: 0,\n label: _ctx.$t('training.lblModular')\n }, {\n content: _withCtx(() => [\n _createVNode(_component_ColumnYesNo, {\n value: \r\n\t\t\t\t\t\t\t\t\t\t_ctx.productStore.selectedTrainingConfigurationOption ===\r\n\t\t\t\t\t\t\t\t\t\t_ctx.TrainingConfigurationOptionEnum.Custom\r\n\t\t\t\t\t\t\t\t\t\n }, null, 8, [\"value\"])\n ]),\n _: 1\n }, 8, [\"label\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_ProductConfigurationSummaryItem, {\n content: _ctx.selectedLocationText,\n label: _ctx.$t('training.lblLocation')\n }, null, 8, [\"content\", \"label\"]),\n (_ctx.productStore.trainingProductForm?.isVdiTraining)\n ? (_openBlock(), _createBlock(_component_ProductConfigurationSummaryItem, {\n key: 1,\n label: _ctx.$t('training.lblVirtualDesktop')\n }, {\n content: _withCtx(() => [\n _createVNode(_component_ColumnYesNo, {\n value: _ctx.productStore.trainingProductForm.isVdiTraining\n }, null, 8, [\"value\"])\n ]),\n _: 1\n }, 8, [\"label\"]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_ProductConfigurationSummaryItem, {\n content: _ctx.$n(_ctx.trainingPriceCalculation?.totalDurationInDays || 0).toString(),\n label: _ctx.$t('training.lblDuration')\n }, null, 8, [\"content\", \"label\"]),\n _createVNode(_component_ProductConfigurationSummaryItem, {\n content: _ctx.selectedDateFormatted || '-',\n label: _ctx.$t('training.lblDate')\n }, null, 8, [\"content\", \"label\"]),\n _createVNode(_component_ProductConfigurationSummaryItem, {\n content: _ctx.$n(_ctx.productStore.trainingParticipants?.length || 0).toString(),\n label: _ctx.$t('training.lblNumberOfParticipants')\n }, null, 8, [\"content\", \"label\"])\n ]),\n _: 1\n }, 8, [\"header\"])\n ]),\n validationMessage: _withCtx(() => [\n (_ctx.validationErrors.length && _ctx.submitted)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n closable: false,\n severity: \"warn\",\n style: {\"cursor\":\"pointer\"},\n onClick: _cache[13] || (_cache[13] = ($event: any) => (_ctx.scrollToFirstValidationError()))\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$tc(\"common.productSummary.msgValidationErrors\", _ctx.validationErrors.length)), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n walletMessage: _withCtx(() => [\n _withDirectives(_createVNode(_component_WalletMessage, {\n \"wallet-amount\": _ctx.trainingPriceCalculation?.walletAmount\n }, null, 8, [\"wallet-amount\"]), [\n [_vShow, !_ctx.isSmallScreen && _ctx.vm?.canUseWallet]\n ])\n ]),\n default: _withCtx(() => [\n (!_ctx.vm.isBeNeMarket)\n ? (_openBlock(), _createBlock(_component_Card, {\n key: 0,\n class: \"product-config-cta-card\"\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"h3\", _hoisted_36, _toDisplayString(_ctx.vm.name), 1),\n (!_ctx.isMobile)\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_37, _toDisplayString(_ctx.$t('training.onrequest.text')), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.vm.contactPageUrl)\n ? (_openBlock(), _createBlock(_component_LinkButton, {\n key: 1,\n class: \"p-button-success p-button-arrow p-button-raised mt-0 mt-sm-2\",\n label: _ctx.$t('training.onrequest.button'),\n url: _ctx.vm.contactPageUrl\n }, null, 8, [\"label\", \"url\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"can-submit\", \"is-product-available\", \"total-price\"])\n ]),\n _: 1\n }, 8, [\"modelValue\", \"help-block\", \"vm\"]),\n (_ctx.cartStore.showProductAddedModal)\n ? (_openBlock(), _createBlock(_component_ProductAddedModal, {\n key: 0,\n vm: _ctx.productAddedVm,\n onClose: _ctx.refresh\n }, null, 8, [\"vm\", \"onClose\"]))\n : _createCommentVNode(\"\", true),\n (_ctx.trainingStore.isTrainingAddCourseModalVisible)\n ? (_openBlock(), _createBlock(_component_TrainingAddCourseModal, {\n key: 1,\n courses: _ctx.vm.relatedProductModules,\n onTrainingCourseAdded: _cache[16] || (_cache[16] = ($event: any) => (_ctx.onTrainingCourseAdded($event)))\n }, null, 8, [\"courses\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<ProductLayout v-model=\"showSideBar\" :showTeachingsMaterialButton=\"true\" :help-block=\"selectedHelpBlock\" :vm=\"vm\">\r\n\t\t<template #tabs>\r\n\t\t\t<ProductTabs v-if=\"vm.viewModelIsValid && vm.isBeNeMarket\" :items=\"productTabs\">\r\n\t\t\t\t<template #tabConfiguration>\r\n\t\t\t\t\t<ProductPageContentSection>\r\n\t\t\t\t\t\t<ProductConfiguration>\r\n\t\t\t\t\t\t\t<ProductConfigurationStep\r\n\t\t\t\t\t\t\t\tv-if=\"productStore.availableTrainingMethods?.length\"\r\n\t\t\t\t\t\t\t\tid=\"step-type\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t\t\t\t{{ $t(\"training.lblType\") }}\r\n\t\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\t\tv-if=\"vm.helpBlockTrainingMethod\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"header-explanation-text text-underline py-0 p-button-text p-button-secondary\"\r\n\t\t\t\t\t\t\t\t\t\t:label=\"vm.helpBlockTrainingMethod?.linkText\"\r\n\t\t\t\t\t\t\t\t\t\t@click=\"showHelpSideBar(vm.helpBlockTrainingMethod)\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t<template #options>\r\n\t\t\t\t\t\t\t\t\t<ProductConfigurationOption\r\n\t\t\t\t\t\t\t\t\t\tv-for=\"(option, index) in productStore.availableTrainingMethods\"\r\n\t\t\t\t\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\t\t\t\t\t:disabled=\"isBusy\"\r\n\t\t\t\t\t\t\t\t\t\t:is-selected=\"option.value === productStore.selectedTrainingMethod\"\r\n\t\t\t\t\t\t\t\t\t\t:option=\"option\"\r\n\t\t\t\t\t\t\t\t\t\t@option-selected=\"onSelectedTrainingMethodChanged(option.value)\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t</ProductConfigurationOption>\r\n\t\t\t\t\t\t\t\t\t<div class=\"helper-text\">\r\n\t\t\t\t\t\t\t\t\t\t<span class=\"\">{{ trainingMethodHelpText }}</span>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\tv-if=\"\r\n\t\t\t\t\t\t\t\t\t\t\tproductStore.selectedTrainingMethod ===\r\n\t\t\t\t\t\t\t\t\t\t\tTrainingMethodEnum.inCompanyModular\r\n\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"pt-2 w-100\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<Accordion\r\n\t\t\t\t\t\t\t\t\t\t\t:active-index=\"trainingModulesAccordionActiveIndexes\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"accordion-modules\"\r\n\t\t\t\t\t\t\t\t\t\t\t:multiple=\"true\"\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t<AccordionTab\r\n\t\t\t\t\t\t\t\t\t\t\t\tv-for=\"course in productStore.allTrainingCourses\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t:key=\"course\"\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"d-flex align-items-center justify-content-between w-100\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ml-1\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ course.name }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"font-weight-normal text-muted mx-1\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t({{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$tc(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"training.lblModuleCount\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedModulesForCourse(course).length\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}})\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<TrainingModuleTable\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t:key=\"course\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t:is-editable=\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tproductStore.selectedTrainingConfigurationOption ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tTrainingConfigurationOptionEnum.Custom\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t:training-course=\"course\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t@selected-modules-changed=\"onSelectedModulesChanged($event)\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t</AccordionTab>\r\n\t\t\t\t\t\t\t\t\t\t</Accordion>\r\n\t\t\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"mb-3 mb-1 w-100\"\r\n\t\t\t\t\t\t\t\t\t\t\t:label=\"$t('training.button.addModule')\"\r\n\t\t\t\t\t\t\t\t\t\t\t@click=\"onAddModuleClick()\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</ProductConfigurationStep>\r\n\t\t\t\t\t\t\t<ProductConfigurationStep v-if=\"productStore.canChooseLocation\" id=\"step-location\">\r\n\t\t\t\t\t\t\t\t<template #error>\r\n\t\t\t\t\t\t\t\t\t<Message\r\n\t\t\t\t\t\t\t\t\t\tv-if=\"\r\n\t\t\t\t\t\t\t\t\t\t\t!trainingValidations.get(\r\n\t\t\t\t\t\t\t\t\t\t\t\tTrainingValidationEnum.ValidAddressOwnLocation\r\n\t\t\t\t\t\t\t\t\t\t\t) && submitted\r\n\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\t:id=\"`validation-msg-${TrainingValidationEnum.ValidAddressOwnLocation}`\"\r\n\t\t\t\t\t\t\t\t\t\t:closable=\"false\"\r\n\t\t\t\t\t\t\t\t\t\tseverity=\"error\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{{ $t(\"validations.address\") }}\r\n\t\t\t\t\t\t\t\t\t</Message>\r\n\t\t\t\t\t\t\t\t\t<Message\r\n\t\t\t\t\t\t\t\t\t\tv-if=\"\r\n\t\t\t\t\t\t\t\t\t\t\t!trainingValidations.get(TrainingValidationEnum.ValidVdiChoice) &&\r\n\t\t\t\t\t\t\t\t\t\t\tsubmitted\r\n\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\t:id=\"`validation-msg-${TrainingValidationEnum.ValidVdiChoice}`\"\r\n\t\t\t\t\t\t\t\t\t\t:closable=\"false\"\r\n\t\t\t\t\t\t\t\t\t\tseverity=\"error\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{{ $t(\"validations.chooseTrainingHardware\") }}\r\n\t\t\t\t\t\t\t\t\t</Message>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t\t\t\t{{ $t(\"training.lblLocation\") }}\r\n\t\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\t\tv-if=\"vm.helpBlockTrainingLocation\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"header-explanation-text text-underline py-0 p-button-text p-button-secondary\"\r\n\t\t\t\t\t\t\t\t\t\t:label=\"vm.helpBlockTrainingLocation?.linkText\"\r\n\t\t\t\t\t\t\t\t\t\t@click=\"showHelpSideBar(vm.helpBlockTrainingLocation)\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t<div v-if=\"productStore.availableTrainingLocationOptions?.length\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"input-group mb-3\">\r\n\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\tv-for=\"(\r\n\t\t\t\t\t\t\t\t\t\t\t\tlocation, index\r\n\t\t\t\t\t\t\t\t\t\t\t) in productStore.getAvailableTrainingLocationOptions\"\r\n\t\t\t\t\t\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"form-check-inline\"\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t<RadioButton\r\n\t\t\t\t\t\t\t\t\t\t\t\tv-model=\"productStore.selectedTrainingLocationOption\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t:input-id=\"`location${index}`\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tname=\"location\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t:value=\"location.value\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t@change=\"onSelectedTrainingLocationOptionChanged(location.value)\"\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t<label class=\"ml-1 mb-0\" :for=\"`location${index}`\">{{\r\n\t\t\t\t\t\t\t\t\t\t\t\tlocation.label\r\n\t\t\t\t\t\t\t\t\t\t\t}}</label>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\tv-if=\"\r\n\t\t\t\t\t\t\t\t\t\t\tproductStore.selectedTrainingLocationOption ===\r\n\t\t\t\t\t\t\t\t\t\t\tTrainingLocationOptionEnum.Cadac\r\n\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"d-flex flex-wrap\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<ProductConfigurationOption\r\n\t\t\t\t\t\t\t\t\t\t\tv-for=\"(option, index) in productStore.availableTrainingLocations\"\r\n\t\t\t\t\t\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\t\t\t\t\t\t:disabled=\"isBusy\"\r\n\t\t\t\t\t\t\t\t\t\t\t:is-selected=\"\r\n\t\t\t\t\t\t\t\t\t\t\t\toption.value?.id === productStore.selectedTrainingLocation?.id\r\n\t\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\t\t:option=\"option\"\r\n\t\t\t\t\t\t\t\t\t\t\t@option-selected=\"onSelectedTrainingLocationChanged(option.value)\"\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t</ProductConfigurationOption>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\tv-else-if=\"\r\n\t\t\t\t\t\t\t\t\t\t\tproductStore.selectedTrainingLocationOption ===\r\n\t\t\t\t\t\t\t\t\t\t\tTrainingLocationOptionEnum.OwnLocation\r\n\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<AddressForm\r\n\t\t\t\t\t\t\t\t\t\t\tv-model=\"productStore.trainingAddress\"\r\n\t\t\t\t\t\t\t\t\t\t\tref=\"trainingAddressForm\"\r\n\t\t\t\t\t\t\t\t\t\t\t:countries=\"vm.countries\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"form-row\">\r\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"form-group col-md-12 col-lg-10 col-xxl-8\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<label>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ $t(\"training.lblUseCadacHardware\") }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t</label>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<PopoverIcon class=\"d-inline-flex ml-0\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"popover-icon pi pi-question\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-html=\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvm.helpBlockTrainingHardware?.items\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t?.map((x) => x.text)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t?.join('<br>')\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</PopoverIcon>\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t<Dropdown\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tv-model=\"selectedVdiChoice\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\toption-label=\"label\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\toption-value=\"value\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t:options=\"vdiTrainingOptions\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t<div v-else>\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"form-row\">\r\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"form-group col-md-12 col-lg-10 col-xxl-8\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<label>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ $t(\"training.lblUseCadacHardware\") }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t</label>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<PopoverIcon class=\"d-inline-flex ml-0\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"popover-icon pi pi-question\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-html=\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvm.helpBlockTrainingHardware?.items\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t?.map((x) => x.text)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t?.join('<br>')\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</PopoverIcon>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<Dropdown\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tv-model=\"selectedVdiChoice\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\toption-label=\"label\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\toption-value=\"value\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t:options=\"vdiTrainingOptions\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div v-else class=\"d-flex flex-wrap\">\r\n\t\t\t\t\t\t\t\t\t<ProductConfigurationOption\r\n\t\t\t\t\t\t\t\t\t\tv-for=\"(option, index) in productStore.availableTrainingLocations\"\r\n\t\t\t\t\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\t\t\t\t\t:disabled=\"isBusy\"\r\n\t\t\t\t\t\t\t\t\t\t:is-selected=\"\r\n\t\t\t\t\t\t\t\t\t\t\toption.value?.id === productStore.selectedTrainingLocation?.id\r\n\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\t:option=\"option\"\r\n\t\t\t\t\t\t\t\t\t\t@option-selected=\"onSelectedTrainingLocationChanged(option.value)\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t</ProductConfigurationOption>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</ProductConfigurationStep>\r\n\r\n\t\t\t\t\t\t\t<ProductConfigurationStep\r\n\t\t\t\t\t\t\t\tv-if=\"\r\n\t\t\t\t\t\t\t\t\tproductStore.selectedTrainingMethod === TrainingMethodEnum.training ||\r\n\t\t\t\t\t\t\t\t\tproductStore.selectedTrainingMethod === TrainingMethodEnum.inCompany ||\r\n\t\t\t\t\t\t\t\t\tproductStore.selectedTrainingMethod === TrainingMethodEnum.inCompanyModular\r\n\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\tid=\"step-date\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t<template #error>\r\n\t\t\t\t\t\t\t\t\t<Message\r\n\t\t\t\t\t\t\t\t\t\tv-if=\"\r\n\t\t\t\t\t\t\t\t\t\t\t!trainingValidations.get(\r\n\t\t\t\t\t\t\t\t\t\t\t\tTrainingValidationEnum.ValidPreferredStartDate\r\n\t\t\t\t\t\t\t\t\t\t\t) && submitted\r\n\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\t:id=\"`validation-msg-${TrainingValidationEnum.ValidPreferredStartDate}`\"\r\n\t\t\t\t\t\t\t\t\t\t:closable=\"false\"\r\n\t\t\t\t\t\t\t\t\t\tseverity=\"error\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{{ $t(\"training.message.selectPreferredDate\") }}\r\n\t\t\t\t\t\t\t\t\t</Message>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t\t\t\t<span\r\n\t\t\t\t\t\t\t\t\t\tv-if=\"\r\n\t\t\t\t\t\t\t\t\t\t\tproductStore.selectedTrainingMethod === TrainingMethodEnum.inCompany ||\r\n\t\t\t\t\t\t\t\t\t\t\tproductStore.selectedTrainingMethod ===\r\n\t\t\t\t\t\t\t\t\t\t\t\tTrainingMethodEnum.inCompanyModular\r\n\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{{ $t(\"training.lblDate\") }}\r\n\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t<span v-else>\r\n\t\t\t\t\t\t\t\t\t\t{{ $t(\"training.lblDates\") }}\r\n\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t<template\r\n\t\t\t\t\t\t\t\t\tv-if=\"\r\n\t\t\t\t\t\t\t\t\t\tproductStore.selectedTrainingMethod === TrainingMethodEnum.inCompany ||\r\n\t\t\t\t\t\t\t\t\t\tproductStore.selectedTrainingMethod === TrainingMethodEnum.inCompanyModular\r\n\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t#footer\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t{{ $t(\"training.lblEndDatePreference\") }}\r\n\t\t\t\t\t\t\t\t</template>\r\n\r\n\t\t\t\t\t\t\t\t<template\r\n\t\t\t\t\t\t\t\t\tv-if=\"productStore.selectedTrainingMethod === TrainingMethodEnum.training\"\r\n\t\t\t\t\t\t\t\t\t#options\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<ProductConfigurationOption\r\n\t\t\t\t\t\t\t\t\t\tv-for=\"(option, index) in productStore.availableScheduledTrainings\"\r\n\t\t\t\t\t\t\t\t\t\t:key=\"index\"\r\n\t\t\t\t\t\t\t\t\t\t:disabled=\"isBusy\"\r\n\t\t\t\t\t\t\t\t\t\t:is-selected=\"\r\n\t\t\t\t\t\t\t\t\t\t\toption.value?.id === productStore.selectedScheduledTraining?.id\r\n\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\t:option=\"option\"\r\n\t\t\t\t\t\t\t\t\t\t@option-selected=\"onSelectedScheduledTrainingChanged(option.value)\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<template #usp-availablePlaces>\r\n\t\t\t\t\t\t\t\t\t\t\t<span v-if=\"option.value.availablePlaces\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"pi pi-user text-primary mr-1\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t$tc(\"training.lblAvailableSeats\", option.value.availablePlaces)\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t\t\t<template #usp-isGuaranteed>\r\n\t\t\t\t\t\t\t\t\t\t\t<span v-if=\"option.value.guaranteed\" class=\"text-success\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"pi pi-check-circle mr-1\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t{{ $t(\"training.lblGuaranteed\") }}\r\n\t\t\t\t\t\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t\t</ProductConfigurationOption>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t<template v-else #options>\r\n\t\t\t\t\t\t\t\t\t<Calendar\r\n\t\t\t\t\t\t\t\t\t\tv-model=\"selectedPreferredStartDate\"\r\n\t\t\t\t\t\t\t\t\t\t:locale=\"currentRegion\"\r\n\t\t\t\t\t\t\t\t\t\tv-bind=\"preferredDateOptions\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t</ProductConfigurationStep>\r\n\r\n\t\t\t\t\t\t\t<ProductConfigurationStep id=\"step-participants\">\r\n\t\t\t\t\t\t\t\t<template #error>\r\n\t\t\t\t\t\t\t\t\t<Message\r\n\t\t\t\t\t\t\t\t\t\tv-if=\"\r\n\t\t\t\t\t\t\t\t\t\t\t!trainingValidations.get(TrainingValidationEnum.MaxParticipants) &&\r\n\t\t\t\t\t\t\t\t\t\t\tsubmitted\r\n\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\t:id=\"`validation-msg-${TrainingValidationEnum.MaxParticipants}`\"\r\n\t\t\t\t\t\t\t\t\t\t:closable=\"false\"\r\n\t\t\t\t\t\t\t\t\t\tseverity=\"error\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\t\t\t$t(\"training.message.tooManyParticipants\", [\r\n\t\t\t\t\t\t\t\t\t\t\t\tproductStore.maxParticipants,\r\n\t\t\t\t\t\t\t\t\t\t\t])\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t</Message>\r\n\t\t\t\t\t\t\t\t\t<Message\r\n\t\t\t\t\t\t\t\t\t\tv-if=\"\r\n\t\t\t\t\t\t\t\t\t\t\t!trainingValidations.get(\r\n\t\t\t\t\t\t\t\t\t\t\t\tTrainingValidationEnum.AtleastOneParticipant\r\n\t\t\t\t\t\t\t\t\t\t\t) && submitted\r\n\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\t:id=\"`validation-msg-${TrainingValidationEnum.AtleastOneParticipant}`\"\r\n\t\t\t\t\t\t\t\t\t\t:closable=\"false\"\r\n\t\t\t\t\t\t\t\t\t\tseverity=\"error\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{{ $t(\"training.message.atLeastOneParticipant\") }}\r\n\t\t\t\t\t\t\t\t\t</Message>\r\n\t\t\t\t\t\t\t\t\t<Message\r\n\t\t\t\t\t\t\t\t\t\tv-if=\"\r\n\t\t\t\t\t\t\t\t\t\t\t!trainingValidations.get(\r\n\t\t\t\t\t\t\t\t\t\t\t\tTrainingValidationEnum.UniqueEmailParticipant\r\n\t\t\t\t\t\t\t\t\t\t\t) && submitted\r\n\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\t:id=\"`validation-msg-${TrainingValidationEnum.UniqueEmailParticipant}`\"\r\n\t\t\t\t\t\t\t\t\t\t:closable=\"false\"\r\n\t\t\t\t\t\t\t\t\t\tseverity=\"error\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t{{ $t(\"training.message.uniqueEmailParticipant\") }}\r\n\t\t\t\t\t\t\t\t\t</Message>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t\t\t\t{{ $t(\"training.lblParticipants\") }}\r\n\t\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\t\tv-if=\"vm.helpBlockTrainingParticipants\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"header-explanation-text text-underline py-0 p-button-text p-button-secondary\"\r\n\t\t\t\t\t\t\t\t\t\t:label=\"vm.helpBlockTrainingParticipants?.linkText\"\r\n\t\t\t\t\t\t\t\t\t\t@click=\"showHelpSideBar(vm.helpBlockTrainingParticipants)\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t<div class=\"mb-3 pr-lg-5 pr-md-2\">\r\n\t\t\t\t\t\t\t\t\t<Accordion\r\n\t\t\t\t\t\t\t\t\t\tv-model:active-index=\"trainingParticipantsAccordionActiveIndexes\"\r\n\t\t\t\t\t\t\t\t\t\tref=\"productStore.trainingParticipantsAccordion\"\r\n\t\t\t\t\t\t\t\t\t\t:multiple=\"true\"\r\n\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t<AccordionTab\r\n\t\t\t\t\t\t\t\t\t\t\tv-for=\"(participant, index) in productStore.trainingParticipants\"\r\n\t\t\t\t\t\t\t\t\t\t\t:key=\"participant\"\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"d-flex justify-content-between align-items-center w-100\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h5 class=\"mx-2 mb-0\">{{ index + 1 }}.</h5>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"mr-1 mb-0\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ getParticipantName(participant) }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"p-button-danger p-button-outlined p-button-rounded border\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ticon=\"pi pi-times\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t@click.stop=\"removeParticipant(index)\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t\t\t\t<small>{{ $t(\"training.lblOptionalFieldsIfUnknown\") }}</small>\r\n\t\t\t\t\t\t\t\t\t\t\t<TrainingParticipantForm\r\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mt-1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t:index=\"index\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t:item=\"participant\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t:submitted=\"submitted\"\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t</AccordionTab>\r\n\t\t\t\t\t\t\t\t\t</Accordion>\r\n\t\t\t\t\t\t\t\t\t<div v-if=\"productStore.canAddParticipants\" class=\"mt-2\">\r\n\t\t\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"p-button-text mr-2 px-0\"\r\n\t\t\t\t\t\t\t\t\t\t\ticon=\"pi pi-plus-circle p-button-icon-lg\"\r\n\t\t\t\t\t\t\t\t\t\t\t:label=\"$t('training.button.addParticipant')\"\r\n\t\t\t\t\t\t\t\t\t\t\t@click=\"addParticipant()\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t<Button\r\n\t\t\t\t\t\t\t\t\t\t\tv-if=\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tvm.loggedInUserAsParticipant &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t!productStore.trainingParticipants.find(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t(x) => x.id === vm.loggedInUserAsParticipant.id\r\n\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"p-button-text p-button-secondary px-0\"\r\n\t\t\t\t\t\t\t\t\t\t\ticon=\"pi pi-user-plus p-button-icon-lg\"\r\n\t\t\t\t\t\t\t\t\t\t\t:label=\"$t('training.button.addSelfAsParticipant')\"\r\n\t\t\t\t\t\t\t\t\t\t\t@click=\"addParticipant(vm.loggedInUserAsParticipant)\"\r\n\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</ProductConfigurationStep>\r\n\t\t\t\t\t\t</ProductConfiguration>\r\n\t\t\t\t\t</ProductPageContentSection>\r\n\t\t\t\t\t<ProductPageContentSection v-if=\"vm.relatedUpSellProducts?.length\" type=\"upsell\">\r\n\t\t\t\t\t\t<h3 class=\"\">{{ $t(\"product.titleUpSell\") }}</h3>\r\n\t\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t\t<div v-for=\"product in vm.relatedUpSellProducts\" :key=\"product\" class=\"col-md-6 mb-2\">\r\n\t\t\t\t\t\t\t\t<BaseProductOverviewItemCard is-cross-sell :vm=\"product\" />\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</ProductPageContentSection>\r\n\t\t\t\t</template>\r\n\t\t\t</ProductTabs>\r\n\t\t</template>\r\n\t\t<template #summary>\r\n\t\t\t<ProductPageSummary :can-submit=\"!submitted || validateProductConfiguration()\"\r\n\t\t\t\t\t\t\t\t:is-product-available=\"vm.viewModelIsValid && vm.isBeNeMarket\"\r\n\t\t\t\t\t\t\t\t:total-price=\"trainingPriceCalculation?.totalPrice\"\r\n\t\t\t\t\t\t\t\t@addToCart=\"addToCart()\">\r\n\r\n\t\t\t\t<Card class=\"product-config-cta-card\" v-if=\"!vm.isBeNeMarket\">\r\n\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t<h3 class=\"mb-1\">{{ vm.name }}</h3>\r\n\t\t\t\t\t\t<p v-if=\"!isMobile\" class=\"lead\">\r\n\t\t\t\t\t\t\t{{ $t('training.onrequest.text') }}\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t<LinkButton v-if=\"vm.contactPageUrl\"\r\n\t\t\t\t\t\t\t\t\tclass=\"p-button-success p-button-arrow p-button-raised mt-0 mt-sm-2\"\r\n\t\t\t\t\t\t\t\t\t:label=\"$t('training.onrequest.button')\"\r\n\t\t\t\t\t\t\t\t\t:url=\"vm.contactPageUrl\" />\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</Card>\r\n\t\t\t\t<template #priceSummary>\r\n\t\t\t\t\t<ScrollPanel style=\"width: 100%; height: clamp(200px, 30vh, 300px)\">\r\n\t\t\t\t\t\t<TrainingPriceSummary :vm=\"trainingPriceCalculation\" />\r\n\t\t\t\t\t</ScrollPanel>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template #configurationSummary>\r\n\t\t\t\t\t<ProductConfigurationSummary :header=\"$t('training.titleSummary')\">\r\n\t\t\t\t\t\t<ProductConfigurationSummaryItem :content=\"$t(`enum.trainingMethod.${productStore.selectedTrainingMethod}`)\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t :label=\"$t('training.lblType')\" />\r\n\t\t\t\t\t\t<ProductConfigurationSummaryItem v-if=\"productStore.selectedTrainingMethod === 3\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t :label=\"$t('training.lblModular')\">\r\n\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t<ColumnYesNo :value=\"\r\n\t\t\t\t\t\t\t\t\t\tproductStore.selectedTrainingConfigurationOption ===\r\n\t\t\t\t\t\t\t\t\t\tTrainingConfigurationOptionEnum.Custom\r\n\t\t\t\t\t\t\t\t\t\" />\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</ProductConfigurationSummaryItem>\r\n\t\t\t\t\t\t<ProductConfigurationSummaryItem :content=\"selectedLocationText\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t :label=\"$t('training.lblLocation')\" />\r\n\t\t\t\t\t\t<ProductConfigurationSummaryItem v-if=\"productStore.trainingProductForm?.isVdiTraining\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t :label=\"$t('training.lblVirtualDesktop')\">\r\n\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t<ColumnYesNo :value=\"productStore.trainingProductForm.isVdiTraining\" />\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</ProductConfigurationSummaryItem>\r\n\t\t\t\t\t\t<ProductConfigurationSummaryItem :content=\"$n(trainingPriceCalculation?.totalDurationInDays || 0).toString()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t :label=\"$t('training.lblDuration')\" />\r\n\t\t\t\t\t\t<ProductConfigurationSummaryItem :content=\"selectedDateFormatted || '-'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t :label=\"$t('training.lblDate')\" />\r\n\t\t\t\t\t\t<ProductConfigurationSummaryItem :content=\"$n(productStore.trainingParticipants?.length || 0).toString()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t :label=\"$t('training.lblNumberOfParticipants')\" />\r\n\t\t\t\t\t</ProductConfigurationSummary>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template #validationMessage>\r\n\t\t\t\t\t<Message v-if=\"validationErrors.length && submitted\"\r\n\t\t\t\t\t\t\t :closable=\"false\"\r\n\t\t\t\t\t\t\t severity=\"warn\"\r\n\t\t\t\t\t\t\t style=\"cursor: pointer\"\r\n\t\t\t\t\t\t\t @click=\"scrollToFirstValidationError()\">\r\n\t\t\t\t\t\t{{ $tc(\"common.productSummary.msgValidationErrors\", validationErrors.length) }}\r\n\t\t\t\t\t</Message>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template #walletMessage>\r\n\t\t\t\t\t<WalletMessage v-show=\"!isSmallScreen && vm?.canUseWallet\"\r\n\t\t\t\t\t\t\t\t :wallet-amount=\"trainingPriceCalculation?.walletAmount\" />\r\n\t\t\t\t</template>\r\n\t\t\t</ProductPageSummary>\r\n\t\t</template>\r\n\t</ProductLayout>\r\n\t<ProductAddedModal v-if=\"cartStore.showProductAddedModal\" :vm=\"productAddedVm\" @close=\"refresh\" />\r\n\t<TrainingAddCourseModal\r\n\t\tv-if=\"trainingStore.isTrainingAddCourseModalVisible\"\r\n\t\t:courses=\"vm.relatedProductModules\"\r\n\t\t@training-course-added=\"onTrainingCourseAdded($event)\"\r\n\t/>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\n// @ts-nocheck\r\nimport Accordion from \"primevue/accordion\";\r\nimport AccordionTab from \"primevue/accordiontab\";\r\nimport AddressForm from \"@/components/common/forms/addressForm.vue\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport BaseProductOverviewItemCard from \"@/components/product/baseProductOverviewItemCard.vue\";\r\nimport Calendar, { CalendarProps } from \"primevue/calendar\";\r\nimport Card from \"primevue/card\";\r\nimport Checkbox from \"primevue/checkbox\";\r\nimport ColumnYesNo from \"@/components/commerce/cart/columnYesNo.vue\";\r\nimport ProductAddedModal from \"@/components/commerce/productAddedModal.vue\";\r\nimport ProductConfiguration from \"@/components/product/productConfiguration.vue\";\r\nimport ProductConfigurationOption from \"@/components/product/productConfigurationOption.vue\";\r\nimport ProductConfigurationStep from \"@/components/product/productConfigurationStep.vue\";\r\nimport ProductConfigurationSummary from \"@/components/product/productConfigurationSummary.vue\";\r\nimport ProductConfigurationSummaryItem from \"@/components/product/productConfigurationSummaryItem.vue\";\r\nimport ProductLayout from \"@/views/layout/productLayout.vue\";\r\nimport ProductPageContentSection from \"@/components/product/productPageContentSection.vue\";\r\nimport ProductPageHeader from \"@/components/product/productPageHeader.vue\";\r\nimport ProductPageSummary from \"@/components/product/productPageSummary.vue\";\r\nimport ProductTabs, { ProductTab } from \"@/components/product/productTabs.vue\";\r\nimport ProgressSpinner from \"primevue/progressspinner\";\r\nimport ScrollPanel from \"primevue/scrollpanel\";\r\nimport TrainingAddCourseModal, {\r\n\tTrainingCourseAddedEvent,\r\n} from \"@/components/training/trainingAddCourseModal.vue\";\r\nimport TrainingCourseTable from \"@/components/training/trainingCourseTable.vue\";\r\nimport TrainingModuleTable, { TrainingModulesChangedEvent } from \"@/components/training/trainingModuleTable.vue\";\r\nimport TrainingParticipantForm from \"@/components/common/forms/trainingParticipantForm.vue\";\r\nimport TrainingPriceSummary from \"@/components/training/trainingPriceSummary.vue\";\r\nimport WalletMessage from \"@/components/common/WalletMessage.vue\";\r\nimport { AddressForm as AddressFormModel } from \"@/types/models/form/addressForm\";\r\nimport { Component, Prop, Ref, Watch } from \"vue-facing-decorator\";\r\nimport { HelpBlockViewModel } from \"@/types/generated/Common/helpBlockViewModel\";\r\nimport { IDropdownItem } from \"@/types/models/common/dropdownItem.interface\";\r\nimport { IProductAddedModal } from \"@/types/viewModels/commerce/productAddedModalViewModel\";\r\nimport { ItemProductType } from \"@/types/enum/itemProductType\";\r\nimport { LocalTrainingType } from \"@/types/enum/localTrainingType\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport { ScheduledTrainingViewModel } from \"@/types/generated/Training/scheduledTrainingViewModel\";\r\nimport { TrainingCalculationErrorCode } from \"@/types/enum/trainingCalculationErrorCode\";\r\nimport { TrainingCalculationRequest } from \"@/types/generated/Api/trainingCalculationRequest\";\r\nimport { TrainingCalculationResponse } from \"@/types/generated/Api/trainingCalculationResponse\";\r\nimport { TrainingConfigurationOption } from \"@/types/enum/trainingConfigurationOption\";\r\nimport { TrainingLocationOption } from \"@/types/enum/trainingLocationOption\";\r\nimport { TrainingLocationViewModel } from \"@/types/models/training/trainingLocationViewModel\";\r\nimport { TrainingMethod } from \"@/types/enum/trainingMethod\";\r\nimport { TrainingParticipantForm as TrainingParticipantFormModel } from \"@/types/models/form/trainingParticipantForm\";\r\nimport { TrainingProductAddToCartRequest } from \"@/types/generated/Api/trainingProductAddToCartRequest\";\r\nimport { TrainingProductGroupItemViewModel } from \"@/types/models/training/trainingProductGroupItemViewModel\";\r\nimport { TrainingValidation } from \"@/types/enum/trainingValidation\";\r\nimport { TrainingViewModel } from \"@/types/generated/Training/trainingViewModel\";\r\nimport { addBusinessDays, isValid } from \"date-fns\";\r\nimport { cloneDeep } from \"lodash\";\r\nimport { useCartStore } from \"@/store/commerce/cartStore\";\r\nimport { useTrainingProductStore } from \"@/store/training/trainingProductStore\";\r\nimport { useTrainingStore } from \"@/store/training/trainingStore\";\r\nimport { zonedTimeToUtc } from \"date-fns-tz\";\r\nimport { FormComponent } from \"@/types/models/form/formComponent\";\r\nimport { ProductCategoryType } from \"@/types/enum/productCategoryType\";\r\nimport toFixed from \"accounting-js/lib/toFixed.js\";\r\nimport { ITrainingProduct } from \"../../types/viewModels/commerce/trainingProductViewModel\";\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tAccordion,\r\n\t\tAccordionTab,\r\n\t\tAddressForm,\r\n\t\tBaseProductOverviewItemCard,\r\n\t\tCalendar,\r\n\t\tCheckbox,\r\n\t\tColumnYesNo,\r\n\t\tProductAddedModal,\r\n\t\tProductConfiguration,\r\n\t\tProductConfigurationOption,\r\n\t\tProductConfigurationStep,\r\n\t\tProductConfigurationSummary,\r\n\t\tProductConfigurationSummaryItem,\r\n\t\tProductLayout,\r\n\t\tProductPageContentSection,\r\n\t\tProductPageHeader,\r\n\t\tProductPageSummary,\r\n\t\tProductTabs,\r\n\t\tProgressSpinner,\r\n\t\tScrollPanel,\r\n\t\tTrainingAddCourseModal,\r\n\t\tTrainingCourseTable,\r\n\t\tTrainingModuleTable,\r\n\t\tTrainingParticipantForm,\r\n\t\tTrainingPriceSummary,\r\n\t\tWalletMessage,\r\n Card,\r\n\t},\r\n})\r\nexport default class TrainingProduct extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<ITrainingProduct>, required: true, default: {} })\r\n\tvm!: TrainingViewModel;\r\n\r\n\t////////////////////////MISSING TRAININGS PROP??????\r\n\t@Ref readonly trainingAddressForm!: FormComponent<AddressFormModel>;\r\n\tsubmitted = false;\r\n\tshowSideBar = false;\r\n\ttrainingParticipantsAccordionActiveIndexes: number[] = [];\r\n\ttrainingModulesAccordionActiveIndexes: number[] = [];\r\n\tselectedHelpBlock!: HelpBlockViewModel | null;\r\n\tselectedPreferredStartDate!: Date;\r\n\tselectedVdiChoice: boolean | null = null;\r\n\tvdiTrainingOptions: IDropdownItem[] = [];\r\n\ttrainingPriceCalculation: TrainingCalculationResponse | null = null;\r\n\ttrainingValidations: Map<TrainingValidation, boolean> = new Map<TrainingValidation, boolean>();\r\n\r\n\tcartStore = useCartStore();\r\n\tproductStore = useTrainingProductStore();\r\n\ttrainingStore = useTrainingStore();\r\n\r\n\t@Watch(\"productStore.trainingAddress\", { deep: true }) onTrainingAddressChanged(): void {\r\n\t\tthis.trainingValidations.set(\r\n\t\t\tTrainingValidation.ValidAddressOwnLocation,\r\n\t\t\tthis.productStore.selectedTrainingLocationOption === TrainingLocationOption.OwnLocation\r\n\t\t\t\t? this.trainingAddressForm?.isValid || false\r\n\t\t\t\t: true\r\n\t\t);\r\n\t}\r\n\r\n\t@Watch(\"productStore.trainingParticipants\", { deep: true })\r\n\tonTrainingParticipantsChanged(): void {\r\n\t\tthis.trainingValidations.set(TrainingValidation.UniqueEmailParticipant, this.checkParticipantsUniqueEmail);\r\n\t\tthis.trainingValidations.set(TrainingValidation.MaxParticipants, this.checkMaxParticipants);\r\n\t}\r\n\r\n\t@Watch(\"selectedVdiChoice\", { deep: true })\r\n\tonSelectedVdiChoiceChanged(): void {\r\n\t\tthis.recalculatePrice();\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\r\n\t\tconst { trainingProductConfiguration, viewModelIsValid, viewModelErrors } = this.vm;\r\n\t\tif (viewModelIsValid) {\r\n\t\t\tLog.info(\"TrainingProduct\", this.vm);\r\n\t\t\tthis.productStore.isInitializing = true;\r\n\t\t\tthis.productStore.initProductPage(this.vm);\r\n\r\n\t\t\tif (trainingProductConfiguration) {\r\n\t\t\t\tthis.selectedVdiChoice = trainingProductConfiguration.isVdiTraining;\r\n\t\t\t\tthis.productStore.initPreviousConfiguration(trainingProductConfiguration);\r\n\t\t\t\tsetTimeout(\r\n\t\t\t\t\t() =>\r\n\t\t\t\t\t\t(this.selectedPreferredStartDate = this.toDate(\r\n\t\t\t\t\t\t\ttrainingProductConfiguration.desiredDate as Date\r\n\t\t\t\t\t\t))\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tLog.error(new Error(viewModelErrors?.join(\", \")));\r\n\t\t}\r\n\t\tthis.vdiTrainingOptions = [\r\n\t\t\t{ label: `${this.$t(\"training.lblVdiYes\")}`, value: true },\r\n\t\t\t{ label: `${this.$t(\"training.lblVdiNo\")}`, value: false },\r\n\t\t];\r\n\r\n\t\tthis.trainingModulesAccordionActiveIndexes = this.productStore.allTrainingCourses.map((_, i) => i);\r\n\t\tthis.productStore.isInitializing = false;\r\n\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t\tthis.validateProductConfiguration();\r\n\t\tthis.recalculatePrice();\r\n\t}\r\n\r\n\tmounted(): void {\r\n\t\tthis.recalculatePrice(() => this.sendViewItem());\r\n\t}\r\n\r\n\tget TrainingValidationEnum(): typeof TrainingValidation {\r\n\t\treturn TrainingValidation;\r\n\t}\r\n\r\n\tget TrainingLocationOptionEnum(): typeof TrainingLocationOption {\r\n\t\treturn TrainingLocationOption;\r\n\t}\r\n\r\n\tget TrainingConfigurationOptionEnum(): typeof TrainingConfigurationOption {\r\n\t\treturn TrainingConfigurationOption;\r\n\t}\r\n\r\n\tget TrainingMethodEnum(): typeof TrainingMethod {\r\n\t\treturn TrainingMethod;\r\n\t}\r\n\r\n\tget trainingMethodHelpText(): string {\r\n\t\tswitch (this.productStore.selectedTrainingMethod) {\r\n\t\t\tcase TrainingMethod.training:\r\n\t\t\t\treturn this.$t(\"training.lblTrainingMethodClassWithOthers\");\r\n\t\t\tcase TrainingMethod.inCompany:\r\n\t\t\tcase TrainingMethod.inCompanyModular:\r\n\t\t\t\treturn this.$t(\"training.lblTrainingMethodMaxNumberOfColleagues\", [\r\n\t\t\t\t\tthis.productStore.maxParticipants,\r\n\t\t\t\t]);\r\n\t\t\tcase TrainingMethod.elearning:\r\n\t\t\t\treturn this.$t(\"training.lblTrainingMethodElearning\");\r\n\t\t\tdefault:\r\n\t\t\t\treturn \"\";\r\n\t\t}\r\n\t}\r\n\r\n\tget selectedLocationText(): string {\r\n\t\treturn this.productStore.selectedTrainingLocationOption === TrainingLocationOption.Cadac\r\n\t\t\t? this.productStore.selectedTrainingLocation?.name ||\r\n\t\t\t\t\tthis.$t(`enum.trainingLocation.${this.productStore.selectedTrainingLocationOption}`)\r\n\t\t\t: this.productStore.selectedTrainingLocationOption === TrainingLocationOption.OnlineRemote\r\n\t\t\t\t? this.$t(`enum.trainingLocation.${TrainingLocationOption.OnlineRemote}`)\r\n\t\t\t\t: this.$t(`enum.trainingLocation.${TrainingLocationOption.OwnLocation}`);\r\n\t}\r\n\r\n\tget selectedModulesForCourse() {\r\n\t\treturn (course: TrainingViewModel) =>\r\n\t\t\tcourse.modules.filter((x) => this.productStore.isModuleSelected(course.cadacIdentifier, x.sku));\r\n\t}\r\n\r\n\tget scheduledTrainingsForSelectedLocation() {\r\n\t\tconst filteredScheduledTrainings =\r\n\t\t\tthis.productStore.selectedTrainingCourse?.scheduledTrainings?.filter(\r\n\t\t\t\t(x) => x.location.id === this.productStore.selectedTrainingLocation?.id\r\n\t\t\t) || [];\r\n\t\tthis.productStore.selectedScheduledTraining = filteredScheduledTrainings[0];\r\n\t\treturn filteredScheduledTrainings;\r\n\t}\r\n\r\n\tget selectedDateFormatted(): string {\r\n\t\tswitch (this.productStore.selectedTrainingMethod) {\r\n\t\t\tcase TrainingMethod.inCompany:\r\n\t\t\tcase TrainingMethod.inCompanyModular:\r\n\t\t\t\treturn this.selectedPreferredStartDate ? this.formatDate(this.selectedPreferredStartDate) : \"\";\r\n\t\t\tcase TrainingMethod.training:\r\n\t\t\t\treturn this.productStore.selectedScheduledTraining\r\n\t\t\t\t\t? this.productStore.selectedScheduledTraining.datesString\r\n\t\t\t\t\t: \"\";\r\n\t\t\tdefault:\r\n\t\t\t\treturn \"\";\r\n\t\t}\r\n\t}\r\n\r\n\tget productTabs(): ProductTab[] {\r\n\t\treturn [\r\n\t\t\t{\r\n\t\t\t\tlabel: this.$t(\"training.tabComposeTraining\"),\r\n\t\t\t\tid: \"tabConfiguration\",\r\n\t\t\t},\r\n\t\t];\r\n\t}\r\n\r\n\tget trainingAddToCartModel(): TrainingProductAddToCartRequest {\r\n\t\tconst form = cloneDeep(this.productStore.trainingProductForm as TrainingProductAddToCartRequest);\r\n\t\tif (!form || !form.course) return {} as TrainingProductAddToCartRequest;\r\n\t\tif (this.selectedPreferredStartDate)\r\n\t\t\tform.desiredDate = zonedTimeToUtc(this.selectedPreferredStartDate, \"UTC\");\r\n\t\tform.type = this.productStore.trainingTypeForCurrentConfiguration;\r\n\t\tform.isVdiTraining = !!this.selectedVdiChoice;\r\n\r\n\t\tswitch (this.productStore.selectedTrainingMethod) {\r\n\t\t\tcase TrainingMethod.training:\r\n\t\t\t\tform.trainingLocationId = this.productStore.selectedScheduledTraining?.location?.id;\r\n\t\t\t\tform.trainingListId = this.productStore.selectedScheduledTraining?.id;\r\n\t\t\t\tdelete form.desiredDate;\r\n\t\t\t\tbreak;\r\n\t\t\tcase TrainingMethod.inCompany:\r\n\t\t\tcase TrainingMethod.inCompanyModular:\r\n\t\t\t\tform.trainingLocationId =\r\n\t\t\t\t\tthis.productStore.selectedTrainingLocationOption !== TrainingLocationOption.OwnLocation\r\n\t\t\t\t\t\t? this.productStore.selectedTrainingLocation?.id\r\n\t\t\t\t\t\t: \"\";\r\n\r\n\t\t\t\tbreak;\r\n\t\t\tcase TrainingMethod.elearning:\r\n\t\t\tdefault:\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\tif (this.productStore.trainingTypeForCurrentConfiguration !== LocalTrainingType.modular) {\r\n\t\t\tform.course.selectedModuleSkus = [];\r\n\t\t}\r\n\t\tform.trainingProductGroupId = this.vm.trainingProductGroupId;\r\n\t\tform.course.participants = this.productStore.trainingParticipants;\r\n\t\tform.additionalCourses.forEach((x) => (x.participants = this.productStore.trainingParticipants));\r\n\t\tform.allCourses = [form.course, ...form.additionalCourses];\r\n\t\tform.address = this.productStore.trainingAddress as AddressFormModel;\r\n\t\treturn form;\r\n\t}\r\n\r\n\tget trainingCalculateModel(): TrainingCalculationRequest {\r\n\t\tif (!this.trainingAddToCartModel) return {} as TrainingCalculationRequest;\r\n\t\tconst { course, isVdiTraining, additionalCourses, trainingLocationId } = this.trainingAddToCartModel;\r\n\r\n\t\treturn {\r\n\t\t\tisVdiTraining,\r\n\t\t\tcourse,\r\n\t\t\tadditionalCourses,\r\n\t\t\tlocationId: trainingLocationId,\r\n\t\t\tallCourses: [course, ...(additionalCourses || [])],\r\n\t\t\ttype: this.productStore.trainingTypeForCurrentConfiguration,\r\n\t\t};\r\n\t}\r\n\r\n\tget productAddedVm(): IProductAddedModal {\r\n\t\treturn {\r\n\t\t\tproduct: {\r\n\t\t\t\t...this.vm,\r\n\t\t\t\tproductType: ItemProductType.Training,\r\n\t\t\t\tsubject: this.productStore.selectedTrainingCourse?.name,\r\n\t\t\t} as unknown as TrainingProductGroupItemViewModel,\r\n\t\t\tcrossSellProducts: this.vm.relatedCrossSellProducts,\r\n\t\t};\r\n\t}\r\n\r\n\tget preferredDateOptions(): Partial<CalendarProps> {\r\n\t\treturn {\r\n\t\t\tminDate: addBusinessDays(new Date(), 3),\r\n\t\t\tdisabledDays: [0, 6],\r\n\t\t\tshowIcon: true,\r\n\t\t\tnumberOfMonths: 2,\r\n\t\t\ttouchUI: this.isSmallScreen as any,\r\n\t\t\tresponsiveOptions: [\r\n\t\t\t\t{ breakpoint: \"1400px\", numMonths: 2 },\r\n\t\t\t\t{ breakpoint: \"1200px\", numMonths: 1 },\r\n\t\t\t],\r\n\t\t};\r\n\t}\r\n\r\n\tget checkAtleastOneParticipant(): boolean {\r\n\t\treturn this.productStore.trainingParticipants?.length > 0;\r\n\t}\r\n\r\n\tget checkMaxParticipants(): boolean {\r\n\t\treturn this.productStore.trainingParticipants?.length <= this.productStore.maxParticipants;\r\n\t}\r\n\r\n\tget checkParticipantsUniqueEmail(): boolean {\r\n\t\tconst nonEmptyEmails = this.productStore.trainingParticipants.map((x) => x.email).filter(Boolean);\r\n\t\treturn new Set(nonEmptyEmails).size === nonEmptyEmails.length;\r\n\t}\r\n\r\n\tget isPreferredStartDateValid(): boolean {\r\n\t\treturn (\r\n\t\t\t(this.productStore.selectedTrainingMethod === TrainingMethod.inCompany &&\r\n\t\t\t\tisValid(this.selectedPreferredStartDate)) ||\r\n\t\t\t(this.productStore.selectedTrainingMethod === TrainingMethod.inCompanyModular &&\r\n\t\t\t\tisValid(this.selectedPreferredStartDate))\r\n\t\t);\r\n\t}\r\n\r\n\tget validationErrors(): boolean[] {\r\n\t\treturn [...this.trainingValidations.values()].filter((x) => !x);\r\n\t}\r\n\r\n\tsendViewItem() {\r\n\t\tthis.setDataLayer.viewItem(\r\n\t\t\tthis.trainingPriceCalculation?.totalPrice\r\n\t\t\t\t? toFixed(this.trainingPriceCalculation?.totalPrice, 2)\r\n\t\t\t\t: \"0\",\r\n\t\t\t[\r\n\t\t\t\t{\r\n\t\t\t\t\tid: this.productStore.selectedTrainingCourse?.id || \"0000-0000-0000-0000\",\r\n\t\t\t\t\tname: this.productStore.selectedTrainingCourse?.name,\r\n\t\t\t\t\tbasePrice: this.trainingPriceCalculation?.totalPrice,\r\n\t\t\t\t\tpersonalPrice: this.trainingPriceCalculation?.totalPrice,\r\n\t\t\t\t\tproductCategory: ProductCategoryType.TrainingProductGroup,\r\n\t\t\t\t\tbrand: this.vm.brand,\r\n\t\t\t\t\tamount: 1,\r\n\t\t\t\t},\r\n\t\t\t]\r\n\t\t);\r\n\t}\r\n\r\n\taddParticipant(loggedInUserAsParticipant?: TrainingParticipantFormModel): void {\r\n\t\tconst participant = loggedInUserAsParticipant ?? ({ isUnknown: true } as any);\r\n\t\tthis.productStore.trainingParticipants.push(participant);\r\n\t\tthis.trainingParticipantsAccordionActiveIndexes.push(this.productStore.trainingParticipants.length - 1);\r\n\t\tthis.recalculatePrice();\r\n\t}\r\n\r\n\tremoveParticipant(index: number): void {\r\n\t\tthis.productStore.trainingParticipants.splice(index, 1);\r\n\t\tthis.trainingModulesAccordionActiveIndexes.splice(\r\n\t\t\tthis.trainingModulesAccordionActiveIndexes.findIndex((x) => x === index),\r\n\t\t\t1\r\n\t\t);\r\n\t\tthis.recalculatePrice();\r\n\t}\r\n\r\n\tgetParticipantName(trainingParticipant: TrainingParticipantFormModel): string {\r\n\t\treturn trainingParticipant.isUnknown\r\n\t\t\t? this.$t(\"training.lblUnknownParticipant\")\r\n\t\t\t: `${trainingParticipant.firstName} ${trainingParticipant.lastName} (${trainingParticipant.email})`;\r\n\t}\r\n\r\n\tshowHelpSideBar(helpBlock: HelpBlockViewModel): void {\r\n\t\tthis.selectedHelpBlock = helpBlock;\r\n\t\tthis.showSideBar = true;\r\n\t}\r\n\r\n\taddToCart(): void {\r\n\t\tthis.submitted = true;\r\n\t\tif (!this.validateProductConfiguration()) {\r\n\t\t\tsetTimeout(() => this.scrollToFirstValidationError(), 50);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\tthis.axios\r\n\t\t\t.post(\"/api/cart/add-training\", this.trainingAddToCartModel)\r\n\t\t\t.then(() => {\r\n\t\t\t\tuseCartStore().showModal(\"ProductAdded\");\r\n\r\n\t\t\t\tthis.setDataLayer.addToCart(\r\n\t\t\t\t\ttoFixed(this.trainingPriceCalculation?.totalPrice, 2),\r\n\t\t\t\t\t[\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tid: this.productStore.selectedTrainingCourse?.id || \"0000-0000-0000-0000\",\r\n\t\t\t\t\t\t\tname: this.productStore.selectedTrainingCourse?.name,\r\n\t\t\t\t\t\t\tproductCategory: ProductCategoryType.TrainingProductGroup,\r\n\t\t\t\t\t\t\tbasePrice: this.trainingPriceCalculation?.totalPrice || 0,\r\n\t\t\t\t\t\t\tpersonalPrice: this.trainingPriceCalculation?.totalPrice || 0,\r\n\t\t\t\t\t\t\tbrand: this.vm.brand,\r\n\t\t\t\t\t\t\tamount: 1,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t],\r\n\t\t\t\t\t\"1\",\r\n\t\t\t\t\tthis.vm.brand\r\n\t\t\t\t);\r\n\t\t\t})\r\n\t\t\t.catch((err) => Log.error(err))\r\n\t\t\t.finally(() => this.loadingStore.decreaseLoadingCount());\r\n\t}\r\n\r\n\trecalculatePrice(cb?: () => void) {\r\n\t\tthis.loadingStore.showSpinner(\"priceSummary\");\r\n\t\tthis.axios\r\n\t\t\t.post(\"/api/cart/calculate-training\", this.trainingCalculateModel, { requestId: \"calculate-training\" })\r\n\t\t\t.then((res) => {\r\n\t\t\t\tthis.trainingPriceCalculation = res.data as TrainingCalculationResponse;\r\n\t\t\t\tthis.loadingStore.hideSpinner(\"priceSummary\");\r\n\r\n\t\t\t\tif (typeof cb === \"function\") {\r\n\t\t\t\t\tcb();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.catch((err) => {\r\n\t\t\t\tif (!this.axios.isCancelled(err)) {\r\n\t\t\t\t\tthis.loadingStore.hideSpinner(\"priceSummary\");\r\n\t\t\t\t\tLog.error(err);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tonAddModuleClick(): void {\r\n\t\tthis.trainingStore.showModal(\"AddCourse\");\r\n\t}\r\n\r\n\tonTrainingCourseAdded(event: TrainingCourseAddedEvent): void {\r\n\t\tthis.trainingStore.hideModal(\"AddCourse\");\r\n\t\tthis.productStore.addAdditionalCourse({\r\n\t\t\tselectedModuleSkus: event.modules.map((x) => x.sku),\r\n\t\t\tid: event.course.cadacIdentifier,\r\n\t\t\tparticipants: [],\r\n\t\t});\r\n\t\tthis.trainingModulesAccordionActiveIndexes.push(this.trainingModulesAccordionActiveIndexes.length);\r\n\t\tthis.recalculatePrice();\r\n\t}\r\n\r\n\tonSelectedModulesChanged(_event: TrainingModulesChangedEvent): void {\r\n\t\tthis.recalculatePrice();\r\n\t}\r\n\r\n\tonSelectedTrainingLocationOptionChanged(value: TrainingLocationOption): void {\r\n\t\tthis.productStore.changeTrainingLocationOption(value);\r\n\t\tthis.trainingValidations.set(\r\n\t\t\tTrainingValidation.ValidAddressOwnLocation,\r\n\t\t\tvalue === TrainingLocationOption.OwnLocation ? this.trainingAddressForm?.isValid : true\r\n\t\t);\r\n\t\tthis.trainingValidations.set(\r\n\t\t\tTrainingValidation.ValidVdiChoice,\r\n\t\t\t(value === TrainingLocationOption.OwnLocation || value === TrainingLocationOption.OnlineRemote) &&\r\n\t\t\t\tthis.selectedVdiChoice !== null\r\n\t\t);\r\n\r\n\t\tthis.productStore.setSelectedTrainingType(this.productStore.trainingTypeForCurrentConfiguration);\r\n\r\n\t\tthis.selectedVdiChoice = null;\r\n\t\tthis.recalculatePrice();\r\n\t}\r\n\r\n\tonSelectedTrainingConfigurationOptionChanged(_value: TrainingConfigurationOption): void {\r\n\t\tthis.productStore.setSelectedTrainingType(this.productStore.trainingTypeForCurrentConfiguration);\r\n\t\tthis.recalculatePrice();\r\n\t}\r\n\r\n\tonSelectedTrainingMethodChanged(value: TrainingMethod): void {\r\n\t\tthis.productStore.selectedTrainingMethod = value;\r\n\t\tthis.productStore.setSelectedTrainingType(this.productStore.trainingTypeForCurrentConfiguration);\r\n\t\tthis.productStore.setupConfigurationOptions();\r\n\t\tthis.productStore.resetCourse();\r\n\t\tif (value !== TrainingMethod.training) {\r\n\t\t\tthis.productStore.selectedScheduledTraining = null;\r\n\t\t}\r\n\t\tthis.recalculatePrice();\r\n\t}\r\n\r\n\tonSelectedTrainingCourseChanged(value: TrainingViewModel): void {\r\n\t\tthis.productStore.changeTrainingCourse(value);\r\n\t\tthis.productStore.setSelectedTrainingType(this.productStore.trainingTypeForCurrentConfiguration);\r\n\t\tthis.productStore.setupConfigurationOptions();\r\n\t\tthis.trainingModulesAccordionActiveIndexes = [0];\r\n\r\n\t\tthis.recalculatePrice(() => this.sendViewItem());\r\n\t}\r\n\r\n\tonSelectedTrainingLocationChanged(value: TrainingLocationViewModel): void {\r\n\t\tthis.productStore.changeTrainingLocation(value);\r\n\t}\r\n\r\n\tonSelectedScheduledTrainingChanged(value: ScheduledTrainingViewModel): void {\r\n\t\tthis.productStore.selectedScheduledTraining = value;\r\n\t}\r\n\r\n\trefresh(): void {\r\n\t\twindow.location.reload();\r\n\t}\r\n\r\n\tprivate validateProductConfiguration(): boolean {\r\n\t\tthis.trainingValidations.set(TrainingValidation.MaxParticipants, this.checkMaxParticipants);\r\n\t\tthis.trainingValidations.set(TrainingValidation.AtleastOneParticipant, this.checkAtleastOneParticipant);\r\n\t\tthis.trainingValidations.set(TrainingValidation.UniqueEmailParticipant, this.checkParticipantsUniqueEmail);\r\n\t\tthis.trainingValidations.set(\r\n\t\t\tTrainingValidation.ValidPriceCalculation,\r\n\t\t\tthis.trainingPriceCalculation?.errorCode === TrainingCalculationErrorCode.durationError\r\n\t\t\t\t? !!this.trainingPriceCalculation?.isValid\r\n\t\t\t\t: true\r\n\t\t);\r\n\t\tthis.trainingValidations.set(\r\n\t\t\tTrainingValidation.ValidVdiChoice,\r\n\t\t\tthis.productStore.selectedTrainingLocationOption === TrainingLocationOption.OwnLocation ||\r\n\t\t\t\tthis.productStore.selectedTrainingLocationOption === TrainingLocationOption.OnlineRemote\r\n\t\t\t\t? this.selectedVdiChoice !== null\r\n\t\t\t\t: true\r\n\t\t);\r\n\r\n\t\tif (this.productStore.selectedTrainingLocationOption === TrainingLocationOption.OwnLocation) {\r\n\t\t\tthis.trainingValidations.set(\r\n\t\t\t\tTrainingValidation.ValidAddressOwnLocation,\r\n\t\t\t\tthis.trainingAddressForm?.isValid || false\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tthis.trainingValidations.set(TrainingValidation.ValidAddressOwnLocation, true);\r\n\t\t}\r\n\r\n\t\tif (\r\n\t\t\tthis.productStore.selectedTrainingMethod === TrainingMethod.inCompany ||\r\n\t\t\tthis.productStore.selectedTrainingMethod === TrainingMethod.inCompanyModular\r\n\t\t) {\r\n\t\t\tthis.trainingValidations.set(\r\n\t\t\t\tTrainingValidation.ValidPreferredStartDate,\r\n\t\t\t\tthis.isPreferredStartDateValid\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tthis.trainingValidations.set(TrainingValidation.ValidPreferredStartDate, true);\r\n\t\t}\r\n\t\treturn this.validationErrors.length === 0;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n::v-deep(.product-config-cta-card) {\r\n margin-bottom: 1rem;\r\n background-color: var(--primary-color);\r\n color: var(--primary-color-text);\r\n\r\n .p-card-content {\r\n text-align: center;\r\n }\r\n\r\n @media (max-width: 576px) {\r\n .p-card-content {\r\n padding: 0;\r\n }\r\n }\r\n}\r\n\r\n::v-deep(.product-configuration-form) {\r\n\t.form-group + .form-group {\r\n\t\tmargin-top: 0;\r\n\t\tmargin-bottom: 0.5rem;\r\n\t}\r\n}\r\n\r\n::v-deep(.p-card) {\r\n\t.p-card-content {\r\n\t\tpadding: 0.5rem 0.25rem;\r\n\t}\r\n\r\n\t.p-card-footer {\r\n\t\tpadding-top: 0.5rem;\r\n\t}\r\n}\r\n\r\n.product-specifications {\r\n\tpadding-top: 2rem;\r\n\tpadding-right: 1rem;\r\n\tbackground: var(--surface-b);\r\n\tposition: relative;\r\n\r\n\t&::before {\r\n\t\tcontent: \"\";\r\n\t\tposition: absolute;\r\n\t\ttop: 0;\r\n\t\tright: 100%;\r\n\t\twidth: 200%;\r\n\t\theight: 100%;\r\n\t\tbackground: var(--surface-b);\r\n\t}\r\n}\r\n\r\n.form-check-inline {\r\n\tlabel {\r\n\t\tfont-size: 1.1rem;\r\n\r\n\t\t&:hover {\r\n\t\t\tcursor: pointer;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n::v-deep(.accordion-modules.p-accordion) {\r\n\t.p-accordion-header .p-accordion-header-link {\r\n\t\tpadding: 0.75rem 0.5rem;\r\n\t}\r\n\r\n\t.p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link {\r\n\t\tbackground: var(--surface-c);\r\n\t}\r\n\r\n\t.p-accordion-content {\r\n\t\tpadding: 0;\r\n\t}\r\n}\r\n\r\n.header-explanation-text {\r\n\tfont-size: 0.9rem !important;\r\n}\r\n\r\n .helper-text {\r\n\t\tflex-basis: 100%;\r\n width: -moz-fit-content;\r\n width: fit-content;\r\n padding-top: 0.5rem;\r\n color: var(--text-color-secondary);\r\n }\r\n\r\n</style>\r\n","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"mb-0\" }\nconst _hoisted_2 = { class: \"mb-3\" }\nconst _hoisted_3 = { class: \"required\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Dropdown = _resolveComponent(\"Dropdown\")!\n const _component_TrainingModuleTable = _resolveComponent(\"TrainingModuleTable\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Dialog = _resolveComponent(\"Dialog\")!\n\n return (_openBlock(), _createBlock(_component_Dialog, {\n visible: _ctx.isVisible,\n \"onUpdate:visible\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.isVisible) = $event)),\n breakpoints: { '1600px': '40vw', '1200px': '50vw', '992px': '60vw', '768px': '75vw', '576px': '90vw' },\n modal: true,\n style: { width: '30vw' },\n onHide: _cache[4] || (_cache[4] = ($event: any) => (_ctx.onCancel())),\n onSelect: _cache[5] || (_cache[5] = ($event: any) => (_ctx.onSelectedCourseChanged()))\n }, {\n header: _withCtx(() => [\n _createElementVNode(\"h3\", _hoisted_1, _toDisplayString(_ctx.$t(\"training.dialog.titleAddModule\")), 1)\n ]),\n footer: _withCtx(() => [\n _createVNode(_component_Button, {\n class: \"p-button-text p-button-plain\",\n label: _ctx.$t('common.cancel'),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onCancel()))\n }, null, 8, [\"label\"]),\n _createVNode(_component_Button, {\n disabled: !_ctx.canSubmit,\n label: _ctx.$t('common.add'),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.onSubmit()))\n }, null, 8, [\"disabled\", \"label\"])\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t(\"training.dialog.lblChooseCourse\")), 1),\n _createVNode(_component_Dropdown, {\n modelValue: _ctx.selectedCourse,\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.selectedCourse) = $event)),\n \"append-to\": \"self\",\n \"option-label\": \"label\",\n \"option-value\": \"value\",\n options: _ctx.availableCourses\n }, null, 8, [\"modelValue\", \"options\"])\n ]),\n _createElementVNode(\"label\", null, _toDisplayString(_ctx.$t(\"training.dialog.lblChooseModules\")), 1),\n _createElementVNode(\"small\", _hoisted_3, _toDisplayString(_ctx.$t(\"training.dialog.lblMinimumModuleAmount\")), 1),\n _createVNode(_component_TrainingModuleTable, {\n \"is-editable\": true,\n \"is-modal\": true,\n \"training-course\": _ctx.selectedCourse,\n onSelectedModulesChanged: _ctx.onSelectedModulesChanged\n }, null, 8, [\"training-course\", \"onSelectedModulesChanged\"])\n ]),\n _: 1\n }, 8, [\"visible\"]))\n}","<template>\r\n\t<Dialog\r\n\t\tv-model:visible=\"isVisible\"\r\n\t\t:breakpoints=\"{ '1600px': '40vw', '1200px': '50vw', '992px': '60vw', '768px': '75vw', '576px': '90vw' }\"\r\n\t\t:modal=\"true\"\r\n\t\t:style=\"{ width: '30vw' }\"\r\n\t\t@hide=\"onCancel()\"\r\n\t\t@select=\"onSelectedCourseChanged()\"\r\n\t>\r\n\t\t<template #header>\r\n\t\t\t<h3 class=\"mb-0\">\r\n\t\t\t\t{{ $t(\"training.dialog.titleAddModule\") }}\r\n\t\t\t</h3>\r\n\t\t</template>\r\n\t\t<div class=\"mb-3\">\r\n\t\t\t<label>\r\n\t\t\t\t{{ $t(\"training.dialog.lblChooseCourse\") }}\r\n\t\t\t</label>\r\n\t\t\t<Dropdown\r\n\t\t\t\tv-model=\"selectedCourse\"\r\n\t\t\t\tappend-to=\"self\"\r\n\t\t\t\toption-label=\"label\"\r\n\t\t\t\toption-value=\"value\"\r\n\t\t\t\t:options=\"availableCourses\"\r\n\t\t\t/>\r\n\t\t</div>\r\n\t\t<label>\r\n\t\t\t{{ $t(\"training.dialog.lblChooseModules\") }}\r\n\t\t</label>\r\n\t\t<small class=\"required\">\r\n\t\t\t{{ $t(\"training.dialog.lblMinimumModuleAmount\") }}\r\n\t\t</small>\r\n\t\t<TrainingModuleTable\r\n\t\t\t:is-editable=\"true\"\r\n\t\t\t:is-modal=\"true\"\r\n\t\t\t:training-course=\"selectedCourse\"\r\n\t\t\t@selected-modules-changed=\"onSelectedModulesChanged\"\r\n\t\t/>\r\n\t\t<template #footer>\r\n\t\t\t<Button class=\"p-button-text p-button-plain\" :label=\"$t('common.cancel')\" @click=\"onCancel()\" />\r\n\t\t\t<Button :disabled=\"!canSubmit\" :label=\"$t('common.add')\" @click=\"onSubmit()\" />\r\n\t\t</template>\r\n\t</Dialog>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport TrainingModuleTable, { TrainingModulesChangedEvent } from \"@/components/training/trainingModuleTable.vue\";\r\nimport { Component, Emit, Prop } from \"vue-facing-decorator\";\r\nimport { IDropdownItem } from \"@/types/models/common/dropdownItem.interface\";\r\nimport { PropType } from \"vue\";\r\nimport { TrainingModuleViewModel } from \"@/types/generated/Training/trainingModuleViewModel\";\r\nimport { TrainingViewModel } from \"@/types/generated/Training/trainingViewModel\";\r\nimport { sum } from \"lodash\";\r\nimport { useTrainingStore } from \"@/store/training/trainingStore\";\r\nimport { useTrainingProductStore } from \"@/store/training/trainingProductStore\";\r\n\r\nexport interface TrainingCourseAddedEvent {\r\n\tcourse: TrainingViewModel;\r\n\tmodules: TrainingModuleViewModel[];\r\n}\r\n\r\n@Component({ components: { TrainingModuleTable }, emits: [\"training-course-added\"] })\r\nexport default class TrainingAddCourseModal extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<TrainingViewModel[]>, required: true, default: {} })\r\n\tcourses!: TrainingViewModel[];\r\n\r\n\tselectedCourse: TrainingViewModel | null = null;\r\n\tselectedModules: TrainingModuleViewModel[] = [];\r\n\tavailableCourses: IDropdownItem[] = [];\r\n\r\n\tisVisible = true;\r\n\r\n\ttrainingStore = useTrainingStore();\r\n\ttrainingProductStore = useTrainingProductStore();\r\n\r\n\tget canSubmit(): boolean {\r\n\t\treturn !!this.selectedModules?.length && sum(this.selectedModules.map((x) => x.durationInHours)) >= 3;\r\n\t}\r\n\r\n\t@Emit() trainingCourseAdded(): TrainingCourseAddedEvent {\r\n\t\treturn { course: this.selectedCourse as TrainingViewModel, modules: this.selectedModules };\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.availableCourses = this.courses\r\n\t\t\t?.filter((x) => !this.trainingProductStore.isCourseSelected(x.cadacIdentifier) && x.modules.length)\r\n\t\t\t.map((x: any) => ({ value: x, label: x.name }));\r\n\t\tthis.selectedCourse = this.availableCourses[0]?.value as TrainingViewModel;\r\n\t}\r\n\r\n\tonSelectedCourseChanged(): void {\r\n\t\tthis.selectedModules = [];\r\n\t}\r\n\r\n\tonSelectedModulesChanged(event: TrainingModulesChangedEvent): void {\r\n\t\tthis.selectedModules = event.modules;\r\n\t}\r\n\r\n\tonCancel(): void {\r\n\t\tthis.trainingStore.hideModal(\"AddCourse\");\r\n\t}\r\n\r\n\tonSubmit(): void {\r\n\t\tthis.trainingCourseAdded();\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, withCtx as _withCtx, createVNode as _createVNode, withModifiers as _withModifiers, createElementBlock as _createElementBlock, createSlots as _createSlots, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3c73da9d\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"training-module-table\" }\nconst _hoisted_2 = { class: \"d-flex w-100 font-weight-bold\" }\nconst _hoisted_3 = { class: \"flex-grow-1\" }\nconst _hoisted_4 = {\n class: \"px-1\",\n style: {\"width\":\"20%\"}\n}\nconst _hoisted_5 = {\n class: \"px-2\",\n style: {\"width\":\"20%\"}\n}\nconst _hoisted_6 = {\n key: 0,\n style: {\"width\":\"10%\"}\n}\nconst _hoisted_7 = { class: \"row-expansion-content p-1\" }\nconst _hoisted_8 = [\"innerHTML\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_InputSwitch = _resolveComponent(\"InputSwitch\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_ctx.modules?.length)\n ? (_openBlock(), _createBlock(_component_DataTable, {\n key: 0,\n \"expanded-rows\": _ctx.expandedRows,\n \"onUpdate:expandedRows\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.expandedRows) = $event)),\n \"auto-layout\": \"\",\n \"data-key\": \"sku\",\n \"responsive-layout\": \"stack\",\n \"row-class\": _ctx.highlightRow,\n \"row-hover\": true,\n value: _ctx.modules,\n onRowClick: _withModifiers(_ctx.onRowClick, [\"self\"])\n }, _createSlots({\n expansion: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"p\", {\n class: \"text-preline\",\n innerHTML: item.data.shortDescription\n }, null, 8, _hoisted_8)\n ])\n ]),\n default: _withCtx(() => [\n (!_ctx.isSmallScreen)\n ? (_openBlock(), _createBlock(_component_Column, {\n key: 0,\n expander: \"\",\n style: {\"width\":\"2.5rem\"}\n }))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Column, {\n key: \"name\",\n field: \"name\"\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"span\", null, _toDisplayString(item.data.name), 1)\n ]),\n _: 1\n }),\n (!_ctx.isDefaultTraining)\n ? (_openBlock(), _createBlock(_component_Column, {\n key: \"durationInHours\",\n field: \"durationInMinutes\",\n style: {\"width\":\"20%\"}\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$t(`training.duration.${_ctx.getDuration(item.data.durationInHours)}`)), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (!_ctx.isDefaultTraining)\n ? (_openBlock(), _createBlock(_component_Column, {\n key: \"price\",\n field: \"price\",\n style: {\"width\":\"20%\"}\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.formatCurrency(item.data.price)), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.isEditable)\n ? (_openBlock(), _createBlock(_component_Column, {\n key: \"selection\",\n style: {\"width\":\"10%\"}\n }, {\n body: _withCtx((item) => [\n _createVNode(_component_InputSwitch, {\n \"model-value\": _ctx.isRowSelected(item.data),\n onClick: _withModifiers(($event: any) => (_ctx.onToggleSelectionClicked(item.data)), [\"stop\"])\n }, null, 8, [\"model-value\", \"onClick\"])\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 2\n }, [\n (!_ctx.isDefaultTraining)\n ? {\n name: \"footer\",\n fn: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, _toDisplayString(_ctx.$t(\"common.total\")), 1),\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.$tc(\"common.days\", _ctx.totalDurationInDays)), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.formatCurrency(_ctx.totalPrice || 0)), 1)\n ]),\n (_ctx.isEditable)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n key: \"0\"\n }\n : undefined\n ]), 1032, [\"expanded-rows\", \"row-class\", \"value\", \"onRowClick\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}","<template>\r\n\t<div class=\"training-module-table\">\r\n\t\t<DataTable\r\n\t\t\tv-if=\"modules?.length\"\r\n\t\t\tv-model:expanded-rows=\"expandedRows\"\r\n\t\t\tauto-layout\r\n\t\t\tdata-key=\"sku\"\r\n\t\t\tresponsive-layout=\"stack\"\r\n\t\t\t:row-class=\"highlightRow\"\r\n\t\t\t:row-hover=\"true\"\r\n\t\t\t:value=\"modules\"\r\n\t\t\t@row-click.self=\"onRowClick\"\r\n\t\t>\r\n\t\t\t<Column v-if=\"!isSmallScreen\" expander style=\"width: 2.5rem\" />\r\n\t\t\t<Column key=\"name\" field=\"name\">\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<span>{{ item.data.name }}</span>\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\r\n\t\t\t<Column v-if=\"!isDefaultTraining\" key=\"durationInHours\" field=\"durationInMinutes\" style=\"width: 20%\">\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<span>{{ $t(`training.duration.${getDuration(item.data.durationInHours)}`) }}</span>\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\r\n\t\t\t<Column v-if=\"!isDefaultTraining\" key=\"price\" field=\"price\" style=\"width: 20%\">\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<span>{{ formatCurrency(item.data.price) }}</span>\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\t\t\t<Column v-if=\"isEditable\" key=\"selection\" style=\"width: 10%\">\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<InputSwitch\r\n\t\t\t\t\t\t:model-value=\"isRowSelected(item.data)\"\r\n\t\t\t\t\t\t@click.stop=\"onToggleSelectionClicked(item.data)\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\t\t\t<template v-if=\"!isDefaultTraining\" #footer>\r\n\t\t\t\t<div class=\"d-flex w-100 font-weight-bold\">\r\n\t\t\t\t\t<div class=\"flex-grow-1\">{{ $t(\"common.total\") }}</div>\r\n\t\t\t\t\t<div class=\"px-1\" style=\"width: 20%\">\r\n\t\t\t\t\t\t<span>{{ $tc(\"common.days\", totalDurationInDays) }}</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"px-2\" style=\"width: 20%\">\r\n\t\t\t\t\t\t<span>{{ formatCurrency(totalPrice || 0) }}</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div v-if=\"isEditable\" style=\"width: 10%\"></div>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t\t<template #expansion=\"item\">\r\n\t\t\t\t<div class=\"row-expansion-content p-1\">\r\n\t\t\t\t\t<p class=\"text-preline\" v-html=\"item.data.shortDescription\" />\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t</DataTable>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component, Emit, Prop } from \"vue-facing-decorator\";\r\nimport { LocalTrainingType } from \"@/types/enum/localTrainingType\";\r\nimport { PropType } from \"vue\";\r\nimport { TrainingModuleViewModel } from \"@/types/generated/Training/trainingModuleViewModel\";\r\nimport { TrainingViewModel } from \"@/types/generated/Training/trainingViewModel\";\r\nimport { cloneDeep, sum } from \"lodash\";\r\nimport { useTrainingProductStore } from \"@/store/training/trainingProductStore\";\r\n\r\nexport interface TrainingModulesChangedEvent {\r\n\tcourse: TrainingViewModel;\r\n\tmodules: TrainingModuleViewModel[];\r\n}\r\n\r\n@Component\r\nexport default class TrainingModuleTable extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<TrainingViewModel>, required: true, default: {} })\r\n\ttrainingCourse!: TrainingViewModel;\r\n\t@Prop({ type: Boolean, required: false, default: false }) isEditable!: boolean;\r\n\t@Prop({ type: Boolean, required: false, default: false }) isModal!: boolean;\r\n\r\n\t@Emit() selectedModulesChanged(): TrainingModulesChangedEvent {\r\n\t\treturn { course: this.trainingCourse, modules: this.selectedModules };\r\n\t}\r\n\r\n\texpandedRows: TrainingModuleViewModel[] = [];\r\n\tselectedModules: TrainingModuleViewModel[] = [];\r\n\r\n\ttrainingProductStore = useTrainingProductStore();\r\n\r\n\tcreated(): void {\r\n\t\tthis.selectedModules = cloneDeep(\r\n\t\t\tthis.modules?.filter((x) =>\r\n\t\t\t\tthis.trainingProductStore.isModuleSelected(this.trainingCourse.cadacIdentifier, x.sku)\r\n\t\t\t) || []\r\n\t\t);\r\n\t}\r\n\r\n\tget totalDurationInHours(): number {\r\n\t\treturn sum(this.selectedModules.map((x) => x.durationInHours));\r\n\t}\r\n\r\n\tget totalDurationInDays(): number {\r\n\t\treturn this.totalDurationInHours / 6;\r\n\t}\r\n\r\n\tget totalPrice(): number {\r\n\t\treturn sum(this.selectedModules.map((x) => x.price));\r\n\t}\r\n\r\n\tget modules(): TrainingModuleViewModel[] {\r\n\t\treturn this.trainingCourse.modules;\r\n\t}\r\n\r\n\tget isDefaultTraining(): boolean {\r\n\t\treturn this.trainingProductStore.trainingProductForm?.type !== LocalTrainingType.modular;\r\n\t}\r\n\r\n\tonToggleSelectionClicked(module: TrainingModuleViewModel): void {\r\n\t\tif (\r\n\t\t\tthis.isModal ||\r\n\t\t\t!this.isRowSelected(module) ||\r\n\t\t\tthis.totalDurationInHours - module.durationInHours >= 3\r\n\t\t) {\r\n\t\t\tthis.toggleSelection(module);\r\n\t\t} else if (\r\n\t\t\tthis.trainingCourse.cadacIdentifier === this.trainingProductStore.trainingProductForm?.course?.id\r\n\t\t) {\r\n\t\t\tthis.$confirm.require({\r\n\t\t\t\tmessage: this.$t(\"training.dialog.confirmRemoveModuleMessage\"),\r\n\t\t\t\theader: this.$t(\"training.dialog.confirmRemoveModuleTitle\"),\r\n\t\t\t\tacceptLabel: \"OK\",\r\n\t\t\t\trejectClass: \"d-none\",\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.$confirm.require({\r\n\t\t\t\tmessage: this.$t(\"training.dialog.confirmRemoveCourseMessage\"),\r\n\t\t\t\theader: this.$t(\"training.dialog.confirmRemoveCourseTitle\"),\r\n\t\t\t\tacceptLabel: this.$t(\"common.yes\"),\r\n\t\t\t\trejectLabel: this.$t(\"common.no\"),\r\n\t\t\t\taccept: () => {\r\n\t\t\t\t\tthis.removeCourse();\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tgetDuration(duration: number): string {\r\n\t\tswitch (duration) {\r\n\t\t\tcase 1.5:\r\n\t\t\t\treturn \"quarterDay\";\r\n\t\t\tcase 3:\r\n\t\t\t\treturn \"halfDay\";\r\n\t\t\tcase 4.5:\r\n\t\t\t\treturn \"threeQuartersDay\";\r\n\t\t\tcase 6:\r\n\t\t\t\treturn \"fullDay\";\r\n\t\t\tdefault:\r\n\t\t\t\treturn \"\";\r\n\t\t}\r\n\t}\r\n\r\n\ttoggleSelection(module: TrainingModuleViewModel): void {\r\n\t\tif (this.isRowSelected(module)) {\r\n\t\t\tthis.selectedModules.splice(\r\n\t\t\t\tthis.selectedModules.findIndex((x) => x.sku === module.sku),\r\n\t\t\t\t1\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tthis.selectedModules.push(module);\r\n\t\t}\r\n\t\tif (!this.isModal) {\r\n\t\t\tconst courseCartModel = this.trainingProductStore.trainingCourseById(\r\n\t\t\t\tthis.trainingCourse.cadacIdentifier\r\n\t\t\t);\r\n\t\t\tcourseCartModel.selectedModuleSkus = this.selectedModules.map((x) => x.sku);\r\n\t\t\tthis.trainingProductStore.updateCourse(courseCartModel);\r\n\t\t}\r\n\t\tthis.selectedModulesChanged();\r\n\t}\r\n\r\n\tremoveCourse(): void {\r\n\t\tthis.trainingProductStore.removeCourse(this.trainingCourse.cadacIdentifier);\r\n\t\tthis.selectedModulesChanged();\r\n\t}\r\n\r\n\tonRowClick(event: { data: TrainingModuleViewModel; index: number }): void {\r\n\t\tconst existingRowIndex = this.expandedRows.findIndex((x) => x.sku === event.data.sku);\r\n\r\n\t\tif (existingRowIndex > -1) {\r\n\t\t\tthis.expandedRows.splice(existingRowIndex, 1);\r\n\t\t} else {\r\n\t\t\tthis.expandedRows.push(event.data);\r\n\t\t}\r\n\t\tthis.expandedRows = [...this.expandedRows];\r\n\t}\r\n\r\n\tisRowSelected(module: TrainingModuleViewModel): boolean {\r\n\t\treturn this.selectedModules.findIndex((x) => x.sku === module.sku) > -1;\r\n\t}\r\n\r\n\thighlightRow(module: TrainingModuleViewModel): string {\r\n\t\tlet className = this.isEditable ? (this.isRowSelected(module) ? \"\" : \"text-light\") : \"\";\r\n\t\tclassName += this.expandedRows.findIndex((x) => x.sku === module.sku) > -1 ? \"highlight\" : \"\";\r\n\t\treturn className;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n::v-deep(.p-datatable) {\r\n\t.p-datatable-thead {\r\n\t\tdisplay: none;\r\n\t}\r\n\r\n\t.p-datatable-footer {\r\n\t\tbackground: inherit;\r\n\t\tborder: none;\r\n\t}\r\n}\r\n</style>\r\n","export enum TrainingConfigurationOption {\r\n\tDefault,\r\n\tCustom,\r\n}\r\n","export enum TrainingLocationOption {\r\n\tCadac,\r\n\tOwnLocation,\r\n\tOnlineRemote,\r\n\tUnknown,\r\n\tNone,\r\n}\r\n","/* Auto Generated */\r\n\r\nexport enum TrainingMethod {\r\n\ttraining = 0,\r\n\tinCompany = 1,\r\n\telearning = 2,\r\n\tinCompanyModular = 3,\r\n}\r\n","import i18n from '@/types/utils/i18n';\r\nimport { AddressForm as AddressFormModel } from '@/types/models/form/addressForm';\r\nimport { IDropdownItem } from '@/types/models/common/dropdownItem.interface';\r\nimport { LocalTrainingType } from '@/types/enum/localTrainingType';\r\nimport { ScheduledTrainingViewModel } from '@/types/generated/Training/scheduledTrainingViewModel';\r\nimport { TrainingConfigurationOption } from '@/types/enum/trainingConfigurationOption';\r\nimport { TrainingCourseAddToCartRequest } from '@/types/generated/Api/trainingCourseAddToCartRequest';\r\nimport { TrainingLocationOption } from '@/types/enum/trainingLocationOption';\r\nimport { TrainingLocationViewModel } from '@/types/models/training/trainingLocationViewModel';\r\nimport { TrainingMethod } from '@/types/enum/trainingMethod';\r\nimport { TrainingParticipantForm as TrainingParticipantFormModel } from '@/types/models/form/trainingParticipantForm';\r\nimport { TrainingProductAddToCartRequest } from '@/types/generated/Api/trainingProductAddToCartRequest';\r\nimport { TrainingProductGroupConfigurationViewModel } from '@/types/generated/Training/trainingProductGroupConfigurationViewModel';\r\nimport { TrainingViewModel } from '@/types/generated/Training/trainingViewModel';\r\nimport { concat, isNumber } from 'lodash';\r\nimport { defineStore } from 'pinia';\r\n\r\ninterface TrainingProductState {\r\n\ttrainingViewModel: TrainingViewModel | null;\r\n\ttrainingProductForm: TrainingProductAddToCartRequest;\r\n\tisInitializing: boolean;\r\n\r\n\tavailableTrainingLocationOptions: IDropdownItem[];\r\n\tavailableTrainingMethods: IDropdownItem[];\r\n\tavailableTrainingLocations: IDropdownItem[];\r\n\tavailableTrainingConfigurationOptions: IDropdownItem[];\r\n\tavailableScheduledTrainings: IDropdownItem[];\r\n\r\n\tselectedTrainingCourse: TrainingViewModel | null;\r\n\tselectedTrainingMethod: TrainingMethod | null;\r\n\tselectedTrainingConfigurationOption: TrainingConfigurationOption | null;\r\n\tselectedTrainingLocationOption: TrainingLocationOption | null;\r\n\tselectedTrainingLocation: TrainingLocationViewModel | null;\r\n\tselectedScheduledTraining: ScheduledTrainingViewModel | null;\r\n\ttrainingAddress: AddressFormModel | null;\r\n\ttrainingParticipants: TrainingParticipantFormModel[];\r\n}\r\n\r\nexport const useTrainingProductStore = defineStore('trainingProduct', {\r\n\tstate: () =>\r\n\t\t({\r\n\t\t\ttrainingViewModel: null,\r\n\t\t\ttrainingProductForm: {} as TrainingProductAddToCartRequest,\r\n\t\t\tisInitializing: false,\r\n\t\t\tavailableTrainingLocationOptions: [],\r\n\t\t\tavailableTrainingMethods: [],\r\n\t\t\tavailableTrainingLocations: [],\r\n\t\t\tavailableTrainingConfigurationOptions: [],\r\n\t\t\tavailableScheduledTrainings: [],\r\n\t\t\tselectedTrainingCourse: null,\r\n\t\t\tselectedTrainingMethod: null,\r\n\t\t\tselectedTrainingConfigurationOption: null,\r\n\t\t\tselectedTrainingLocationOption: null,\r\n\t\t\tselectedTrainingLocation: null,\r\n\t\t\tselectedScheduledTraining: null,\r\n\t\t\tselectedPreferredStartDate: null,\r\n\t\t\ttrainingAddress: null,\r\n\t\t\ttrainingParticipants: [],\r\n\t\t}) as TrainingProductState,\r\n\tgetters: {\r\n\t\ttrainingCourseById() {\r\n\t\t\treturn (id: string) =>\r\n\t\t\t\tthis.trainingProductForm.allCourses.find((x) => x?.id === id) as TrainingCourseAddToCartRequest;\r\n\t\t},\r\n\t\tallTrainingCourses(): TrainingViewModel[] {\r\n\t\t\tconst trainingProductFormCourses = concat(\r\n\t\t\t\tthis.trainingProductForm.course,\r\n\t\t\t\tthis.trainingProductForm.additionalCourses\r\n\t\t\t);\r\n\t\t\tconst mappedCourses = trainingProductFormCourses.map((course) => {\r\n\t\t\t\tif (course?.id == this.trainingViewModel?.cadacIdentifier) {\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\treturn this.trainingViewModel\r\n\t\t\t\t}\r\n\t\t\t\treturn (<any>this.trainingViewModel)?.relatedProductModules?.find(\r\n\t\t\t\t\t(x) => x.cadacIdentifier === course?.id\r\n\t\t\t\t) as TrainingViewModel;\r\n\t\t\t});\r\n\t\t\tconst filteredCourses = mappedCourses.filter(Boolean);\r\n\r\n\t\t\treturn filteredCourses;\r\n\t\t},\r\n\t\tisAdditionalCourse(state: TrainingProductState) {\r\n\t\t\treturn (id: string) => state.trainingProductForm.course?.id !== id;\r\n\t\t},\r\n\t\tisCourseSelected(state: TrainingProductState) {\r\n\t\t\treturn (id: string) => !!state.trainingProductForm.allCourses?.find((x) => x.id === id);\r\n\t\t},\r\n\t\tisModuleSelected() {\r\n\t\t\treturn (courseId: string, moduleSku: string) =>\r\n\t\t\t\tthis.trainingCourseById(courseId)?.selectedModuleSkus?.includes(moduleSku);\r\n\t\t},\r\n\t\tcanChooseLocation(): boolean {\r\n\t\t\treturn (\r\n\t\t\t\tthis.selectedTrainingMethod !== TrainingMethod.elearning &&\r\n\t\t\t\t!!this.availableTrainingLocationOptions?.length\r\n\t\t\t);\r\n\t\t},\r\n\t\tcanAddParticipants(): boolean {\r\n\t\t\treturn this.trainingParticipants?.length < this.maxParticipants;\r\n\t\t},\r\n\t\tmaxParticipants(state: TrainingProductState): number {\r\n\t\t\treturn (\r\n\t\t\t\tstate.selectedScheduledTraining?.availablePlaces ||\r\n\t\t\t\tstate.selectedTrainingLocation?.maxParticipants ||\r\n\t\t\t\t8\r\n\t\t\t);\r\n\t\t},\r\n\t\ttrainingTypeForCurrentConfiguration(): LocalTrainingType {\r\n\t\t\tswitch (this.selectedTrainingMethod) {\r\n\t\t\t\tcase TrainingMethod.inCompany:\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tthis.selectedTrainingLocationOption === TrainingLocationOption.OnlineRemote ||\r\n\t\t\t\t\t\tthis.selectedTrainingLocationOption === TrainingLocationOption.OwnLocation\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\treturn LocalTrainingType.companyTrainingRemote;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn LocalTrainingType.companyTrainingLocal;\r\n\t\t\t\t\t}\r\n\t\t\t\tcase TrainingMethod.inCompanyModular:\r\n\t\t\t\t\treturn LocalTrainingType.modular;\r\n\t\t\t\tcase TrainingMethod.training:\r\n\t\t\t\t\treturn LocalTrainingType.openRoster;\r\n\t\t\t\tcase TrainingMethod.elearning:\r\n\t\t\t\t\treturn LocalTrainingType.eLearning;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn LocalTrainingType.companyTrainingLocal;\r\n\t\t\t}\r\n\t\t},\r\n\t\tgetAvailableTrainingLocationOptions(state: TrainingProductState): IDropdownItem[] {\r\n\t\t\tif (state.selectedTrainingMethod === TrainingMethod.training) {\r\n\t\t\t\treturn state.availableTrainingLocationOptions.filter(\r\n\t\t\t\t\t(location) => location.value === TrainingLocationOption.Cadac\r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\treturn state.availableTrainingLocationOptions;\r\n\t\t\t}\r\n\t\t},\r\n\t},\r\n\tactions: {\r\n\t\tinitProductPage(trainingProductViewModel: TrainingViewModel): void {\r\n\t\t\tthis.trainingViewModel = trainingProductViewModel;\r\n\t\t\tif (!this.trainingViewModel) return;\r\n\t\t\tthis.trainingProductForm = {\r\n\t\t\t\toldLineItemIds: [],\r\n\t\t\t\ttrainingProductGroupId: '',\r\n\t\t\t\tisVdiTraining: false,\r\n\t\t\t\tcourse: { participants: [], selectedModuleSkus: [], id: '' },\r\n\t\t\t\tadditionalCourses: [],\r\n\t\t\t\tallCourses: [],\r\n\t\t\t\ttrainingListId: '',\r\n\t\t\t\ttrainingLocationId: '',\r\n\t\t\t\ttype: LocalTrainingType.companyTrainingLocal,\r\n\t\t\t\taddress: null,\r\n\t\t\t};\r\n\r\n\t\t\tthis.changeTrainingCourse(trainingProductViewModel);\r\n\r\n\t\t\tthis.setupConfigurationOptions();\r\n\t\t},\r\n\t\tinitPreviousConfiguration(\r\n\t\t\ttrainingProductGroupConfiguration: TrainingProductGroupConfigurationViewModel\r\n\t\t): void {\r\n\t\t\tthis.changeTrainingCourse(<TrainingViewModel>this.trainingViewModel);\r\n\r\n\t\t\tthis.trainingProductForm = {\r\n\t\t\t\toldLineItemIds: trainingProductGroupConfiguration.oldLineItemIds || [],\r\n\t\t\t\ttrainingProductGroupId: trainingProductGroupConfiguration.course?.id,\r\n\t\t\t\tisVdiTraining: trainingProductGroupConfiguration.isVdiTraining,\r\n\t\t\t\tcourse: (trainingProductGroupConfiguration.course as TrainingCourseAddToCartRequest) || {},\r\n\t\t\t\tadditionalCourses:\r\n\t\t\t\t\t(trainingProductGroupConfiguration.additionalCourses as TrainingCourseAddToCartRequest[]) ||\r\n\t\t\t\t\t[],\r\n\t\t\t\tallCourses: [],\r\n\t\t\t\ttrainingListId: trainingProductGroupConfiguration.trainingListId,\r\n\t\t\t\ttrainingLocationId: trainingProductGroupConfiguration.trainingLocationId,\r\n\t\t\t\ttype: trainingProductGroupConfiguration.trainingType,\r\n\t\t\t\taddress: trainingProductGroupConfiguration.address,\r\n\t\t\t};\r\n\t\t\tthis.trainingProductForm.allCourses = [\r\n\t\t\t\tthis.trainingProductForm.course,\r\n\t\t\t\t...this.trainingProductForm.additionalCourses,\r\n\t\t\t];\r\n\t\t\tswitch (trainingProductGroupConfiguration.trainingType) {\r\n\t\t\t\tcase LocalTrainingType.openRoster:\r\n\t\t\t\t\tthis.selectedTrainingLocationOption = TrainingLocationOption.Cadac;\r\n\t\t\t\t\tthis.selectedScheduledTraining =\r\n\t\t\t\t\t\tthis.selectedTrainingCourse?.scheduledTrainings?.find(\r\n\t\t\t\t\t\t\t(x) => x.id === trainingProductGroupConfiguration.trainingListId\r\n\t\t\t\t\t\t) || null;\r\n\t\t\t\t\tthis.selectedTrainingMethod = TrainingMethod.training;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase LocalTrainingType.companyTrainingLocal:\r\n\t\t\t\t\tthis.selectedTrainingLocationOption = TrainingLocationOption.Cadac;\r\n\t\t\t\t\tthis.selectedTrainingMethod = TrainingMethod.inCompany;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase LocalTrainingType.companyTrainingRemote:\r\n\t\t\t\t\tthis.selectedTrainingMethod = TrainingMethod.inCompany;\r\n\t\t\t\t\tthis.selectedTrainingLocationOption = trainingProductGroupConfiguration.address\r\n\t\t\t\t\t\t? TrainingLocationOption.OwnLocation\r\n\t\t\t\t\t\t: TrainingLocationOption.OnlineRemote;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase LocalTrainingType.eLearning:\r\n\t\t\t\t\tthis.selectedTrainingMethod = TrainingMethod.elearning;\r\n\t\t\t\t\tthis.selectedTrainingLocationOption = TrainingLocationOption.Cadac;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase LocalTrainingType.modular:\r\n\t\t\t\t\tthis.selectedTrainingMethod = TrainingMethod.inCompanyModular;\r\n\t\t\t\t\tif (trainingProductGroupConfiguration.address) {\r\n\t\t\t\t\t\tthis.selectedTrainingLocationOption = TrainingLocationOption.OwnLocation;\r\n\t\t\t\t\t} else if (\r\n\t\t\t\t\t\ttrainingProductGroupConfiguration.trainingLocationId ===\r\n\t\t\t\t\t\tthis.selectedTrainingCourse?.remoteLocation?.id\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tthis.selectedTrainingLocationOption = TrainingLocationOption.OnlineRemote;\r\n\t\t\t\t\t} else if (trainingProductGroupConfiguration.trainingListId) {\r\n\t\t\t\t\t\tthis.selectedTrainingLocationOption = TrainingLocationOption.Cadac;\r\n\t\t\t\t\t\tthis.selectedScheduledTraining = this.selectedTrainingCourse?.scheduledTrainings?.find(\r\n\t\t\t\t\t\t\t(x) => x.id === trainingProductGroupConfiguration.trainingListId\r\n\t\t\t\t\t\t) as ScheduledTrainingViewModel;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.selectedTrainingLocationOption = TrainingLocationOption.Cadac;\r\n\t\t\t\t\t\tthis.selectedTrainingLocation = this.availableTrainingLocations.find(\r\n\t\t\t\t\t\t\t(x) =>\r\n\t\t\t\t\t\t\t\t(x.value as TrainingLocationViewModel).id ===\r\n\t\t\t\t\t\t\t\ttrainingProductGroupConfiguration.trainingLocationId\r\n\t\t\t\t\t\t)?.value as TrainingLocationViewModel;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tif (trainingProductGroupConfiguration.participants)\r\n\t\t\t\tthis.trainingParticipants = trainingProductGroupConfiguration.participants;\r\n\t\t\tif (trainingProductGroupConfiguration.address)\r\n\t\t\t\tthis.trainingAddress = trainingProductGroupConfiguration.address;\r\n\t\t\tif (trainingProductGroupConfiguration.desiredDate) {\r\n\t\t\t\tthis.trainingProductForm.desiredDate = trainingProductGroupConfiguration.desiredDate;\r\n\t\t\t}\r\n\t\t\tthis.setupConfigurationOptions();\r\n\t\t},\r\n\t\tsetupConfigurationOptions(): void {\r\n\t\t\tif (\r\n\t\t\t\tthis.selectedTrainingLocationOption === null ||\r\n\t\t\t\tthis.selectedTrainingLocationOption === TrainingLocationOption.None ||\r\n\t\t\t\tthis.selectedTrainingLocationOption === TrainingLocationOption.Unknown ||\r\n\t\t\t\tthis.availableTrainingLocationOptions.findIndex(\r\n\t\t\t\t\t(x) => x.value === this.selectedTrainingLocationOption\r\n\t\t\t\t) < 0\r\n\t\t\t) {\r\n\t\t\t\tthis.selectedTrainingLocationOption = this.availableTrainingLocationOptions[0]\r\n\t\t\t\t\t?.value as TrainingLocationOption;\r\n\t\t\t}\r\n\r\n\t\t\tif (this.selectedTrainingMethod === null) {\r\n\t\t\t\tthis.selectedTrainingMethod = this.availableTrainingMethods[0]?.value as TrainingMethod;\r\n\t\t\t} else if (\r\n\t\t\t\tthis.availableTrainingMethods.findIndex((x) => x.value === this.selectedTrainingMethod) < 0\r\n\t\t\t) {\r\n\t\t\t\tthis.selectedTrainingMethod = this.availableTrainingMethods[0]?.value as TrainingMethod;\r\n\t\t\t}\r\n\t\t\tif (\r\n\t\t\t\tthis.selectedTrainingCourse?.modules?.length &&\r\n\t\t\t\tthis.selectedTrainingMethod === TrainingMethod.inCompanyModular\r\n\t\t\t) {\r\n\t\t\t\tthis.selectedTrainingConfigurationOption = TrainingConfigurationOption.Custom;\r\n\t\t\t} else if (\r\n\t\t\t\tthis.selectedTrainingCourse?.modules?.length &&\r\n\t\t\t\tthis.selectedTrainingMethod === TrainingMethod.training\r\n\t\t\t) {\r\n\t\t\t\tthis.availableTrainingConfigurationOptions = [\r\n\t\t\t\t\t{ value: 0, label: i18n.global.t(`enum.trainingConfiguration.0`) },\r\n\t\t\t\t];\r\n\t\t\t\tthis.selectedTrainingConfigurationOption = TrainingConfigurationOption.Default;\r\n\t\t\t} else {\r\n\t\t\t\tthis.availableTrainingConfigurationOptions = [];\r\n\t\t\t\tthis.selectedTrainingConfigurationOption = TrainingConfigurationOption.Default;\r\n\t\t\t}\r\n\r\n\t\t\tswitch (this.selectedTrainingMethod) {\r\n\t\t\t\tcase TrainingMethod.training:\r\n\t\t\t\t\tthis.availableTrainingLocations =\r\n\t\t\t\t\t\tthis.selectedTrainingCourse?.scheduledTrainingLocations?.map((x) => ({\r\n\t\t\t\t\t\t\tvalue: x,\r\n\t\t\t\t\t\t\tlabel: x.name,\r\n\t\t\t\t\t\t})) || [];\r\n\t\t\t\t\tif (this.availableTrainingLocations[0]) {\r\n\t\t\t\t\t\tthis.selectedTrainingLocation = this.availableTrainingLocations[0]\r\n\t\t\t\t\t\t\t.value as TrainingLocationViewModel;\r\n\t\t\t\t\t\tif (this.selectedTrainingCourse?.scheduledTrainings[0]) {\r\n\t\t\t\t\t\t\tthis.selectedScheduledTraining = this.selectedTrainingCourse?.scheduledTrainings[0];\r\n\t\t\t\t\t\t\tthis.availableScheduledTrainings =\r\n\t\t\t\t\t\t\t\tthis.selectedTrainingCourse?.scheduledTrainings\r\n\t\t\t\t\t\t\t\t\t?.filter((x) => x.location.id === this.selectedTrainingLocation?.id)\r\n\t\t\t\t\t\t\t\t\t.map((x) => ({ label: x.datesString, value: x })) || [];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase TrainingMethod.inCompany:\r\n\t\t\t\tcase TrainingMethod.inCompanyModular:\r\n\t\t\t\t\tthis.availableScheduledTrainings = [];\r\n\t\t\t\t\tthis.availableTrainingLocations =\r\n\t\t\t\t\t\tthis.selectedTrainingCourse?.cadacLocations?.map((x) => ({\r\n\t\t\t\t\t\t\tvalue: x,\r\n\t\t\t\t\t\t\tlabel: x.name,\r\n\t\t\t\t\t\t})) || [];\r\n\t\t\t\t\tif (this.availableTrainingLocations[0])\r\n\t\t\t\t\t\tthis.selectedTrainingLocation = this.availableTrainingLocations[0]\r\n\t\t\t\t\t\t\t.value as TrainingLocationViewModel;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase TrainingMethod.elearning:\r\n\t\t\t\t\tthis.availableTrainingConfigurationOptions = [];\r\n\t\t\t\t\tthis.availableScheduledTrainings = [];\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tthis.availableTrainingConfigurationOptions = [];\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t},\r\n\t\tsetSelectedTrainingType(trainingType: LocalTrainingType): void {\r\n\t\t\tthis.trainingProductForm.type = trainingType;\r\n\t\t},\r\n\t\tchangeTrainingLocationOption(locationOption: TrainingLocationOption) {\r\n\t\t\tif (locationOption === TrainingLocationOption.OnlineRemote && this.selectedTrainingCourse) {\r\n\t\t\t\tthis.selectedTrainingLocation = this.selectedTrainingCourse.remoteLocation;\r\n\t\t\t} else {\r\n\t\t\t\tthis.selectedTrainingLocation = this.availableTrainingLocations[0]\r\n\t\t\t\t\t?.value as TrainingLocationViewModel;\r\n\t\t\t}\r\n\t\t\tif (locationOption === TrainingLocationOption.OwnLocation) {\r\n\t\t\t\tthis.trainingAddress = {\r\n\t\t\t\t\tcountryCode: '',\r\n\t\t\t\t\tcity: '',\r\n\t\t\t\t\tpostalCode: '',\r\n\t\t\t\t\tstreet: '',\r\n\t\t\t\t} as AddressFormModel;\r\n\r\n\t\t\t\tthis.selectedTrainingLocation = null;\r\n\t\t\t} else {\r\n\t\t\t\tthis.trainingProductForm.isVdiTraining = false;\r\n\t\t\t\tthis.trainingAddress = null;\r\n\t\t\t}\r\n\t\t},\r\n\t\tchangeTrainingCourse(trainingCourse: TrainingViewModel, isExistingConfiguration = false): void {\r\n\t\t\tthis.selectedTrainingCourse = trainingCourse;\r\n\r\n\t\t\tthis.availableTrainingMethods =\r\n\t\t\t\tthis.selectedTrainingCourse?.methods?.map((x) => ({\r\n\t\t\t\t\tvalue: x,\r\n\t\t\t\t\tlabel: i18n.global.t(`enum.trainingMethod.${x}`),\r\n\t\t\t\t})) || [];\r\n\r\n\t\t\tif (\r\n\t\t\t\tthis.selectedTrainingCourse?.modules?.length &&\r\n\t\t\t\tthis.selectedTrainingCourse?.methods.includes(TrainingMethod.inCompany)\r\n\t\t\t) {\r\n\t\t\t\tthis.availableTrainingMethods.push({\r\n\t\t\t\t\tvalue: TrainingMethod.inCompanyModular,\r\n\t\t\t\t\tlabel: i18n.global.t(`enum.trainingMethod.${TrainingMethod.inCompanyModular}`),\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tif (\r\n\t\t\t\t!isExistingConfiguration &&\r\n\t\t\t\tthis.availableTrainingMethods.find((x) => x.value === TrainingMethod.training)\r\n\t\t\t) {\r\n\t\t\t\tthis.selectedTrainingMethod = TrainingMethod.training;\r\n\t\t\t}\r\n\r\n\t\t\tthis.availableTrainingLocationOptions =\r\n\t\t\t\tthis.selectedTrainingCourse?.availableTrainingLocationOptions?.sort()?.map((x) => ({\r\n\t\t\t\t\tvalue: x,\r\n\t\t\t\t\tlabel: i18n.global.t(`enum.trainingLocation.${x}`),\r\n\t\t\t\t})) || [];\r\n\r\n\t\t\tthis.trainingProductForm.course = {\r\n\t\t\t\tid: trainingCourse?.cadacIdentifier,\r\n\t\t\t\tselectedModuleSkus: trainingCourse?.modules.map((x) => x.sku),\r\n\t\t\t\tparticipants: this.trainingProductForm.course?.participants || [],\r\n\t\t\t} as TrainingCourseAddToCartRequest;\r\n\r\n\t\t\tif (this.isInitializing) {\r\n\t\t\t\tthis.trainingProductForm.additionalCourses = [];\r\n\t\t\t\tthis.trainingProductForm.allCourses = [this.trainingProductForm.course];\r\n\t\t\t}\r\n\t\t},\r\n\t\tchangeTrainingLocation(trainingLocation: TrainingLocationViewModel): void {\r\n\t\t\tthis.selectedTrainingLocation = trainingLocation;\r\n\t\t\tif (this.selectedTrainingMethod === TrainingMethod.training) {\r\n\t\t\t\tconst scheduledTrainingsForLocation =\r\n\t\t\t\t\tthis.selectedTrainingCourse?.scheduledTrainings?.filter(\r\n\t\t\t\t\t\t(x) => x.location.id === this.selectedTrainingLocation?.id\r\n\t\t\t\t\t) || [];\r\n\t\t\t\tthis.availableScheduledTrainings = scheduledTrainingsForLocation.map((x) => ({\r\n\t\t\t\t\tlabel: x.datesString,\r\n\t\t\t\t\tvalue: x,\r\n\t\t\t\t}));\r\n\t\t\t\tthis.selectedScheduledTraining = scheduledTrainingsForLocation[0];\r\n\t\t\t} else {\r\n\t\t\t\tthis.availableScheduledTrainings = [];\r\n\t\t\t}\r\n\t\t},\r\n\t\taddAdditionalCourse(trainingCourse: TrainingCourseAddToCartRequest): void {\r\n\t\t\tthis.trainingProductForm.additionalCourses.push(trainingCourse);\r\n\t\t\tthis.trainingProductForm.allCourses.push(trainingCourse);\r\n\t\t},\r\n\t\tupdateCourse(trainingCourse: TrainingCourseAddToCartRequest): void {\r\n\t\t\tif (this.isAdditionalCourse(trainingCourse?.id)) {\r\n\t\t\t\tconst index = this.trainingProductForm.additionalCourses?.findIndex(\r\n\t\t\t\t\t(x) => x?.id === trainingCourse.id\r\n\t\t\t\t);\r\n\t\t\t\tif (isNumber(index) && index > -1 && this.trainingProductForm)\r\n\t\t\t\t\tthis.trainingProductForm.additionalCourses[index] = trainingCourse;\r\n\t\t\t} else {\r\n\t\t\t\tthis.trainingProductForm.course = trainingCourse;\r\n\t\t\t}\r\n\t\t},\r\n\t\tremoveCourse(trainingCourseId: string): void {\r\n\t\t\tconst index = this.trainingProductForm.additionalCourses?.findIndex((x) => x?.id === trainingCourseId);\r\n\t\t\tif (isNumber(index) && index > -1) {\r\n\t\t\t\tthis.trainingProductForm.additionalCourses.splice(index, 1);\r\n\t\t\t}\r\n\t\t\tconst index2 = this.trainingProductForm.allCourses?.findIndex((x) => x?.id === trainingCourseId);\r\n\t\t\tif (isNumber(index) && index2 > -1) {\r\n\t\t\t\tthis.trainingProductForm.allCourses.splice(index2, 1);\r\n\t\t\t}\r\n\t\t},\r\n\t\tresetCourse(): void {\r\n\t\t\tif (this.isInitializing) return;\r\n\t\t\tif (this.trainingProductForm && this.selectedTrainingCourse) {\r\n\t\t\t\tthis.trainingProductForm.additionalCourses = [];\r\n\t\t\t\tthis.trainingProductForm.course.selectedModuleSkus = this.selectedTrainingCourse?.modules.map(\r\n\t\t\t\t\t(x) => x.sku\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t},\r\n\t},\r\n});\r\n","import { render } from \"./trainingModuleTable.vue?vue&type=template&id=3c73da9d&scoped=true&ts=true\"\nimport script from \"./trainingModuleTable.vue?vue&type=script&lang=ts\"\nexport * from \"./trainingModuleTable.vue?vue&type=script&lang=ts\"\n\nimport \"./trainingModuleTable.vue?vue&type=style&index=0&id=3c73da9d&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3c73da9d\"]])\n\nexport default __exports__","import { render } from \"./trainingAddCourseModal.vue?vue&type=template&id=a43f7190&ts=true\"\nimport script from \"./trainingAddCourseModal.vue?vue&type=script&lang=ts\"\nexport * from \"./trainingAddCourseModal.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock, createTextVNode as _createTextVNode, createElementVNode as _createElementVNode, createVNode as _createVNode, withCtx as _withCtx, withModifiers as _withModifiers, normalizeStyle as _normalizeStyle, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-d49d2730\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"d-flex align-items-center font-weight-bold text-primary justify-content-between flex-1\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"pi pi-check ml-1\"\n}\nconst _hoisted_3 = [\"innerHTML\"]\nconst _hoisted_4 = { class: \"row-expansion-content\" }\nconst _hoisted_5 = [\"textContent\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_font_awesome_icon = _resolveComponent(\"font-awesome-icon\")!\n const _component_PopoverIcon = _resolveComponent(\"PopoverIcon\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"training-course-table\",\n style: _normalizeStyle({ height: _ctx.maxTableHeight })\n }, [\n (_ctx.items.length)\n ? (_openBlock(), _createBlock(_component_DataTable, {\n key: 0,\n \"expanded-rows\": _ctx.expandedRows,\n \"onUpdate:expandedRows\": _cache[0] || (_cache[0] = ($event: any) => ((_ctx.expandedRows) = $event)),\n selection: _ctx.selectedRow,\n \"onUpdate:selection\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.selectedRow) = $event)),\n \"data-key\": \"id\",\n \"row-class\": _ctx.highlightRow,\n \"row-hover\": true,\n \"scroll-height\": \"flex\",\n scrollable: \"\",\n \"selection-mode\": \"single\",\n value: _ctx.items,\n onRowClick: _withModifiers(_ctx.onRowClick, [\"self\"])\n }, {\n expansion: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"p\", {\n class: \"text-preline\",\n textContent: _toDisplayString(item.data.intro)\n }, null, 8, _hoisted_5)\n ])\n ]),\n default: _withCtx(() => [\n (!_ctx.isSmallScreen)\n ? (_openBlock(), _createBlock(_component_Column, {\n key: 0,\n expander: \"\",\n style: {\"min-width\":\"1.75rem\",\"max-width\":\"2.5rem\"}\n }))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_Column, {\n key: \"name\",\n field: \"name\",\n sortable: false\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"span\", null, [\n _createTextVNode(_toDisplayString(item.data.name) + \" \", 1),\n (_ctx.isRowSelected(item.data))\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_2))\n : _createCommentVNode(\"\", true)\n ]),\n (item.data.modules.length)\n ? (_openBlock(), _createBlock(_component_PopoverIcon, {\n key: 0,\n class: \"d-inline-flex m-0 border-0\"\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"div\", {\n innerHTML: _ctx.$t('training.modularTraining')\n }, null, 8, _hoisted_3)\n ]),\n default: _withCtx(() => [\n _createVNode(_component_font_awesome_icon, {\n icon: ['fas', 'list-check'],\n style: {\"color\":\"var(--secondary-color)\",\"line-height\":\"100%\"}\n })\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n })\n ]),\n _: 1\n }, 8, [\"expanded-rows\", \"selection\", \"row-class\", \"value\", \"onRowClick\"]))\n : _createCommentVNode(\"\", true)\n ], 4))\n}","<template>\r\n\t<div class=\"training-course-table\" :style=\"{ height: maxTableHeight }\">\r\n\t\t<DataTable\r\n\t\t\tv-if=\"items.length\"\r\n\t\t\tv-model:expanded-rows=\"expandedRows\"\r\n\t\t\tv-model:selection=\"selectedRow\"\r\n\t\t\tdata-key=\"id\"\r\n\t\t\t:row-class=\"highlightRow\"\r\n\t\t\t:row-hover=\"true\"\r\n\t\t\tscroll-height=\"flex\"\r\n\t\t\tscrollable\r\n\t\t\tselection-mode=\"single\"\r\n\t\t\t:value=\"items\"\r\n\t\t\t@row-click.self=\"onRowClick\"\r\n\t\t>\r\n\t\t\t<Column v-if=\"!isSmallScreen\" expander style=\"min-width: 1.75rem; max-width: 2.5rem\" />\r\n\t\t\t<Column key=\"name\" field=\"name\" :sortable=\"false\">\r\n\t\t\t\t<template #body=\"item\">\r\n\t\t\t\t\t<div\r\n\t\t\t\t\t\tclass=\"d-flex align-items-center font-weight-bold text-primary justify-content-between flex-1\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<span>\r\n\t\t\t\t\t\t\t{{ item.data.name }}\r\n\t\t\t\t\t\t\t<i v-if=\"isRowSelected(item.data)\" class=\"pi pi-check ml-1\" />\r\n\t\t\t\t\t\t</span>\r\n\r\n\t\t\t\t\t\t<PopoverIcon v-if=\"item.data.modules.length\" class=\"d-inline-flex m-0 border-0\">\r\n\t\t\t\t\t\t\t<font-awesome-icon\r\n\t\t\t\t\t\t\t\t:icon=\"['fas', 'list-check']\"\r\n\t\t\t\t\t\t\t\tstyle=\"color: var(--secondary-color); line-height: 100%\"\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t<div v-html=\"$t('training.modularTraining')\" />\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</PopoverIcon>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</Column>\r\n\t\t\t<template #expansion=\"item\">\r\n\t\t\t\t<div class=\"row-expansion-content\">\r\n\t\t\t\t\t<p class=\"text-preline\" v-text=\"item.data.intro\" />\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t</DataTable>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport { PropType } from \"vue\";\r\nimport { Component, Emit, Prop } from \"vue-facing-decorator\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { TrainingViewModel } from \"@/types/generated/Training/trainingViewModel\";\r\nimport { clamp } from \"lodash\";\r\nimport { useTrainingProductStore } from \"@/store/training/trainingProductStore\";\r\n\r\n@Component\r\nexport default class TrainingCourseTable extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<TrainingViewModel[]>, required: true, default: {} })\r\n\titems!: TrainingViewModel[];\r\n\r\n\t@Emit trainingCourseChanged(training: TrainingViewModel): TrainingViewModel {\r\n\t\treturn training;\r\n\t}\r\n\r\n\texpandedRows: TrainingViewModel[] = [];\r\n\tselectedRow!: TrainingViewModel;\r\n\r\n\ttrainingProductStore = useTrainingProductStore();\r\n\r\n\tget maxTableHeight(): string {\r\n\t\tlet height = 85 * clamp(this.items.length, 1, 5);\r\n\t\tif (this.expandedRows.length > 0) height += 200;\r\n\t\treturn `${height}px`;\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.selectedRow = this.trainingProductStore.selectedTrainingCourse\r\n\t\t\t? this.trainingProductStore.selectedTrainingCourse\r\n\t\t\t: this.items[0];\r\n\t}\r\n\r\n\tmounted(): void {\r\n\t\tthis.scrollTopToSelectedRow();\r\n\t}\r\n\r\n\tonRowClick(event: { data: TrainingViewModel; index: number }): void {\r\n\t\tconst isRowExpanded = this.expandedRows.findIndex((x) => x.id === event.data.id) > -1;\r\n\t\tthis.expandedRows = isRowExpanded ? [] : [event.data];\r\n\t\tthis.scrollTopToSelectedRow();\r\n\t\tthis.trainingCourseChanged(event.data);\r\n\t}\r\n\r\n\tisRowSelected(course: TrainingViewModel): boolean {\r\n\t\treturn this.selectedRow?.id === course.id;\r\n\t}\r\n\r\n\thighlightRow(course: TrainingViewModel): string {\r\n\t\tif (this.isRowSelected(course)) return \"selected\";\r\n\t\tconst isRowExpanded = this.expandedRows.findIndex((x) => x.id === course.id) > -1;\r\n\t\treturn isRowExpanded ? \"highlight\" : \"\";\r\n\t}\r\n\r\n\tprivate scrollTopToSelectedRow(): void {\r\n\t\tsetTimeout(() => {\r\n\t\t\tconst element = document.querySelector(\".training-course-table .p-highlight\");\r\n\t\t\tconst container = document.querySelector(\".training-course-table .p-datatable-wrapper\");\r\n\t\t\tif (!element || !container) return;\r\n\t\t\tcontainer.scrollTop = (element as any).offsetTop;\r\n\t\t}, 10);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.training-course-table {\r\n\t::v-deep(.p-datatable) {\r\n\t\t.p-datatable-tbody tr {\r\n\t\t\t&.selected {\r\n\t\t\t\tborder-radius: 0.25em;\r\n\t\t\t\tbackground: var(--surface-e);\r\n\t\t\t\tborder: 1px solid var(--primary-color);\r\n\t\t\t\tcolor: var(--primary-color);\r\n\t\t\t}\r\n\r\n\t\t\t> td {\r\n\t\t\t\tpadding: 1rem 0.5rem;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.p-datatable-tbody tr.p-datatable-row-expansion {\r\n\t\t\tborder: none;\r\n\t\t\tbackground: var(--surface-a) !important;\r\n\r\n\t\t\t.row-expansion-content {\r\n\t\t\t\tbackground: var(--surface-a);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t.p-datatable-wrapper {\r\n\t\tflex: 1;\r\n\t}\r\n}\r\n</style>\r\n","import { render } from \"./trainingCourseTable.vue?vue&type=template&id=d49d2730&scoped=true&ts=true\"\nimport script from \"./trainingCourseTable.vue?vue&type=script&lang=ts\"\nexport * from \"./trainingCourseTable.vue?vue&type=script&lang=ts\"\n\nimport \"./trainingCourseTable.vue?vue&type=style&index=0&id=d49d2730&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-d49d2730\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-40e8432e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"mb-1\"\n}\nconst _hoisted_2 = {\n key: 1,\n class: \"training-price-summary\"\n}\nconst _hoisted_3 = { class: \"price-label\" }\nconst _hoisted_4 = { class: \"line-discount text-bold\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", { class: \"my-1\" }, null, -1))\nconst _hoisted_6 = { class: \"text-muted lead text-right\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_i18n_t = _resolveComponent(\"i18n-t\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_Panel = _resolveComponent(\"Panel\")!\n const _component_PriceSummary = _resolveComponent(\"PriceSummary\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n (_ctx.isModularTraining)\n ? (_openBlock(), _createElementBlock(\"h5\", _hoisted_1, _toDisplayString(_ctx.trainingTitle), 1))\n : _createCommentVNode(\"\", true),\n (_ctx.vm?.courses?.length)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.courses, (course, i) => {\n return (_openBlock(), _createBlock(_component_Panel, {\n collapsed: _ctx.panelCollapse[i],\n \"onUpdate:collapsed\": ($event: any) => ((_ctx.panelCollapse[i]) = $event),\n key: i,\n class: \"mb-1\",\n header: _ctx.courseById(course.id)?.name\n }, {\n icons: _withCtx(() => [\n _createVNode(_component_Button, {\n class: \"p-button-text p-panel-header-icon\",\n icon: _ctx.panelCollapse[i] ? 'pi pi-chevron-left' : 'pi pi-chevron-down',\n onClick: ($event: any) => (_ctx.panelCollapse[i] = !_ctx.panelCollapse[i])\n }, null, 8, [\"icon\", \"onClick\"])\n ]),\n default: _withCtx(() => [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.sortedLines(course), (line) => {\n return (_openBlock(), _createElementBlock(\"p\", {\n key: line,\n class: \"text-muted\"\n }, [\n _createElementVNode(\"span\", _hoisted_3, _toDisplayString(_ctx.lineText(line)), 1),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.formatCurrency(line.totalPrice)), 1)\n ]))\n }), 128)),\n _createElementVNode(\"p\", _hoisted_4, [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.$t(\"common.priceSummary.subtotal\")), 1),\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.formatCurrency(course.totalPrice)), 1)\n ]),\n (\r\n\t\t\t\t\t!_ctx.vm.isValid &&\r\n\t\t\t\t\t_ctx.vm.errorCode === _ctx.TrainingCalculationErrorCodeEnum.durationError &&\r\n\t\t\t\t\t_ctx.minimumRequiredDurationToBeValid(course)\r\n\t\t\t\t)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createVNode(_component_i18n_t, { keypath: \"training.message.minimumRequiredDurationToBeValid\" }, {\n default: _withCtx(() => [\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.$t(\"common.hour\", [_ctx.minimumRequiredDurationToBeValid(course)])), 1)\n ]),\n _: 2\n }, 1024)\n ]),\n _: 2\n }, 1024))\n : _createCommentVNode(\"\", true)\n ]),\n _: 2\n }, 1032, [\"collapsed\", \"onUpdate:collapsed\", \"header\"]))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_5,\n _createVNode(_component_PriceSummary, { vm: _ctx.totalPriceSummary }, null, 8, [\"vm\"]),\n _createElementVNode(\"p\", _hoisted_6, _toDisplayString(_ctx.$t(\"common.productSummary.allPricesExclVat\")), 1)\n ], 64))\n}","<template>\r\n\t<h5 v-if=\"isModularTraining\" class=\"mb-1\">\r\n\t\t{{ trainingTitle }}\r\n\t</h5>\r\n\t<div v-if=\"vm?.courses?.length\" class=\"training-price-summary\">\r\n\t\t<Panel\r\n\t\t\tv-for=\"(course, i) in vm.courses\"\r\n\t\t\tv-model:collapsed=\"panelCollapse[i]\"\r\n\t\t\t:key=\"i\"\r\n\t\t\tclass=\"mb-1\"\r\n\t\t\t:header=\"courseById(course.id)?.name\"\r\n\t\t>\r\n\t\t\t<!-- TODO; add Group name above -->\r\n\t\t\t<p v-for=\"line in sortedLines(course)\" :key=\"line\" class=\"text-muted\">\r\n\t\t\t\t<span class=\"price-label\"> {{ lineText(line) }} </span>\r\n\t\t\t\t<span>{{ formatCurrency(line.totalPrice) }}</span>\r\n\t\t\t</p>\r\n\t\t\t<p class=\"line-discount text-bold\">\r\n\t\t\t\t<b>{{ $t(\"common.priceSummary.subtotal\") }}</b>\r\n\t\t\t\t<b>{{ formatCurrency(course.totalPrice) }}</b>\r\n\t\t\t</p>\r\n\t\t\t<Message\r\n\t\t\t\tv-if=\"\r\n\t\t\t\t\t!vm.isValid &&\r\n\t\t\t\t\tvm.errorCode === TrainingCalculationErrorCodeEnum.durationError &&\r\n\t\t\t\t\tminimumRequiredDurationToBeValid(course)\r\n\t\t\t\t\"\r\n\t\t\t\t:closable=\"false\"\r\n\t\t\t\tseverity=\"warn\"\r\n\t\t\t>\r\n\t\t\t\t<i18n-t keypath=\"training.message.minimumRequiredDurationToBeValid\">\r\n\t\t\t\t\t<b>{{ $t(\"common.hour\", [minimumRequiredDurationToBeValid(course)]) }}</b>\r\n\t\t\t\t</i18n-t>\r\n\t\t\t</Message>\r\n\t\t\t<template #icons>\r\n\t\t\t\t<Button\r\n\t\t\t\t\tclass=\"p-button-text p-panel-header-icon\"\r\n\t\t\t\t\t:icon=\"panelCollapse[i] ? 'pi pi-chevron-left' : 'pi pi-chevron-down'\"\r\n\t\t\t\t\t@click=\"panelCollapse[i] = !panelCollapse[i]\"\r\n\t\t\t\t/>\r\n\t\t\t</template>\r\n\t\t</Panel>\r\n\t</div>\r\n\t<hr class=\"my-1\" />\r\n\t<PriceSummary :vm=\"totalPriceSummary\" />\r\n\t<p class=\"text-muted lead text-right\">{{ $t(\"common.productSummary.allPricesExclVat\") }}</p>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport PriceSummary from \"@/components/common/priceSummary.vue\";\r\nimport ScrollPanel from \"primevue/scrollpanel\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { IPriceSummary } from \"@/types/models/common/priceSummary.interface\";\r\nimport { LocalTrainingType } from \"@/types/enum/localTrainingType\";\r\nimport { PropType } from \"vue\";\r\nimport { TrainingCalculationCourseResponse } from \"@/types/generated/Api/trainingCalculationCourseResponse\";\r\nimport { TrainingCalculationErrorCode } from \"@/types/enum/trainingCalculationErrorCode\";\r\nimport { TrainingCalculationLineResponse } from \"@/types/generated/Api/trainingCalculationLineResponse\";\r\nimport { TrainingCalculationLineType } from \"@/types/enum/trainingCalculationLineType\";\r\nimport { TrainingCalculationResponse } from \"@/types/generated/Api/trainingCalculationResponse\";\r\nimport { TrainingViewModel } from \"@/types/generated/Training/trainingViewModel\";\r\nimport { orderBy } from \"lodash\";\r\nimport { useTrainingProductStore } from \"@/store/training/trainingProductStore\";\r\n\r\n@Component({ components: { PriceSummary, ScrollPanel } })\r\nexport default class TrainingPriceSummary extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<TrainingCalculationResponse>, required: true, default: {} })\r\n\tvm!: TrainingCalculationResponse;\r\n\r\n\tpanelCollapse: { [index: number]: boolean } = {};\r\n\ttrainingProductStore = useTrainingProductStore();\r\n\r\n\tget TrainingCalculationErrorCodeEnum(): typeof TrainingCalculationErrorCode {\r\n\t\treturn TrainingCalculationErrorCode;\r\n\t}\r\n\r\n\tget trainingTitle(): string {\r\n\t\tlet title = this.trainingProductStore.trainingViewModel?.name || \"\";\r\n\t\tif (this.isModularTraining) title += ` (${this.$t(\"training.lblModular\")})`;\r\n\t\treturn title;\r\n\t}\r\n\r\n\tget selectedCourse(): TrainingViewModel {\r\n\t\treturn this.trainingProductStore.selectedTrainingCourse as TrainingViewModel;\r\n\t}\r\n\r\n\tget isModularTraining(): boolean {\r\n\t\treturn this.trainingProductStore.trainingProductForm?.type === LocalTrainingType.modular;\r\n\t}\r\n\r\n\tget courseById() {\r\n\t\treturn (id: string) => {\r\n\t\t\tif (this.trainingProductStore.allTrainingCourses?.[0].cadacIdentifier == id) {\r\n\t\t\t\treturn this.trainingProductStore.allTrainingCourses?.[0];\r\n\t\t\t}\r\n\t\t\tconst relatedCourses = (<any>this.trainingProductStore.allTrainingCourses?.[0])?.relatedProductModules;\r\n\t\t\tconst course = relatedCourses.find((x) => x.cadacIdentifier === id);\r\n\t\t\treturn course;\r\n\t\t};\r\n\t}\r\n\r\n\tget sortedLines() {\r\n\t\treturn (course: TrainingCalculationCourseResponse) =>\r\n\t\t\torderBy(course.lines, \"order\", \"asc\").filter((x) => x.totalPrice > 0);\r\n\t}\r\n\r\n\tget minimumRequiredDurationToBeValid() {\r\n\t\treturn (course?: TrainingCalculationCourseResponse) => {\r\n\t\t\tif (!course?.totalDurationInDays) return 0;\r\n\t\t\tconst decimals = course.totalDurationInDays % 1;\r\n\t\t\tif (!decimals || decimals >= 0.5) return 0;\r\n\t\t\tconst durationInHours = (0.5 - decimals) * 6;\r\n\t\t\treturn Math.ceil(durationInHours);\r\n\t\t};\r\n\t}\r\n\r\n\tget lineText() {\r\n\t\treturn (line: TrainingCalculationLineResponse) => {\r\n\t\t\tswitch (line.type) {\r\n\t\t\t\tcase TrainingCalculationLineType.module:\r\n\t\t\t\t\treturn `${line.quantity} x ${this.$tc(\r\n\t\t\t\t\t\t`enum.trainingCalculationLineType.${line.type}`,\r\n\t\t\t\t\t\tline.quantity\r\n\t\t\t\t\t)} (${this.$tc(\"common.days\", line.totalDurationInDays || 0)})`;\r\n\t\t\t\tcase TrainingCalculationLineType.vdiEnvironment:\r\n\t\t\t\t\treturn `${line.quantity} x ${this.$t(`enum.trainingCalculationLineType.${line.type}`)}`;\r\n\t\t\t\tcase TrainingCalculationLineType.trainingMaterial:\r\n\t\t\t\t\treturn `${line.quantity} x ${this.$t(`enum.trainingCalculationLineType.${line.type}`)}`;\r\n\t\t\t\tcase TrainingCalculationLineType.trainingRoom:\r\n\t\t\t\t\treturn `${line.quantity} x ${this.$t(`enum.trainingCalculationLineType.${line.type}`)}`;\r\n\t\t\t\tcase TrainingCalculationLineType.standardTraining:\r\n\t\t\t\t\treturn this.$t(`enum.trainingType.${this.trainingProductStore.trainingProductForm?.type}`);\r\n\t\t\t\tcase TrainingCalculationLineType.intake:\r\n\t\t\t\t\treturn `${line.quantity} x ${this.$t(`enum.trainingCalculationLineType.${line.type}`)}`;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn \"\";\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n\r\n\tget totalPriceSummary() {\r\n\t\tconst { totalPrice } = this.vm as any;\r\n\t\treturn { totalPrice } as IPriceSummary;\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tthis.vm?.courses?.forEach((_, i) => (this.panelCollapse[i] = i > 0));\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.training-price-summary {\r\n\ttext-align: right;\r\n\r\n\t.price-label {\r\n\t\ttext-align: left;\r\n\t\tmargin-right: 1rem;\r\n\t}\r\n\r\n\tp {\r\n\t\tfont-size: 1.05rem;\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: space-between;\r\n\t\tmargin-bottom: 0.25rem;\r\n\t}\r\n\r\n\th4 {\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: space-between;\r\n\t\tmargin-bottom: 0.5rem;\r\n\t\tmargin-top: 0.75rem;\r\n\t}\r\n}\r\n\r\n::v-deep(.p-panel) {\r\n\t.p-panel-header {\r\n\t\tpadding: 0;\r\n\t\tborder: none;\r\n\t\ttext-align: left;\r\n\t}\r\n\r\n\t.p-panel-content {\r\n\t\tpadding: 0;\r\n\t}\r\n\r\n\t.p-card-footer {\r\n\t\tpadding: 0;\r\n\t}\r\n}\r\n</style>\r\n","/* Auto Generated */\r\n\r\nexport enum TrainingCalculationErrorCode {\r\n\tnone = 0,\r\n\tunknown = 1,\r\n\tinternalServerError = 2,\r\n\tdurationError = 3,\r\n}\r\n","/* Auto Generated */\r\n\r\nexport enum TrainingCalculationLineType {\r\n\tmodule = 0,\r\n\tvdiEnvironment = 1,\r\n\ttrainingMaterial = 2,\r\n\ttrainingRoom = 3,\r\n\tstandardTraining = 4,\r\n\tintake = 5,\r\n}\r\n","import { render } from \"./trainingPriceSummary.vue?vue&type=template&id=40e8432e&scoped=true&ts=true\"\nimport script from \"./trainingPriceSummary.vue?vue&type=script&lang=ts\"\nexport * from \"./trainingPriceSummary.vue?vue&type=script&lang=ts\"\n\nimport \"./trainingPriceSummary.vue?vue&type=style&index=0&id=40e8432e&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-40e8432e\"]])\n\nexport default __exports__","export enum TrainingValidation {\r\n\tAtleastOneParticipant,\r\n\tUniqueEmailParticipant,\r\n\tValidAddressOwnLocation,\r\n\tValidPreferredStartDate,\r\n\tValidPriceCalculation,\r\n\tMaxParticipants,\r\n\tValidVdiChoice,\r\n}\r\n","import { render } from \"./trainingProduct.vue?vue&type=template&id=650307ad&scoped=true&ts=true\"\nimport script from \"./trainingProduct.vue?vue&type=script&lang=ts\"\nexport * from \"./trainingProduct.vue?vue&type=script&lang=ts\"\n\nimport \"./trainingProduct.vue?vue&type=style&index=0&id=650307ad&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-650307ad\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, createCommentVNode as _createCommentVNode, resolveDirective as _resolveDirective, withDirectives as _withDirectives, withModifiers as _withModifiers, createVNode as _createVNode, normalizeClass as _normalizeClass, withCtx as _withCtx, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7721e67c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"d-flex align-items-center justify-content-between flex-wrap mb-2\" }\nconst _hoisted_2 = { class: \"mb-0\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"svg\", {\n class: \"mb-1\",\n height: \"60\",\n width: \"60\"\n}, [\n /*#__PURE__*/_createElementVNode(\"use\", { \"xlink:href\": \"#icon-wallet\" })\n], -1))\nconst _hoisted_4 = [\"innerHTML\"]\nconst _hoisted_5 = { class: \"row my-3\" }\nconst _hoisted_6 = { class: \"d-flex justify-content-between\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"subcard\"\n}\nconst _hoisted_8 = { class: \"mb-2\" }\nconst _hoisted_9 = { class: \"d-flex mb-2\" }\nconst _hoisted_10 = {\n alt: \"cadac prepaid icon\",\n class: \"wallet-icon\"\n}\nconst _hoisted_11 = { class: \"text-primary mb-0 leading-8\" }\nconst _hoisted_12 = { class: \"subcard\" }\nconst _hoisted_13 = { class: \"mb-2\" }\nconst _hoisted_14 = { class: \"d-flex mb-2\" }\nconst _hoisted_15 = {\n alt: \"loyalty discount icon\",\n class: \"wallet-icon\"\n}\nconst _hoisted_16 = { class: \"text-primary mb-0 leading-8\" }\nconst _hoisted_17 = { class: \"d-flex justify-content-between\" }\nconst _hoisted_18 = { class: \"subcard\" }\nconst _hoisted_19 = { class: \"mb-2\" }\nconst _hoisted_20 = { class: \"d-flex mb-2\" }\nconst _hoisted_21 = {\n alt: \"loyalty cashback icon\",\n class: \"wallet-icon\"\n}\nconst _hoisted_22 = { class: \"text-primary mb-0 leading-8\" }\nconst _hoisted_23 = { class: \"d-flex align-items-center\" }\nconst _hoisted_24 = { class: \"text-bold mb-0\" }\nconst _hoisted_25 = { class: \"d-flex align-items-center\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_RadioButton = _resolveComponent(\"RadioButton\")!\n const _component_Card = _resolveComponent(\"Card\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_Avatar = _resolveComponent(\"Avatar\")!\n const _component_Column = _resolveComponent(\"Column\")!\n const _component_DataTable = _resolveComponent(\"DataTable\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"h1\", _hoisted_2, [\n _hoisted_3,\n _createTextVNode(\" \" + _toDisplayString(_ctx.vm.title), 1)\n ]),\n (_ctx.vm.walletDepositPageUrl)\n ? (_openBlock(), _createBlock(_component_Button, {\n key: 0,\n class: \"p-button-raised p-button-success p-button-arrow\",\n label: _ctx.$t('myCadac.walletOverview.button.buyPrepaidCredit'),\n onClick: _cache[0] || (_cache[0] = ($event: any) => {\r\n\t\t\t\t_ctx.openUrl(_ctx.vm.walletDepositPageUrl);\r\n\t\t\t\t$event.target.disabled = true;\r\n\t\t\t})\n }, null, 8, [\"label\"]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"p\", {\n class: \"lead\",\n innerHTML: _ctx.vm.introText\n }, null, 8, _hoisted_4),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", {\n class: _normalizeClass(_ctx.vm?.totalDeposited > 0 ? 'col-12 col-lg-12 col-xl-8 mb-1': 'col-12 col-lg-6 mb-1')\n }, [\n _createVNode(_component_Card, {\n onClick: _cache[3] || (_cache[3] = ($event: any) => (_ctx.toggleWalletType())),\n id: \"wallet-card-1\",\n class: _normalizeClass(['wallet-total-card', { 'active-wallet-card': _ctx.cadacWalletTransactionsVisible }])\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_6, [\n (_ctx.vm?.totalDeposited > 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, _toDisplayString(_ctx.$t('myCadac.walletOverview.t2')), 1),\n _createElementVNode(\"div\", _hoisted_9, [\n _withDirectives(_createElementVNode(\"img\", _hoisted_10, null, 512), [\n [_directive_lazy, '/Static/images/loyalty-gold.png']\n ]),\n _createElementVNode(\"h2\", _hoisted_11, _toDisplayString(_ctx.formatCurrency(_ctx.vm?.totalDeposited)), 1)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_12, [\n _createElementVNode(\"div\", _hoisted_13, _toDisplayString(_ctx.$t('myCadac.walletOverview.t1')), 1),\n _createElementVNode(\"div\", _hoisted_14, [\n _withDirectives(_createElementVNode(\"img\", _hoisted_15, null, 512), [\n [_directive_lazy, '/Static/images/loyalty-silver.png']\n ]),\n _createElementVNode(\"h2\", _hoisted_16, _toDisplayString(_ctx.formatCurrency(_ctx.vm?.totalSaved)), 1)\n ])\n ]),\n _createVNode(_component_RadioButton, {\n onClick: _cache[1] || (_cache[1] = _withModifiers(() => {}, [\"stop\"])),\n modelValue: _ctx.cadacWalletTransactionsVisible,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => ((_ctx.cadacWalletTransactionsVisible) = $event)),\n value: true\n }, null, 8, [\"modelValue\"])\n ])\n ]),\n _: 1\n }, 8, [\"class\"])\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass(_ctx.vm?.totalDeposited > 0 ? 'col-12 col-lg-12 col-xl-4 mb-1': 'col-12 col-lg-6 col-xl-6 mb-1')\n }, [\n _createVNode(_component_Card, {\n onClick: _cache[6] || (_cache[6] = ($event: any) => (_ctx.toggleWalletType())),\n id: \"wallet-card-2\",\n class: _normalizeClass(['wallet-total-card', { 'active-wallet-card': !_ctx.cadacWalletTransactionsVisible }])\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"div\", _hoisted_18, [\n _createElementVNode(\"div\", _hoisted_19, _toDisplayString(_ctx.$t('myCadac.walletOverview.t3')), 1),\n _createElementVNode(\"div\", _hoisted_20, [\n _withDirectives(_createElementVNode(\"img\", _hoisted_21, null, 512), [\n [_directive_lazy, '/Static/images/autodesk-coin.png']\n ]),\n _createElementVNode(\"h2\", _hoisted_22, _toDisplayString(_ctx.formatCurrency(_ctx.vm?.totalAutodeskSaved)), 1)\n ])\n ]),\n _createVNode(_component_RadioButton, {\n onClick: _cache[4] || (_cache[4] = _withModifiers(() => {}, [\"stop\"])),\n modelValue: _ctx.cadacWalletTransactionsVisible,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event: any) => ((_ctx.cadacWalletTransactionsVisible) = $event)),\n value: false\n }, null, 8, [\"modelValue\"])\n ])\n ]),\n _: 1\n }, 8, [\"class\"])\n ], 2)\n ]),\n (!_ctx.tableData?.length)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n closable: false,\n severity: \"warn\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.cadacWalletTransactionsVisible ? _ctx.$t(\"myCadac.walletOverview.message.noTransactions\") : _ctx.$t(\"myCadac.walletOverview.message.noAutodeskTransactions\")), 1)\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true),\n (_ctx.tableData?.length)\n ? (_openBlock(), _createBlock(_component_DataTable, {\n key: 1,\n id: \"walletOverviewTable\",\n class: \"mb-3\",\n paginator: _ctx.showPagination,\n \"removable-sort\": \"\",\n \"responsive-layout\": 'scroll',\n \"row-class\": _ctx.getRowClass,\n rows: _ctx.maxRowsToShow,\n \"sort-field\": \"transactionDate\",\n \"sort-order\": -1,\n value: _ctx.tableData\n }, {\n default: _withCtx(() => [\n _createVNode(_component_Column, {\n key: \"type\",\n field: \"type\",\n header: _ctx.$t('myCadac.walletOverview.table.colType'),\n sortable: true\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_23, [\n _createVNode(_component_Avatar, {\n class: \"mr-1 bg-transparent\",\n icon: _ctx.getTransactionIcon(item.data),\n size: \"sm\"\n }, null, 8, [\"icon\"]),\n _createElementVNode(\"p\", _hoisted_24, _toDisplayString(_ctx.getTransactionText(item.data)), 1)\n ])\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"orderNumber\",\n field: \"orderNumber\",\n header: _ctx.$t('myCadac.walletOverview.table.colOrderNumber')\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"span\", null, _toDisplayString(item.data.orderNumber), 1)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"date\",\n field: \"transactionDate\",\n header: _ctx.$t('myCadac.walletOverview.table.colDate'),\n sortable: true\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.formatDate(item.data.transactionDate)), 1)\n ]),\n _: 1\n }, 8, [\"header\"]),\n _createVNode(_component_Column, {\n key: \"amount\",\n field: \"amount\",\n header: _ctx.$t('myCadac.walletOverview.table.colTotalAmount'),\n sortable: true\n }, {\n body: _withCtx((item) => [\n _createElementVNode(\"div\", _hoisted_25, [\n _createVNode(_component_Avatar, {\n class: \"mr-1 bg-transparent text-danger icon-border\",\n icon: _ctx.getAmountIcon(item.data),\n size: \"sm\"\n }, null, 8, [\"icon\"]),\n _createElementVNode(\"span\", null, _toDisplayString(_ctx.formatCurrency(item.data.amount)), 1)\n ])\n ]),\n _: 1\n }, 8, [\"header\"])\n ]),\n _: 1\n }, 8, [\"paginator\", \"row-class\", \"rows\", \"value\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<div class=\"d-flex align-items-center justify-content-between flex-wrap mb-2\">\r\n\t\t<h1 class=\"mb-0\">\r\n\t\t\t<svg class=\"mb-1\" height=\"60\" width=\"60\">\r\n\t\t\t\t<use xlink:href=\"#icon-wallet\"></use>\r\n\t\t\t</svg>\r\n\t\t\t{{ vm.title }}\r\n\t\t</h1>\r\n\t\t<Button\r\n\t\t\tv-if=\"vm.walletDepositPageUrl\"\r\n\t\t\tclass=\"p-button-raised p-button-success p-button-arrow\"\r\n\t\t\t:label=\"$t('myCadac.walletOverview.button.buyPrepaidCredit')\"\r\n\t\t\t@click=\"\r\n\t\t\t\topenUrl(vm.walletDepositPageUrl);\r\n\t\t\t\t$event.target.disabled = true;\r\n\t\t\t\"\r\n\t\t/>\r\n\t</div>\r\n\r\n\t<p class=\"lead\" v-html=\"vm.introText\"></p>\r\n\r\n\t<div class=\"row my-3\">\r\n\t\t<div :class=\"vm?.totalDeposited > 0 ? 'col-12 col-lg-12 col-xl-8 mb-1': 'col-12 col-lg-6 mb-1'\">\r\n\t\t\t<Card @click=\"toggleWalletType()\"\r\n\t\t\t\t id=\"wallet-card-1\"\r\n\t\t\t\t :class=\"['wallet-total-card', { 'active-wallet-card': cadacWalletTransactionsVisible }]\">\r\n\t\t\t\t<template #content>\r\n\t\t\t\t\t<div class=\"d-flex justify-content-between\">\r\n\t\t\t\t\t\t<div v-if=\"vm?.totalDeposited > 0\" class=\"subcard\">\r\n\t\t\t\t\t\t\t<div class=\"mb-2\">\r\n\t\t\t\t\t\t\t\t{{$t('myCadac.walletOverview.t2')}}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"d-flex mb-2\">\r\n\t\t\t\t\t\t\t\t<img v-lazy=\"'/Static/images/loyalty-gold.png'\"\r\n\t\t\t\t\t\t\t\t\t alt=\"cadac prepaid icon\"\r\n\t\t\t\t\t\t\t\t\t class=\"wallet-icon\" />\r\n\t\t\t\t\t\t\t\t<h2 class=\"text-primary mb-0 leading-8\">\r\n\t\t\t\t\t\t\t\t\t{{ formatCurrency(vm?.totalDeposited) }}\r\n\t\t\t\t\t\t\t\t</h2>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"subcard\">\r\n\t\t\t\t\t\t\t<div class=\"mb-2\">\r\n\t\t\t\t\t\t\t\t{{$t('myCadac.walletOverview.t1')}}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"d-flex mb-2\">\r\n\t\t\t\t\t\t\t\t<img v-lazy=\"'/Static/images/loyalty-silver.png'\"\r\n\t\t\t\t\t\t\t\t\t alt=\"loyalty discount icon\"\r\n\t\t\t\t\t\t\t\t\t class=\"wallet-icon\" />\r\n\t\t\t\t\t\t\t\t<h2 class=\"text-primary mb-0 leading-8\">\r\n\t\t\t\t\t\t\t\t\t{{ formatCurrency(vm?.totalSaved) }}\r\n\t\t\t\t\t\t\t\t</h2>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<RadioButton @click.stop v-model=\"cadacWalletTransactionsVisible\" :value=\"true\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</Card>\r\n\t\t</div>\r\n\t\t<div :class=\"vm?.totalDeposited > 0 ? 'col-12 col-lg-12 col-xl-4 mb-1': 'col-12 col-lg-6 col-xl-6 mb-1'\">\r\n\t\t\t<Card @click=\"toggleWalletType()\" id=\"wallet-card-2\"\r\n\t\t\t\t :class=\"['wallet-total-card', { 'active-wallet-card': !cadacWalletTransactionsVisible }]\">\r\n\t\t\t\t<template #content>\r\n\t\t\t\t\t<div class=\"d-flex justify-content-between\">\r\n\t\t\t\t\t\t<div class=\"subcard\">\r\n\t\t\t\t\t\t\t<div class=\"mb-2\">\r\n\t\t\t\t\t\t\t\t{{$t('myCadac.walletOverview.t3')}}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"d-flex mb-2\">\r\n\t\t\t\t\t\t\t\t<img v-lazy=\"'/Static/images/autodesk-coin.png'\"\r\n\t\t\t\t\t\t\t\t\t alt=\"loyalty cashback icon\"\r\n\t\t\t\t\t\t\t\t\t class=\"wallet-icon\" />\r\n\t\t\t\t\t\t\t\t<h2 class=\"text-primary mb-0 leading-8\">\r\n\t\t\t\t\t\t\t\t\t{{ formatCurrency(vm?.totalAutodeskSaved) }}\r\n\t\t\t\t\t\t\t\t</h2>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<RadioButton @click.stop v-model=\"cadacWalletTransactionsVisible\" :value=\"false\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</Card>\r\n\t\t</div>\r\n\t</div>\r\n\r\n\t<Message v-if=\"!tableData?.length\" :closable=\"false\" severity=\"warn\">\r\n\t\t{{ cadacWalletTransactionsVisible ? $t(\"myCadac.walletOverview.message.noTransactions\") : $t(\"myCadac.walletOverview.message.noAutodeskTransactions\") }}\r\n\t</Message>\r\n\r\n\t<DataTable v-if=\"tableData?.length\"\r\n\t\t\t\tid=\"walletOverviewTable\"\r\n\t\t\t\tclass=\"mb-3\"\r\n\t\t\t\t:paginator=\"showPagination\"\r\n\t\t\t\tremovable-sort\r\n\t\t\t\t:responsive-layout=\"'scroll'\"\r\n\t\t\t\t:row-class=\"getRowClass\"\r\n\t\t\t\t:rows=\"maxRowsToShow\"\r\n\t\t\t\tsort-field=\"transactionDate\"\r\n\t\t\t\t:sort-order=\"-1\"\r\n\t\t\t\t:value=\"tableData\">\r\n\t\t<Column key=\"type\" field=\"type\" :header=\"$t('myCadac.walletOverview.table.colType')\" :sortable=\"true\">\r\n\t\t\t<template #body=\"item\">\r\n\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t<Avatar class=\"mr-1 bg-transparent\" :icon=\"getTransactionIcon(item.data)\" size=\"sm\" />\r\n\t\t\t\t\t<p class=\"text-bold mb-0\">\r\n\t\t\t\t\t\t{{ getTransactionText(item.data) }}\r\n\t\t\t\t\t</p>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\r\n\t\t<Column key=\"orderNumber\" field=\"orderNumber\" :header=\"$t('myCadac.walletOverview.table.colOrderNumber')\">\r\n\t\t\t<template #body=\"item\">\r\n\t\t\t\t<span>{{ item.data.orderNumber }}</span>\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\r\n\t\t<Column key=\"date\"\r\n\t\t\t\tfield=\"transactionDate\"\r\n\t\t\t\t:header=\"$t('myCadac.walletOverview.table.colDate')\"\r\n\t\t\t\t:sortable=\"true\">\r\n\t\t\t<template #body=\"item\">\r\n\t\t\t\t<span>{{ formatDate(item.data.transactionDate) }}</span>\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\r\n\t\t<Column key=\"amount\"\r\n\t\t\t\tfield=\"amount\"\r\n\t\t\t\t:header=\"$t('myCadac.walletOverview.table.colTotalAmount')\"\r\n\t\t\t\t:sortable=\"true\">\r\n\t\t\t<template #body=\"item\">\r\n\t\t\t\t<div class=\"d-flex align-items-center\">\r\n\t\t\t\t\t<Avatar class=\"mr-1 bg-transparent text-danger icon-border\"\r\n\t\t\t\t\t\t\t:icon=\"getAmountIcon(item.data)\"\r\n\t\t\t\t\t\t\tsize=\"sm\" />\r\n\t\t\t\t\t<span>{{ formatCurrency(item.data.amount) }}</span>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t</Column>\r\n\t</DataTable>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport MyCadacMenu from \"@/components/common/menu/myCadacMenu.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { IWalletOverview } from \"@/types/viewModels/myCadac/walletOverviewViewModel\";\r\nimport { PrimeIcons } from \"primevue/api\";\r\nimport { PropType } from \"vue\";\r\nimport { WalletTransaction } from \"@/types/generated/custom/walletTransaction\";\r\nimport { WalletTransactionOrigin } from \"@/types/enum/walletTransactionOrigin\";\r\nimport { WalletTransactionType } from \"@/types/enum/walletTransactionType\";\r\n\r\n@Component({ components: { MyCadacMenu } })\r\nexport default class WalletOverview extends BaseComponent {\r\n\t@Prop({\r\n\t\ttype: Object as PropType<IWalletOverview>,\r\n\t\trequired: true,\r\n\t\tdefault: {},\r\n\t})\r\n\tvm!: IWalletOverview;\r\n\r\n\tmaxRowsToShow = 15;\r\n\r\n\tcadacWalletTransactionsVisible = true;\r\n\r\n\ttoggleWalletType() {\r\n\t\tthis.cadacWalletTransactionsVisible = !this.cadacWalletTransactionsVisible;\r\n\t}\r\n\r\n\tget tableData(): WalletTransaction[] {\r\n\t\treturn this.cadacWalletTransactionsVisible ? this.vm.cadacWalletTransactions : this.vm.autodeskWalletTransactions;\r\n\t}\r\n\r\n\tget showPagination(): boolean {\r\n\t\treturn this.tableData?.length > this.maxRowsToShow;\r\n\t}\r\n\r\n\tgetTransactionIcon(transaction: WalletTransaction): string | undefined {\r\n\t\tswitch (transaction.type) {\r\n\t\t\tcase WalletTransactionType.prepaidCreditSpent:\r\n\t\t\t\treturn `${PrimeIcons.MONEY_BILL} text-danger`;\r\n\t\t\tcase WalletTransactionType.prepaidCreditEarned:\r\n\t\t\t\treturn `${PrimeIcons.MONEY_BILL} text-success`;\r\n\t\t\tcase WalletTransactionType.creditSpent:\r\n\t\t\t\treturn `${PrimeIcons.WALLET} text-danger`;\r\n\t\t\tcase WalletTransactionType.creditEarned:\r\n\t\t\t\treturn `${PrimeIcons.WALLET} text-success`;\r\n\t\t\tcase WalletTransactionType.expiresSoon:\r\n\t\t\t\treturn `${PrimeIcons.EXCLAMATION_TRIANGLE} text-warning`;\r\n\t\t\tcase WalletTransactionType.expired:\r\n\t\t\t\treturn `${PrimeIcons.EXCLAMATION_TRIANGLE} text-danger`;\r\n\t\t\tcase WalletTransactionType.manualEdit:\r\n\t\t\t\treturn `${PrimeIcons.USER} text-primary`;\r\n\t\t\tcase WalletTransactionType.cancelledOrder:\r\n\t\t\t\treturn `${PrimeIcons.TIMES_CIRCLE} text-primary`;\r\n\t\t\tcase WalletTransactionType.projectOrder:\r\n\t\t\t\treturn `${PrimeIcons.BRIEFCASE} text-primary`;\r\n\t\t\tcase WalletTransactionType.autodeskWalletAmountSpent:\r\n\t\t\t\treturn `${PrimeIcons.MONEY_BILL} text-danger`;\r\n\t\t\tcase WalletTransactionType.autodeskWalletAmountEarned:\r\n\t\t\t\treturn `${PrimeIcons.MONEY_BILL} text-success`;\r\n\t\t\tdefault:\r\n\t\t\t\treturn \"\";\r\n\t\t}\r\n\t}\r\n\r\n\tgetAmountIcon(transaction: WalletTransaction): string | undefined {\r\n\t\tif (\r\n\t\t\ttransaction.origin === WalletTransactionOrigin.storeOrder ||\r\n\t\t\ttransaction.origin === WalletTransactionOrigin.purchased ||\r\n\t\t\ttransaction.origin === WalletTransactionOrigin.autodeskQuote\r\n\t\t) {\r\n\t\t\treturn transaction.amount > 0\r\n\t\t\t\t? `${PrimeIcons.ARROW_UP} text-success`\r\n\t\t\t\t: `${PrimeIcons.ARROW_DOWN} text-danger`;\r\n\t\t} else {\r\n\t\t\tswitch (transaction.origin) {\r\n\t\t\t\tcase WalletTransactionOrigin.cancelledOrder:\r\n\t\t\t\t\treturn `${PrimeIcons.ARROW_DOWN_LEFT} text-danger`;\r\n\t\t\t\tcase WalletTransactionOrigin.expired:\r\n\t\t\t\t\treturn `${PrimeIcons.ARROW_DOWN_LEFT} text-danger`;\r\n\t\t\t\tcase WalletTransactionOrigin.cRMEdit:\r\n\t\t\t\t\treturn transaction.amount > 0\r\n\t\t\t\t\t\t? `${PrimeIcons.ARROW_UP} text-info`\r\n\t\t\t\t\t\t: `${PrimeIcons.ARROW_DOWN} text-warning`;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn \"\";\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tgetTransactionText(transaction: WalletTransaction): string | undefined {\r\n\t\treturn this.$t(`enum.walletTransactionType.${transaction.type}`);\r\n\t}\r\n\r\n\tgetRowClass(transaction: WalletTransaction): string {\r\n\t\tswitch (transaction.type) {\r\n\t\t\tcase WalletTransactionType.expiresSoon:\r\n\t\t\t\treturn \"disabled\";\r\n\t\t\tdefault:\r\n\t\t\t\treturn \"\";\r\n\t\t}\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n ::v-deep(.wallet-total-card.p-card) {\r\n border-radius: 5px;\r\n\r\n .p-card-content {\r\n padding: 0.5rem 0;\r\n }\r\n\r\n .p-card-body {\r\n padding: 0.5rem 0.75rem 0 0.5rem;\r\n }\r\n\r\n .subcard {\r\n display: flex;\r\n flex-direction: column;\r\n margin-left: 1rem;\r\n }\r\n\r\n .p-radiobutton {\r\n margin-top: 2px;\r\n margin-right: 0.25rem;\r\n }\r\n\r\n\t\t.wallet-icon {\r\n width: 2rem;\r\n height: 2rem;\r\n margin-right: 1.5rem;\r\n }\r\n }\r\n\r\n\t.icon-border {\r\n\t\tborder: 1px solid #dddddd;\r\n\t}\r\n\r\n\t.active-wallet-card {\r\n\t\tcursor: default;\r\n\t\tborder: 2px solid #91004b;\r\n\t}\r\n\r\n\t.wallet-total-card:not(.active-wallet-card) {\r\n\t\tcursor: pointer;\r\n\t}\r\n\r\n</style>\r\n","/* Auto Generated */\r\n\r\nexport enum WalletTransactionOrigin {\r\n\tstoreOrder = 229380000,\r\n\tpurchased = 229380001,\r\n\tcancelledOrder = 229380002,\r\n\texpired = 229380003,\r\n cRMEdit = 229380004,\r\n projectOrder = 229380005,\r\n autodeskQuote = 229380006\r\n}","/* Auto Generated */\r\n\r\nexport enum WalletTransactionType {\r\n\tprepaidCreditSpent,\r\n\tprepaidCreditEarned,\r\n\tcreditSpent,\r\n\tcreditEarned,\r\n\texpiresSoon,\r\n\texpired,\r\n\tmanualEdit,\r\n\tcancelledOrder,\r\n\tprojectOrder,\r\n\tautodeskWalletAmountEarned,\r\n\tautodeskWalletAmountSpent,\r\n}\r\n","import { render } from \"./walletOverview.vue?vue&type=template&id=7721e67c&scoped=true&ts=true\"\nimport script from \"./walletOverview.vue?vue&type=script&lang=ts\"\nexport * from \"./walletOverview.vue?vue&type=script&lang=ts\"\n\nimport \"./walletOverview.vue?vue&type=style&index=0&id=7721e67c&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7721e67c\"]])\n\nexport default __exports__","import { renderSlot as _renderSlot, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createBlock as _createBlock, renderList as _renderList, Fragment as _Fragment, createVNode as _createVNode, withModifiers as _withModifiers, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-451948a4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"py-3\" }\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = { class: \"lead\" }\nconst _hoisted_4 = { class: \"\" }\nconst _hoisted_5 = { class: \"row\" }\nconst _hoisted_6 = { class: \"d-flex flex-column align-items-center\" }\nconst _hoisted_7 = { class: \"mb-2 text-center\" }\nconst _hoisted_8 = { class: \"\" }\nconst _hoisted_9 = { class: \"d-flex flex-wrap align-items-center\" }\nconst _hoisted_10 = { class: \"slider-wrapper flex-1\" }\nconst _hoisted_11 = { class: \"slider-annotation\" }\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"hr\", null, null, -1))\nconst _hoisted_13 = { class: \"w-75 mx-auto\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_font_awesome_icon = _resolveComponent(\"font-awesome-icon\")!\n const _component_Checkbox = _resolveComponent(\"Checkbox\")!\n const _component_Card = _resolveComponent(\"Card\")!\n const _component_ProductConfigurationStep = _resolveComponent(\"ProductConfigurationStep\")!\n const _component_Slider = _resolveComponent(\"Slider\")!\n const _component_ProductConfiguration = _resolveComponent(\"ProductConfiguration\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _component_ProductLayoutSimple = _resolveComponent(\"ProductLayoutSimple\")!\n const _component_ProductAddedModal = _resolveComponent(\"ProductAddedModal\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_ProductLayoutSimple, null, {\n header: _withCtx(() => [\n _renderSlot(_ctx.$slots, \"breadcrumbs\", {}, undefined, true),\n _createElementVNode(\"div\", _hoisted_1, [\n (_ctx.vm.introTitle)\n ? (_openBlock(), _createElementBlock(\"h1\", _hoisted_2, _toDisplayString(_ctx.vm.introTitle), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"p\", _hoisted_3, _toDisplayString(_ctx.vm.intro), 1)\n ])\n ]),\n configuration: _withCtx(() => [\n _createVNode(_component_ProductConfiguration, { class: \"mb-3\" }, {\n default: _withCtx(() => [\n _createVNode(_component_ProductConfigurationStep, { id: \"step-walletType\" }, {\n error: _withCtx(() => [\n (\r\n\t\t\t\t\t\t\t\t!_ctx.walletProductValidation.get(_ctx.WalletProductValidationEnum.AtleastOneTypeSelected) &&\r\n\t\t\t\t\t\t\t\t_ctx.submitted\r\n\t\t\t\t\t\t\t)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n id: `validation-msg-${_ctx.WalletProductValidationEnum.AtleastOneTypeSelected}`,\n closable: false,\n severity: \"error\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"product.message.atleastOneWalletType\")), 1)\n ]),\n _: 1\n }, 8, [\"id\"]))\n : _createCommentVNode(\"\", true)\n ]),\n header: _withCtx(() => [\n _createElementVNode(\"span\", _hoisted_4, _toDisplayString(_ctx.$t(\"product.lblChooseWalletType\")), 1)\n ]),\n default: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_5, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.depositTypeOptions, (option, index) => {\n return (_openBlock(), _createBlock(_component_Card, {\n key: `walletDepositType_${index}`,\n class: _normalizeClass([\"col product-configuration-option-card\", { 'p-highlight': option.isSelected, 'p-disabled': _ctx.isOptionDisabled(option) }]),\n onClick: ($event: any) => (option.isSelected = !option.isSelected)\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(_component_font_awesome_icon, {\n class: \"mb-2\",\n icon: option.icon,\n size: \"2x\"\n }, null, 8, [\"icon\"]),\n _createElementVNode(\"b\", _hoisted_7, _toDisplayString(option.label), 1),\n _createVNode(_component_Checkbox, {\n modelValue: option.isSelected,\n \"onUpdate:modelValue\": ($event: any) => ((option.isSelected) = $event),\n binary: true,\n class: \"mt-auto\",\n onClick: _cache[0] || (_cache[0] = _withModifiers(() => {}, [\"stop\"]))\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\"])\n ])\n ]),\n _: 2\n }, 1032, [\"class\", \"onClick\"]))\n }), 128))\n ])\n ]),\n _: 1\n }),\n _createVNode(_component_ProductConfigurationStep, { id: \"step-walletAmount\" }, {\n header: _withCtx(() => [\n _createElementVNode(\"span\", _hoisted_8, _toDisplayString(_ctx.$t(\"product.lblChooseWalletAmount\")), 1)\n ]),\n default: _withCtx(() => [\n _createVNode(_component_Card, null, {\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createVNode(_component_Slider, {\n modelValue: _ctx.price,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => ((_ctx.price) = $event)),\n disabled: _ctx.isBusy,\n max: _ctx.maxPrice,\n min: _ctx.minPrice,\n step: _ctx.minPrice,\n onChange: _ctx.onPriceChange\n }, null, 8, [\"modelValue\", \"disabled\", \"max\", \"min\", \"step\", \"onChange\"]),\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"small\", null, _toDisplayString(_ctx.formatCurrency(_ctx.minPrice)), 1),\n _createElementVNode(\"b\", null, _toDisplayString(_ctx.formatCurrency(_ctx.currentPrice)), 1),\n _createElementVNode(\"small\", null, _toDisplayString(_ctx.formatCurrency(_ctx.maxPrice)), 1)\n ])\n ])\n ])\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]),\n _: 1\n })\n ]),\n default: _withCtx(() => [\n _hoisted_12,\n _createElementVNode(\"div\", _hoisted_13, [\n _createVNode(_component_Button, {\n class: \"p-button-success p-button-lg p-button-raised p-button-arrow w-100 px-1 mb-1\",\n disabled: _ctx.isBusy || (_ctx.submitted && !_ctx.validateProductConfiguration()),\n label: _ctx.$t(`common.addToCart`),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.addToCart()))\n }, null, 8, [\"disabled\", \"label\"]),\n _createElementVNode(\"p\", null, _toDisplayString(_ctx.$t(\"product.walletDepositDisclaimer\")), 1)\n ])\n ]),\n _: 3\n }),\n (_ctx.cartStore.showProductAddedModal)\n ? (_openBlock(), _createBlock(_component_ProductAddedModal, {\n key: 0,\n vm: _ctx.productAddedVm\n }, null, 8, [\"vm\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<ProductLayoutSimple>\r\n\t\t<template #header>\r\n\t\t\t<slot name=\"breadcrumbs\" />\r\n\t\t\t<div class=\"py-3\">\r\n\t\t\t\t<h1 v-if=\"vm.introTitle\">{{ vm.introTitle }}</h1>\r\n\t\t\t\t<p class=\"lead\">{{ vm.intro }}</p>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t\t<template #configuration>\r\n\t\t\t<ProductConfiguration class=\"mb-3\">\r\n\t\t\t\t<ProductConfigurationStep id=\"step-walletType\">\r\n\t\t\t\t\t<template #error>\r\n\t\t\t\t\t\t<Message\r\n\t\t\t\t\t\t\tv-if=\"\r\n\t\t\t\t\t\t\t\t!walletProductValidation.get(WalletProductValidationEnum.AtleastOneTypeSelected) &&\r\n\t\t\t\t\t\t\t\tsubmitted\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t:id=\"`validation-msg-${WalletProductValidationEnum.AtleastOneTypeSelected}`\"\r\n\t\t\t\t\t\t\t:closable=\"false\"\r\n\t\t\t\t\t\t\tseverity=\"error\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{{ $t(\"product.message.atleastOneWalletType\") }}\r\n\t\t\t\t\t\t</Message>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t<span class=\"\"> {{ $t(\"product.lblChooseWalletType\") }}</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<div class=\"row\">\r\n\t\t\t\t\t\t<Card\r\n\t\t\t\t\t\t\tv-for=\"(option, index) in depositTypeOptions\"\r\n\t\t\t\t\t\t\t:key=\"`walletDepositType_${index}`\"\r\n\t\t\t\t\t\t\tclass=\"col product-configuration-option-card\"\r\n\t\t\t\t\t\t\t:class=\"{ 'p-highlight': option.isSelected, 'p-disabled': isOptionDisabled(option) }\"\r\n\t\t\t\t\t\t\t@click=\"option.isSelected = !option.isSelected\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t\t<div class=\"d-flex flex-column align-items-center\">\r\n\t\t\t\t\t\t\t\t\t<font-awesome-icon class=\"mb-2\" :icon=\"option.icon\" size=\"2x\" />\r\n\t\t\t\t\t\t\t\t\t<b class=\"mb-2 text-center\"> {{ option.label }} </b>\r\n\t\t\t\t\t\t\t\t\t<Checkbox\r\n\t\t\t\t\t\t\t\t\t\tv-model=\"option.isSelected\"\r\n\t\t\t\t\t\t\t\t\t\t:binary=\"true\"\r\n\t\t\t\t\t\t\t\t\t\tclass=\"mt-auto\"\r\n\t\t\t\t\t\t\t\t\t\t@click.stop\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t</Card>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</ProductConfigurationStep>\r\n\t\t\t\t<ProductConfigurationStep id=\"step-walletAmount\">\r\n\t\t\t\t\t<template #header>\r\n\t\t\t\t\t\t<span class=\"\"> {{ $t(\"product.lblChooseWalletAmount\") }}</span>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t\t<Card>\r\n\t\t\t\t\t\t<template #content>\r\n\t\t\t\t\t\t\t<div class=\"d-flex flex-wrap align-items-center\">\r\n\t\t\t\t\t\t\t\t<div class=\"slider-wrapper flex-1\">\r\n\t\t\t\t\t\t\t\t\t<Slider\r\n\t\t\t\t\t\t\t\t\t\tv-model=\"price\"\r\n\t\t\t\t\t\t\t\t\t\t:disabled=\"isBusy\"\r\n\t\t\t\t\t\t\t\t\t\t:max=\"maxPrice\"\r\n\t\t\t\t\t\t\t\t\t\t:min=\"minPrice\"\r\n\t\t\t\t\t\t\t\t\t\t:step=\"minPrice\"\r\n\t\t\t\t\t\t\t\t\t\t@change=\"onPriceChange\"\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t<div class=\"slider-annotation\">\r\n\t\t\t\t\t\t\t\t\t\t<small>{{ formatCurrency(minPrice) }}</small>\r\n\t\t\t\t\t\t\t\t\t\t<b>{{ formatCurrency(currentPrice) }}</b>\r\n\t\t\t\t\t\t\t\t\t\t<small>{{ formatCurrency(maxPrice) }}</small>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</Card>\r\n\t\t\t\t</ProductConfigurationStep>\r\n\t\t\t</ProductConfiguration>\r\n\t\t</template>\r\n\t\t<hr />\r\n\t\t<div class=\"w-75 mx-auto\">\r\n\t\t\t<Button\r\n\t\t\t\tclass=\"p-button-success p-button-lg p-button-raised p-button-arrow w-100 px-1 mb-1\"\r\n\t\t\t\t:disabled=\"isBusy || (submitted && !validateProductConfiguration())\"\r\n\t\t\t\t:label=\"$t(`common.addToCart`)\"\r\n\t\t\t\t@click=\"addToCart()\"\r\n\t\t\t/>\r\n\t\t\t<p>\r\n\t\t\t\t{{ $t(\"product.walletDepositDisclaimer\") }}\r\n\t\t\t</p>\r\n\t\t</div>\r\n\t</ProductLayoutSimple>\r\n\t<ProductAddedModal v-if=\"cartStore.showProductAddedModal\" :vm=\"productAddedVm\" />\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Checkbox from \"primevue/checkbox\";\r\nimport ProductAddedModal from \"@/components/commerce/productAddedModal.vue\";\r\nimport ProductConfiguration from \"@/components/product/productConfiguration.vue\";\r\nimport ProductConfigurationOption from \"@/components/product/productConfigurationOption.vue\";\r\nimport ProductConfigurationStep from \"@/components/product/productConfigurationStep.vue\";\r\nimport ProductLayoutSimple from \"@/views/layout/productLayoutSimple.vue\";\r\nimport Slider from \"primevue/slider\";\r\nimport { BaseProductItemViewModel } from \"@/types/models/common/baseProductItemViewModel\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { IProductAddedModal } from \"@/types/viewModels/commerce/productAddedModalViewModel\";\r\nimport { ISelectItem } from \"@/types/models/common/selectItem.interface\";\r\nimport { IWalletProduct } from \"@/types/viewModels/commerce/walletProductViewModel\";\r\nimport { ItemProductType } from \"@/types/enum/itemProductType\";\r\nimport { PropType } from \"vue\";\r\nimport { WalletDepositType } from \"@/types/enum/walletDepositType\";\r\nimport { WalletProductValidation } from \"@/types/enum/walletProductValidation\";\r\nimport { useCartStore } from \"@/store/commerce/cartStore\";\r\nimport { values } from \"lodash\";\r\nimport { WalletProductAddToCartRequest } from \"@/types/models/wallet/walletProductAddToCartRequest\";\r\nimport { WalletProductAddToCartResponse } from \"@/types/models/wallet/walletProductAddToCartResponse\";\r\nimport toFixed from \"accounting-js/lib/toFixed.js\";\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tCheckbox,\r\n\t\tProductAddedModal,\r\n\t\tProductConfiguration,\r\n\t\tProductConfigurationOption,\r\n\t\tProductConfigurationStep,\r\n\t\tProductLayoutSimple,\r\n\t\tSlider,\r\n\t},\r\n})\r\nexport default class WalletProduct extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IWalletProduct>, required: true, default: {} }) vm!: IWalletProduct;\r\n\r\n\tquantity = 0;\r\n\tprice = 0;\r\n\tsubmitted = false;\r\n\tdepositTypeOptions: ISelectItem[] = [];\r\n\twalletProductValidation: Map<WalletProductValidation, boolean> = new Map<WalletProductValidation, boolean>();\r\n\r\n\tcartStore = useCartStore();\r\n\r\n\tcreated(): void {\r\n\t\tthis.quantity = this.vm.amount || this.vm.walletVariation?.minQuantity;\r\n\t\tthis.price = this.currentPrice;\r\n\t\tthis.depositTypeOptions = values(WalletDepositType)\r\n\t\t\t.filter(Number.isFinite)\r\n\t\t\t.map((x) => ({\r\n\t\t\t\tvalue: x,\r\n\t\t\t\tlabel: this.$t(`enum.walletDepositType.${x}`),\r\n\t\t\t\tisSelected: this.vm.walletDepositTypes?.includes(x as WalletDepositType),\r\n\t\t\t\ticon: this.getIconForDepositType(x as WalletDepositType),\r\n\t\t\t}));\r\n\t\t//Move the unknown option to the end of the array\r\n\t\tconst unknownOption = this.depositTypeOptions.shift();\r\n\t\tthis.depositTypeOptions.push(unknownOption as ISelectItem);\r\n\r\n\t\tthis.setDataLayer.viewItem(\r\n\t\t\ttoFixed(this.currentPrice, 2),\r\n\t\t\t[this.vm.walletVariation],\r\n\t\t\tthis.quantity.toString(),\r\n\t\t\tthis.vm.walletProduct.brand,\r\n\t\t\tthis.vm.walletProduct.name\r\n\t\t);\r\n\t}\r\n\r\n\tget minPrice(): number {\r\n\t\treturn (this.vm.walletVariation?.price || 0) * this.vm.walletVariation?.minQuantity;\r\n\t}\r\n\r\n\tget currentPrice(): number {\r\n\t\treturn (this.vm.walletVariation?.price || 0) * this.quantity;\r\n\t}\r\n\r\n\tget maxPrice(): number {\r\n\t\treturn (this.vm.walletVariation?.price || 0) * this.vm.walletVariation?.maxQuantity;\r\n\t}\r\n\r\n\tget selectedDepositTypes(): WalletDepositType[] {\r\n\t\treturn this.depositTypeOptions.filter((x) => x.isSelected).map((x) => x.value as WalletDepositType);\r\n\t}\r\n\r\n\tget WalletProductValidationEnum(): typeof WalletProductValidation {\r\n\t\treturn WalletProductValidation;\r\n\t}\r\n\r\n\tget productAddedVm(): IProductAddedModal {\r\n\t\treturn {\r\n\t\t\tproduct: {\r\n\t\t\t\t...this.vm.walletProduct,\r\n\t\t\t\tproductType: ItemProductType.Other,\r\n\t\t\t} as unknown as BaseProductItemViewModel,\r\n\t\t\tcrossSellProducts: [],\r\n\t\t};\r\n\t}\r\n\r\n\tget validationErrors(): boolean[] {\r\n\t\treturn [...this.walletProductValidation.values()].filter((x) => !x);\r\n\t}\r\n\r\n\tgetIconForDepositType(value: WalletDepositType): string[] {\r\n\t\tswitch (value) {\r\n\t\t\tcase WalletDepositType.Unknown:\r\n\t\t\t\treturn [\"far\", \"question\"];\r\n\t\t\tcase WalletDepositType.Expert:\r\n\t\t\t\treturn [\"far\", \"suitcase\"];\r\n\t\t\tcase WalletDepositType.Support:\r\n\t\t\t\treturn [\"far\", \"life-ring\"];\r\n\t\t\tcase WalletDepositType.Training:\r\n\t\t\t\treturn [\"far\", \"computer-mouse\"];\r\n\t\t\tcase WalletDepositType.Software:\r\n\t\t\t\treturn [\"far\", \"hard-drive\"];\r\n\t\t}\r\n\t}\r\n\r\n\tisOptionDisabled(option: ISelectItem): boolean {\r\n\t\treturn option.value === WalletDepositType.Unknown\r\n\t\t\t? this.selectedDepositTypes.length > 0 &&\r\n\t\t\t\t\t!this.selectedDepositTypes.includes(WalletDepositType.Unknown)\r\n\t\t\t: this.selectedDepositTypes.includes(WalletDepositType.Unknown);\r\n\t}\r\n\r\n\tonPriceChange(value: number) {\r\n\t\tconst validValue = value > this.maxPrice ? this.maxPrice : value < this.minPrice ? this.minPrice : value;\r\n\t\tthis.quantity = validValue / this.minPrice;\r\n\t}\r\n\r\n\taddToCart(): void {\r\n\t\tthis.submitted = true;\r\n\t\tif (!this.validateProductConfiguration()) {\r\n\t\t\tsetTimeout(() => this.scrollToFirstValidationError(), 50);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\r\n\t\tconst model: WalletProductAddToCartRequest = {\r\n\t\t\tchosenTypes: this.selectedDepositTypes,\r\n\t\t\tlineItemId: this.vm.lineItemId,\r\n\t\t\tquantity: this.quantity,\r\n\t\t};\r\n\r\n\t\tthis.axios\r\n\t\t\t.post<WalletProductAddToCartResponse>(\r\n\t\t\t\t`/api/${this.layoutStore.vm.localizationPrefix}/cart/add-or-update-wallet-deposit`,\r\n\t\t\t\tmodel\r\n\t\t\t)\r\n\t\t\t.then((res) => {\r\n\t\t\t\tconst response: WalletProductAddToCartResponse = res.data;\r\n\t\t\t\tif (response.addedToCart) {\r\n\t\t\t\t\tthis.cartStore.showModal(\"ProductAdded\");\r\n\t\t\t\t} else if (response.cartUpdated) {\r\n\t\t\t\t\tthis.loadingStore.increaseLoadingCount();\r\n\t\t\t\t\tthis.openUrl(this.layoutStore.vm.cartPageUrl);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\t\tdetail: this.$t(\"common.messages.addToCartError\"),\r\n\t\t\t\t\t\tlife: 3000,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.setDataLayer.addToCart(\r\n\t\t\t\t\ttoFixed(this.currentPrice, 2),\r\n\t\t\t\t\t[this.vm.walletVariation],\r\n\t\t\t\t\tthis.quantity.toString(),\r\n\t\t\t\t\tthis.vm.walletProduct.brand,\r\n\t\t\t\t\tthis.vm.walletProduct.name\r\n\t\t\t\t);\r\n\t\t\t})\r\n\t\t\t.catch(() =>\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"common.messages.addToCartError\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t\t.finally(() => this.loadingStore.decreaseLoadingCount());\r\n\t}\r\n\r\n\tprivate validateProductConfiguration(): boolean {\r\n\t\tthis.walletProductValidation.set(\r\n\t\t\tWalletProductValidation.AtleastOneTypeSelected,\r\n\t\t\tthis.selectedDepositTypes?.length > 0\r\n\t\t);\r\n\t\treturn this.validationErrors.length === 0;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.input-wallet {\r\n\twidth: clamp(100px, 15%, 175px);\r\n}\r\n\r\n.slider-annotation {\r\n\tdisplay: flex;\r\n\tjustify-content: space-between;\r\n\talign-items: center;\r\n}\r\n\r\n@media only screen and (max-width: 600px) {\r\n\t.slider-annotation {\r\n\t\tflex-wrap: wrap;\r\n\r\n\t\t:nth-child(1) {\r\n\t\t\torder: 1;\r\n\t\t}\r\n\r\n\t\t:nth-child(2) {\r\n\t\t\torder: 3;\r\n\t\t\twidth: 100%;\r\n\t\t\ttext-align: center;\r\n\t\t}\r\n\r\n\t\t:nth-child(3) {\r\n\t\t\torder: 2;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n::v-deep(.product-configuration-option-card) {\r\n\tmargin: 0.5rem;\r\n\tborder: 1px solid var(--surface-b);\r\n\tcursor: pointer;\r\n\r\n\t&.p-highlight {\r\n\t\tborder: 1px solid var(--primary-color);\r\n\t}\r\n\r\n\t&:hover:not(.p-highlight) {\r\n\t\tborder: 1px solid var(--surface-d);\r\n\t}\r\n\r\n\t.p-card-body,\r\n\t.p-card-content {\r\n\t\theight: 100%;\r\n\t}\r\n\r\n\t.p-card-content {\r\n\t\tdisplay: flex;\r\n\t\tflex-direction: column;\r\n\t\talign-items: center;\r\n\r\n\t\t> div {\r\n\t\t\theight: 100%;\r\n\t\t}\r\n\t}\r\n}\r\n</style>\r\n","import { renderSlot as _renderSlot, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-096f3bd6\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"container-fluid container-lg pb-5\" }\nconst _hoisted_2 = { class: \"row\" }\nconst _hoisted_3 = { class: \"col-10 col-xxl-8 mx-auto px-0\" }\nconst _hoisted_4 = { class: \"product-configuration-card p-1 p-lg-2 p-xl-3\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (_ctx.$slots.header)\n ? _renderSlot(_ctx.$slots, \"header\", { key: 0 }, undefined, true)\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_4, [\n (_ctx.$slots.configuration)\n ? _renderSlot(_ctx.$slots, \"configuration\", { key: 0 }, undefined, true)\n : _createCommentVNode(\"\", true),\n _renderSlot(_ctx.$slots, \"default\", {}, undefined, true)\n ])\n ])\n ])\n ]))\n}","<template>\r\n\t<div class=\"container-fluid container-lg pb-5\">\r\n\t\t<div class=\"row\">\r\n\t\t\t<div class=\"col-10 col-xxl-8 mx-auto px-0\">\r\n\t\t\t\t<slot v-if=\"$slots.header\" name=\"header\" />\r\n\t\t\t\t<div class=\"product-configuration-card p-1 p-lg-2 p-xl-3\">\r\n\t\t\t\t\t<slot v-if=\"$slots.configuration\" name=\"configuration\" />\r\n\t\t\t\t\t<!-- Default content goes here-->\r\n\t\t\t\t\t<slot />\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport { Component } from \"vue-facing-decorator\";\r\n\r\n@Component({})\r\nexport default class ProductLayoutSimple extends BaseComponent {}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.product-configuration-card {\r\n\tbackground: var(--surface-b);\r\n\tborder-radius: var(--border-radius);\r\n\tbox-shadow:\r\n\t\t0px 2px 1px -1px rgb(0 0 0 / 20%),\r\n\t\t0px 1px 1px 0px rgb(0 0 0 / 14%),\r\n\t\t0px 1px 3px 0px rgb(0 0 0 / 12%);\r\n}\r\n</style>\r\n","import { render } from \"./productLayoutSimple.vue?vue&type=template&id=096f3bd6&scoped=true&ts=true\"\nimport script from \"./productLayoutSimple.vue?vue&type=script&lang=ts\"\nexport * from \"./productLayoutSimple.vue?vue&type=script&lang=ts\"\n\nimport \"./productLayoutSimple.vue?vue&type=style&index=0&id=096f3bd6&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-096f3bd6\"]])\n\nexport default __exports__","export enum WalletDepositType {\r\n\tUnknown,\r\n\tExpert,\r\n\tSupport,\r\n\tTraining,\r\n\tSoftware,\r\n}\r\n","export enum WalletProductValidation {\r\n\tAtleastOneTypeSelected,\r\n}\r\n","import { render } from \"./walletProduct.vue?vue&type=template&id=451948a4&scoped=true&ts=true\"\nimport script from \"./walletProduct.vue?vue&type=script&lang=ts\"\nexport * from \"./walletProduct.vue?vue&type=script&lang=ts\"\n\nimport \"./walletProduct.vue?vue&type=style&index=0&id=451948a4&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-451948a4\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createVNode as _createVNode, createCommentVNode as _createCommentVNode, resolveDirective as _resolveDirective, withDirectives as _withDirectives, withCtx as _withCtx, createBlock as _createBlock, createTextVNode as _createTextVNode, vShow as _vShow } from \"vue\"\n\nconst _hoisted_1 = {\n key: 0,\n class: \"microservice-modules\"\n}\nconst _hoisted_2 = { class: \"mb-0\" }\nconst _hoisted_3 = { class: \"microservice-module-description\" }\nconst _hoisted_4 = [\"innerHTML\"]\nconst _hoisted_5 = { class: \"microservice-module-price\" }\nconst _hoisted_6 = { class: \"microservice-module-toggle\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"d-flex mb-1\"\n}\nconst _hoisted_8 = { class: \"mr-1\" }\nconst _hoisted_9 = { class: \"microservice-duration\" }\nconst _hoisted_10 = [\"innerHTML\"]\nconst _hoisted_11 = { class: \"\" }\nconst _hoisted_12 = { class: \"row\" }\nconst _hoisted_13 = { key: 0 }\nconst _hoisted_14 = { class: \"mb-1\" }\nconst _hoisted_15 = {\n key: 1,\n class: \"text-muted d-flex\"\n}\nconst _hoisted_16 = { class: \"price-label\" }\nconst _hoisted_17 = { class: \"flex-shrink-0\" }\nconst _hoisted_18 = /*#__PURE__*/_createElementVNode(\"hr\", { class: \"my-1\" }, null, -1)\nconst _hoisted_19 = { class: \"text-muted lead text-right\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_InputSwitch = _resolveComponent(\"InputSwitch\")!\n const _component_ProductPageContentSection = _resolveComponent(\"ProductPageContentSection\")!\n const _component_ProductOverviewItemCard = _resolveComponent(\"ProductOverviewItemCard\")!\n const _component_PriceSummary = _resolveComponent(\"PriceSummary\")!\n const _component_Message = _resolveComponent(\"Message\")!\n const _component_WalletMessage = _resolveComponent(\"WalletMessage\")!\n const _component_ProductPageSummary = _resolveComponent(\"ProductPageSummary\")!\n const _component_ProductLayout = _resolveComponent(\"ProductLayout\")!\n const _component_ProductAddedModal = _resolveComponent(\"ProductAddedModal\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createVNode(_component_ProductLayout, { vm: _ctx.vm }, {\n summary: _withCtx(() => [\n _createVNode(_component_ProductPageSummary, {\n \"can-submit\": !_ctx.submitted && _ctx.linesTotal() !== 0,\n \"is-product-available\": _ctx.vm.viewModelIsValid,\n \"total-price\": _ctx.priceSummary?.totalPrice,\n onAddToCart: _cache[0] || (_cache[0] = ($event: any) => (_ctx.addMicroServiceProductToCart())),\n class: \"product-summary\"\n }, {\n priceSummary: _withCtx(() => [\n (_ctx.isMicroService())\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_13, _toDisplayString(_ctx.$t('enum.itemProductType.' + _ctx.vm.productType)), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"h5\", _hoisted_14, _toDisplayString(_ctx.vm.title), 1),\n (!_ctx.isMicroService())\n ? (_openBlock(), _createElementBlock(\"p\", _hoisted_15, [\n _createElementVNode(\"span\", _hoisted_16, _toDisplayString(_ctx.linesTotal()) + \" x \" + _toDisplayString(_ctx.linesTotal() > 1 ? _ctx.$t(\"microservice.summary.modules\") : _ctx.$t(\"microservice.summary.module\")), 1),\n _createElementVNode(\"span\", _hoisted_17, _toDisplayString(_ctx.formatCurrency(_ctx.priceSummary.totalPrice)), 1)\n ]))\n : _createCommentVNode(\"\", true),\n _hoisted_18,\n _createVNode(_component_PriceSummary, { vm: _ctx.priceSummary }, null, 8, [\"vm\"]),\n _createElementVNode(\"p\", _hoisted_19, _toDisplayString(_ctx.$t(\"common.productSummary.allPricesExclVat\")), 1)\n ]),\n validationMessage: _withCtx(() => [\n (_ctx.linesTotal() === 0)\n ? (_openBlock(), _createBlock(_component_Message, {\n key: 0,\n id: _ctx.validation - _ctx.msg - _ctx.micro - _ctx.service - _ctx.product - _ctx.atleast - _ctx.one - _ctx.sum,\n closable: false,\n severity: \"error\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(_toDisplayString(_ctx.$t(\"common.message.error.atLeastOne\")), 1)\n ]),\n _: 1\n }, 8, [\"id\"]))\n : _createCommentVNode(\"\", true)\n ]),\n walletMessage: _withCtx(() => [\n _withDirectives(_createVNode(_component_WalletMessage, {\n \"wallet-amount\": _ctx.calculateWalletAmount()\n }, null, 8, [\"wallet-amount\"]), [\n [_vShow, !_ctx.isSmallScreen && _ctx.vm?.canUseWallet && parseInt(_ctx.calculateWalletAmount()) !== 0]\n ])\n ]),\n _: 1\n }, 8, [\"can-submit\", \"is-product-available\", \"total-price\"])\n ]),\n default: _withCtx(() => [\n (_ctx.selectableModules.length > 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"h2\", _hoisted_2, _toDisplayString(_ctx.$t(\"microservice.modules.title\")), 1),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.selectableModules, (item) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: item.id,\n class: \"microservice-module\"\n }, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"strong\", null, _toDisplayString(item.title), 1),\n _createElementVNode(\"p\", null, [\n _createElementVNode(\"em\", null, _toDisplayString(_ctx.$tc(\"microservice.modules.variation.duration\", item.durationInMinutes)), 1)\n ]),\n _createElementVNode(\"div\", {\n class: \"microservice-module-description-content\",\n innerHTML: item.description\n }, null, 8, _hoisted_4)\n ]),\n _createElementVNode(\"div\", _hoisted_5, _toDisplayString(_ctx.formatCurrency(item.basePrice)), 1),\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(_component_InputSwitch, {\n modelValue: item.checked,\n \"onUpdate:modelValue\": ($event: any) => ((item.checked) = $event),\n onChange: ($event: any) => (_ctx.onToggleSelectionClicked(item))\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"onChange\"])\n ])\n ]))\n }), 128))\n ]))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_ProductPageContentSection, { type: \"media\" }, {\n default: _withCtx(() => [\n (_ctx.isMicroService() && _ctx.selectableModules?.[0]?.durationInMinutes)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _withDirectives(_createElementVNode(\"img\", _hoisted_8, null, 512), [\n [_directive_lazy, '/Static/images/icons/clock.svg']\n ]),\n _createElementVNode(\"div\", _hoisted_9, _toDisplayString(_ctx.selectableModules?.[0]?.durationInMinutes) + \" minuten\", 1)\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", {\n class: \"content\",\n innerHTML: _ctx.vm.description\n }, null, 8, _hoisted_10)\n ]),\n _: 1\n }),\n (_ctx.vm.relatedUpSellProducts?.length)\n ? (_openBlock(), _createBlock(_component_ProductPageContentSection, {\n key: 1,\n type: \"upsell\",\n class: \"upsell-block\"\n }, {\n default: _withCtx(() => [\n _createElementVNode(\"h3\", _hoisted_11, _toDisplayString(_ctx.$t(\"product.titleUpSell\")), 1),\n _createElementVNode(\"div\", _hoisted_12, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.vm.relatedUpSellProducts, (product) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: product,\n class: \"col-md-6 mb-2\"\n }, [\n _createVNode(_component_ProductOverviewItemCard, {\n item: product,\n layout: \"grid\"\n }, null, 8, [\"item\"])\n ]))\n }), 128))\n ])\n ]),\n _: 1\n }))\n : _createCommentVNode(\"\", true)\n ]),\n _: 1\n }, 8, [\"vm\"]),\n (_ctx.cartStore.showProductAddedModal)\n ? (_openBlock(), _createBlock(_component_ProductAddedModal, {\n key: 0,\n vm: _ctx.productAddedVm\n }, null, 8, [\"vm\"]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<ProductLayout :vm=\"vm\">\r\n\t\t<div v-if=\"selectableModules.length > 1\" class=\"microservice-modules\">\r\n\t\t\t<h2 class=\"mb-0\">{{ $t(\"microservice.modules.title\") }}</h2>\r\n\t\t\t<template v-for=\"item in selectableModules\" :key=\"item.id\">\r\n\t\t\t\t<div class=\"microservice-module\">\r\n\t\t\t\t\t<div class=\"microservice-module-description\">\r\n\t\t\t\t\t\t<strong>{{item.title}}</strong>\r\n\t\t\t\t\t\t<p><em>{{ $tc(\"microservice.modules.variation.duration\", item.durationInMinutes) }}</em></p>\r\n\t\t\t\t\t\t<div class=\"microservice-module-description-content\" v-html=\"item.description\"></div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"microservice-module-price\">\r\n\t\t\t\t\t\t{{ formatCurrency(item.basePrice) }}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"microservice-module-toggle\">\r\n\t\t\t\t\t\t<InputSwitch v-model=\"item.checked\" @change=\"onToggleSelectionClicked(item)\" />\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</template>\r\n\t\t</div>\r\n\r\n\t\t<ProductPageContentSection type=\"media\">\r\n\t\t\t<div class=\"d-flex mb-1\" v-if=\"isMicroService() && selectableModules?.[0]?.durationInMinutes\">\r\n\t\t\t\t<img v-lazy=\"'/Static/images/icons/clock.svg'\" class=\"mr-1\" />\r\n\t\t\t\t<div class=\"microservice-duration\">{{selectableModules?.[0]?.durationInMinutes}} minuten</div>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"content\" v-html=\"vm.description\"></div>\r\n\t\t</ProductPageContentSection>\r\n\r\n\t\t<ProductPageContentSection v-if=\"vm.relatedUpSellProducts?.length\" type=\"upsell\" class=\"upsell-block\">\r\n\t\t\t<h3 class=\"\">{{ $t(\"product.titleUpSell\") }}</h3>\r\n\t\t\t<div class=\"row\">\r\n\t\t\t\t<div v-for=\"product in vm.relatedUpSellProducts\" :key=\"product\" class=\"col-md-6 mb-2\">\r\n\t\t\t\t\t<ProductOverviewItemCard :item=\"product\" layout=\"grid\" />\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</ProductPageContentSection>\r\n\r\n\t\t<template #summary>\r\n\t\t\t<ProductPageSummary :can-submit=\"!submitted && linesTotal() !== 0\"\r\n\t\t\t\t\t\t\t\t:is-product-available=\"vm.viewModelIsValid\"\r\n\t\t\t\t\t\t\t\t:total-price=\"priceSummary?.totalPrice\"\r\n\t\t\t\t\t\t\t\t@addToCart=\"addMicroServiceProductToCart()\"\r\n\t\t\t\t\t\t\t\tclass=\"product-summary\">\r\n\t\t\t\t<template #priceSummary>\r\n\t\t\t\t\t<p v-if=\"isMicroService()\">{{ $t('enum.itemProductType.' + vm.productType) }}</p>\r\n\t\t\t\t\t<h5 class=\"mb-1\">\r\n\t\t\t\t\t\t{{ vm.title }}\r\n\t\t\t\t\t</h5>\r\n\t\t\t\t\t<p v-if=\"!isMicroService()\" class=\"text-muted d-flex\">\r\n\t\t\t\t\t\t<span class=\"price-label\">\r\n\t\t\t\t\t\t\t{{ linesTotal() }} x {{ linesTotal() > 1 ? $t(\"microservice.summary.modules\") : $t(\"microservice.summary.module\") }}\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t\t<span class=\"flex-shrink-0\">\r\n\t\t\t\t\t\t\t{{ formatCurrency(priceSummary.totalPrice) }}\r\n\t\t\t\t\t\t</span>\r\n\t\t\t\t\t</p>\r\n\t\t\t\t\t<hr class=\"my-1\" />\r\n\t\t\t\t\t<PriceSummary :vm=\"priceSummary\" />\r\n\t\t\t\t\t<p class=\"text-muted lead text-right\">{{ $t(\"common.productSummary.allPricesExclVat\") }}</p>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template #validationMessage>\r\n\t\t\t\t\t<Message v-if=\"linesTotal() === 0\"\r\n\t\t\t\t\t\t\t :id=\"validation - msg - micro - service - product - atleast - one - sum\"\r\n\t\t\t\t\t\t\t :closable=\"false\"\r\n\t\t\t\t\t\t\t severity=\"error\">\r\n\t\t\t\t\t\t{{ $t(\"common.message.error.atLeastOne\") }}\r\n\t\t\t\t\t</Message>\r\n\t\t\t\t</template>\r\n\t\t\t\t<template #walletMessage>\r\n\t\t\t\t\t<WalletMessage v-show=\"!isSmallScreen && vm?.canUseWallet && parseInt(calculateWalletAmount()) !== 0\"\r\n\t\t\t\t\t\t\t\t :wallet-amount=\"calculateWalletAmount()\" />\r\n\t\t\t\t</template>\r\n\t\t\t</ProductPageSummary>\r\n\t\t</template>\r\n\t</ProductLayout>\r\n\t<ProductAddedModal v-if=\"cartStore.showProductAddedModal\" :vm=\"productAddedVm\" />\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport AutoComplete from \"primevue/autocomplete\";\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport PopoverIcon from \"@/components/common/popoverIcon.vue\";\r\nimport PriceSummary from \"@/components/common/priceSummary.vue\";\r\nimport ProductAddedModal from \"@/components/commerce/productAddedModal.vue\";\r\nimport ProductConfiguration from \"@/components/product/productConfiguration.vue\";\r\nimport ProductConfigurationStep from \"@/components/product/productConfigurationStep.vue\";\r\nimport ProductConfigurationSummary from \"@/components/product/productConfigurationSummary.vue\";\r\nimport ProductConfigurationSummaryItem from \"@/components/product/productConfigurationSummaryItem.vue\";\r\nimport ProductLayout from \"../layout/productLayout.vue\";\r\nimport ProductOverviewItemCard from \"@/components/product/productOverviewItemCard.vue\";\r\nimport ProductPageContentSection from \"@/components/product/productPageContentSection.vue\";\r\nimport ProductPageHeader from \"@/components/product/productPageHeader.vue\";\r\nimport ProductPageSummary from \"@/components/product/productPageSummary.vue\";\r\nimport ProgressSpinner from \"primevue/progressspinner\";\r\nimport ScrollPanel from \"primevue/scrollpanel\";\r\nimport toFixed from \"accounting-js/lib/toFixed.js\";\r\nimport { BaseProductItemViewModel } from \"@/types/models/common/baseProductItemViewModel\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { IProductAddedModal } from \"@/types/viewModels/commerce/productAddedModalViewModel\";\r\nimport { ItemProductType } from \"@/types/enum/itemProductType\";\r\nimport { IPriceSummary } from \"@/types/models/common/priceSummary.interface\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport { PropType } from \"vue\";\r\nimport WalletMessage from \"@/components/common/WalletMessage.vue\";\r\nimport { useCartStore } from \"@/store/commerce/cartStore\";\r\nimport { IMircoServiceProduct } from \"@/types/viewModels/commerce/microServiceProductViewModel\";\r\nimport { IMircoServiceProductVariation } from \"@/types/viewModels/commerce/microServiceProductVariationViewModel\";\r\nimport SupportCard from \"@/components/commerce/supportCard.vue\";\r\nimport LinkButton from \"@/components/common/linkButton.vue\";\r\nimport { ProductCategoryType } from \"@/types/enum/productCategoryType\";\r\n\r\ninterface SelectedModule extends IMircoServiceProductVariation {\r\n\tchecked: boolean;\r\n}\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tLinkButton,\r\n\t\tAutoComplete,\r\n\t\tPopoverIcon,\r\n\t\tPriceSummary,\r\n\t\tProductAddedModal,\r\n\t\tProductConfiguration,\r\n\t\tProductConfigurationStep,\r\n\t\tProductConfigurationSummary,\r\n\t\tProductConfigurationSummaryItem,\r\n\t\tProductLayout,\r\n\t\tProductOverviewItemCard,\r\n\t\tProductPageContentSection,\r\n\t\tProductPageHeader,\r\n\t\tProductPageSummary,\r\n\t\tProgressSpinner,\r\n\t\tScrollPanel,\r\n\t\tSupportCard,\r\n\t\tWalletMessage,\r\n\t},\r\n})\r\nexport default class MicroServiceProduct extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IMircoServiceProduct>, required: true, default: {} })\r\n\tvm!: IMircoServiceProduct;\r\n\r\n\tselectableModules: SelectedModule[] = [];\r\n\r\n\tsubmitted = false;\r\n\tcartStore = useCartStore();\r\n\r\n\tpriceSummary!: IPriceSummary;\r\n\r\n\tisMicroService() {\r\n return this.vm.productType === ItemProductType.Service;\r\n }\r\n\r\n\tcreated(): void {\r\n\t\tLog.info(\"ServiceProduct\", this.vm);\r\n\t\tif (!this.vm.viewModelIsValid) {\r\n\t\t\tLog.error(new Error(this.vm.viewModelErrors?.join(\", \")));\r\n\t\t}\r\n\r\n\t\t// @NOTE check and select first\r\n\t\t// pre-select all modules\r\n\t\t//if (this.vm?.modules?.length === 1) {\r\n\t\tif (this.vm?.modules?.length) {\r\n\t\t\tthis.selectableModules.push({ checked: true, ...this.vm.modules[0] });\r\n\t\t}\r\n\t\t//} else {\r\n\t\t//\tthis.vm.modules.forEach((item: IMircoServiceProductVariation) => {\r\n\t\t//\t\tthis.vm.preSelectedSkus.length\r\n\t\t//\t\t\t? this.selectableModules.push({ checked: this.isPreSelectedModule(item.sku), ...item })\r\n\t\t//\t\t\t: this.selectableModules.push({ checked: false, ...item });\r\n\t\t//\t});\r\n\t\t//}\r\n\r\n\t\tthis.priceSummary = this.calculatePrice();\r\n\r\n\t\tthis.setDataLayer.viewItem(toFixed(this.priceSummary.totalPrice, 2), [\r\n\t\t\t{\r\n\t\t\t\tid: this.vm.id,\r\n\t\t\t\tname: this.vm.title,\r\n\t\t\t\tbasePrice: this.vm.basePrice,\r\n\t\t\t\tpersonalPrice: this.vm.basePrice,\r\n\t\t\t\tproductCategory: ProductCategoryType.ServiceProduct,\r\n\t\t\t\tbrand: \"cadac\",\r\n\t\t\t\tamount: 1,\r\n\t\t\t},\r\n\t\t]);\r\n\t}\r\n\r\n\tonToggleSelectionClicked(item: any) {\r\n\t\tthis.selectableModules.map((module: SelectedModule) => {\r\n\t\t\tif (module.id === item.sku) {\r\n\t\t\t\tmodule.checked = !module.checked;\r\n\t\t\t}\r\n\r\n\t\t\treturn module;\r\n\t\t});\r\n\r\n\t\tthis.priceSummary = this.calculatePrice();\r\n\t}\r\n\r\n\tisPreSelectedModule(sku: string): boolean {\r\n\t\treturn this.vm.preSelectedSkus.includes(sku);\r\n\t}\r\n\r\n\t// Show cross-sell product in modal\r\n\tget productAddedVm(): IProductAddedModal {\r\n\t\treturn {\r\n\t\t\tproduct: {\r\n\t\t\t\t...this.vm,\r\n\t\t\t\tproductType: ItemProductType.Other,\r\n\t\t\t} as unknown as BaseProductItemViewModel,\r\n crossSellProducts: this.vm.relatedCrossSellProducts,\r\n\t\t};\r\n\t}\r\n\r\n\taddMicroServiceProductToCart(): void {\r\n\t\tthis.submitted = true;\r\n\r\n\t\tconst model = {\r\n\t\t\toldLineItemIds: this.vm.oldLineItemIds,\r\n\t\t\tproductId: this.vm.cadacIdentifier,\r\n\t\t\tselectedModules: this.productsToAdd.map((product) => {\r\n\t\t\t\treturn { Sku: product.sku };\r\n\t\t\t}),\r\n\t\t};\r\n\r\n\t\tthis.loadingStore.increaseLoadingCount();\r\n\r\n\t\tthis.axios\r\n\t\t\t.post(`/api/cart/add-micro-service`, model)\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.cartStore.showModal(\"ProductAdded\");\r\n\t\t\t})\r\n\t\t\t.catch(() =>\r\n\t\t\t\tthis.$toast.add({\r\n\t\t\t\t\tseverity: \"error\",\r\n\t\t\t\t\tsummary: this.$t(\"common.messages.titleError\"),\r\n\t\t\t\t\tdetail: this.$t(\"common.messages.addToCartError\"),\r\n\t\t\t\t\tlife: 3000,\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.setDataLayer.addToCart(toFixed(this.priceSummary.totalPrice, 2), [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tid: this.vm.id,\r\n\t\t\t\t\t\tname: this.vm.title,\r\n\t\t\t\t\t\tbasePrice: this.priceSummary.totalPrice,\r\n\t\t\t\t\t\tpersonalPrice: this.priceSummary.totalPrice,\r\n\t\t\t\t\t\tproductCategory: ProductCategoryType.ServiceProduct,\r\n\t\t\t\t\t\tbrand: \"cadac\",\r\n\t\t\t\t\t\tamount: 1,\r\n\t\t\t\t\t},\r\n\t\t\t\t]);\r\n\r\n\t\t\t\tthis.loadingStore.decreaseLoadingCount();\r\n\t\t\t\tthis.submitted = false;\r\n\t\t\t});\r\n\t}\r\n\r\n\tget totalPrice(): number {\r\n\t\treturn this.productsToAdd.reduce((prev, cur) => {\r\n\t\t\treturn prev + (cur.basePrice || 0);\r\n\t\t}, 0);\r\n\t}\r\n\r\n\tcalculateWalletAmount(): number {\r\n\t\treturn this.productsToAdd.reduce((prev, cur) => {\r\n\t\t\treturn prev + (cur.walletAmount || 0);\r\n\t\t}, 0);\r\n\t}\r\n\r\n\tcalculatePrice(): IPriceSummary {\r\n\t\treturn { totalPrice: this.totalPrice };\r\n\t}\r\n\r\n\tget productsToAdd(): IMircoServiceProductVariation[] {\r\n\t\treturn this.selectableModules.filter((x) => x.checked);\r\n\t}\r\n\r\n\tlinesTotal(): number {\r\n\t\treturn this.productsToAdd.length;\r\n\t}\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n .microservice-modules {\r\n background: #f5f5f5;\r\n padding: 2rem;\r\n margin: 2rem 0 0 0.9375rem;\r\n\r\n @media (min-width: 992px) {\r\n margin: 2rem 0 2rem 0.9375rem;\r\n }\r\n }\r\n\r\n\t.microservice-module {\r\n\t\tpadding: 2rem 0 1rem;\r\n\t\tborder-bottom: 1px solid #eee;\r\n\t\tdisplay: flex;\r\n\t\tflex-flow: row wrap;\r\n\r\n\t\t&:last-child {\r\n\t\t\tborder-bottom: 0;\r\n\t\t\tpadding-bottom: 0;\r\n\t\t}\r\n\t}\r\n\r\n\t.microservice-module div {\r\n\t\t@media (min-width: 556px) {\r\n\t\t\tpadding: 0 1rem 0 0;\r\n\t\t}\r\n\r\n\t\t&:last-child {\r\n\t\t\tpadding: 0;\r\n\t\t}\r\n\t}\r\n\r\n\t.microservice-module-description {\r\n\t\twidth: 100%;\r\n\t\tflex: initial;\r\n\t\torder: 1;\r\n\r\n\t\t@media (min-width: 556px) {\r\n\t\t\tflex: 5;\r\n\t\t\twidth: auto;\r\n\t\t}\r\n\t}\r\n\r\n\t.microservice-module-description-content {\r\n\t\tul {\r\n\t\t\tlist-style: disc;\r\n\t\t\tlist-style-position: inside;\r\n\t\t}\r\n\t}\r\n\r\n\t.microservice-module-line {\r\n\t\tborder: 1px solid #eee;\r\n\t\theight: 0;\r\n\t\twidth: 100%;\r\n\t\tdisplay: block;\r\n\t\tmargin-top: 2rem;\r\n\t\tmargin-bottom: 0;\r\n\t}\r\n\r\n\t.microservice-module-toggle,\r\n\t.microservice-module-price {\r\n\t\tdisplay: flex;\r\n\r\n\t\t@media (min-width: 556px) {\r\n\t\t\tjustify-content: end;\r\n\t\t}\r\n\t}\r\n\r\n\t.microservice-module-toggle {\r\n\t\torder: 2;\r\n\r\n\t\t@media (min-width: 556px) {\r\n\t\t\tflex: 1;\r\n\t\t\torder: 3;\r\n\t\t}\r\n\t}\r\n\r\n\t.microservice-module-price {\r\n\t\tflex: 1;\r\n\t\tfont-size: 1.1rem;\r\n\t\tfont-weight: 400;\r\n\t\torder: 3;\r\n\t\tmargin-left: 1rem;\r\n\r\n\t\t@media (min-width: 556px) {\r\n\t\t\torder: 2;\r\n\t\t\tmargin-left: 0;\r\n\t\t}\r\n\t}\r\n\r\n .microservice-duration {\r\n\t\tline-height: 1rem;\r\n\t\tfont-weight: 450;\r\n }\r\n\r\n .upsell-block {\r\n\t\tpadding: 2rem !important;\r\n }\r\n\r\n .product-summary {\r\n .price-label {\r\n flex: 1;\r\n }\r\n }\r\n</style>\r\n","import { render } from \"./microServiceProduct.vue?vue&type=template&id=602485c1&ts=true\"\nimport script from \"./microServiceProduct.vue?vue&type=script&lang=ts\"\nexport * from \"./microServiceProduct.vue?vue&type=script&lang=ts\"\n\nimport \"./microServiceProduct.vue?vue&type=style&index=0&id=602485c1&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, withCtx as _withCtx, vShow as _vShow, withDirectives as _withDirectives, Fragment as _Fragment, resolveDirective as _resolveDirective, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-3b55eabe\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"container\" }\nconst _hoisted_2 = { class: \"row mt-2 mt-lg-3 mb-1\" }\nconst _hoisted_3 = { class: \"col-md-12\" }\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = { key: 1 }\nconst _hoisted_6 = {\n key: 0,\n class: \"row mb-2 mb-lg-3\"\n}\nconst _hoisted_7 = {\n key: 0,\n class: \"loader d-flex flex-column justify-content-center align-items-center text-center mx-auto form-group col-md-12 col-lg-10 col-xxl-8\"\n}\nconst _hoisted_8 = {\n key: 0,\n class: \"col-12 col-md-12\"\n}\nconst _hoisted_9 = { class: \"d-lg-none d-block\" }\nconst _hoisted_10 = { class: \"mt-1 mb-3 login-text\" }\nconst _hoisted_11 = [\"href\"]\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"icon\" }, null, -1))\nconst _hoisted_13 = { class: \"d-none d-lg-block mt-1 mb-3 login-text\" }\nconst _hoisted_14 = [\"href\"]\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"i\", { class: \"pi pi-chevron-right login-chev\" }, null, -1))\nconst _hoisted_16 = { class: \"col-12 col-lg-7\" }\nconst _hoisted_17 = { class: \"form-row\" }\nconst _hoisted_18 = { class: \"form-group col-md-6 col-xxl-5\" }\nconst _hoisted_19 = { class: \"form-group col-md-6 col-xxl-5\" }\nconst _hoisted_20 = { class: \"form-row\" }\nconst _hoisted_21 = { class: \"form-group col-md-12 col-xxl-10\" }\nconst _hoisted_22 = { class: \"form-row\" }\nconst _hoisted_23 = { class: \"form-group col-md-12 col-xxl-10\" }\nconst _hoisted_24 = { class: \"form-row\" }\nconst _hoisted_25 = { class: \"form-group col-md-12 col-xxl-10\" }\nconst _hoisted_26 = { class: \"d-flex\" }\nconst _hoisted_27 = { class: \"mb-0 mr-1 text-bold\" }\nconst _hoisted_28 = { class: \"mb-0\" }\nconst _hoisted_29 = { class: \"form-row\" }\nconst _hoisted_30 = { class: \"form-group col-md-12 col-xxl-10 d-flex\" }\nconst _hoisted_31 = {\n class: \"ml-1 mb-0\",\n for: \"wantsMoreProducts\"\n}\nconst _hoisted_32 = { class: \"form-row\" }\nconst _hoisted_33 = { class: \"form-group col-md-12 col-xxl-10\" }\nconst _hoisted_34 = { class: \"product-message-note\" }\nconst _hoisted_35 = { class: \"form-row\" }\nconst _hoisted_36 = { class: \"form-group col-md-12 col-xxl-10 d-flex\" }\nconst _hoisted_37 = {\n class: \"ml-1 mb-0\",\n for: \"hasAutodeskCSN\"\n}\nconst _hoisted_38 = { class: \"form-row\" }\nconst _hoisted_39 = { class: \"form-group col-md-12 col-xxl-10\" }\nconst _hoisted_40 = { class: \"form-row\" }\nconst _hoisted_41 = { class: \"form-group col-md-6 col-xxl-5 d-flex justify-content-center\" }\nconst _hoisted_42 = { class: \"form-group col-md-6 col-xxl-5\" }\nconst _hoisted_43 = { class: \"col-12 col-lg-5 d-none d-lg-block\" }\nconst _hoisted_44 = { class: \"product-summary\" }\nconst _hoisted_45 = { class: \"d-flex justify-content-between flex-wrap-reverse mb-2 mb-sm-3\" }\nconst _hoisted_46 = { class: \"mr-2\" }\nconst _hoisted_47 = [\"alt\", \"src\"]\nconst _hoisted_48 = { class: \"d-flex flex-column flex-1\" }\nconst _hoisted_49 = { class: \"mb-0 text-muted lead\" }\nconst _hoisted_50 = { class: \"mb-0\" }\nconst _hoisted_51 = { class: \"d-flex justify-content-between flex-wrap-reverse mb-1 mb-sm-2\" }\nconst _hoisted_52 = { class: \"col-6 d-flex align-items-center\" }\nconst _hoisted_53 = { class: \"product-term\" }\nconst _hoisted_54 = { class: \"col-6 d-flex align-items-center\" }\nconst _hoisted_55 = { class: \"product-detail\" }\nconst _hoisted_56 = {\n key: 0,\n class: \"d-flex justify-content-between flex-wrap-reverse mb-1 mb-sm-2\"\n}\nconst _hoisted_57 = { class: \"col-6 d-flex align-items-center\" }\nconst _hoisted_58 = { class: \"product-term\" }\nconst _hoisted_59 = { class: \"col-6 d-flex align-items-center\" }\nconst _hoisted_60 = { class: \"product-detail\" }\nconst _hoisted_61 = { class: \"d-flex justify-content-between flex-wrap-reverse mb-1 mb-sm-2\" }\nconst _hoisted_62 = { class: \"col-6 d-flex align-items-center\" }\nconst _hoisted_63 = { class: \"product-term\" }\nconst _hoisted_64 = { class: \"col-6 d-flex align-items-center\" }\nconst _hoisted_65 = { class: \"product-detail\" }\nconst _hoisted_66 = { class: \"d-flex justify-content-between flex-wrap-reverse\" }\nconst _hoisted_67 = { class: \"col-12\" }\nconst _hoisted_68 = { class: \"bottom-text\" }\nconst _hoisted_69 = {\n key: 0,\n style: {'background-image': `url('/Static/images/stars-background.jpg')`},\n class: \"wallet-card\"\n}\nconst _hoisted_70 = [\"alt\"]\nconst _hoisted_71 = { class: \"wallet-text\" }\nconst _hoisted_72 = { class: \"wallet-amount\" }\nconst _hoisted_73 = {\n key: 1,\n class: \"row mb-2 mb-lg-3 thank-you-container\"\n}\nconst _hoisted_74 = { class: \"thank-you-content\" }\nconst _hoisted_75 = { class: \"mb-3\" }\nconst _hoisted_76 = { class: \"mb-3\" }\nconst _hoisted_77 = {\n alt: \"Cadac Group\",\n class: \"thank-you-img mb-3\"\n}\nconst _hoisted_78 = {\n key: 0,\n class: \"d-block d-lg-none sticky-bottom-panel py-2\"\n}\nconst _hoisted_79 = { class: \"container\" }\nconst _hoisted_80 = { class: \"row\" }\nconst _hoisted_81 = { class: \"col-12\" }\nconst _hoisted_82 = { class: \"d-flex align-items-center justify-content-between\" }\nconst _hoisted_83 = { class: \"d-flex justify-content-between flex-wrap-reverse pr-sm-4 pr-3\" }\nconst _hoisted_84 = { class: \"mr-sm-2 mr-1\" }\nconst _hoisted_85 = [\"alt\", \"src\"]\nconst _hoisted_86 = { class: \"product-text-wrapper d-flex flex-column flex-1\" }\nconst _hoisted_87 = { class: \"mb-0 text-muted lead\" }\nconst _hoisted_88 = { class: \"mb-0 title\" }\nconst _hoisted_89 = { class: \"price-text-wrapper text-right\" }\nconst _hoisted_90 = { class: \"price-text\" }\nconst _hoisted_91 = { class: \"wallet-text\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_QuotationSteps = _resolveComponent(\"QuotationSteps\")!\n const _component_ProgressSpinner = _resolveComponent(\"ProgressSpinner\")!\n const _component_InputText = _resolveComponent(\"InputText\")!\n const _component_InputWithValidation = _resolveComponent(\"InputWithValidation\")!\n const _component_vue_tel_input = _resolveComponent(\"vue-tel-input\")!\n const _component_AutoComplete = _resolveComponent(\"AutoComplete\")!\n const _component_Checkbox = _resolveComponent(\"Checkbox\")!\n const _component_Textarea = _resolveComponent(\"Textarea\")!\n const _component_Button = _resolveComponent(\"Button\")!\n const _directive_lazy = _resolveDirective(\"lazy\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n (this.activeStep === 1)\n ? (_openBlock(), _createElementBlock(\"h1\", _hoisted_4, _toDisplayString(_ctx.$t(\"quotation.page.title.step1\")), 1))\n : _createCommentVNode(\"\", true),\n (this.activeStep === 2)\n ? (_openBlock(), _createElementBlock(\"h1\", _hoisted_5, _toDisplayString(_ctx.$t(\"quotation.page.title.step2\")), 1))\n : _createCommentVNode(\"\", true),\n _createVNode(_component_QuotationSteps, {\n \"active-step\": this.activeStep\n }, null, 8, [\"active-step\"])\n ])\n ]),\n (this.activeStep === 1)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n (_ctx.isSpinnerVisible('loading'))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createVNode(_component_ProgressSpinner, {\n \"animation-duration\": \"1.75s\",\n \"stroke-width\": \"4\"\n })\n ]))\n : _createCommentVNode(\"\", true),\n (!_ctx.isSpinnerVisible('loading'))\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n (!_ctx.layoutStore.isAuthenticated)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"p\", _hoisted_10, _toDisplayString(_ctx.$t(\"quotation.login.text\")), 1),\n _createElementVNode(\"a\", {\n class: \"text-underline login-button\",\n href: _ctx.loginPageUrl\n }, [\n _createTextVNode(_toDisplayString(_ctx.$t(\"quotation.login.button.text\")) + \" \", 1),\n _hoisted_12\n ], 8, _hoisted_11)\n ]),\n _createElementVNode(\"p\", _hoisted_13, [\n _createTextVNode(_toDisplayString(_ctx.$t(\"quotation.login.text\")) + \" \", 1),\n _createElementVNode(\"a\", {\n class: \"text-underline\",\n href: _ctx.loginPageUrl\n }, [\n _createTextVNode(\"Log in \"),\n _hoisted_15\n ], 8, _hoisted_14)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"section\", _hoisted_16, [\n _createElementVNode(\"form\", {\n class: \"position-relative\",\n onChange: _cache[8] || (_cache[8] = \n//@ts-ignore\n(...args) => (_ctx.formStateChanged && _ctx.formStateChanged(...args)))\n }, [\n (!_ctx.isSpinnerVisible('loading'))\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"div\", _hoisted_18, [\n _createVNode(_component_InputWithValidation, {\n \"is-required\": _ctx.validations['firstName'].required,\n label: _ctx.$t('common.forms.lblFirstName'),\n name: \"firstName\"\n }, {\n default: _withCtx(({ field }) => [\n _createVNode(_component_InputText, {\n modelValue: field.value.value,\n \"onUpdate:modelValue\": ($event: any) => ((field.value.value) = $event),\n class: _normalizeClass({ 'p-invalid': field.errors?.length }),\n feedback: false,\n name: field.name,\n \"toggle-mask\": \"\",\n placeholder: _ctx.$t('common.forms.lblFirstName'),\n onBlur: ($event: any) => (field.setTouched(true))\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"class\", \"name\", \"placeholder\", \"onBlur\"])\n ]),\n _: 1\n }, 8, [\"is-required\", \"label\"])\n ]),\n _createElementVNode(\"div\", _hoisted_19, [\n _createVNode(_component_InputWithValidation, {\n \"is-required\": _ctx.validations['lastName'].required,\n label: _ctx.$t('common.forms.lblLastName'),\n name: \"lastName\"\n }, {\n default: _withCtx(({ field }) => [\n _createVNode(_component_InputText, {\n modelValue: field.value.value,\n \"onUpdate:modelValue\": ($event: any) => ((field.value.value) = $event),\n class: _normalizeClass({ 'p-invalid': field.errors?.length }),\n feedback: false,\n name: field.name,\n \"toggle-mask\": \"\",\n placeholder: _ctx.$t('common.forms.lblLastName'),\n onBlur: ($event: any) => (field.setTouched(true))\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"class\", \"name\", \"placeholder\", \"onBlur\"])\n ]),\n _: 1\n }, 8, [\"is-required\", \"label\"])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"div\", _hoisted_21, [\n _createVNode(_component_InputWithValidation, {\n \"is-required\": _ctx.validations['email'].required,\n label: _ctx.$t('common.forms.lblEmail'),\n name: \"email\"\n }, {\n default: _withCtx(({ field }) => [\n _createVNode(_component_InputText, {\n modelValue: field.value.value,\n \"onUpdate:modelValue\": ($event: any) => ((field.value.value) = $event),\n class: _normalizeClass({ 'p-invalid': field.errors?.length }),\n feedback: false,\n name: field.name,\n \"toggle-mask\": \"\",\n placeholder: _ctx.$t('common.forms.lblEmail'),\n onBlur: ($event: any) => (field.setTouched(true))\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"class\", \"name\", \"placeholder\", \"onBlur\"])\n ]),\n _: 1\n }, 8, [\"is-required\", \"label\"])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_22, [\n _createElementVNode(\"div\", _hoisted_23, [\n _createVNode(_component_InputWithValidation, {\n \"is-required\": _ctx.validations['phone'].required,\n label: _ctx.$t('common.forms.lblPhoneNumber'),\n name: \"phone\"\n }, {\n default: _withCtx(({ field }) => [\n _createVNode(_component_vue_tel_input, {\n modelValue: field.value.value,\n \"onUpdate:modelValue\": ($event: any) => ((field.value.value) = $event),\n class: _normalizeClass({ 'p-invalid': field.errors?.length }),\n \"input-options\": { placeholder: _ctx.$t('common.forms.lblPhoneNumber') },\n onChange: ($event: any) => (field.setTouched(true)),\n onValidate: _ctx.onPhoneInputValidate\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"class\", \"input-options\", \"onChange\", \"onValidate\"])\n ]),\n _: 1\n }, 8, [\"is-required\", \"label\"])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_24, [\n _createElementVNode(\"div\", _hoisted_25, [\n _createVNode(_component_InputWithValidation, {\n \"is-required\": _ctx.validations['companyName'].required,\n label: _ctx.$t('common.forms.lblCompanyName'),\n name: \"companyName\"\n }, {\n default: _withCtx(({ field }) => [\n _createVNode(_component_AutoComplete, {\n modelValue: field.value.value,\n \"onUpdate:modelValue\": ($event: any) => ((field.value.value) = $event),\n class: _normalizeClass([\"w-100\", { 'p-invalid': field.errors?.length }]),\n \"min-length\": 2,\n \"option-label\": \"name\",\n suggestions: _ctx.companySuggestions,\n placeholder: _ctx.$t('common.forms.lblCompanyName'),\n onComplete: _cache[0] || (_cache[0] = ($event: any) => (_ctx.searchCompanies($event.query))),\n onItemSelect: _cache[1] || (_cache[1] = ($event: any) => (_ctx.onSuggestionSelection($event.value.dunsNumber))),\n onChange: _cache[2] || (_cache[2] = ($event: any) => (_ctx.autoFillOptOut()))\n }, {\n option: _withCtx(({ option }) => [\n _createElementVNode(\"div\", _hoisted_26, [\n _createElementVNode(\"p\", _hoisted_27, _toDisplayString(option?.name), 1),\n _createElementVNode(\"p\", _hoisted_28, \"in \" + _toDisplayString(option?.mainAddress.city), 1)\n ])\n ]),\n _: 2\n }, 1032, [\"modelValue\", \"onUpdate:modelValue\", \"class\", \"suggestions\", \"placeholder\"])\n ]),\n _: 1\n }, 8, [\"is-required\", \"label\"])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_29, [\n _createElementVNode(\"div\", _hoisted_30, [\n _createVNode(_component_Checkbox, {\n modelValue: _ctx.checked2,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => ((_ctx.checked2) = $event)),\n inputId: \"wantsMoreProducts\",\n binary: true,\n name: \"wantsMoreProducts\",\n onChange: _cache[4] || (_cache[4] = ($event: any) => (_ctx.checkboxFieldProducts.handleChange(_ctx.checkboxFieldProducts.checkedValue)))\n }, null, 8, [\"modelValue\"]),\n _createElementVNode(\"label\", _hoisted_31, _toDisplayString(_ctx.$t('quotation.field.wantsMoreProducts')), 1)\n ])\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_32, [\n _createElementVNode(\"div\", _hoisted_33, [\n _createElementVNode(\"p\", _hoisted_34, _toDisplayString(_ctx.$t('quotation.field.productMessage.note')), 1),\n _createVNode(_component_InputWithValidation, {\n \"is-required\": _ctx.validations['productMessage'].required,\n name: \"productMessage\"\n }, {\n default: _withCtx(({ field }) => [\n _createVNode(_component_Textarea, {\n modelValue: field.value.value,\n \"onUpdate:modelValue\": ($event: any) => ((field.value.value) = $event),\n class: _normalizeClass({ 'p-invalid': field.errors?.length, 'message-field': 'message-field' }),\n rows: \"4\",\n type: \"text\",\n name: field.name,\n placeholder: _ctx.$t('quotation.field.productMessage.placeholder'),\n onBlur: ($event: any) => (field.setTouched(true))\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"class\", \"name\", \"placeholder\", \"onBlur\"])\n ]),\n _: 1\n }, 8, [\"is-required\"])\n ])\n ], 512), [\n [_vShow, _ctx.checkboxFieldProducts.checked]\n ]),\n _createElementVNode(\"div\", _hoisted_35, [\n _createElementVNode(\"div\", _hoisted_36, [\n _createVNode(_component_Checkbox, {\n modelValue: _ctx.checked,\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event: any) => ((_ctx.checked) = $event)),\n inputId: \"hasAutodeskCSN\",\n binary: true,\n name: \"hasCSN\",\n onChange: _cache[6] || (_cache[6] = ($event: any) => (_ctx.checkboxFieldCSN.handleChange(_ctx.checkboxFieldCSN.checkedValue)))\n }, null, 8, [\"modelValue\"]),\n _createElementVNode(\"label\", _hoisted_37, _toDisplayString(_ctx.$t('quotation.field.hasCSN')), 1)\n ])\n ]),\n _withDirectives(_createElementVNode(\"div\", _hoisted_38, [\n _createElementVNode(\"div\", _hoisted_39, [\n _createVNode(_component_InputWithValidation, {\n \"is-required\": _ctx.validations['message'].required,\n name: \"message\"\n }, {\n default: _withCtx(({ field }) => [\n _createVNode(_component_Textarea, {\n modelValue: field.value.value,\n \"onUpdate:modelValue\": ($event: any) => ((field.value.value) = $event),\n class: _normalizeClass({ 'p-invalid': field.errors?.length, 'message-field': 'message-field' }),\n rows: \"4\",\n type: \"text\",\n name: field.name,\n placeholder: _ctx.$t('quotation.field.message.placeholder'),\n onBlur: ($event: any) => (field.setTouched(true))\n }, null, 8, [\"modelValue\", \"onUpdate:modelValue\", \"class\", \"name\", \"placeholder\", \"onBlur\"])\n ]),\n _: 1\n }, 8, [\"is-required\"])\n ])\n ], 512), [\n [_vShow, _ctx.checkboxFieldCSN.checked]\n ]),\n _createElementVNode(\"div\", _hoisted_40, [\n _createElementVNode(\"div\", _hoisted_41, [\n _createVNode(_component_Button, {\n class: \"w-100 p-button-brand-secondary p-button-lg\",\n label: _ctx.$t('common.cancel'),\n onClick: _cache[7] || (_cache[7] = ($event: any) => (_ctx.goBack()))\n }, null, 8, [\"label\"])\n ]),\n _createElementVNode(\"div\", _hoisted_42, [\n _createVNode(_component_Button, {\n class: \"w-100 p-button-success p-button-lg\",\n label: _ctx.$t('quotation.field.submit'),\n loading: _ctx.isLoading,\n disabled: !_ctx.isValid || _ctx.isLoading,\n onClick: _ctx.onSubmit\n }, null, 8, [\"label\", \"loading\", \"disabled\", \"onClick\"])\n ])\n ])\n ], 64))\n : _createCommentVNode(\"\", true)\n ], 32)\n ]),\n _createElementVNode(\"section\", _hoisted_43, [\n _createElementVNode(\"div\", _hoisted_44, [\n _createElementVNode(\"div\", _hoisted_45, [\n _createElementVNode(\"div\", _hoisted_46, [\n _createElementVNode(\"img\", {\n class: \"product-summary-icon\",\n alt: _ctx.vm?.firstProductSelection?.product?.icon?.altTag,\n src: _ctx.vm?.firstProductSelection?.product?.icon?.url\n }, null, 8, _hoisted_47)\n ]),\n _createElementVNode(\"div\", _hoisted_48, [\n _createElementVNode(\"p\", _hoisted_49, _toDisplayString(_ctx.vm.firstProductSelection.product.brand), 1),\n _createElementVNode(\"h4\", _hoisted_50, _toDisplayString(_ctx.vm.firstProductSelection.product.name), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_51, [\n _createElementVNode(\"div\", _hoisted_52, [\n _createElementVNode(\"div\", _hoisted_53, _toDisplayString(_ctx.$t('quotation.product.amount.label')), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_54, [\n _createElementVNode(\"div\", _hoisted_55, _toDisplayString(_ctx.vm.firstProductSelection.amount), 1)\n ])\n ]),\n (_ctx.vm.firstProductSelection.product.durationInMonths)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_56, [\n _createElementVNode(\"div\", _hoisted_57, [\n _createElementVNode(\"div\", _hoisted_58, _toDisplayString(_ctx.$t('quotation.product.duration.label')), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_59, [\n _createElementVNode(\"div\", _hoisted_60, _toDisplayString(_ctx.$t(\"quotation.product.duration.months\", [_ctx.vm.firstProductSelection.product.durationInMonths])), 1)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_61, [\n _createElementVNode(\"div\", _hoisted_62, [\n _createElementVNode(\"div\", _hoisted_63, _toDisplayString(_ctx.$t('quotation.product.price.label')), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_64, [\n _createElementVNode(\"div\", _hoisted_65, _toDisplayString(_ctx.formatCurrency(_ctx.vm.firstProductSelection.totalPrice.basePrice)), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_66, [\n _createElementVNode(\"div\", _hoisted_67, [\n _createElementVNode(\"p\", _hoisted_68, _toDisplayString(_ctx.$t('quotation.product.price.subText')), 1)\n ])\n ])\n ]),\n (_ctx.vm.autodeskLoyaltyCashbackBlock?.isVisible && parseInt(_ctx.vm.firstProductSelection?.totalWalletAmount) !== 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_69, [\n (_ctx.vm.autodeskLoyaltyCashbackBlock?.icon)\n ? _withDirectives((_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n alt: _ctx.vm.autodeskLoyaltyCashbackBlock?.icon?.alt,\n class: \"wallet-icon\"\n }, null, 8, _hoisted_70)), [\n [_directive_lazy, _ctx.vm.autodeskLoyaltyCashbackBlock?.icon?.url]\n ])\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_71, _toDisplayString(_ctx.vm.autodeskLoyaltyCashbackBlock?.text), 1),\n _createElementVNode(\"span\", _hoisted_72, _toDisplayString(_ctx.formatCurrency(_ctx.vm.firstProductSelection?.totalWalletAmount)), 1)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ], 64))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n (this.activeStep === 2)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_73, [\n _createElementVNode(\"div\", _hoisted_74, [\n _createElementVNode(\"h1\", _hoisted_75, _toDisplayString(_ctx.$t('quotation.thankYou.title')), 1),\n _createElementVNode(\"p\", _hoisted_76, _toDisplayString(_ctx.$t('quotation.thankYou.text')), 1),\n _withDirectives(_createElementVNode(\"img\", _hoisted_77, null, 512), [\n [_directive_lazy, '/Static/images/support.png']\n ]),\n _createVNode(_component_Button, {\n class: \"w-100 p-button-primary p-button-raised p-button-lg\",\n label: _ctx.$t('quotation.thankYou.backButton'),\n onClick: _cache[9] || (_cache[9] = ($event: any) => (_ctx.goBack()))\n }, null, 8, [\"label\"])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n (!_ctx.isSpinnerVisible('loading') && this.activeStep === 1)\n ? (_openBlock(), _createElementBlock(\"section\", _hoisted_78, [\n _createElementVNode(\"div\", _hoisted_79, [\n _createElementVNode(\"div\", _hoisted_80, [\n _createElementVNode(\"div\", _hoisted_81, [\n _createElementVNode(\"div\", _hoisted_82, [\n _createElementVNode(\"div\", _hoisted_83, [\n _createElementVNode(\"div\", _hoisted_84, [\n _createElementVNode(\"img\", {\n class: \"product-summary-icon\",\n alt: _ctx.vm?.firstProductSelection?.product?.icon?.altTag,\n src: _ctx.vm?.firstProductSelection?.product?.icon?.url\n }, null, 8, _hoisted_85)\n ]),\n _createElementVNode(\"div\", _hoisted_86, [\n _createElementVNode(\"p\", _hoisted_87, _toDisplayString(_ctx.vm.firstProductSelection.product.brand), 1),\n _createElementVNode(\"h4\", _hoisted_88, _toDisplayString(_ctx.vm.firstProductSelection.product.name), 1)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_89, [\n _createElementVNode(\"div\", _hoisted_90, _toDisplayString(_ctx.formatCurrency(_ctx.vm.firstProductSelection.totalPrice.basePrice)), 1),\n _createElementVNode(\"div\", _hoisted_91, _toDisplayString(_ctx.$t('quotation.product.wallet.label')) + \" \" + _toDisplayString(_ctx.formatCurrency(_ctx.vm.firstProductSelection.totalWalletAmount)), 1)\n ])\n ])\n ])\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","<template>\r\n\t<div class=\"container\">\r\n\t\t<div class=\"row mt-2 mt-lg-3 mb-1 \">\r\n\t\t\t<div class=\"col-md-12\">\r\n\t\t\t\t<h1 v-if=\"this.activeStep === 1\">{{$t(\"quotation.page.title.step1\")}}</h1>\r\n\t\t\t\t<h1 v-if=\"this.activeStep === 2\">{{$t(\"quotation.page.title.step2\")}}</h1>\r\n\t\t\t\t<QuotationSteps :active-step=\"this.activeStep\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div v-if=\"this.activeStep === 1\" class=\"row mb-2 mb-lg-3\">\r\n\t\t\t<div v-if=\"isSpinnerVisible('loading')\"\r\n\t\t\t\t class=\"loader d-flex flex-column justify-content-center align-items-center text-center mx-auto form-group col-md-12 col-lg-10 col-xxl-8\">\r\n\t\t\t\t<ProgressSpinner animation-duration=\"1.75s\" stroke-width=\"4\" />\r\n\t\t\t</div>\r\n\t\t\t<template v-if=\"!isSpinnerVisible('loading')\">\r\n\t\t\t\t<div v-if=\"!layoutStore.isAuthenticated\" class=\"col-12 col-md-12\">\r\n\t\t\t\t\t<div class=\"d-lg-none d-block\">\r\n\t\t\t\t\t\t<p class=\"mt-1 mb-3 login-text\">{{$t(\"quotation.login.text\")}}</p>\r\n\t\t\t\t\t\t<a class=\"text-underline login-button\" :href=\"loginPageUrl\">{{$t(\"quotation.login.button.text\")}} <span class=\"icon\"></span></a>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<p class=\"d-none d-lg-block mt-1 mb-3 login-text\">{{$t(\"quotation.login.text\")}} <a class=\"text-underline\" :href=\"loginPageUrl\">Log in <i class=\"pi pi-chevron-right login-chev\"></i></a></p>\r\n\t\t\t\t</div>\r\n\t\t\t\t<section class=\"col-12 col-lg-7\">\r\n\t\t\t\t\t<form class=\"position-relative\" @change=\"formStateChanged\">\r\n\r\n\t\t\t\t\t\t<template v-if=\"!isSpinnerVisible('loading')\">\r\n\t\t\t\t\t\t\t<div class=\"form-row\">\r\n\t\t\t\t\t\t\t\t<div class=\"form-group col-md-6 col-xxl-5\">\r\n\t\t\t\t\t\t\t\t\t<InputWithValidation v-slot=\"{ field }\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t :is-required=\"validations['firstName'].required\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t :label=\"$t('common.forms.lblFirstName')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t name=\"firstName\">\r\n\t\t\t\t\t\t\t\t\t\t<InputText v-model=\"field.value.value\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t :class=\"{ 'p-invalid': field.errors?.length }\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t :feedback=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t :name=\"field.name\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t toggle-mask\r\n\t\t\t\t\t\t\t\t\t\t\t\t :placeholder=\"$t('common.forms.lblFirstName')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t @blur=\"field.setTouched(true)\" />\r\n\t\t\t\t\t\t\t\t\t</InputWithValidation>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div class=\"form-group col-md-6 col-xxl-5\">\r\n\t\t\t\t\t\t\t\t\t<InputWithValidation v-slot=\"{ field }\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t :is-required=\"validations['lastName'].required\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t :label=\"$t('common.forms.lblLastName')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t name=\"lastName\">\r\n\t\t\t\t\t\t\t\t\t\t<InputText v-model=\"field.value.value\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t :class=\"{ 'p-invalid': field.errors?.length }\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t :feedback=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t :name=\"field.name\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t toggle-mask\r\n\t\t\t\t\t\t\t\t\t\t\t\t :placeholder=\"$t('common.forms.lblLastName')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t @blur=\"field.setTouched(true)\" />\r\n\t\t\t\t\t\t\t\t\t</InputWithValidation>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"form-row\">\r\n\t\t\t\t\t\t\t\t<div class=\"form-group col-md-12 col-xxl-10\">\r\n\t\t\t\t\t\t\t\t\t<InputWithValidation v-slot=\"{ field }\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t :is-required=\"validations['email'].required\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t :label=\"$t('common.forms.lblEmail')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t name=\"email\">\r\n\t\t\t\t\t\t\t\t\t\t<InputText v-model=\"field.value.value\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t :class=\"{ 'p-invalid': field.errors?.length }\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t :feedback=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t :name=\"field.name\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t toggle-mask\r\n\t\t\t\t\t\t\t\t\t\t\t\t :placeholder=\"$t('common.forms.lblEmail')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t @blur=\"field.setTouched(true)\" />\r\n\t\t\t\t\t\t\t\t\t</InputWithValidation>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"form-row\">\r\n\t\t\t\t\t\t\t\t<div class=\"form-group col-md-12 col-xxl-10\">\r\n\t\t\t\t\t\t\t\t\t<InputWithValidation v-slot=\"{ field }\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t :is-required=\"validations['phone'].required\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t :label=\"$t('common.forms.lblPhoneNumber')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t name=\"phone\">\r\n\t\t\t\t\t\t\t\t\t\t<vue-tel-input v-model=\"field.value.value\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t :class=\"{ 'p-invalid': field.errors?.length }\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t :input-options=\"{ placeholder: $t('common.forms.lblPhoneNumber') }\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t @change=\"field.setTouched(true)\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t @validate=\"onPhoneInputValidate\" />\r\n\t\t\t\t\t\t\t\t\t</InputWithValidation>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\r\n\t\t\t\t\t\t\t<div class=\"form-row\">\r\n\t\t\t\t\t\t\t\t<div class=\"form-group col-md-12 col-xxl-10\">\r\n\t\t\t\t\t\t\t\t\t<InputWithValidation v-slot=\"{ field }\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t :is-required=\"validations['companyName'].required\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t :label=\"$t('common.forms.lblCompanyName')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t name=\"companyName\">\r\n\t\t\t\t\t\t\t\t\t\t<AutoComplete v-model=\"field.value.value\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t class=\"w-100\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t :class=\"{ 'p-invalid': field.errors?.length }\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t :min-length=\"2\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t option-label=\"name\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t :suggestions=\"companySuggestions\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t :placeholder=\"$t('common.forms.lblCompanyName')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t @complete=\"searchCompanies($event.query)\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t @item-select=\"onSuggestionSelection($event.value.dunsNumber)\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t @change=\"autoFillOptOut()\">\r\n\t\t\t\t\t\t\t\t\t\t\t<template #option=\"{ option }\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"d-flex\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"mb-0 mr-1 text-bold\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ option?.name }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</p>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"mb-0\">in {{ option?.mainAddress.city }}</p>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t</template>\r\n\t\t\t\t\t\t\t\t\t\t</AutoComplete>\r\n\t\t\t\t\t\t\t\t\t</InputWithValidation>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"form-row\">\r\n\t\t\t\t\t\t\t\t<div class=\"form-group col-md-12 col-xxl-10 d-flex\">\r\n\t\t\t\t\t\t\t\t\t<Checkbox v-model=\"checked2\"\r\n\t\t\t\t\t\t\t\t\t\t\t inputId=\"wantsMoreProducts\"\r\n\t\t\t\t\t\t\t\t\t\t\t :binary=\"true\"\r\n\t\t\t\t\t\t\t\t\t\t\t name=\"wantsMoreProducts\"\r\n\t\t\t\t\t\t\t\t\t\t\t @change=\"checkboxFieldProducts.handleChange(checkboxFieldProducts.checkedValue)\" />\r\n\t\t\t\t\t\t\t\t\t<label class=\"ml-1 mb-0\" for=\"wantsMoreProducts\">\r\n\t\t\t\t\t\t\t\t\t\t{{$t('quotation.field.wantsMoreProducts')}}\r\n\t\t\t\t\t\t\t\t\t</label>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"form-row\" v-show=\"checkboxFieldProducts.checked\">\r\n\t\t\t\t\t\t\t\t<div class=\"form-group col-md-12 col-xxl-10\">\r\n\t\t\t\t\t\t\t\t\t<p class=\"product-message-note\">{{$t('quotation.field.productMessage.note')}}</p>\r\n\t\t\t\t\t\t\t\t\t<InputWithValidation v-slot=\"{ field }\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t :is-required=\"validations['productMessage'].required\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t name=\"productMessage\">\r\n\t\t\t\t\t\t\t\t\t\t<Textarea v-model=\"field.value.value\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t :class=\"{ 'p-invalid': field.errors?.length, 'message-field': 'message-field' }\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t rows=\"4\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t type=\"text\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t :name=\"field.name\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t :placeholder=\"$t('quotation.field.productMessage.placeholder')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t @blur=\"field.setTouched(true)\" />\r\n\t\t\t\t\t\t\t\t\t</InputWithValidation>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"form-row\">\r\n\t\t\t\t\t\t\t\t<div class=\"form-group col-md-12 col-xxl-10 d-flex\">\r\n\t\t\t\t\t\t\t\t\t<Checkbox v-model=\"checked\"\r\n\t\t\t\t\t\t\t\t\t\t\t inputId=\"hasAutodeskCSN\"\r\n\t\t\t\t\t\t\t\t\t\t\t :binary=\"true\"\r\n\t\t\t\t\t\t\t\t\t\t\t name=\"hasCSN\"\r\n\t\t\t\t\t\t\t\t\t\t\t @change=\"checkboxFieldCSN.handleChange(checkboxFieldCSN.checkedValue)\" />\r\n\t\t\t\t\t\t\t\t\t<label class=\"ml-1 mb-0\" for=\"hasAutodeskCSN\">\r\n\t\t\t\t\t\t\t\t\t\t{{$t('quotation.field.hasCSN')}}\r\n\t\t\t\t\t\t\t\t\t</label>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"form-row\" v-show=\"checkboxFieldCSN.checked\">\r\n\t\t\t\t\t\t\t\t<div class=\"form-group col-md-12 col-xxl-10\">\r\n\t\t\t\t\t\t\t\t\t<InputWithValidation v-slot=\"{ field }\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t :is-required=\"validations['message'].required\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t name=\"message\">\r\n\t\t\t\t\t\t\t\t\t\t<Textarea v-model=\"field.value.value\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t :class=\"{ 'p-invalid': field.errors?.length, 'message-field': 'message-field' }\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t rows=\"4\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t type=\"text\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t :name=\"field.name\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t :placeholder=\"$t('quotation.field.message.placeholder')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t @blur=\"field.setTouched(true)\" />\r\n\t\t\t\t\t\t\t\t\t</InputWithValidation>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"form-row\">\r\n\t\t\t\t\t\t\t\t<div class=\"form-group col-md-6 col-xxl-5 d-flex justify-content-center\">\r\n\t\t\t\t\t\t\t\t\t<Button class=\"w-100 p-button-brand-secondary p-button-lg\"\r\n\t\t\t\t\t\t\t\t\t\t\t:label=\"$t('common.cancel')\"\r\n\t\t\t\t\t\t\t\t\t\t\t@click=\"goBack()\" />\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div class=\"form-group col-md-6 col-xxl-5\">\r\n\t\t\t\t\t\t\t\t\t<Button class=\"w-100 p-button-success p-button-lg\"\r\n\t\t\t\t\t\t\t\t\t\t\t:label=\"$t('quotation.field.submit')\"\r\n\t\t\t\t\t\t\t\t\t\t\t:loading=\"isLoading\"\r\n\t\t\t\t\t\t\t\t\t\t\t:disabled=\"!isValid || isLoading\"\r\n\t\t\t\t\t\t\t\t\t\t\t@click=\"onSubmit\" />\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</template>\r\n\t\t\t\t\t</form>\r\n\t\t\t\t</section>\r\n\t\t\t\t<section class=\"col-12 col-lg-5 d-none d-lg-block\">\r\n\t\t\t\t\t<div class=\"product-summary\">\r\n\t\t\t\t\t\t<div class=\"d-flex justify-content-between flex-wrap-reverse mb-2 mb-sm-3\">\r\n\t\t\t\t\t\t\t<div class=\"mr-2\">\r\n\t\t\t\t\t\t\t\t<img class=\"product-summary-icon\" :alt=\"vm?.firstProductSelection?.product?.icon?.altTag\" :src=\"vm?.firstProductSelection?.product?.icon?.url\" />\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"d-flex flex-column flex-1\">\r\n\t\t\t\t\t\t\t\t<p class=\"mb-0 text-muted lead\">{{ vm.firstProductSelection.product.brand }}</p>\r\n\t\t\t\t\t\t\t\t<h4 class=\"mb-0\">{{ vm.firstProductSelection.product.name }}</h4>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"d-flex justify-content-between flex-wrap-reverse mb-1 mb-sm-2\">\r\n\t\t\t\t\t\t\t<div class=\"col-6 d-flex align-items-center\">\r\n\t\t\t\t\t\t\t\t<div class=\"product-term\">{{$t('quotation.product.amount.label')}}</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"col-6 d-flex align-items-center\">\r\n\t\t\t\t\t\t\t\t<div class=\"product-detail\">{{ vm.firstProductSelection.amount }}</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div v-if=\"vm.firstProductSelection.product.durationInMonths\" class=\"d-flex justify-content-between flex-wrap-reverse mb-1 mb-sm-2\">\r\n\t\t\t\t\t\t\t<div class=\"col-6 d-flex align-items-center\">\r\n\t\t\t\t\t\t\t\t<div class=\"product-term\">{{$t('quotation.product.duration.label')}}</div>\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"col-6 d-flex align-items-center\">\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<div class=\"product-detail\">{{ $t(\"quotation.product.duration.months\", [vm.firstProductSelection.product.durationInMonths]) }}</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"d-flex justify-content-between flex-wrap-reverse mb-1 mb-sm-2\">\r\n\t\t\t\t\t\t\t\t<div class=\"col-6 d-flex align-items-center\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"product-term\">{{$t('quotation.product.price.label')}}</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t<div class=\"col-6 d-flex align-items-center\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"product-detail\">{{ formatCurrency(vm.firstProductSelection.totalPrice.basePrice) }}</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"d-flex justify-content-between flex-wrap-reverse\">\r\n\t\t\t\t\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t\t\t\t\t<p class=\"bottom-text\">{{$t('quotation.product.price.subText')}}</p>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t<div :style=\"{'background-image': `url('/Static/images/stars-background.jpg')`}\"\r\n\t\t\t\t\t\t class=\"wallet-card\"\r\n\t\t\t\t\t\t v-if=\"vm.autodeskLoyaltyCashbackBlock?.isVisible && parseInt(vm.firstProductSelection?.totalWalletAmount) !== 0\"\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t >\r\n\t\t\t\t\t\t<img v-if=\"vm.autodeskLoyaltyCashbackBlock?.icon\" v-lazy=\"vm.autodeskLoyaltyCashbackBlock?.icon?.url\" :alt=\"vm.autodeskLoyaltyCashbackBlock?.icon?.alt\" class=\"wallet-icon\" />\r\n\t\t\t\t\t\t<div class=\"wallet-text\">\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{{vm.autodeskLoyaltyCashbackBlock?.text}}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<span class=\"wallet-amount\">{{ formatCurrency(vm.firstProductSelection?.totalWalletAmount) }}</span>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t</section>\r\n\t\t\t\t</template>\r\n\t\t</div>\r\n\t\t<div v-if=\"this.activeStep === 2\" class=\"row mb-2 mb-lg-3 thank-you-container\">\r\n\t\t\t<div class=\"thank-you-content\">\r\n\t\t\t\t<h1 class=\"mb-3\">{{$t('quotation.thankYou.title')}}</h1>\r\n\t\t\t\t<p class=\"mb-3\">\r\n\t\t\t\t\t{{$t('quotation.thankYou.text')}}\r\n\t\t\t\t</p>\r\n\t\t\t\t<img v-lazy=\"'/Static/images/support.png'\" alt=\"Cadac Group\" class=\"thank-you-img mb-3\" />\r\n\t\t\t\t<Button class=\"w-100 p-button-primary p-button-raised p-button-lg\"\r\n\t\t\t\t\t\t:label=\"$t('quotation.thankYou.backButton')\"\r\n\t\t\t\t\t\t@click=\"goBack()\" />\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<section v-if=\"!isSpinnerVisible('loading') && this.activeStep === 1\" class=\"d-block d-lg-none sticky-bottom-panel py-2\">\r\n\t\t<div class=\"container\">\r\n\t\t\t<div class=\"row\">\r\n\t\t\t\t<div class=\"col-12\">\r\n\t\t\t\t\t<div class=\"d-flex align-items-center justify-content-between\">\r\n\t\t\t\t\t\t<div class=\"d-flex justify-content-between flex-wrap-reverse pr-sm-4 pr-3\">\r\n\t\t\t\t\t\t\t<div class=\"mr-sm-2 mr-1\">\r\n\t\t\t\t\t\t\t\t<img class=\"product-summary-icon\" :alt=\"vm?.firstProductSelection?.product?.icon?.altTag\" :src=\"vm?.firstProductSelection?.product?.icon?.url\" />\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"product-text-wrapper d-flex flex-column flex-1\">\r\n\t\t\t\t\t\t\t\t<p class=\"mb-0 text-muted lead\">{{ vm.firstProductSelection.product.brand }}</p>\r\n\t\t\t\t\t\t\t\t<h4 class=\"mb-0 title\">{{ vm.firstProductSelection.product.name }}</h4>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<div class=\"price-text-wrapper text-right\">\r\n\t\t\t\t\t\t\t<div class=\"price-text\">{{ formatCurrency(vm.firstProductSelection.totalPrice.basePrice) }}</div>\r\n\t\t\t\t\t\t\t<div class=\"wallet-text\">{{$t('quotation.product.wallet.label')}} {{ formatCurrency(vm.firstProductSelection.totalWalletAmount) }}</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</section>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\n\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport InputWithValidation from \"@/components/common/inputWithValidation.vue\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\nimport { FormContext, useForm, FormMeta, useField, FieldContext } from \"vee-validate\";\r\nimport { computed, reactive, unref } from \"vue\";\r\nimport Textarea from \"primevue/textarea\";\r\nimport Checkbox from \"primevue/checkbox\";\r\nimport { PropType } from \"vue\";\r\nimport { Log } from \"@/types/helpers/logHelper\";\r\nimport AutoComplete from \"primevue/autocomplete\";\r\nimport ProgressSpinner from \"primevue/progressspinner\";\r\nimport { IPhoneObject } from \"@/types/models/common/phoneObject.interface\";\r\nimport QuotationSteps from \"@/components/product/quotationSteps.vue\"\r\nimport { cloneDeep } from \"lodash\";\r\nimport { IQuotationPageViewModel } from \"../../types/viewModels/commerce/QuotationPageViewModel\";\r\nimport WalletMessage from \"@/components/common/WalletMessage.vue\";\r\nimport { UrlHelper } from \"@/types/helpers/urlHelper\";\r\nimport { ScrollHelper } from \"../../types/helpers/scrollHelper\";\r\n\r\ninterface FormModel {\r\n\tfirstName: string;\r\n\tlastName: string;\r\n\tphone: string;\r\n\tcompanyName: string;\r\n\thasCSN: boolean;\r\n\temail: string;\r\n\tmessage: string;\r\n\twantsMoreProducts: boolean;\r\n\tproductMessage: string;\r\n}\r\ninterface QuotationData {\r\n\tfirstName: string;\r\n\tlastName: string;\r\n\tphone: string;\r\n\tcompanyName: string;\r\n\temail: string;\r\n\tmessage: string;\r\n\tdunsNumber: string;\r\n\tisImpersonated: boolean;\r\n}\r\n\r\ninterface AltaresData {\r\n\tdunsNumber: string;\r\n\tisKnownInCrm: boolean | null;\r\n}\r\n\r\n\r\n@Component({\r\n\tcomponents: {\r\n\t\tBaseComponent,\r\n\t\tInputWithValidation,\r\n\t\tAutoComplete,\r\n\t\tProgressSpinner,\r\n\t\tCheckbox,\r\n\t\tTextarea,\r\n\t\tQuotationSteps,\r\n\t\tWalletMessage\r\n\t},\r\n})\r\nexport default class QuotationRequest extends BaseComponent {\r\n\t@Prop({ type: Object as PropType<IQuotationPageViewModel>, required: true, default: {} })\r\n\tvm!: IQuotationPageViewModel;\r\n\r\n\tmodel: FormModel = {\r\n\t\tfirstName: \"\",\r\n\t\tlastName: \"\",\r\n\t\tphone: \"\",\r\n\t\tcompanyName: \"\",\r\n\t\thasCSN: false,\r\n\t\temail: \"\",\r\n\t\tmessage: \"\",\r\n\t\twantsMoreProducts: false,\r\n\t\tproductMessage: \"\",\r\n\t};\r\n\r\n\tactiveStep = 1; // default step 1\r\n\r\n\tcheckboxFieldCSN!: FieldContext;\r\n\tcheckboxFieldProducts!: FieldContext;\r\n\tform!: FormContext<FormModel>;\r\n\tcompanySuggestions: any = [];\r\n\tphoneObject!: IPhoneObject;\r\n\taltaresData: AltaresData = {\r\n\t\tdunsNumber: \"\",\r\n\t\tisKnownInCrm: false,\r\n\t}\r\n\r\n\tcreated(): void {\r\n\t\tif (this.userProfile?.isAuthenticated) {\r\n\t\t\tconst { firstName, lastName, phoneNumber, company: { companyName, dunsNumber }, email } = this.userProfile;\r\n\t\t\tthis.model.firstName = firstName;\r\n\t\t\tthis.model.lastName = lastName;\r\n\t\t\tthis.model.phone = phoneNumber;\r\n\t\t\tthis.model.companyName = companyName;\r\n\t\t\tthis.model.email = email;\r\n\t\t\tthis.altaresData.dunsNumber = dunsNumber;\r\n\t\t\tthis.altaresData.isKnownInCrm = true;\r\n\t\t}\r\n\r\n\t\tthis.form = useForm({ initialValues: this.model, validationSchema: this.validations });\r\n\t\tthis.checkboxFieldCSN = useField(() => \"hasCSN\", undefined, {\r\n\t\t\ttype: 'checkbox',\r\n\t\t\tcheckedValue: true,\r\n\t\t\tuncheckedValue: false,\r\n\t\t});\r\n\r\n\t\tthis.checkboxFieldProducts = useField(() => \"wantsMoreProducts\", undefined, {\r\n\t\t\ttype: 'checkbox',\r\n\t\t\tcheckedValue: true,\r\n\t\t\tuncheckedValue: false,\r\n\t\t});\r\n\t}\r\n\r\n\tget validations(): Record<string, unknown> {\r\n\t\treturn reactive({\r\n\t\t\tcompanyName: { required: true },\r\n\t\t\tfirstName: { required: true },\r\n\t\t\tlastName: { required: true },\r\n\t\t\tphone: {\r\n\t\t\t\trequired: true,\r\n\t\t\t\tvalidPhone: computed(() => this.phoneObject),\r\n\t\t\t},\r\n\t\t\temail: { required: true, email: true },\r\n\t\t\thasCSN: { required: false },\r\n\t\t\tmessage: { required: computed(() => this.form?.values?.hasCSN) },\r\n\t\t\twantsMoreProducts: { required: false },\r\n\t\t\tproductMessage: { required: computed(() => this.form?.values?.wantsMoreProducts) }\r\n\t\t});\r\n\t}\r\n\r\n\tget isValid(): boolean {\r\n\t\treturn unref(this.form.meta)?.valid;\r\n\t}\r\n\r\n\r\n\tget isLoading(): boolean {\r\n\t\treturn this.loadingStore.isLoading;\r\n\t}\r\n\r\n\tonPhoneInputValidate(phoneObject: IPhoneObject): void {\r\n\t\tthis.phoneObject = phoneObject;\r\n\t}\r\n\r\n\r\n\tsearchCompanies(query: string): void {\r\n\t\tconst countries = [\"nl\", \"be\", \"de\", \"ch\", \"at\", \"fr\", \"pt\", \"es\", \"it\", \"gb\", \"nb\"];\r\n\t\tconst countryISOAlpha2Code = countries.includes(this.currentLocation) ? this.currentLocation : null;\r\n\r\n\t\tthis.axios\r\n\t\t\t.get(`/api/altares/organizations/by-name`, {\r\n\t\t\t\tparams: { searchTerm: query.trim(), countryISOAlpha2Code: countryISOAlpha2Code },\r\n\t\t\t})\r\n\t\t\t.then((res) => {\r\n\t\t\t\tthis.companySuggestions = res.data;\r\n\t\t\t})\r\n\t\t\t.catch((err) => Log.error(err))\r\n\t\t\t.finally();\r\n\t}\r\n\r\n\tonSuggestionSelection(dunsNumber: string): void {\r\n\t\tthis.loadingStore.showSpinner(\"autofill\");\r\n\r\n\t\tthis.axios\r\n\t\t\t.get(`/api/altares/organization/by-duns`, {\r\n\t\t\t\tparams: { dunsNumber: dunsNumber },\r\n\t\t\t})\r\n\t\t\t.then((res) => {\r\n\t\t\t\tconst { name, isKnownInCrm, dunsNumber} = res.data;\r\n\t\t\t\tthis.altaresData = {\r\n\t\t\t\t\tdunsNumber, isKnownInCrm\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.form.setTouched({\r\n\t\t\t\t\tcompanyName: true,\r\n\t\t\t\t\tfirstName: true,\r\n\t\t\t\t\tlastName: true,\r\n\t\t\t\t\tphone: true,\r\n\t\t\t\t\thasCSN: false,\r\n\t\t\t\t\temail: true,\r\n\t\t\t\t\tmessage: true,\r\n\t\t\t\t\twantsMoreProducts: false,\r\n\t\t\t\t\tproductMessage: true,\r\n\t\t\t\t});\r\n\r\n\t\t\t\tthis.form.setFieldValue(\"companyName\", name)\r\n\t\t\t})\r\n\t\t\t.catch((err) => Log.error(err))\r\n\t\t\t.finally(() => {\r\n\t\t\t\tsetTimeout(() => this.loadingStore.hideSpinner(\"autofill\"), 5000)\r\n\r\n\t\t\t});\r\n\t}\r\n\r\n\tautoFillOptOut() {\r\n\t\tthis.altaresData = {\r\n\t\t\tdunsNumber: \"\",\r\n\t\t\tisKnownInCrm: null,\r\n\t\t};\r\n\t}\r\n\r\n\tcreateMessage(formData: FormModel) {\r\n\t\tlet message = `${formData.hasCSN ? formData.message : 'n.v.t.'}\r\n\t\t\t\\n Andere producten: ${formData.wantsMoreProducts ? formData.productMessage : 'n.v.t.'}`;\r\n\r\n\t\treturn message\r\n\t}\r\n\r\n\tmapToModel(formData: FormModel, altaresData: AltaresData): QuotationData {\r\n\t\tconst model = {\r\n\t\t\tfirstName: formData.firstName,\r\n\t\t\tlastName: formData.lastName,\r\n\t\t\tphone: formData.phone,\r\n\t\t\tcompanyName: formData.companyName,\r\n\t\t\temail: formData.email,\r\n\t\t\tmessage: this.createMessage(formData),\r\n\t\t\tdunsNumber: altaresData.dunsNumber || \"\",\r\n\t\t\tisKnownInCrm: altaresData.isKnownInCrm || \"\",\r\n\t\t\tlanguage: this.currentLanguage,\r\n\t\t\tisImpersonated: this.userProfile?.isImpersonated || false\r\n\t\t}\r\n\r\n\t\treturn model;\r\n\t}\r\n\r\n\tonSubmit(): void {\r\n\t\tconst formData = this.form.values;\r\n\t\tconst altaresData = this.altaresData;\r\n\t\tthis.loadingStore.showSpinner(\"loading\");\r\n\t\tthis.axios\r\n\t\t\t.post(\"/api/quote/request\", this.mapToModel(formData, altaresData))\r\n\t\t\t.then(() => {\r\n\t\t\t\tthis.activeStep = 2;\r\n\t\t\t\tScrollHelper.scrollTo();\r\n\t\t\t\tthis.trackForm();\r\n\t\t\t})\r\n\t\t\t.catch((err) => Log.error(err))\r\n\t\t\t.finally(() => {\r\n\t\t\t\tthis.loadingStore.hideSpinner(\"loading\");\r\n\t\t\t});\r\n\t}\r\n\r\n\tgoBack(): void {\r\n\t\tUrlHelper.goBack();\r\n\t}\r\n\r\n\tformStateChanged(): FormMeta<FormModel> {\r\n\t\tconst { meta, values } = this.form;\r\n\t\tthis.model = cloneDeep(values);\r\n\t\treturn unref(meta);\r\n\t}\r\n\r\n\ttrackForm() {\r\n\t\tconst event = new CustomEvent('track-form-submit', {\r\n\t\t\tdetail: {\r\n\t\t\t\tform_title: 'Software Quote',\r\n\t\t\t\tform_type: 'software'\r\n\t\t\t}\r\n\t\t});\r\n\t\tdispatchEvent(event);\r\n\t}\r\n}\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n\t.vue-tel-input {\r\n\t\t&:hover {\r\n\t\t\tborder-color: #91004b;\r\n\t\t}\r\n\t}\r\n\r\n\t.sticky-bottom-panel {\r\n\t\tposition: sticky;\r\n\t\tbottom: 0;\r\n\t\tleft: 0;\r\n\t\tz-index: 101;\r\n\t\twidth: 100%;\r\n\t\tbackground: var(--surface-a);\r\n\t\tbox-shadow: 0rem -0.25rem 0.5rem -0.4375rem rgba(0, 0, 0, 0.75);\r\n\r\n\t\t.product-summary-icon {\r\n\t\t\theight: 1.75rem;\r\n\t\t\twidth: 1.75rem;\r\n\r\n\t\t\t@media (min-width: 36rem) {\r\n\t\t\t\theight: 2.25rem;\r\n\t\t\t\twidth: 2.25rem;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.title {\r\n\t\t\tfont-size: 1.125rem;\r\n\t\t\tfont-weight: 400;\r\n\t\t\tline-height: 1.5;\r\n\r\n\t\t\t@media (min-width: 36rem) {\r\n\t\t\t\tfont-size: 1.125rem;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.product-text-wrapper {\r\n\t\t\t.title {\r\n\t\t\t\tfont-size: 0.8rem;\r\n\r\n\t\t\t\t@media (min-width: 36rem) {\r\n\t\t\t\t\tfont-size: 1rem;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t.lead {\r\n\t\t\t\tfont-size: 1rem;\r\n\r\n\t\t\t\t@media (min-width: 36rem) {\r\n\t\t\t\t\tfont-size: 1.25rem;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.price-text-wrapper {\r\n\t\t\tpadding-top: 0.5rem;\r\n\r\n\t\t\t@media (min-width: 36rem) {\r\n\t\t\t\tpadding-top: 1rem;\r\n\t\t\t}\r\n\r\n\t\t\t.price-text {\r\n\t\t\t\tfont-size: 1.25rem;\r\n\t\t\t\tfont-weight: 500;\r\n\t\t\t\tline-height: 0.8;\r\n\t\t\t\tcolor: #91004b;\r\n\t\t\t\tpadding-bottom: 0.25rem;\r\n\r\n\t\t\t\t@media (min-width: 36rem) {\r\n\t\t\t\t\tfont-size: 1.625rem;\r\n\t\t\t\t\tpadding-bottom: 0.5rem;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t.wallet-text {\r\n\t\t\t\tcolor: #91004b;\r\n\t\t\t\tfont-size: 0.8rem;\r\n\r\n\t\t\t\t@media (min-width: 36rem) {\r\n\t\t\t\t\tfont-size: 1rem;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t.login-text {\r\n\t\t.login-chev {\r\n\t\t\tfont-size: 0.75rem;\r\n\t\t}\r\n\r\n\t\tmargin-bottom: 0.25rem !important;\r\n\r\n\t\t@media (min-width: 62rem) {\r\n\t\t\tmargin-bottom: 1rem !important;\r\n\t\t}\r\n\t}\r\n\r\n\t.login-button {\r\n\t\tdisplay: inline-block;\r\n\t\tbackground: #91004b;\r\n\t\tborder-radius: 0.25rem;\r\n\t\tpadding: 0.1875rem 1rem;\r\n\t\tcolor: #fff;\r\n\t\ttext-decoration: none;\r\n\t\tmargin-bottom: 1.5rem;\r\n\r\n\t\t&:hover {\r\n\t\t\tbackground: #c91254;\r\n\t\t\tcolor: #fff;\r\n\t\t\ttext-decoration: none;\r\n\t\t}\r\n\r\n\t\t.icon {\r\n\t\t\tbackground: no-repeat center url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgaWQ9Ikljb25zL2Fycm93SW5DaXJjbGVSaWdodCI+CjxjaXJjbGUgaWQ9IkVsbGlwc2UgMTUiIGN4PSI4IiBjeT0iOCIgcj0iOCIgZmlsbD0id2hpdGUiLz4KPHBhdGggaWQ9IlZlY3RvciAxNCIgZD0iTTQgOEgxMk0xMiA4TDggNE0xMiA4TDggMTIiIHN0cm9rZT0iI0I1MEI1MSIgc3Ryb2tlLXdpZHRoPSIxLjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L2c+Cjwvc3ZnPgo=);\r\n\t\t\tdisplay: inline-block;\r\n\t\t\twidth: 1rem;\r\n\t\t\theight: 1rem;\r\n\t\t\tmargin-left: 0.625rem;\r\n\t\t\tfloat: right;\r\n\t\t\tmargin-top: 0.25rem;\r\n\t\t}\r\n\r\n\t\t@media (min-width: 62rem) {\r\n\t\t}\r\n\t}\r\n\r\n\t.message-field {\r\n\t\tmargin-top: -2rem;\r\n\t}\r\n\r\n\t.product-summary {\r\n\t\tborder: 0.0875rem solid #e5e5e2;\r\n\t\tborder-radius: 0.3125rem;\r\n\t\tpadding: 1rem;\r\n\t\twidth: 100%;\r\n\r\n\t\t@media (min-width: 62rem) {\r\n\t\t\twidth: 80%;\r\n\t\t\tmargin: 2rem;\r\n\t\t}\r\n\r\n\t\t.product-summary-icon {\r\n\t\t\theight: 4.1875rem;\r\n\t\t\twidth: 4.1875rem;\r\n\t\t}\r\n\r\n\t\th4 {\r\n\t\t\t@media (max-width: 36rem) {\r\n\t\t\t\tfont-size: 1.125rem;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t.product-term,\r\n\t\t.product-detail,\r\n\t\tp,\r\n\t\tspan,\r\n\t\t.bottom-text {\r\n\t\t\tmargin: 0;\r\n\t\t\tcolor: #6a6a69;\r\n\t\t}\r\n\r\n\t\t.product-term {\r\n\t\t\tfont-size: 1.15rem;\r\n\t\t\tfont-weight: 400;\r\n\t\t}\r\n\r\n\t\t.product-detail {\r\n\t\t\t@media (min-width: 36rem) {\r\n\t\t\t\tfont-size: 1.35rem;\r\n\t\t\t}\r\n\r\n\t\t\tfont-size: 1.15rem;\r\n\t\t}\r\n\r\n\t\tspan {\r\n\t\t\tmargin: 2% 0% 0% 4%;\r\n\t\t\tfont-size: 0.6875rem;\r\n\t\t}\r\n\r\n\t\t.bottom-text {\r\n\t\t\tfont-size: 0.8125rem;\r\n\t\t}\r\n\t}\r\n\r\n .wallet-card {\r\n padding: 1rem;\r\n margin: 1rem 0;\r\n width: 100%;\r\n background-color: #b72a5a;\r\n border-radius: 0.3125rem;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n color: white;\r\n background-position: center;\r\n background-size: cover;\r\n\r\n @media (min-width: 62rem) {\r\n margin: 2rem;\r\n }\r\n\r\n @media (min-width: 36rem) {\r\n width: 80%;\r\n }\r\n }\r\n\r\n .wallet-text {\r\n font-size: 1rem;\r\n margin-right: 1rem;\r\n\r\n @media (min-width: 36rem) {\r\n font-size: 1.3rem;\r\n }\r\n }\r\n \r\n\t.wallet-icon {\r\n\t\twidth: 2rem;\r\n\t\theight: 2rem;\r\n\t\tfloat: left;\r\n\t\tmargin-right: 1rem;\r\n\t}\r\n\r\n\t.wallet-amount {\r\n\t\tdisplay: inline-block;\r\n\t\tfont-size: 1.35rem;\r\n\t\tfont-weight: 450;\r\n\t\t-webkit-mask-image: linear-gradient( -75deg, rgba(207, 114, 52, 0.6) 30%, rgba(207, 114, 52) 50%, rgba(207, 114, 52, 0.6) 70% );\r\n\t\t-webkit-mask-size: 200%;\r\n\t\tanimation: shine 3s linear infinite;\r\n\t\tcolor: #ffcc81;\r\n\r\n\t\t@media (min-width: 2000px) {\r\n\t\t\tfont-size: 2rem;\r\n\t\t}\r\n\t}\r\n\r\n\t@keyframes shine {\r\n\t\tfrom {\r\n\t\t\t-webkit-mask-position: 150%;\r\n\t\t}\r\n\r\n\t\tto {\r\n\t\t\t-webkit-mask-position: -50%;\r\n\t\t}\r\n\t}\r\n\r\n\t.thank-you-container {\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: center;\r\n\t\twidth: 100%;\r\n\t}\r\n\r\n\t.thank-you-content {\r\n\t\ttext-align: center;\r\n\t\tmax-width: 43.75rem;\r\n\t\tpadding: 1.25rem;\r\n\t\tbackground: #fff;\r\n\t}\r\n\r\n\t.thank-you-img {\r\n\t\tborder-radius: 50%;\r\n\t}\r\n\r\n</style>\r\n","import { toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"p-steps-title\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Steps = _resolveComponent(\"Steps\")!\n\n return (_openBlock(), _createBlock(_component_Steps, {\n class: \"my-3 quotation-steps d-none d-md-block\",\n model: _ctx.steps,\n readonly: true\n }, {\n item: _withCtx(({ item }) => [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"p-menuitem-link\", {'active': item.step === _ctx.activeStep }])\n }, [\n _createElementVNode(\"span\", {\n class: _normalizeClass([\"p-steps-number\", {'showIcon': item.autoDeskIcon }])\n }, _toDisplayString(item.step), 3),\n _createElementVNode(\"span\", _hoisted_1, _toDisplayString(item.label), 1)\n ], 2)\n ]),\n _: 1\n }, 8, [\"model\"]))\n}","<template>\r\n\t<Steps class=\"my-3 quotation-steps d-none d-md-block\" :model=\"steps\" :readonly=\"true\">\r\n\t\t<template #item=\"{ item }\">\r\n\t\t\t<div class=\"p-menuitem-link\" :class=\"{'active': item.step === activeStep }\">\r\n\t\t\t\t<span class=\"p-steps-number\" :class=\"{'showIcon': item.autoDeskIcon }\">{{ item.step }}</span>\r\n\t\t\t\t<span class=\"p-steps-title\">{{ item.label }}</span>\r\n\t\t\t</div>\r\n\t\t</template>\r\n\t</Steps>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport BaseComponent from \"@/components/base/baseComponent.vue\";\r\nimport Steps from \"primevue/steps\";\r\nimport { Component, Prop } from \"vue-facing-decorator\";\r\n\r\ninterface CheckoutStepOption {\r\n label: string;\r\n step: number;\r\n autoDeskIcon: boolean;\r\n}\r\n\r\n@Component({ components: { Steps } })\r\nexport default class QuotationSteps extends BaseComponent {\r\n @Prop({ type: Number, required: true, default: 1 }) activeStep!: number;\r\n\t\r\n\tsteps: CheckoutStepOption[] = [];\t\r\n\r\n\tcreated(): void {\r\n\r\n this.steps = [\r\n {\r\n label: this.$t(\"quotation.steps.step1\"),\r\n step: 1,\r\n autoDeskIcon: false,\r\n },\r\n {\r\n label: this.$t(\"quotation.steps.step2\"),\r\n step: 2,\r\n autoDeskIcon: false,\r\n },\r\n {\r\n label: this.$t(\"quotation.steps.step3\"),\r\n step: 3,\r\n autoDeskIcon: true,\r\n },\r\n {\r\n label: this.$t(\"quotation.steps.step4\"),\r\n step: 4,\r\n autoDeskIcon: true,\r\n },\r\n {\r\n label: this.$t(\"quotation.steps.step5\"),\r\n step: 5,\r\n autoDeskIcon: false,\r\n },\r\n\r\n ];\r\n\r\n\t\t\r\n\t}\t\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n .quotation-steps {\r\n .p-steps-item:before {\r\n top: 2.1875rem !important;\r\n }\r\n\r\n .p-steps-title {\r\n display: block;\r\n max-width: 10.625rem;\r\n white-space: normal;\r\n text-align: center;\r\n line-height: 1.25;\r\n font-size: 0.9rem;\r\n }\r\n\r\n .p-steps-number {\r\n font-size: 0.75rem !important;\r\n background: #ebebe8 !important;\r\n color: #70706d !important;\r\n position: relative;\r\n\r\n &.showIcon:after {\r\n content: \"\";\r\n width: 0.875rem;\r\n height: 0.875rem;\r\n position: absolute;\r\n background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+DQo8Y2lyY2xlIGN4PSI3IiBjeT0iNyIgcj0iNyIgZmlsbD0iYmxhY2siLz4NCjxyZWN0IHg9IjIiIHk9IjMiIHdpZHRoPSI5IiBoZWlnaHQ9IjgiIGZpbGw9InVybCgjcGF0dGVybjBfNjQwXzYwMSkiLz4NCjxkZWZzPg0KPHBhdHRlcm4gaWQ9InBhdHRlcm4wXzY0MF82MDEiIHBhdHRlcm5Db250ZW50VW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiB3aWR0aD0iMSIgaGVpZ2h0PSIxIj4NCjx1c2UgeGxpbms6aHJlZj0iI2ltYWdlMF82NDBfNjAxIiB0cmFuc2Zvcm09Im1hdHJpeCgwLjAwMjE3MjI1IDAgMCAwLjAwMjM5OTQxIC0wLjA2ODIzNDEgLTAuMjIyMjIyKSIvPg0KPC9wYXR0ZXJuPg0KPGltYWdlIGlkPSJpbWFnZTBfNjQwXzYwMSIgd2lkdGg9IjI0MDAiIGhlaWdodD0iNjAyIiB4bGluazpocmVmPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQ1dBQUFBSmFDQU1BQUFDY2RZeHRBQUFEQUZCTVZFVUFBQUJXVmxhK3ZyNzgvUHg3ZTN0M2QzY01EQXovLy8vZDNkM3U3dTdCd2NIdjcrK25wNmRtWm1iOS9mMysvdjZxcXFweWNuSzF0YlhxNnVvQkFRSGk0dUovZjMvWDE5Y0NBZ0lEQXdORFEwUHc4UEFGQlFYeTh2SUhCd2Y1K2ZuNysvdjE5Zlg2K3ZvSUNBZ0tDZ3J4OGZFRUJBUUdCZ2E1dWJsdWJtNUpTVWtKQ1FuMjl2YjQrUGhFUkVUMzkvZWlvcUlMQ3dzTkRRMGVIaDRVRkJUczdPd1JFUkdabVprU0VoTHo4L01oSVNIMDlQUWJHeHNaR1JrT0RnNlJrWkh0N2UzVTFOUVdGaGF6czdNUUVCRE16TXdQRHcvYzNOem01dVplWGw3cjYrdmo0K09JaUlpQWdJQnZiMi9vNk9qTHk4dTd1N3ZrNU9SVlZWVzR1TGdtSmlicDZla3FLaW95TWpMUHo4K1ZsWlV0TFMzbDVlVWxKU1hlM3Q0VkZSVWZIeDgrUGo3ZjM5OHBLU2s1T1RraUlpTFMwdEl6TXpNWEZ4ZFBUMC9uNStmVzF0WTNOemZWMWRWTlRVM1oyZGtnSUNBYUdock96czQ2T0.125remcHFhbDhmSHdjSEJ3VEV4TmlZbUpUVTFNMk5qWXhNVEZuWjJjZEhSMHVMaTZscGFVc0xDemc0T0EwTkRUTnpjMGpJeVBJeU1pdXJxNkppWWt3TURCOWZYMmJtNXRDUWtKSFIwZGFXbHJGeGNYWTJOZ1lHQmpDd3NJa0pDVEd4c1pBUUVEUjBkRzZ1cnFDZ29KalkyUGIyOXRYVjFkTFMwdEtTa3JhMnRvdkx5K3RyYTBvS0Nnckt5dUJnWUdhbXByaDRlRnpjM01uSnlkcmEydkR3OE9mbjU5QlFVRlNVbEszdDdkYlcxdDFkWFZ3Y0hBL1B6OWtaR1JNVEV5TGk0dU5qWTNKeWNsaFlXSEt5c3A2ZW5yRXhNUk9UazZUazVNOVBUMm1wcVpRVUZDWW1KaVBqNC9IeDhkc2JHeDVlWG1Ra0pEVDA5TklTRWc0T0RoZFhWMldscFpmWDErZW5wNDFOVFZHUmthS2lvbzhQRHlqbzZQQXdNQTdPenU5dmIyMHRMU3lzcktycTZ1dnI2OVlXRmgrZm41RlJVV2twS1IyZG5heHNiRnBhV2x4Y1hHMnRyYTh2THlHaG9aY1hGeU9qbzZNakl4NGVIaUZoWVdjbkp4dGJXMWdZR0RRME5DaG9hR0RnNE9YbDVld3NMQjBkSFJvYUdoWldWbFVWRlNkbloyU2twS29xS2lFaElScWFtcS92Nytzckt5SGg0ZFJVVkZsWldXVWxKU2dvS0RTcHJCTkFBQlRhVWxFUVZSNDJ1ekJBUUVBQUFDQWtQNnY3Z2dDQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFJRFpnd01CQUFBQUFDRC8xMFpRVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWWFlnd01CQUFBQUFDRC8xMFpRVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWWFlnd01CQUFBQUFDRC8xMFpRVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWWFl0VnRsaU9Nb0FLQzNYYXFQMldKRzhCVUVJbS93bnkwN3M5bnNHTnRzVWdSOTYxSmxabVNDWmxSVmt6U0pSeEE4QmI5MTU1em5PQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRDhDMWR2SDYrMy9mN3lZSERhZGNQVmhWOTFQVjE2ZmprT0FJQzYxdTU3dzZQMS9HT2ZqeHNCQUZEU3ludnZNSnZvdmdNQW9LRHoyV0kyODdRYkFBRFZqRSt5cGVsQkFBRFVNcjdNdG1ZN0FRQlF5ZVlrVzdzSkFJQkt2cks5aHdBQXFPTmlLOXNiaWU0QVFDSDdPUS91QWdDZ2lyTzluQWVqN1FDQUgvYmdVS1hPQUFvQThCSER3UVZGdWNGZ3VUSVFXUlEzZGYyNnBMQzIrUlJpR1FoYUZPTllGVy9RNmtQNEFHSXlLYXhzbVBVUmZJMXpmcjd2ZzRHNHlScHVBd0JnR0ZhK1p3MlBBUUF3REpkWnhVRUFBQXpDbjZ6aVp3QUFETUgxUWxheFBRa0FnQUc0eXpyV0F3Q2d2OG5YckdPNkhBQUE3ZTFsSlE4QkFORGQ2SGRXOGpjQUFMcDd6bExtZHdJQW9MblhyT1VpQUFCNjI1ak5XdVkrQmdCQWEvK3ltbDhCQU5EWjJuNVc4eU1BQURyN24vVWNCUUJBWStkWnoya0FBUFIxbkFXdEhnWUFRRnYzV2RGVEFBQjA5WG1jRlgxYkNRQ0FwdDZ5cHBrQUFPaHBOTTJhUGdRQVFFOVhXZFZKQUFDMHRKUlZmUWtBZ0k3TzVyT3E4VllBQURUMGtuVXRCZ0JBUDU4MnM2N2Q1WUIzOXU3bUplbzRpT1A0YUs2enkyWStWSWFrV2FaaUtXaGFob1dKaFlVSGV4S0xnaDRNTW9tSUNMRzBDQXFFb293bzBrTVJhU1NFUVNFS1pSQUxSZGJOb0lOSUJ5OEpRc2NPRWdWZGdtN3RhcjlkdjVQdjExL3d1Y3puTUF3TUFBRG1uRmVYM1JjQUFBQnpkcXZMMGdRQUFNQ2FFWFZhY29NQUFBQVlNNnB1R3hRQUFBQmIxaGVyMjRMckJBQUF3SlFYNnJva0FRQUFzQ1RqbUxxdWVva0FBQUFZOGxyZDF5Z0FBQUNHN0ZIM3RRZ0FBSUFkaDVMVmZTdGJCUUFBd0l3cXRhQlhBQUFBck1nTnFBWDdWZ2dBQUlBUkY5V0dUZ0VBQUREaXJ0cHdVd0FBQUd4b1ZDdXVDQUFBZ0FrdGFzVTNBUUFBc0tBeVI2MG9PaWNBQUFBR3BLc2Rud1VBQU1COStYdlZqc3NaQWdBQTRMeDZ0V1JZQU5oUldGNWVLQUF3SDMxVVN3b0VnTk9hUjhZbTM0NU9EQjBPVk9odldZRWRIV2tsSVY5YysxWUJvcW41MHJ2M2o3K1VQSzJwV2ViM0J3SVZlWUZkZnYrQm1qdWZ2b2F1VFkrTjk1UUtFQ3Y3TGJ3aC9DUDVvUUJ3MDZiaGhKVHFJdjJyelUwTDM5d3JFOEJqbVgwL0pwOTBCRFdjWU5PMmc3Nyt2bndCb3UyRDJsSWxDT2ZNaGtBNGp3VHcwdmExM2ZGNUdyRmdWOTA0cXdSNHBiSXROSlNqTTVKZG5kTGRkbFNBNkNuTlUxdXl0Z2pDR0l5Z1hHNUo3RnhJaWtDdHhFeG5KSGxPU0lUaWZKWThseWpJSFhqVnRFaG5iTUhaMEkzVk1pY0drcnoyczc2Ky8vclZza1J4Ulh1cWk2YkZlMlZKSlg2ZHJjVnB2YWVQaU1kdXJ3a3ZVNktwd1RjRE82T2JaVDZiVW11aU1hSC9sOFNnaGxjbnNaTVFVZEZKekN6VkNLUkxoQXJVa2xQaXRiN1VybUtkdFZVVFU4Y2w5dUkxV3JKUERuMFBQZXQvTU9lZjZSUFVSY3ZGWXoyK2wvOSs1ZUxmV05zcUh2ckYzcjI0ZGxYR2NSei95aS83cE9KK0c1dXdaYmFmTmgzcU5rMDI1M1N5ZEc0NjNXWlRWaTF6cVVRRlptYk92SlRXMnRTV2lGWWo2T1l5TVlyVW91aWlsaUJrRjdFVkJSbFJVV1FscFVrbUtFRVFHaktMcWVlYzMzUDVQby9mMXordzIrK2N2VG5QYzU1dkQxeWMxaFMvcnhuQnhaYVQwR1FDWERNL2cwVHkwWnh1OE5HQkJCWWI5NUphYzJwM0lta0xhbWFUWWZvQzY2ekV3bzZUUGNhU1BaZEFZR1hNTFd1R0l2RjluZTNLZG1YWkRxekMrV0YrOG1Va05Ma1M3bGxINGtJeU5pQ0l0OGdZQ1N3MmxQN1ZOKzVvZ1JyeDFhOFdra242QSt0Zk41UzNmWDB0V2VGOVlDMU4yd0MxK3FkV2pTWVZMQWZXcU9zUndsWVN1cXlCZXpwSVhNanJDR1NmdVNlQkVsaGM5TW9oVlRJTFVwWE8yTXBPTFREM2lUUVdXS2NsS3FvTGNzazR6d1ByanVLQjBDQzJzMWJCaml5N2daVWI2cFowbElRdUt4TndUK3dlRWhkUWgyRGF5UlFKTEM3ZUlFVUtseWhibStueTFEZVR5QkNUZ1hYYTRLYXZLc2tzbndNcmMvc0NhSk45YkUrdXk0R1Y5UmRDK0oyRU5pZmhvbDlJbk4vbU9JSTVTS1pJWURFUnJ5Y2xXc3UwUEQwQVNvb1ZmWWZjQWd0QTlyWUhqQzZEK2h0WW1jZm5RNitwNzY5eU5yQXlEaU9FTlRKOFRwL2M2WERSVklQN3M5M3pLQUpLYVNWREpMQ1krSjVVdU8xZ0NyUkpOTjFFQmxnSUxBQ3h1cG01WklxdmdaVjVkd01NcU9nNzNNM0ErZ2toL0dEOVpWZWZiWWViREI2WjVKd3hBeEhVSVRKRUFvdUpaeWg1cTFLaFdaMkJ4TElUV0FDS2RzOGlNendOckxtL3daRHBiYU1kREt3MmhQQ21wbTlDblBFRTNOUkNRc0Z0ZFlDcFhTRVNXRHcwSjc4Y3NEazErVU9ITGlwZXZvbzBzeFpZQUNxcWpKenI2R1ZnalgvUXdPZXY2dzdadWRHMXdQb09JVXdZUTBLZlIrQ3FGU1M2ZDlVMEJGZExaa2hnOGJDRGtyUm9wTWJGd1hQRmloVzh5c1Uxc0lBWmw2azVEU0Q1cTg2NC9wU01tVVV3SzN0a3ZWT0JkVHpNQmRwUEpvSnFkUml1T2tLaWUrc1JRbVB5VHpUVTNlb2xzSFRMdnpYSkxadTFBMkJNU1kzVzNTRjJBd3NvS1Z0RW12a1hXQlBMWVY3aWNLazdnVldRaitEU1h5U2gwYVJ4Y0ZYK25TUzZ0UnBoN0NJakpMQlllSm1Tc253ZWpGcjRMT2xqTzdDQXZOMHJTU3Z2QW12ZExiQmlZSFdsSTRIMTRUZ0VOOWpBVnNkTFdocmM5UTZKN2l4R0tGK1FFUkpZTEJ5Z0pJenZnSEhscGFTTC9jQUNzb3Nua2thZUJWYm1VVVBMMDkxSVA1WGxRbURONm9YZzh1YVMwQ2xqSWR6VlQ5blVLTDgwSVp4TlpJSUVGZ2N0eWR3c3FxNkRCWDM2NmpyY25VTmdBU1UxdzBrYnZ3SnIxREhZMUxDSmYyQzFUa0Z3c1ZkSWFQVUJYQ1lmais2VURrSTRKOGdFQ1N3TzlsTmtqejhHUzU3VXRBK1hSMkFCMDlhVExsNEZWdW50c09zQSs4QmExSWpnNGtxSGtvcHUyTmd3cUk2aHhTM0hWUFBjekNhQnhVRFJOUlJWVlFtc0dmd2o2Y0Fsc0lEZUQ1RWVQZ1ZXNjJUWTlSTDdKY0pKRFFnaGpZUmVjMkp3bXFuaitseVNVNFN3MnNnQUNTd0cxbEpFbGUvQnFsUWRSeHJ3Q1N3a3lrYVJEaDRGMXFhcHNPeFA3b0dWc3hNaHZFQkNzMDY0N1dZUy8vY0hRcHRpWW5TSEJKWjlLV01wbXZZWnNLenhMbEtPVVdBQnpRV2tnVCtCOWJ6MWtXN05RNWdIVnU0MkdmRE15dFhwY0Z1SnFXUEkzWkVSWlFTcW5oVVlDU3h1eWltYXZvTmdYYUlucWNZcXNCQXYxdkFReTV2QW1tMjlyNURHL0ppR3JDYUUwR0hvL01OTDJhOXczVkFTQ2w1Yk1ERjJTQUxMdm1FVXhlVk5ZT0d6SEZLTFYyQUJqZTJrbWkrQlZXai9kZmNCbGJ3REsyTUxRcWpUZW9Tdk9PTnR1TzY1VEJML3NRMVJmRXJhU1dCWk56blMxVkkvQVV4VXpDR2x1QVVXNG1XcUJ4UjZFbGpEOThLNk11WUhqYTVGQ0tzVmZtRnhIaXZndms5SW5LcytCVkY4U2RwSllGbTNsU0pZYkgxdmNaZWl6MGtsZG9FRjlGWjhyS29uZ1hVQzFxVzA4ZzZzb1FoaG53eDROdUFJM1BjdGlYTjlqRWhpWTBrM0NTemI4cFpTZUROSGdKRVJUNU5DREFNTDZjTklKVDhDNjIvWXQ0YjNMTUw5Y1FSM2hmWVptSUtva05XdDAvUjdVWDRhUFE3UmRKSnVFbGkybmFEd2F1TmdKVjVENm5BTUxNU3JWUjVjNzBWZzNjamhQOVZyckFOclQwSUdQSFB6TTN5d2xrU1hub2lvajZvclhRS0xyWWNwckt3dFlPZVF1djVnR1ZoQXFzTE4vRDRFMWhBT2U0VmJpSE5ncmNzUDg5dS9uNFIrbVkzd1FTK0ZkeVBuWmMxRFZLZElNd2tzeS9aU1dGa3NOeEdNVlBaK09kUEFRb082emZ3K0JOWVNNUEFSNThCYVVZTGc4dDRsWWNBdStHRVppYk42TUg0ZlV3THJIL2J1LzdmcTZvN2orR3VwNDBWYnZCZmwxdEFWK2hWNm5aUmJSRnRzTFloMW9RV0dnbWlCdHJQQXVDc2lrQ2s2RkljTWlCVWFSamNzNnFJUlFRekI2cFFvTWVCZ09pYkRmVkV5RUFlT21PaWN3b3dURjJmVXFFdHBtbldMY00vNWZNNDU5M3p1UFk4L29MKzA1M09mdlo5enpqdkpEa0JTZEJPdE5FRFZVVHRiQTR2MWE2QklDZ1RXSlVWTXZ2cW9ucWV4a3NEYVhFRnh4US9DTVNFQUh3bENac0hwdFo3ZVBRUzlYR0FsMTZRU3lCbnhCQzNWcHVnT0gyc0RpMVdxVGtlblFHQzlUZ3VjbytuZlhSV0J0WHdyeFlWUHdqRmhRNGdwWWdtY0hxMzA0VUxvNVFJcnVUNkhuT2o1dE5ZLzFYeUhaVzlnc1VEUmNjbmdCMVluTFZCMnFiMkIxZEpCQ1cvQ01lSUZwb29WY0hxOFlmUGtiQmRZU1NWNzNEWjNJQzEyUk1rK0xJc0RpNkZUVUNINGdaVkZDNHpSdFdIRGYyQ05XMDBKS2cvaE9tY3hiRHhUUmJHNzFLUEh6UVgwNDlmUXlnVldVaDJIbE1FcjZGL2U2azN2blBqcHV0WjR2TGF5c2pZZS8rUCtKNy85dDdaWlErbGZ1NHF6aERZSEZzTW5vRURnQTJzL1BTdjd4MnN2SDcyOTYxdXRHK0kxbFpXVlkrUHg3NjJLL2V1QngxNFpkV2pSY01vSWI3WTJzRVpJQmVqTGNNeXc0ZW8yVlk3QzZmWkpFdTZoVlB5b2Q0R2x5NThnSTlKT2Z5cU8zN1o3OXBsK2VIenYwY09aOU9jRitHZDFZS2twck1BSDFpRjZVWGZyTDQvTlBtdUR0OHc3c0dWZ1I0Yk83Uk1tQW12SVlVcllvL3NrazlOck5WTkh2Wm9kR1VHWDMwQi8vZzZkWEdBbGsrUVl3Z3ZvUTFYYmoyZEVrTURncG0xWEZSbWYreE9rd0ZKU1dFRVByQ1pLMi9yZVI3VVFOS0wxZ2ZhWFFreGt2NjJCRmRudUJqeGI2YzgwWWhDTitBWWNZQWQ5dWxacnFMckFTaWE1dmEwSHd2UnFVT014NGNmNGlQM3RtZlFxMUFXa2RtQXgvQVZnWXRVeHc3QUtpQnBET1N1ZldSYVIzc1cwN3BtTllaN0ZUUkZiQTB0cUovV0xGOE14WkFDTmVKZEdaTUVCTnRLdnYwQ2oxQTRzQmJJb1lBQU02Q3lnTitWdlhGUUtLZEhkQXd2b1RkbENtQWlzODJVK3Fpc3JsemZOdVhISGxPM1Q1cXFZTVpTeEZ5WldYWC9ZcWlTYkVzTFRwdWZDbTVicFkzSjRKdWZxdTVYUVgyRGQ3d1k4MjZsMkpFMW9qbmJRaUx2Z3hPamJWR2prQWlzb2dmVklKajM1eFlkTDRjSDhmWFBwU1VPMWJZSFYxOFV6RC94MmZSbjlLWjlqWXRYWkcxalRLUzU4WkFiOGlOeTFwWU5mcDJLWXBZRzFqUkw2ajRWanlsb2FzUlpQMFlneGNLNmlmNzYvRTRBTHJNQUhWcjlGOU9LV2libndhUERpbmZSaTR6Q0xBK3UwMG1YN3B2bUtyT3dtQTZ2TzNzQnFvN0JkTStIZm5mZDhUZXkvcTNHdWhwL0FlanRFY1EzWHd6R2xkREpOS1BnWlJxczRrcDFZa2Z2MlU4bkZzWHVnand1c1lBUldaQk05eU9xRUwrdnVwZ2Z2Mng1WTNVcGlWOVRUcytZYS9hdk8yc0RLSDBwQlJWY3JPaUFYbWRjNG5QK2p1TWJPd0ZwYzZBWThXK29PR25FUXdBYzA0anlrdTQrcFFPRnlhT01DS3hpQnRZL3lGazJIYjdHTnhrZVVtd2tzQUxuSFJsMU9qOWJuYTE5MTFnWldqSUltcSt5SGtvbXoyTWRCblpOaHZRZFdaN2tiOEd3clE2ZG5mZ2RnaG9xOW5zcFBvYWVlMGNPcHdsdlF4Z1ZXSUFJcmxrRlprM1lvV1gybHY4bW1ySUo1MnArREtnSUxRTC9iVjlPYlAyaGZkZFlHMWlzVWMyOEwxRnB5c0lDOVZsa1pXQTluVTF5eDdrR3pUbC9mTnhNOXQ2RGJwelFpM2YrQ0.1875remTVM0L1dkNUhXQkZZVEFhbGxBU2FFUGxMMmZuLzlWbUpKV1RnaElZQUZZOHU4TUExZHNwRkpnQ1E2di8wRWxsSnMvSlkrblpjSEd3TnB3alJ2d2JLMHZhY1JKazY4ajFUMEdBeW0zUDlVNEY3cTR3QXBDWUIybnBCczZvZEN2NmlqcFNIQUNDNmkrWWlUbEZiNnFlZFhaR2xqUmNvckkwWE0rYnVrRkZTVFpaV05nMWN5bGhLZmdHS1RvYlZJaWswclFyVFNISm9UVCs1REVYaVpXUndGWHFwang1Z0lycUlGMWluTEN6eXYreW5OY095VTlHYURBQXFwWGhDZ3RaNm5lVldkcllLMmlpUEF4YURKNmJSNXZ5TFV3c0M2OXlZMlNzOWMyR3ZHNTJXRU56eUtkWlRHeGhmMHBRTnZUeWdXV2d0K2g1c0RhVUVVcEZROUN1YjJabEpMM3d5QUZGakR6RUtXOUZ0RzY2bXdOcklrVThTajB1ZXk3cDJCZllJMmVTZ21OY0l4NmlTWmtWS05IU3psTnlGYjhyM1NnM0NseUdnbVBVY0JoYU9JQ3kvckF5dDFKS2J1MEhEcU5UNldVVHlPQkNpeGdjUTY3R1huSkUrakFlb3NDQ21mRFVyb0NLeW8xbDJ1RmtoTW9qckRIYWNUcjZEV0tSdWpiUFdTL3I0VG00SHluaW9tRkg0RWVMckNzRDZ3M0tlVlJUYk1yODdkVHlvNkFCUlltTklZcHA2Qko1NnF6TmJBK1MvcUtzREd3Y285UXduMVJPRVo5UmlOaTZMV1FSdWpiUFdTOTJuSW1WQjhGR2luZ1MramhBc3Yyd0pwZFJRa1ozNFEyVjRjb0lhOG1ZSUVGeExaU0.1875remd2hHbGVkcllGMU53WGNDRnZwQ2F6SWUyN0FzODF1THFZSmZRZVFQMGNqNWlCZFRSRWFXd1JjSDByaXJmZ3VzR3dQck9zbzRmS0xvRkhYU0JNbkNaTVhXSml3aDNMTzBianFiQTJzbFNLZHIrR0tCa1gwQk5ZN1BDMTVGMWc0Nmdad2U3Y04vL1Y3R25FcjBsVCtBcEd4UmNJZm9SOUNDeGRZbGdmVzI1UXdmaDYwZW53NEpld09YR0FCRTh0TXZDUU1kR0NWTTdFcllTMHRnWFViSmRUcHVjRENPYk1oelRSaDZMaStBZEJBRXdwL2hQUjBrb21OUXJlSEtHQmxLWFJ3Z1dWM1lQVnJwcmdGUDRGbXJSVVVWNWNmdk1EQ3FzbVVzWE93dGxWbmFXQU5vWUQ3WUMwZGdYV0tFcHFyNFJqMkVZMzQrUDlPZ3hpeEJlbHBLaE5iaG02UkRncTRBenE0d0xJN3NENmh1RUdib2QzRE1vWDExd0FHRnNZK1J4bGZhRnQxbGdiV3VHVFBwN2N2c0xveUtDNXZEUnpUZHRHSXplanJra0thMEpDUGRQUTBFM3NSUFU1UXdNK2hnd3NzcXdOcmVSR0ZaYzZFQVd2R1U5alFzUUVNTEF4cm80UkpsK2xhZFpZRzFud0tlQi9XVWg5WXNaRVVWL1FxblArd2QrZS9VVlZoR01jZmJlQnhpVE5HSnJHMUJVdEJGaW15Q0FxMktrSUJ5MklVUlZDQ3VCQUVJWVFLQ0FJcUFvcElGQk1DQ2hvUU5HNWhjWUdndUVCUUk4WWxCRFZCQVltQkJBMHV2N2ovWUF3aFJKR1dlVy9udmVlK3gzcytmMEU3N2Juem5Ydm52TWUxRlhSaUtZNzFJSjE0QkduMFlJUlhwbXNwQlQ1R0RFSmdtUTZzS1JUcmVUdWNtRnhKc1c5OURDeVVQQnozeEVpZkE2dmE4Mi9lcWdmV0IxV1VxNGgxRjBwUXYyZm94RGdjNnh3NjhTaFNhRktSYkViREVlOVJvRE5pRUFMTGNtQk55RktxNGhNNHNybUlVcG5aUGdZV2Nsc3BWelF6cGxWbk5MQjZVNkFQek5JT3JCRzlLSmZaaGNDNW1pcTY4R3hKTXRQak9RZnBjeUJTSjh6TE1MK0thdWdMZ1dVNXNOcFJLcnNkenN5aTJFb3ZBd3VZenlOaStrSzN6NEUxalFJYllaWnlZTTI3a2hGY2hjQzk5WFNpU1ZMbkgvNk0xT2xhS3B2UmNGU2ZwTFlMaE1BeUhGZzdvNXd4NnRDYmxNcCs3R2RnNVc2azNNSjRWcDNSd09wQ2dWNHdTemV3Nm01aUJGTVJ1SmRiUkJjNjlzWi9OUzJsQzVYVGtEYnRtZDhPL09NclVlZTBncm9RV0lZRDZ3OUt0U3VCUTIyT05GQk16NG9zQkJhSzc2UFlBN2xZVnAzUndFSUZCZXhlOGxVRHE5OE41QkZKSHNjUm5OQW5kT0lqSE84WE9yRUhLU05xNWhuNGx6RVVtQTUxSWJEc0J0WTVsRHFsQms2TkdraXBDWDRHRnNxK29kZzdzYXc2cTRGMVBRVW13aXJOd0dyOUFpUFlIUTU0VHNSZU9qRUh4eHVacFF2M08vMThiY0JFNXRjMytxaTY5L1VQZGd5QlpUZXdQcU5RZWN3RDNJLzNWaEdGZnZJMHNIRFIyWlFhazR0ajFWa05yUEVVdUJ4V0tRWlcyeldNb0U4OG82S0RQQzRzb2d1TFVaK2xkR0l6MGtYeTZYY3QvcTExZHdxOEJHMGhzTXdHMXIxWkNxMkRjNnNwbEwzTjA4REN5RkpLdlJySHFyTWFXRXRGUDd6WnV6VjZnVlU4aFJFc0RnYzhKMk1RblhnRTlSbEhKOW9oVldabm84OWYvVFNlMndFcWwvb1FXRWtFVm1jS2ZaYkFtMW5KWWdwdDhUV3dzRGxMb1JmaVdIVldBK3RiU2p3Rm85UUNLM2R4T09EWkE0Nk9CR3hnbm5yeFRYUWgrelRTUkhJSkdveGozVnpPL0RMem9Dd0VsdFhBcWo2WE1pM1YveWtrbnF1a1RLZXh2Z1lXUHFYVXpoaFduZFhBV2tDSk5UQktMYkFHTVlMK2p5RklSQzJkV0kzNk5hRVRkaC9KeDZCYlpXT0dXcTJrd0ZZb0M0RmxOYkRFMSsvMlNFUVRrb3pqcjJVbnNNbzJVV2h2REt2T2FtRGRUYTl2WVdrRlZ2dHd3TE1YTnRLRjhydFF2NHRhMG9YbWx5RTlwaksvM1kwNnZKRE4rMEZYQ0N5amdkVzJHV1VlU09BQjRXRnREbEZtWUltdmdZWGJLaW1USGFtLzZxd0cxbENLTEl0aHFJd0dwY0NxelZLdWRBV0NaTXlrRTFQUWtJL294TzlJamJLQmpkdTlmb2dDNjZFckJKYlJ3RHFKTXBrWlNNak9MR1dlOURhd3NJOUM4L1ZYbmRYQUtxbWl5RE13U1Nld3hwV0hBNTY5OENLZHVDWHB3aHV2UDJIQXFyVVJaelFjTlowQ3R5cFB2QWlCWlRTd3JvbnJPK1I2ZHNjenFjRlNZSlgwcGN5QUZ1cXJ6bXBnNFdUS2ZBZUxWQUpyWWFkd3dMTVhIRDJodXlLSEJpMm1Fd3VSRmh1WjMvNUdiM2NZQjFVaHNHd0cxaVVaaXB6WERZbXBia21SOGpyOTkyOUhnWVVWNVpSWnJyN3F6QWJXNDVRcDN3K0ROQUpyUmsvS1paWWpTTW9lT25FR0dyYVdUcXhFU3V4a2Z0ZTNRajBPVXVCa3FBcUJaVE93ZnFETUFpUm9FR1hlOVRldzhCZEo5WFhwZDJCZFFLSE1OdGlqRUZpcnVwT2s4VTBvZ2JzcENhZDNRY1BhM2tFWGlpWWhIYzVzOUo3T3Vnb0tQQVJOSWJCc0J0WXlpalRyaWdUVjlLTEkreDRIVmcvaDc1aWRwTDNxekFaV2krYVVPbEFHYXdvUHJIdWVaUVN2STBqTXEzUmlnOG9kM3dJZFJDcFVWMFNmMFhEVXI3SXpKVFdGd0RJWldITklKckhuSVliOXNvY044emV3c0M2R0ExZjlEaXlzcE5qVjV1WVRGQnhZb3hZeGdqY1JKR2NOWGNnT3hZblVWZENGQVVhMzdTcWJ6L3plUnYwbVU2RGpXQ2dLZ1dVeXNGNmpTUGVtU0ZTL1Vvb005aml3V2cyaHlKM2FxODV1WU8ybjNLbXZHTnZlVkdoZ1hUYVhFZXhJYUloS2NOaThERjA0UytHaGxvSmFwSURvVE1IUmFNQW1DbndKUlNHd0xBWlc3bGJTK2I5Q1hCOG5TQzd5T0xEUVh2ODJuZWVCMWFVbkkzaGpOaXdwTUxBNm5NWUl2Z2dIUENkcEE1MDRIeWYyTXAyWWl4VDR1cUFYWXJ2dzFDTTlJYkFzQnRZRWlsVDFRTUl1N1VpUkVSNEhWb2NyMVNmV2V4NVk2TXdvS202OEZIWVVGbGhsbnpPQ1Ixc2pTRTZIWG5TaGZ6SHlXRUluRWh1SjZFNXVQUE9yTFhERHdYYm9DWUZsTWJCK016OEQ2NmdkK3ZzSXJRVVc5cWcvSS9ROXNDWXptcXFETmJDaW9NREt2Y2dJbHRqNXJWUHBDVHF4RC9uTW9oUGY0My92ZkVtdXRFS0RCcnUrRlJnQ3kySmd6YVhJY0NSdU5FVk84em13YXFvb2thM1RYWFdHQXdzYkdWSHp5NnRoUTBHQnRaVVJMQXNIUENlckwxMW8yUVA1dEhaekswMzM2OWttWGNmOEhrZkRlbmVrd0Z0UUV3TExZR0NOeWxEaURSZ2d1NGlWMTNnY1dQaVFJdE4xVjUzbHdOckZ5RHB0R1FrTFJJR2xzZUYrU0ZvR0UxazFtVTVzUVg0SDZNVC9maVRJMEt6azNPMkNIN244Q1RVaHNBd0dWcTMyRzNxTXRsSGticDhEYXhXcHV5eTlENnppTVl3dWM4MjF5Z2Q5T1E2czV4bEI5MkVJRW5VZm5ialh6bmJHSWZiR3p1bjZzZUEzNCtFVUtOSWJMaE1DeTJCZ3ZVMkp2OW03OXg4cDZ5dU80eDg2d3NlVjdBNGxFM1VydWhkRWJydUlDTUttT2lJR1hCWXZYT1Vpb3FKUWxUS1drdHBhYTZGcFV5SWhjcFdnaHJZaUJBMEdqSGlKb2pGZThSSnZlS05XaUZxcmphMXBJVURhRkpMKzFNVDBCK2M4TStkNzVqeVAzOWNmd0E4azM1bjM3UE45em1rYkJ3ZUd0MUppZVpvREM0OVNvbDhmMVZQbk9iQXdoUlU1Zm5zTlZ6dFZHMWgvYnFCY3l4NUVOWFZWT3kyOERZbVBhV0liTXUyYzc3Tzh4ZmhHYXltd0UxcGlZRGtNckU1S0hJRUw3MUhpb2xRSDFsYUs3Rlk5ZGE0RHE3Q2FsY2xObXRJZnRWUnhZSldhS2RmMEVxTGFPbzRtcGtEaUhwcDRCNW4ydWNLN1Juc3AwRk50d0dRTUxIK0JOWThpVDhLRnZSUTVMODJCTmFxSkV2OVVQWFd1QXdzemNxeFUzY2czVVR1VkJ0YmlGc28xZEVOVVc0Mi9vb1haZlNCUnVJa21ya0NHblNHcGcxZkwvU01US0xBVlNtSmcrUXVzOFpSb2NUSmpaMWk3OGlVc2g0RWwvQXYvUDFSUG5lL0F3aXhXNFlMdGkxQWpGUWJXTDN0U0xsK1BxTWFPMHNUdGtObENFN09RWVhlTFpqU29mUGh1MU5yQUVBUExYMkE5UTRuZndvbXBsUGdzMVlGMWpCSmRCYzFUNXp5d2VzeGhOWElQSGh5TVdxZ3NzTlpjeGdRK1IxUnJuOUJDMHlyZFdTL1Y2bkJ4TVRlUXRTenZLNVF6dkkwQzkwQkhEQ3gvZ1RXZkVsL0NpZjJVZUR6VmdUVzhtUkxYYXA0NjU0R0ZkVGxXcCtQcG96WFlUMXRSWUowN2x3a2NSbFJyZjhqVHdwOGdkUjlOREVSbS9ZQ2lHUTFsSGFMQWV1aUlnZVV1c0hvMFVDRHZadjNJUEVxMG5wYm13TUt6cXRHYmljRENpYXhhMjRYano0S3RTZ0pyK0FJbU1OVFpldXR2cGNNMHNSdFNTMmxDN2RtV1AwdVUzdnhhbXRlYXZxSDFVUjhEeXpLd3JxUEVRcmd4bHhLL1MzVmdmYVg2SERRYmdYWHlBQ3JvOTFaSmM3bHFpTUFhTnBFSjdJc0xubXV2eHltMDhHUElyYWFKMTVGUmk1cFkzaDRJdkUyQmtWQVJBOHRkWU5WVFloZmNPRVRWRFpvdUErc2hTbnlpZWVyY0J4YUtGMURGS1VOTGRxTWJrZ2RXLzBRaCtlOGFQUGFNL3Q5K212aFMrWXEyZ24zSXFDL1VnbmNiQmRwMEp2YkZ3SElYV0x1VTM4b0w3bVZLdkpIcXdPcmZwbmxRTWhKWVdOTkZKVDBmR0dRMGhUcHhZRFcrendUK0ZoYzhlekNmRnJyNlF1Nk15YlRRb0RlRjNKWEJYV3JCMnppSEFzOURRd3dzZDRGMUFpVnVoaHZUS0RFMTFZR0ZKelNuZllsT1hlZjNsUHdVd2Z6OFZLcXBHMXF5YUt5a2dWWDRLeE80Sy92N2R0UGdJWnI0ai9XZFJZbGx5S1JqaXNHN1hYSENtY1pIZlF3c3k4QWFUWUViNFVlaGpnS1QweDFZajFEaVE4VlRwMllRd3Rtait2YjU2S0dsNEJlWWtnYld6cmpnT1gxNjBVTENsWFdybW1paHpzbUFSR1Yzc3J3dlZHZG1ISVNDR0ZqZUF1dWM5RDFwWDArQi9PbXBEcXh1bEtoWFBIVnFRZ1lXMWluZkpwNzlsOEREcUJNRzFrL2lndWYwT2ErVkZqNElzbU8yYWo5REJuM0k4cHB2VXgwMU9SRUtZbUI1QzZ4YktiRUpqaXhUSFJMbE03Q21hVDR6eUZCZ1lhbjYxWktGM1ZjaG5HU0JkWUFKdEN4RzVNRWxOREVFeWV5aGlabklvSGRaWGk5SVRjL3J6dUNJZ1pXZXdOcEdpYnZoeUdPcTMvTStBNnV4WFhFQmQ1WUNDL1B1b3JibTNudURqWGxQRkZqYmNwUnJXb0hJQTZQcjVBc0tTR2dzVFdTdzg2OXNZSGxQUVd5UzFkZDZEQ3h2Z2JXRmhtUFFkUHlRRXZ0VEhWaVlUNEZIRlUrZG1zQ0JoZXQvVFgxMUx3UjYzSllrc0lhMFV5NDNCWkVMUmdNUm5rTlNHMmhpQ1RKbmwvSmY3a3BVZmVRWUF5czlnWFdZQWpsWHczYUtxbk1hbkFiV0VjV1RrcTNBUXQvbERHRnNmWWpydWdrQ2EzY0g1ZkxIRVBsZ005THoxQ0tTR2p5Q0ZscHJ0a2s5bEdJLzVidG5oWnNVYjN4VS9WRWZBOHN3c0g1UGdRbHdaWVRtN3lxbmdYVXhCZko5OUU2ZG11Q0JCV3hvWXdnalByc1MydVNCZGNWb0p2QVJJaC91dFZsRHVBdkp2VUVUZjBUR1NCN3JkQTFHQWpzb1VGZjlIcThZV040Q1MvVHo2dzY0TXBNQ0E5SWRXRnNwTVVidjFLa3hDQ3hNWDhnZ0dpYVZvRXNjV0wvcFpBTG5JM0xpR1pwWWl1U3V6dEZDcDhvSUp6OGFqMmQ1bnlLSllmMG84QXNnQmxaWTVvRzFVUEV5dFpWOUZCaWI3c0FxVVdLNjNxbFRZeEZZS0M1aElCTVBxbjVkU0FOcjBaeTQ0RG1WaGlrT3YvMEc2MUdKOTJpaUd6TGxGcGFYKzFHQXF6Z3JxejdXTWJDOEJkYU5GSGdFcnN5aXdOeDBCOVlNU2x5amQrclVtQVFXVUpyQVFEWnY2UUUxd3NBYU56TXVlRTZuZ1RSeEF5cXhnaVpPUUtaSW51cThIK0s5eE9wWFo4ZkFjaFpZaFZhN1BVbHFObEdnSTkyQmRUVWxqdXFkT2pWR2dZWGkrUTBNcE91U0lwVElBdXYwKzVuQWQxeTljL0x0VmppSkZqWTNvaEtGbFRReEF4bHlxOTVQMjYvcGJmSTlFd1BMV1dBVktYRUFydXlneEdtcERxeWk0aFRsYkFZVzhHYTRMN2V1N2txdkZJb0NxOC9IY2NGelNnMmhpZTZvektVME1SSVo4bmVXOTJLWVB5Ym1yNDJCRlpaMVlLMUs0elAyVnlreEx0V0JWV2pXRy9hVjFjQkMzNCtVTitkOFRlZEFsYnRZa3NBcUhtRUNHK09DWjBjK29JWDJNY0QvQkxoY1hiV1dVY2lNTVdleXZBMUlxckNBQXJOaVlJVmxIVmkzVWNMWnpPZ2JGTit3OHhwWTZFbUJIWHFuVG8xaFlBR2pMZzYzMG5ianc2aWVKTENXTTRIWlp5Tnk0MnliOS9SZVE2VmVvWW52SWpNMkJkcHcvUytMVW8yQjVTeXcxbEJpSFZ3WlJJbWIweDFZbCt0TlE4cHdZQUhUZWpHWVNmY0NCb0ZWMzBDNUp1UC8zK2kvN04zcmoxWFZHY2Z4WDNxVUh4WTdSK1dZenNEY1o1QWFHSmtnSXRVQllUQmNnc3BFUmV1VkRKZFNkQlRTS2pWbzBWcGFCNUZpU3dVTUdvbTNpcUZJcGZEQ0N4WkZUVzNqWUUzSDF1SU5HazFiclRUU2VHbWI5Z1ZKWDFEMVBIdnZaejE3clpuMStRUG14Y3lzYzc3bnJMMmU5WG4yMGNUTk9JenlOWGlaVGExRUgxRjdoYU9Sb00wVEtiQWxCcFpUMW9GMVlZaTNUYTJreFBLd0Eyc0dCVmJvclRvMTVnSFErUVc2VXJkdGdrRmdEYml1U0xtR3JZZzhNWHdtTGF6QnA5QTh4SlBkWGVnamRqaVkwWERJTHlody93a3hzRnl5RHF6cktmRWJlS1dIRW5NVlg0QnlDS3lCRkhoUGI5V3BNUThzNEZ1VDZjcTBEUWFCaFVlWXdMQ2xpUHl3bnlaKzVuaW9rNEljWGlIZHVJamxmUUk0Ry92NlFRd3NsNndEYXdFbEZzQXI4eWh4U1Q4SXJIVjZxMDVORG9FRmRCL2phaXVrZU9vQTk0R0ZzNW5Bb0Q1MUtqNWt1MmhoY0MzU3Evb3VMUlJub1UvNENRVzJJcFgzS2ZCUURDeVhyQU5yR1NXNjRKV3RsSmdWZG1ETm9NQzFlcXRPVFM2QkJYenR5VWE2TWJYSGZXRGhyRVR2dUJjaThrQTNUYXh6LzU2Ym5XZkRxRjJlQ24yMjVQTFJscVhPLzlneHNPd0NheU1sbm9CWFhxWEU0ckFES3o3a25sVGJ2bFBvUk1XSGxjNERxM1F4RXpoM09hTDhIYVNGK2lYSVl2WW9XaGlVL2FaaUR5d3VzTHlmSTZVN0tMQW5CcFpEMW9GMUdpV0d3Q3NiS0RFKzdNQWFSSUZ6OUZhZG10d0NDNmlkL25VNnNYbXM2OEJDNlZZbWNQeGlSSGs3czRFV3JrRTJyVFR4SmZRQnYyUjVSNlZPeVg5VG9MRXRCcFk3MW9IVlJvbXI0Wlh6S1BIdG9BT3JzcUEzWXIvZkJCWlFPcW5YeVdDc1JYTmRCeGFxam1ZQ2Q0NUhsTE1ETk5HSmJMcG9ZbExtbTRyek4zb295N3NGYVkwNHhmV09jQXdzendKckRDVmVnRmR1b01TQW9BTnJDaVYyNkswNk5ia0dGb0QyTFl1b2I5aEMxNEdGNnNsTVlIVWM2SjZ6MHQyMGtEMWN0dE5FSjRKM0Rzc3JuSWJVL2lucW54RXhzSnl4RHF6aFJiMkI0V2Flb1VCOUtlakFtcTk0eDM3L0Npd0FDMDdWMzd5cHVNNTFZR0g0WmlidzE3R0k4blFYVFdUZmVwdE9FOWNnZEpXTFdONFBrRjViSTUzY3d4TUR5OWZBUWcwRjdvVlhidEg4TC9JMHNCWlFva2R2MWFueElMQ0FjYS8vVUh0dVE4WGZYUWNXbXIvSUJIYU5ScFNqNDJoQjRlSHhXcHR4cVBWTEVMakhLUEF3TWppR0RrOHB4c0R5TUxEbUJIaFplaXNGcmd3N3NIWlNZcVBlcWxQalJXQUJPUGxJNWEzQzRpT3VBd3NUT3BqQVE5bmZleU1BY0RnM01qT044UWZ2MElSbm44T1RlOW41am0wUEpWYkd3SExGUExBNktQQW12UElTQlg0VWRtQ2RTSWt4ZXF0T2pTK0JCV0RleGJxREd3NjREaXljK1UwbXNMWVdVVjYyMFlMS0FNL3YxTlBDQllIL085NVVkTDlqMjBHQjEySmd1V0llV09kVFlCSzhNcEFDcjRRZFdOc29VRkdsdCtyVWVCUllRRlhQR1lPcHByaktkV0NoL2N0TTRKVVRFT1ZqaEc2N3UzM2x1WWNtVmlGb0J3MTJiRjl3VzlVeHNId0xyRllLRElOUEtsc29jRi9ZZ2RWTGdabUtxMDZOVjRFRm9PcWsxbUZVTXFyTGRXQmh5ZVZNb0xjS1VTNTIwSVRPSmNvcmFXSU5Ralo3Sk10NzBlUjV1TjFPejMvNUZsZ3JZTWM4c042anhPM3dpR3c0NmhGaEI5WWtDdXlLZ1NYUzlLK2phNmhpMmhMWGdZWGxsektCVFpXSTh0QkJDMU9WL3J5T0J2QWU3bVlFYklYakdRMkhyS05BelJTa3N6ZkV3SG9iZHN3RGF6MmRuNXpRdGtIMTYyby9BNnU2amdKUHhzQ1NhbHE0WnlnVmZLL1pkV0JoMWt3bThEaWlIRHhQRThkQ3gwYzA4V3VFcS9wY3hRZFBQdHY0T2dxOGdYVGVDREd3SG9BZDg4QWFRb21md2lNSEtERXY2TUNhUzRsM1ltQWxVUHZvZjQ1aVprODVEeXdzbThnRS9vVEkzaDVhYUJnSEhRTlVQbDJVMWRLT1lPMTNlNzd2ZjI2a3dKd3FwUEowaUlGMUl1eVlCOVo4U3Z3S0h0bWtlUldocDRHMWl0UzdkVlFXV0JWS25vTy9obC9kZWpvL200TjdvOUlFRnJwcWVJanFabmlrWjR6TkRjcFBRY3NaTkhFa2dyV2Q1VjJWZWFxK2RNTGhUb2VYblBnV1dCL0JqbmxnVlJjbzBBR1BQRXVCa2FXZ0EydTM1cndVVVdBTlJQOHc0UzlyQzh4aTJoVG5nWVhmSnNyQXZZaU1QVU1UeTZEbHNncGF1RC9ZUXhjOUZMZ0JDcjVQZ1k4ZFB2RmplR1p0c09MM0JDck1Bd3VyS1ZEbjBZU1QwUVVLWElTZ0EwdTBDTmtlQXl1TjhXL2Z6Y000ZStvcFhXRGgxUmJLRlY5SFpLcHFEaTI4QkQxZm9ZbUZDRlN2d1l5R0pMc1QzZTUrZGlQTWZKVUMrMkhIUHJCNktiRVUzbmlZRXU4R0hWaE5MUlM0UW5NNFNqOEtMS0RVK1c0RDB5cDB1dzhzN0t5blhIRTlJa3NMYWVJODZIbU1KdFlpVENkTDF0czJhS2llUVlGTlNPTlJTdGhOenl2b1AzUVJXbUQ5Z1M1UE5UaHdCQ1cyQkIxWVF5aHh2dVp2ckY4RkZvQXBUNi9tLzFQOXZXY0pMSHhRb0Z6aDk0Z01yYVdGUzZ1aHAvSnlXaWh1UkpCZVpIa1Y4NkZpQlFWYWJrY0tuWlF3dThTMGlSSmJZY2Mrc0dTWDN2ME8zbmlaRXJjRkhWajdTTVdoZHpHd1BsWHB0dU1xZURqdHFTV3BBd3M3aXBScnRQd1UyTy85Mk9hQkp0MEJqSHRwNGg4SVVmTkVsdmMrZE13ZTVXeStlVGNsdmdFall5bHhQZXpZQjlaOFN0Um9mcGpLcEdtazZpRkNQd05yT3lXbXg4REs2TEsvdFRDRnR5d0NDMzltQW5YZVRzZm9nM2JUUXAzdWVPZXhEYlJRTXdFQk1wb1Rsc1FGVGM2R2NDK0drVFpLS0gweDZHbGdsUWFwanBWeWJpVVZMNUh4TkxEYUM1UjRNQVpXWnUxbkQyVnlYUmFCaFd1WlFFTW5JaHZOQ3VQVUJQNElYUWRwd3F1WmlVS2xLK21mNlVodUhDVnVncEVIS1RFR2R1d0RDNXMxWjFyK2w3MDcrNjI2NnNJNC9nanFJMVRPVVRscUs3elFscDRXclJWYlNpdjZGaFhIVUtNQ2FtVlNNQTV4SUlRS3J6Z0U0MHdVakRPaUlJcEc2NERFSWRVNFU0T0V3U21PWEJnakNkRWJqVWlVcUlueHdnczE4dXJhbkwzV2IyKzdQMzhBRjRTVDh6M3N2ZGZTOXdZbGxrY2RXQU1vTWJDUUFzdUQ1czFWZFBXZVNXQmhNeDBVTnlJeGNSVk4rUDVOdTRBbUx2WXdLOHJhVWdhb0UrNEsxUlF3RzFWNEFBVXFQYTJEQ2pXdzVsTGlhQVRpTE04ckprSU1yS2Y4Um1RS3JMODN1N1dTYmthMG1BUVd0dEJCMlpsSUxOeE5DNTN3N1ZhYU9BRFJNWnBoNFdnRzNMVlRZQUNNZEZOZ0FneGxFRmhQVUdRYWdqRGY5eGxPZ0lIVjB1QTNJbE5nL1pPSHhtdWRnNVFXV0lWV09oallnVVRmS3pUUkRkOFcwY1NOaUUxSG5pRmFycldEL0dzWTJTKzRLZVlaQkZaakpVTmJlZjAzVmxEaTRMcVlBMnNyUlRhbXdQSm40aGwwMFdVVFdDaS9tZzRtV0Y0WDdiVitvSVZ4OWZCdDhGUmE2R3QyaDlxWDF4bWt2anZ4Y2Y3STY1RElVbjBWM0lTQ0RBSUxMMFIwUmxnNGdaNFhEUVFZV0hkU29xdzJCWlpIelU0cGs1dHRFMWlvMklzT0hwbU9STmx0UTJuaFovaTNnaVkySXk0dEplOG5WYklGemxvcDBBZEdobFBnWVJqS0lyQzJNN2hwRmYvWHBSUjVNK2JBZXBRaWMveU9adTN0Z1FWMFYvRTNQcmVTbFJwWXFOdUhEcGExSWRHMWlSYjZIZzcvMnFwcFlkd3dSTVZvc2FTNzRoaWRmNTBud01qRmFnTy9ZZ3FzZHlueUJnTHdqZmNZREMrd0.125remVEkraFJZbm5Yc1Q3R2ZyQUlMOVQvU3dmbVhJZEZVMjA0TG4wRERISnBZajVqVTdzdFE5Y0RWU2dya2pFYTVEeE1GL1VvWXlpS3dLbzZpUkZrTk10ZFVwTVJGaFlnRHEya1FKZkp0S2JCOGErbWlWTDhLcThCQ1l4Y2RUR3BCb21naVRSd0NEVE5vNGpyRTVGTUdhMWs1SEYxQ2lYZGhZaTBsMXNKUUZvR0ZqeWt5RDVucklYMHZ5Z3d1c0E2a3lIR2V0emVtd0FKUWZ3eWw1cHNGRm82L2pnNVc3NDVFei91MHNFeHBtSlROaEFsZWdvaXNacmllaGFObVNxeUNpWjdnNW94bUUxamRaSERQS1hlb01KTWk5MFVjV0lQUDhiNm9MQVdXV04wOUZIckdMckJ3OWt3NitNRC8rN1BFK0VWL0QzUU1vSWxERVk5ckdiRHhjRlhtZDFCeVNSNm5RQkdXTWdtczVtb0d0L1Y2aCs2bnlJZ3hFUWZXUEhxZlM1WUNTMjdNSk1xMEdnWVcvcnNISFF3ZmdrVEpPbHBRVytoWGN4UXRERFZiSjF5NlZ4bXkrU296QWZhSGlmTTlIOFY0a0VsZzRUU0tQSVdNZFNrTWFBc3NzQ3BtK2YvdnhCUllEczRyVXVSMnk4REN5R3ZvNE1aYUpDcWFpclR3TXJROFR4TzdJaGF6YlY1VzdvaktESU1ORk1ocEJmeWYxRlQ2dnM5VHVtd0NheDVsTXQ3RnNaYitUd2hEQzZ4N0tmTnRDaXdsM1JScE53MHNURHVSRHQ2elhPL1ZtL1RRaE40MjN1dHp0REIxTUNLeG1VRnJHQXMzcXloeElRd3NwY1RKc0pSTllMVU1qV0lKd25DS1ZEWEdHMWoxN1JUSlQwK0JwYVVQSlhKRFRBTUxVMGJSd1FhbFM5SzkzUnBhR0E4OSs5REU1WWhEL1NpRzdVV1Z6WGNtd3owblUrSXVXTW9tc1BBaFJmS1p2ZzY1aFRKNytmODZOUXVzL1NqekFWSmdhYmtpNy9FU25MZkF3b0orZFBBOUV2OXVvWW5Yb0djcFRaZ05DNC9qMXYvT20xb0hKNGRSNGtTTEgyRG5VTUoyY0Y5R2dUV1JNdjJSb2RXVVdScHZZSTA4UXVNVU5BV1dteThvc2RBNHNIRHVhRHA0SG9sM3kybmhrUXJvS2N5aWlTbUlndEhjaWhJc2dwdDJTbHdBZFZNb3NTOU1aUlJZZFdlb3hJdFh1MUNtdlNMZXdQcU1NdU9HcE1EU3M5TGpzaHlQZ1lWRFJtaWVMU1NoWElqZURacjJwb2wxaU1IYkRKN3JLN3VmR01oK21oY1Z6cHRLbGxGZzRUbktMTWxzelZUOU5aUlpvWERqeGlpd1hxUFFUVWlCcGFlbXlsL0ErQXdzdk5WQUIwOGo4V3M3TFRTTWhhWmpiVlliano0ZUVUQzZrVmFTYytIa2MwcDBRdDBObFBnY3BySUtyTlB6b2Y4dTNrNlozUFJvQSt1d0NaVEozNUVDUzlNWEZGaHNIMWg0c3BKeSthMUlmS283aFJZMlFGY3JUZGkrRHRzNTAyemVWSmJtQjQxbE9mb1RBVG9vY2dWTVpSVlk2RStaSXpTMnZBczhPb0l5cDJtOEdiTUpyRDBwZEF4U1lHbmFSSUV0R1FRVzF1Y29sNzhYaVVlTGFPSmE2SHJJWmhqOWtnaEdoZnpDQ0ZTT2hJdkJWWlI0SGNwa2Y3Y0gxOEZVWm9GMU9ZWDZXTHcvK0l2eUxnb2RGRzFnTGFMVUt5bXdWRDFKZ2NsWkJCWWVvNE8rOXlIeDUxWmF1QlBhK3RQRVFvVHUyTkdNd1VrYTJ6TC8wd1JWallPQ2ZEYVhXV0NWTHlIcDhYS3ZaM3RUYUUwaDFzQ2FOb2hDTnlBRmxxb0YvaVlRK3c0c3JLS0Q2bWVSK1BJQVRheUV0bDFvNGlPRTdsdEdvVjhqWE13TjRudjhHWXJNaGEzTUFrcytvN2g0UGN4MVZGR29XMldzcEVGZzFYZFM2cVVVV0xxYUtUREgyNWZaN25DeG1BNkd2b1hFazV0cFlhRCtJc25hZGxySW5ZZXdWWnpGT0d5Rmk0MFVtUVJWcDFKa0kyeGxGMWcxb3loMHF2R3hLVEJrRW9WT0dSWnJZQjFLcVpubHZUQ3cyaXhQcHV2OXJUWHdIMWk0aVE2cVppRHh3dWoxM1dMbzIwUVQ3eUJzMnhpSldlVndVRDVRNTNlNmsvdUY4NGFzTCtwbEYxajRNdHdQem1SS3ZhbXpHRVUvc0hhbDJEYVZQenZ3d1ByNEUrVTdBMzlVeUhuN0ZDb0VWbUVkSFJTdGZ5UCtXOW5NajZyOEgvU05iYUNGZmpVSVdoZGpzVkRqc2RRYXhiZ3BkRkxrVlJqTE1MQXVLMUlvWjdJcThuZmZVV3BjVTZTQnRTMG5IenhYNklXQjFWYk5XUS9DU3AyLzEvUUtnWVhDVjNSUWRpV1NYOW03RStjcXF6T080dzhHK0JGUzdvWGhGdTR0SVNzMzRMQ0VKWWhoS1V2WWtTYnNTOWxSTUVoRXNXR3pyRldreUJyR3NnaU1BZ1prc1JUWnRhMExVcFl5VHNDaFVwWkNRZXlvVUlzTXRSYkh6ckRZc0JqTzg3N25QTys1SVorL2dDMlg3MzNmYzU3SFBhRUo2REp6RjZkQ2hOMjNXUHNpWXB3bWprNkdac1FiT09hM2o0UjVHRmkwR0tyU3pXMTd2NHRaaVNabksxb1JXSnZyUU5sZU0wL0g3QTZzWXdCYUhTSWhiYURnb3JaUG1yTEVGTG9DaHNyRHFZUnJleUZpTTBsNEJpSU1IL01STzVUaE9UL3JSN2h0UEpRc2pTVkRRazlBU2RKREpNekx3R29iRFZVckJQOWdCaytIcWxFMUlqT3dac1ZBMlVKRHJ4K3REcXpyeDNKOVZRdysxQzZzbDc1cCtrWUNpMkl6d05EZDl0UEdrU0FERWxvTEhUWE1nb2pEWkMraDk2UjY3RGN5bi81ck1xU0NrU2R6T25nWldKUUxaZVhGVnViVW5tZDJlTEFGZ1RXbE1aVDVSOStQZ1RVUjF6MndnQ1JzZ1lJdlBRd3NpdXNKaGpWRHFJUTdRNklnb1FMSm1BQVI0a2Rzakx5d3NVRGllR0xZRGpYaFJtVEUwOUZRTTRHa2VScFlEVE9oN0tqUXc0U1VEQ2libmh5UmdUV3lzK0U5R3BFZldOMXdRNWNQU1VBdUZIem1aV0JSallWZ1dOR0NTdHpHNE5WTngySWFrSXphalNFaHFUblpLazVtNzVFdUoweThJOFFaTXc5TVQwTk5RaHBKOHpTd2FBblU5VGZ6ZDNPYndHV29XMGFSR0Zodmg2R3UydVAzWTJBVjJwUVp0VGlGalBzTEZHenhOTENvZlJZWVJveW5FaTdFOVlhRXJTUkZKaGhSaFd5MUhRcDgwZVpWaDRvMUtjUndFb3ArUndaTXNIZ1VyYmVCRmN5Q3VqMWtYcUEvMU0wTFJHSmdYVTAwdmtFMTRnUHJIUlN5WXlBWkZoZUdnbW5lQmhhbHRRWkRQOEZUazhYUUFVanc5eUlwUXE4OE94bzdSKzNXNTFCd25NeFRuSy9XZ3hpeW9TZzhtYlJySGdORmZ5QngzZ1lXRGNVTityYmR1aEc0Q0hXK3ZoU0JnZldsRHd3ZnBOeVBnVlVqR29XbGYydjQ0ZWx1UUZzV21Rc3NhbE1WREl2S1Vnbkhka0NDdVkrWk81MkVDRnUzWWE2SGl0RWtZRFZVN0NLR2xGRlExRTc3ckxLYUJWQ1U2VUY5ZXh4WVZCRU0vUTJmdzBwNUhReVhLZklDSy9rZjRJaWFaRzZJcWNXQk5RRzM2ZllVbWZRaktNalVOeERHYWZwTUhnYUdNMkwzVW9vZm9aRkp5MG5PSVloWVNIYjZKeFQ4aWlTc2hKSkp4UEFtVkZYVS9XMTF0cjBEeXkwSXJLZGp3RERUNk42c3VHL0EwTGhONUFYVzVHMzRucjdKQU1VdXNPNThjWjIrVnZmSFFpRk5FelQrejJFeXNDaHZBQmhxR2YxcExkYStnSVFPaHIrdzNpSlFGU0w2a28yYVJsazBCbk1kdEwrdXpQZERWV25TcWd4VStmTkpudGVCUlYrRDR6ZHR5WmkwaGJqRzhFeFlEd05yUXl1d3pFKytMd1ByejdpTGRUOG5VeTVDeFZzV0JCYmxaNEpocHNEOWdHSXBMUlVTS3BHa0J5RmlOZGxvRHhSVUZucm0rekZVSkkwek1Rb0w4RzBnalhiN29Pb2o4b0RuZ1JWY0I0Nmx4dmFYOUJvRGppT0JTQXVzaGszQTQvdlE1SjVEZXdQcklPNG1ZYXVoNVlSOTZ1cThmMk0yc0dnbHE5SHJTejRpS1ViS1FFTGl3eVNwWVJnUzZzaitydFEwckFZRkYwaEdiSGRvLytYVWc3SjRqV2ZOOTlhQnNoZkpBNTRIRnZXcEMyVUc5NWRraDhIUnJDbEZXR0ROR1FTbVQ0MHVrclkyc0I2dWc3dnJ2c3pFZThMZ0lpaVpZVVZnMForcWcrR2dpVCt4WWk4NENCS2FrS3orRVBFYTJlZTMxdXpkdm1ZVlZIU3VUUXo5R0lYMUZXbXlKUlhLUm5qeVdlUjlZRkZwc1BndWhFaTcySzErd1BqNEFnOEQ2L0g2NEhvKzF1amZxTFdCVlFrL2FOR2pwTjFyVUpLZVlrZGcwWXQxd05DU1NyQTlDUkZUU05ad1B5U0luaXhURSt3QUJiOGdLUzJTZEQ0MDV3OFdTZEMwOXZuakpLZzdRRjZ3SUxCQ3U4QlRvSDJXeG1QdmdxZFdJS0lDSys2TmF1QnExY2hzTXRzYVdJRXhLRUxHYzZSWHZRUW82YWx4clh4WmN1TlFYVnluL3oxRGlXdDZRa0lCU1RzQ0VTK1RiYktoUW1ScHhIVVY5Uytxak8wQWRWRnJTWU5UVVp6dTltQkdneDJCUlpPandST3VvUFZwWDZCQ09uZzZ0NkFJQ3F4Z3FYSmc4MmNiZmlacGEyQWRRcEhpOTJ2TisveG9xTmxwVFdEUjFldE5xUGtYWHVLbTUzeVEwSU9rYllBSStZMitXajd6KzVHY3pWRHlFMkw0REJ6SFhTOXBTcDROams3a0NSc0NpODZDNnlPTld5UHpqb0FyMi9RUG04YkFDcFlhQWZDOWFmcWxyNjJCZGMrQk5mRk45QzA4eSsrdSsvYTVRR0RSV1I5dTBMZWt1c1QzemtIQ0FQbHY5S0Zoa0NBNG4xN05OTDkxaTRoZjByOWFKalFmSEZWZkpWY0d2Z1NPRlI3ZGFMWWlzR2dxdUpxZHIwbGExRjZWQ3E2THhyL05hQXVzNUNVNWNHSmo2RDROckhFSnVLZlUvWG1reFpUZVVOUTlZRkZnMFFRLzFQbC9TU1VZYXJTQ2hGK1R2SjBRY1k3c2NoQUtvcldQT0MvS3Z3eE1qdG9FbHZCWmNtRnVHQ3lhVG4xRmFHQ1ZiUTIyK2Rua1hxRFVJTEJsSlVkS1lEVzZVQm1Pakdsci9OcUNwWUYxQVNwOEdjK1FlOW5WOURlOVNHRHhaaHI1TmxFSmRkOUNRdndDa2ljMDN5dkc5ZXNuclFZci9hNGZJVWsxb3ZYZlVRbHNBMC9CcStSUVhrL3d0UFBxNW9NZGdVVURxNEh2K2ZYa1VyMTI0R3ZWMVB6N2VCMkJWV05UTngrY0NRODNmeS9VenNDSzdRaEY4ODRtQzk1Yy9hdGRnVVhId0JDbFowSGNRNk4zOStneEoxLysxWmFzc1pBd2xid2dNNkVlZGowelBRWUZVVTFKMUI2b3FONmVHQjcxZ3llcFpWa2l2dHBkNjRMSEwzaUJ3TXJBb213L3dIZW1IamtYZUhrZHdCZFZUK0RBbyt2QSt1bWxvODNnVk5JaGdjRWJkZ2JXTXFpTGFUS05uRHZjR3VvR2hDd0xMUG92R0pLMmtFdWh2Yk03NExyNGhibTZyM0xhNURCRUdCZzRZcytPeGRaYUwwR1J4RmpQbVNRcnoyZGcyUDlVY0swNWxVeE15YWZXUk1qWENac0NpLzROUjdLVzFTUkhrdmQ5RGtmT1M5d29jUlZZb2RHNUJmRnd6cjlKWXJLWm5ZSDFIM0Q0RjczWGhoeHBQdHR2Wmlta1ZHRFJWakRVV1U5dU5QaGJGeFRtUCtQNjRiVzFqa1BDV1BMR05vallUUGJZQnhYaS82QnJRY1gwRURHTVN3ZGI1dnZ0aWFIOStVeXdOZE42OHpzeUF5dDRGTTVrL3IwcHNmWDZwREdjK1NKZ2MyQ0Y4cTQrVXBEdTlTamt5QTJzUG40d0pXdzhrRVpjTFZxbWdzUC9pbjJCRlZnTmhzU2g1TnpFTGdEOEh6U3BWT3JKci9hdG1sa1pBREtlb21KSjZKalNkdkpHSjRpb1NQYllBUVU1QVJLMkcwcXVtanViZVZQNFhGOVMxSGRyR09CN2tEeGpUV0JSN1hsd3F0M1BGaEREK0FxNy9IQ29mQnpaR0ZodEg1dXhaZTBMVjhicStIVCtoT2krRGF5M0FENWZ1NjRqaVdGa2swVHdiQ1Q3QW90Q3Z3ZERlQVk1MU9BN0FHdE8vSCtQU0hEbzYvRkF1QlFWUis5RGd1eVZ0VUxpTWlGQmJ1dk1QYjF0NmFteDRDQUQ0MmlENitESXNKYlBLbXdDNkZvVmpyeHJZUGRMNUFVV0RTNEh4NklLVHFpZGh3bk0yamt2Q283bHRDV1NDS3pFY3VvcVI4ZEFveis2L3k2bEZGaEpWWVhsS054bXJRYUhmbHgvU1o3YVRKemNITEF0dHpHd0tQWWtHR0tlSlVjR1p3SFJhMlBwRnBPdkFLaEN4VTlRWmxUVUMrU1ZUeUZpTWRuaUcxdnZQWmJSdWdQMVpnVFZoVU01L2VjV1VjWGo1dmJQZ1VPcHI1QjNMQW9zeW04Rk43b2NQelV0U0VVSXJYenZTa2U0TVVyRGU0a0hZTFhMR3U2emxvYU4vSFJQRmVCRzk1bTV5MXRRRVJac2VHY3B3TmM2YUdWZ1VjM1RZT2c5bklndjdRbWdmSE82dzhRWUx6UEJtRG1RSUgxbHJaRG1TWkJRMmZXYkJrMkdKRURCVnBJM1BoVXF2ak9TYlhjMy9YanVwVWxwZEl1MFNaZHlwMDZIQzIrUWgyd0tyUDl4ZCtmQlhaeDFITWMvTnNDSDg1ZU1UWVp3NUlha2tnT0dFQklJRU1LUkZBaUJGQ2FVcTRCQXd0RkFXNExJMVZJb2g0SHBjSlppT1J6QlFobnBUTUVhR0ptMlVDckQ1VmlFUVdrclVLY0tWcXVEb3FPTzFwbEFJQWNrdS9rOXgzZjM5UmVUZi9JSHNQdmUzZWY1UGpqZmxVSEtYcDE1c3RzUG9sRkh3dlNkaFJXVmNRelN3SWtJbnV6QU9xZWdyN3diV09NWnRPSk41NDZPV1pLZWpGcDZMYjI5UFN6ZnhLRW1KZ01MWFQ2bUN5UDZ3clhrZDhtWE91TWhWanhGRnNKdnltbkNGZGl6aDBZY2dneEg2RURBeXJiWXQraEU2a2E0RVZuRVlIWEtIVjEwdVR3enMveHkwZWpjVGd6V0V5cHVhZjRJTEV3THVvR3FoTTdKL1hqUDNzeFRCUVU1bVJWcld1Y3ErdTdmOVR3VUVCMVlLdDVmZVRld1psQ2RQcnVHYmlxNkhCYjJXVkhSK0VueERNYTJTS21CaFFHVmRHSGZWTGlWU1g3V0FRKzF1Wml4RitFdmkxSnBRaHJzV1U4anRrQUVaMlA1QjhPR3BYUmtKRndaTkllaUZQZUhUYklDQzJrcVZtbHJrcklWS2tnT3JCd2xmZVhad09wQmtYWkNiR0JoeUF0MFlkZEd1Tk9OM0paUTlhZUV0THQySjZKYVdvRDVDZkNWV3pTaGZmRExMSU5RUWlOV1FvTDlkT0lDckZqdHJGQVM0TW9HTTJlVk94VFlBS3VFQlJabXgxQ283b3IrcHVRR1Z1aW5VTU9qZ1dWb2g3eGJseUE0c0RCbExsMG9XUVEza3ZJWnZ3SlYwbmxQMXcveWNNOHBPeWZxYWJTSkpweUVUYitsRWVjZ1FIaDdPckJMelhPdHBnbGRQQXQzdmtkQkZzSXVhWUdGYmlrVUtWdlZhM1d4Z1JYeU9oVHhhR0I5U29saTNoUWRXT2pYa2k2ODBCc3V2RVBtb0U1Z2tXWFZsWlkzbkczeTRDTlpJVFFnYWdCc2FoSDhzaG9uVWdmQnZqZEVCMi8wS0MxRGFjUGJVb3c5VmwvV1Nnd3NUSXVpUUcxVUhPNHJPckJhcVNwSXp3WldlMG8wRXJJREMra3YwNFV0Ym41NWU4YjBleEJZVzBwTFN6ZDhtRUdXMTNoVy9pdDg1REJOK0Juc09rVWptc08rMTJRSDcrZDY1dUluajZZUTR5Mk12NUFlV0ZpWlFYRUdLbG5mTGptd2RpZ2NGdUxSd0xwWVRIbTJKVWtQTEV5ZVF4ZHVKTUNwMHpWR2NxZVRZKy8rTU1EUTZ1b2FGTXVQNENNL3BBR2g0MkRYWmpPTGRQWlpIQy9wNm1DSU83QWxQWlphemtsY0hrRVJJdXdka1NNNHNMRDdLUXJ6ak1MNmtCbFlUd1EvUWRYemdZVlh5aWhOek5NUUgxaVlPSkF1akkyR1Eydkp4ZlVDQzZ0cS9QUUdPUlArWWVUYlNoRnNHMHNqWnNPMlRNWG5ZQ2wzaFU2RXpJUkxreFZ0M0E5T3huUllKekd3OFB3cWl2THVMS2dqTWJCQzF5cDkydk5xWUtIbllBcnpMWGdnc0xBa3l0VzZpRVRIcDdnRnN1b0gxblh5cHpVT2xoa0cvemhCQTk2RGJmTm94R3V3TEN1YkRveUZQV21rbmptbzV3VXM5SWxUdHF6SGI0R0ZGcGNveUJxbEIzY0pES3lNTjZDVVp3TUxIWTZFVXBJcjRaNElMQ3pJcGdzOUl1RkVZZ3pubzE1Z1JVYVFCM0hQZWhWSFo4cGhZaFdnZ0M5bmtTMXBnczFYUTFXTzBnbkZGMTkzY25WdGkraW9acVJsRUZMVUxTcjJYV0FoOFgySzhZWGFUYlR5QXF0UzljRVozZzBzWUxiU2d4MkRWSllIYndTV3l3RjJmM2ZValp2SlMvVUNLK2tVR1pHRWU1YVRmNEYvN0tOK3Y0ZDliOU1JZTR1YnFpU09vQVA1YW04dmVnYXYzWUpyeHkyL3c4cnVDQW1FQmhZd1RNaTRodTUvaEZyU0FpdmtENGxRek11QmhmVFZsQ0pqTTd3U1dKZ2RUeGRPd1lFRjVNMmFnZlZNd1UvMlhvOGlVOU5RclRONUFQNWhZRXFEaU9rRnZjMjgzckMzUGEvS2JUcHhEVGIxN0VvbmRrVEN0WXRCSDN3WGpENXF4b0lIVFd4Z1lhbVpjK1Vic1VQRjhZT1NBNnZsY1NqbjZjQkM5QVFobnduakZzQTdnWVhGcnVwZ094cDN0ZVk3aUhSV2ExMktCMkk0SHY1aFlNcnkxNURnSm8zWUQ1dFcwNEc0TEZnMWdZN01nM3RMTE83S0xsYTM3ZCt2Z1lVcE4yamRaWldiNndRR1ZtaW1qa0VoM2c0czRNSUlDaEN6RTE0S0xKd04wSVVQMGFpdDVKbWFnVFhuc1hqeTVuT29JVHpBU3ZpSGdSYzdNazZRV1VjajV0b2NNM21hVG53RnU2YUgwb2tiYUlLK2Mybkpqc2tRUW5CZ0lielF3Qk5kUTdvMzEvQjlYRkpnbFUyRERsNFBMR1FaMlMvZnNOakY4RlpnNFNUZCtCRWFVMHArVW5zTjFyaEpUTjJBR25xU3Y0Si82RDhuOXdSa09FWWpiSzdEYVVzbmxIOGgwWFEvZWhGTjBQdGZ0T0xWWHBCQ2NtQUJLK2ZUb3JKMTBFQk9ZTVdOaklZV25nOHM0UHZEYVZmcWUvQmFZT0VhWFFoZDFtam1rZ2RxQnhhMkJqaHdLaDU0a1h3TC92RXFkVHNFR1c3VGlEV3dwbDg4R3lYaDhXQXhIYWxBVTBSbjBvTDNOZDNYL0JkWWFHSG9ZLzFEaE43UmMxSy9tTUFhL0J3MDhVRmdvWGVPbVhuVGp4QjNBZDRMTFB5VExnUU9vUkdqMkNxeWRtRGhDSG1zUTYzNzlGSDR4eGZVYkpTVVcwOW5NOE9rUTdSZDR4cjFINDhNSlhPMjE1R3BzOUFrdnpQdzJidTI3c3JPMUZWQmVHQUJQMytaVnVUcm1xSWhKTEJ5Tlk1ZjhVTmdBY2R6YWMyVDUrSEZ3TUl2NkVMSU45Q3dmNU1UNndSVzlEYnlON2p2RExrZS9qR05tbTJIRkNOcHhPZXdKRG1ERHJ4c2Z5Z1pGdEtSWm1pYTNidG8xSHpySDEyOUZWam9VbUJnODNKZHNUazZGbi9MQ2F5SWRqci9aL3Nqc0pEVUxKdDJmTGtjM2d5czhLL29Ra3dqa2QrT2JGWW5zTEF1aHJFejd2KzZDS1lvblFKc1dXUW5haFg3SFVqUlA1NG1ETmZ6R2FKeHkrakUyN0J2U2lxZG1KVFUxTlRNTWJnck96UlQzOFhOcDRFRlBGdEN3eXAzUXhzQmdUWG5tdDR2QlQ0SkxLQi9oWVc0SjMvWkFoNE5MRVIrUWhkU0RxSWhXYWxzSDE0bnNIQ1ViRGtBZHgyMGZtMVNiQysxQ29NYy82QVJaMkZIQ1IxSVdRUUJYdEs5Zk8rQ21lL0JKRWNkaGpCZUNDeEVEak02VVdONG9jN1hPOVlEYTE5aE12VHlUV0FCMDhOb1d2ZEN3TE9CaFE3bGRDSHVlR09YL3NQMWpzcHAvV0JoK3pmSmcvQ1QzWG9mOW9VTVg2eHluRWFzZ2hVYk5LNGNWMjBCSFJtS0pzdXFNTEtnTmJEWDhsQXhyd1lXMEx2QTJNU0crQnk5ODM4dEI5YU9kNUtnbTQ4Q0M3aXFmMnRYTFpYajRPWEFRdElsdXRCcEpScXdJc0NTeERxQmhabFI1SytyQjJVZGc3LzhtQnFWUUJKREovby9DeHV1MDRtbkljSlFPcklBVFZkYVNlMitsSEM0czBjREM1aCtSZS9EM1QyQnRxOUFMNnVCZFd5TXpwZHp2Z3dzNE9vQkdoT3pNQkhlRGl3a1AwWVhocTlBQXlydW41MDNwS0RndTdoclhrRkI4M0FBWGNvWU9BMS8yVXFObGtHUy85S0lIckJnY29BT3RJWU1yOU9SY2dRaDhaYm13VGVQN3pkeGEvTnZZQUVUdy9RblZ0RlM2R1l2c0tMK1oraDRlWjhGRnREUjFNQzhvamNCcndjV3VteWlDOFVOL2FOYzlDVGpwK0VSdmliUHdHOU9VSnMyMmpidU5FbnlRSm9RTXd2bVRhQVRmNE1Nem5ZOE1xUXZndEdpdWNiRENiTUw4aUNTaHdJTG1GRkVuVUlIbTNobGF5bXdBc2ZhYWI2ditqaXdnS1YvTXZDTit0dGpFRFFCZ1lXOG9YUmhSRVBYN1lNaGJMWHVrVU8zdHVsZVRXaWV4bGRZSDBBVzdWTy83bW9HNDRiMG9RT1RPa09JSTNSa0xZS3o4WTZtb1ZoeE9UWXEybitCQmF6cm9XMTNiMHlQRlREQlNtQjlkSFE1elBGaFlBSDkvL3c0dGNwUXNyZFRRbUNoVnk1ZHlIKys0ZTN1blRxaXZzNFR5RWxUNFQvL1orLytmNkt1NHppQVArMUdMMDRUWWpLTVFQQUxmaGtoSUlpQzA0SEtEYTA3aHFHaFRzVDBFbU5UakducSttSnBibjRyTThYVVpzbmNXVG1Ib2N2NWpmeFNzNnpXbHNQUzNMTDZJVXRYV3Y3ZzJocFdzNllwY0ovalBwLzN2ZTl6ejhkZjhObmQ1KzZlOS82OHZtd1NpOFJPZ2w1ZVVsTDVISW9jMHlqKzZUUWlkNFpEakhBR2ZRUTYxR1BCc1dYL3dsSFFWcGdGTEdDVXA1dFlvSCtocWhFeDZnUFdYTThzS0dYTGdBV2tkSmxvM1U5Q2o0WG1uSEZyRWJBd1o1MEVvUFpWdE04WEs0N3IvWENIN2NkRnBqWEFodDYwNmg3N0RycHBFU1dXUUxIRTZWYk9ScmRDaXhqeUxZS1dzMmVkbUtwbmFRNDBGbllCQzhnWmIvcVRRcGU2eDJlS0ExYlJWOCtPaEdvMkRWZ0FjaE5taWhWbTdnbjZ6NkZXQVF2UEJmUTYxZWVqZlo5a2lFVHZINGpiNUJhbWl0U0hiZzJLcFpyRkdoYXVidWlrZEZIaUhpaFdMa2JjZ0Q3U3haRGFCMkNDYXZNZVF6bkdac1pEYTJFWXNBQ3NuR3JpeU9POFl4VlFTRjNBU2hyMDR6SlRQaEVNV0xkcDhKU0l5UTZXRDRCWk5BbFllRzJjQktDdUdPMTdmcmFJOURoMWFDZ0FJSEhXYnhON2k4VCthci82cTV0R1dGUHRWeEtTcjRJT3hTdmE1YTk2ZWNwQk1lSno2TVBvTzNFU3BzZ2ZQOEdNaGpWWHFVYUhnTFlLV0VES3ZPeGVZb0trN0huV3o0VlNIN0JTTHcvZlh4R3liMVJiQnl3Zy92UkgwOFUwTTErdmhJbDBDVmg0SVU4QzhFcEgxNVFjOTdDSWlCVFZyM0RWM293Zkc3eXdyY05pQlIvMGMwR1VVTnhyT2xtTTJBQ2R4SWtodTJHV0dZM3JIUklFUjllcnVRZ0Q0UnF3QUR4MGJVRTNDVXJlK1VObTFCVnJGYkR5NmhhY3V6Ykx2Qk1SQnF3Mjdid3dLRXVDOStqaHgwMk93ZG9FTEt4MFNnQW05RU1IaHB4d3lTMFo5OWxwdy9OZHFxeG9aKzh6RFBvcFZyUHNzOENjOGthaldwMUduSVZPaHRVNGpTZ3ljMHBrL3N2Tk5kSXBOVXQvMTI5bWU5dGFuQWI4QkUwbFZrY2RqSkZPaVhHNU05VzNsd0E0NHpSWmoram8wYTcxVno3YjkyRlRlb1ZacFR4QmlldW1veUtZS3kzOWgzY0dTK2ZGbEYzMG1weXVBUHpaeXo5Rk44bkhCUktBM1NubzBQekZwNzZmSFIxZDl0YkZrNHF1UDJRU3hId2w5K3Rud1J0SFJZbFNrSjUyTm1WSFMwQktzcHQwYTRlMXR6RkxqcjNmV3dLU3VtSGZrMXFzMmFRdzErL0lnYTlmbE1BNUxyZHVyUUpSVys2dGtVaXdMUk1OWnBUaStMZkYvRDh5WkpyaU5WZWI2d3JFcjRLNnBiNWR4U0QxMGpZMlprOUpGUU95bHIvck8yTFg4bGdLaWZ6TXh2TmxTV0pRd1lyVnBXdXNYWGRKWWU2RTJGK1dKd1hBbDZMRVdwRG1SdTVxOHF4dXFhL0prRHRrakx2Y3NpTmg4OGFuUUNHVjNOQWw2dWpFMnNIU3BxeWV1MDgxaHJvNGlleHJ6cEhGMTI5c210dHUwSEpNS3p0ejlNQ2hFWnEzRlpNR2tyZUkzZjJ4L2QrSkJrcWNBWVdMbERHVjFkWGV6TDk1cTZzcnh5anVRU08vRmszeXpydmtpMXJsZGs5dGRic1hSc1Y5dXRkYkdTNDFjUlR1MGtZOHMrdURTNlgvM0gvN2hoOTIveExsNjc2NWZPL2tVVnF1SWlVOW5SVjdxeG1QbXdZOElpckVQQUVpSWlLS2RQRXVzYkhZN0VYNHp5cFI0Z3NRRVJGUnhMTnc1M1BJMVh0eFM5VmdVY0daQmlJaUlvcDRnOFNtK25nRzRuYm5SWW5OSUNJaW9vaG4yYzduRUJzN0EvL25GU1dtZ0lpSWlHaXAyTkMwY3R5bFRKUTREU0lpSW9wNDg5VVVKNm5VdXpBSGQ5c3ZTalNEaUlpSXFGQnNadmt5dENYbE1WR2g3MGdRRVJGUnhCdHF4YzduMEVrcVRVVGIzS0pFQW9pSWlJak9pWTJNZlJydHlYV0lDdU5Dc3R1ZmlJaUk5RExFUGp1ZlM5YWlBMWRFaWEwZ0lpSWllbHZzb1cvaEVIVGtHMUZpUFlpSWlJaVN0NGtkZEsyQUg2TkZpY2tnSWlJaTJpcmhyNmg3UFB6NVdaVFlBU0lpSXFMNDR4TG1Zck9yNEYrT21vYkpqSHdRRVJFUnZTZmhyZlpCR05JcVN2aEFSUFFYZS9mM1duTWN4M0g4ZFRNdld1MnN1RGluWmMxb3UwQU10WXZWWkVmWmlXM0ZWdFJ1V0NseDRVY210WmFVQzdmV0pybHg0VXFVM0xsVDI0VkNrVXNseWg5QWtscUsvQWM3My9NOTd6NmZlajcrZy9mOXU5Y1RBRFR0ak8yWjZOWEd6RlVjNFZoVkFBQUFpeGszbnovT2FNTytPc1JEQVFBQTZKTXpOZDVRRS80NHhCY0JBQURrMm56dUdoNVZNMnJuSEtFeUl3QUFBSzA1UTJjdXFVbXJEdkZOQUFBQU9UYWZSenBxelorNXp4RTZod1FBQUtDN3prejlvQXI0NnhBTEFnQUEwTkM0YzNMeXBnbzU3UkJIdGdrQUFFQ2ZuWSsrdzV0VTBCMkhlQzRBQUFBTlhIUXVYdDVTWWE4ZG9sc0FBQURTS2VlaGM3S3E0Z2FuSEtGdlhnQUFBTGswbjd2SDFKTGZEbkZmQUFBQWVUU2ZIN3hUaTY3ME84TFdYZ0VBQUVoUG5iaitFenZWc25XSGVDWUFBSUQwbTg4ZjVsU0NKdzZ4SkFBQUFFbnZuYkNwUmtualV1Y2Q0cllBQUFDU2JqNVg5dDlRU1lJV3Y5NElBQUJBMGlzbmF2bWFTck5yaXlQc0hSTUFBSUIwcU1jcDJqRXhxQkt0T1VTSEFBQUFKRjEzZ3VxWFZhcDdNYy84ajJzQ0FBQ1FkaDkzYW1ZYkt0dTBRMXdRQUFDQXBCOU9TOWZ3QVpYdWhVT3NDQUFBUUZJdHJlYnoxYmRxZytwbVI2ZzhFZ0FBZ0tTZlRrZlBaSnZlbUw0N3hDOEJBQUQ4dCtSVTFPZlZKa2RISEdIN3FBQUFBQ1NkZFJyK3NYZi9MbFZIWVJ6SFA2ang2Vlo2SXh3cUpOUENoaTUxK3lVRmhvRllFRjBIbDRZYktFUVEvYUNXQnFHcG9LR2lhR3dvYUtuQUlhS0dobWFqaGxvTW1xTXRhSEZxS2c1M2FiSHBudWQ4aGZmcnozak9jNTczK2lYbGM5Y2hYZ2dBQUNEWjRnb1luVHlnako0NnhPVXUxWDBBQU1CYTE0NDVFL1ZmajU0cHI1Y09zVjBBQUFCSjA0WFZacllxczI4T2NVY0FBQURKZk5ubWM3MDVwK3lHWmgyaHQ4dEg2QUVBd0pyMXd3VTkyYWNJTFlmNExnQUFnR1M4NWxJYXJSMEtjWHpZRVU3dkVnQUFRTkxuUW5xZUs4b21oL2drQUFDQWdzM25TOTN2T3EvdWkwUGNGZ0FBZ0pLYmpqZlFQS3BJMHc1eFJRQUFBSVdheno4L0tOWnJoMmdLQUFCQXlZSmpqYXdiVTdDOVJ4eGgrS0lBQUFDVVBIQ2txVU9LOThZaCtnUUFBS0RrdmVQTXJxaUUrVjVIT0Rja0FBQUFKY3NPc25QeW9NcVljb2dGQVFBQUtHbkh6SGM4ZlV1bExEbEVqd0FBQURyK09NREcvRjNuMVEwK2RJaTJBQUFBbEV3MG5OM21zbC9zWGpuRVJ3RUFBSFM4ZFdhbjdxdXNrOGNjWVdSY0FBQUFFYzNuMFRQbFE4aS9IR0pHQUFBQUhlK2MwWWJ6S3U5czNSRWVGMXcwQXdBQTFaS3grWHlpZjFCVjhOc2hTcitGQWdDQTZ1aDNIdlhtWVZYRGlrTjhGUUFBUU1lMnE4N2gyajFWeFZpK0lkMi9CaTRJQUFDZ1k5SGQxMmp0VVhYY2NJalBBZ0FBeU5aOFhyNnVLcG5iN3dpMTNRS0F2K3pkeTR1T2NSZ0c0R2N6UFZNeUZJWXB5YmtjY2hocWhKU2t4cUVrRWNXRWhZMmRsUmhpb1pTRmJDUktTWXFGa0lXRktDSmxReXpzWkNIRnhscEsrdm9XaHRBY3Z2bDVYMTNYWC9Fczd1ZStBVVpuODdsM1ExVE15eXppUWdBQWpNWWdja2ZQbXFpYVoxbkVyZ0FBaUtZVExkeDhQblFrS3VoZUZ2RXFBQUNpNlVhMnlLcTJycWlpVDFuRWd3QUFhUEhtODdwalVVM1RkbVFKTTFjSEFFQTAzYzBXNkpzZmxmVTFpK2dNQUlCb1dqRW1SMnBWWjVWYkNwYTFNR2IyRjcxVEF3QWdtajdreUhTTTN4dVY5aWFMdUJnQUFORTBhMUtPeE91alVYR0xzb2h6QVFEUTBIQW5oKy9ncGFpK3AxbkV6Z0FBaUthdVlWZEZiZXFmR3pYd09JdTRHZ0FBRFEzSHArZHdUR2hiRUxYUVBTZExXTGdpQUFBYUdwN2swRzFzcS9McjRNL3VaeEhYQWdDZ29XSHB3Unlpay9PV1JuM3NHWmNsN0s5bWx6MEE4RzljbVpGRGNXQkR6VXFmdG1ZUmRVajhBd0RGUE0vQit6Si9ZdFRNd3l6aVhRQUEvSEFyQjJkT3orV29uNjYrTEdIYzlnQUErS0V6QjJIOTJEcEZyMXBZVno5STd3TUFZSUFMQy9QdnRudzdIWFcxZkhHV01LYW05eWNBTUZwT244MC8yMzMvZHExLzVHNWtFZjBCQUREUTFMZTkrVnQ5VDE1TWlYbzdta1dzclYzK0h3QVliYk52Zmw2Y09WREg1Q1dIVjhaLzRGRVdjVHNBQUg3VmZlWmp6L2xUYTl2YkQxMGZ2N2wvWDNmOEo3YTFGeUhtRGdBQUFBQUFBSHhuRHc0RUFBQUFBSUQ4WHh0QlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZoRHc0RUFBQUFBSUQ4WHh0QlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZoRHc0RUFBQUFBSUQ4WHh0QlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZoRHc0RUFBQUFBSUQ4WHh0QlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZWVlZwRHc1SUFBQUFBQVQ5ZjkyUFVBRUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUdBdVlBL29oY3hvVE9NQUFBQUFTVVZPUks1Q1lJST0iLz4NCjwvZGVmcz4NCjwvc3ZnPg0K) no-repeat top left;\r\n background-size: 0.875rem;\r\n z-index: 99;\r\n left: 1.3125rem;\r\n top: -0.25rem;\r\n }\r\n }\r\n\r\n .p-menuitem-link {\r\n overflow: initial !important;\r\n }\r\n\r\n .active .p-steps-number {\r\n background: #91004b !important;\r\n color: #fff !important;\r\n }\r\n\r\n .p-steps-item:has(> .active) {\r\n opacity: 1;\r\n }\r\n\r\n .p-steps-item:first-child::before {\r\n width: calc(50% + 1rem);\r\n transform: translateX(100%);\r\n }\r\n\r\n .p-steps-item:last-child::before {\r\n width: 50%;\r\n }\r\n }\r\n</style>\r\n","import { render } from \"./quotationSteps.vue?vue&type=template&id=293db826&ts=true\"\nimport script from \"./quotationSteps.vue?vue&type=script&lang=ts\"\nexport * from \"./quotationSteps.vue?vue&type=script&lang=ts\"\n\nimport \"./quotationSteps.vue?vue&type=style&index=0&id=293db826&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./quotationRequest.vue?vue&type=template&id=3b55eabe&scoped=true&ts=true\"\nimport script from \"./quotationRequest.vue?vue&type=script&lang=ts\"\nexport * from \"./quotationRequest.vue?vue&type=script&lang=ts\"\n\nimport \"./quotationRequest.vue?vue&type=style&index=0&id=3b55eabe&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-3b55eabe\"]])\n\nexport default __exports__","import AccountSettings from '@/views/myCadac/accountSettings.vue';\r\nimport AdvisorInfo from '@/views/commerce/advisorInfo.vue';\r\nimport BookingDetail from '@/views/myCadac/bookingDetail.vue';\r\nimport Checkout from '@/views/commerce/checkout.vue';\r\nimport CheckoutComplete from '@/views/commerce/checkoutComplete.vue';\r\nimport ContentCategoryDetail from '@/views/general/contentCategoryDetail.vue';\r\nimport ContentCategoryOverview from '@/views/general/contentCategoryOverview.vue';\r\nimport ContractDetail from '@/views/myCadac/contractDetail.vue';\r\nimport ContractExtend from '@/views/myCadac/contractExtend.vue';\r\nimport ContractOverview from '@/views/myCadac/contractOverview.vue';\r\nimport DigitalAdvisor from '@/views/myCadac/digitalAdvisor.vue';\r\nimport ExpertAvailability from '@/views/myCadac/expertAvailability.vue';\r\nimport ExpertAccountPage from '@/views/commerce/expertAccountPage.vue';\r\nimport ExpertBookingOverview from '@/views/myCadac/expertBookingOverview.vue';\r\nimport ExpertDetail from '@/views/commerce/expertDetail.vue';\r\nimport ExpertOverview from '@/views/commerce/expertOverview.vue';\r\nimport ExpertSettings from '@/views/myCadac/expertSettings.vue';\r\nimport ExpertTravelSettings from '@/views/myCadac/expertTravelSettings.vue';\r\nimport FinishedTrainingDetail from '@/views/myCadac/finishedTrainingDetail.vue';\r\nimport FinishedTrainingOverview from '@/views/myCadac/finishedTrainingOverview.vue';\r\nimport LicenceManagementDetail from '@/views/myCadac/licenceManagementDetail.vue';\r\nimport LicenceManagementOverview from '@/views/myCadac/licenceManagementOverview.vue';\r\nimport MainLayout from '@/views/layout/mainLayout.vue';\r\nimport MyCadacLayout from '@/views/layout/myCadacLayout.vue';\r\nimport MyCadacMenu from '@/components/common/menu/myCadacMenu.vue';\r\nimport OrderOverview from '@/views/myCadac/orderOverview.vue';\r\nimport PlannedTrainingDetail from '@/views/myCadac/plannedTrainingDetail.vue';\r\nimport PlannedTrainingOverview from '@/views/myCadac/plannedTrainingOverview.vue';\r\nimport SavedCartsOverview from '@/views/myCadac/savedCartsOverview.vue';\r\nimport RewardsPage from '@/views/myCadac/rewardsPage.vue';\r\nimport SearchPage from '@/views/general/searchPage.vue';\r\nimport ServiceOverview from '@/views/myCadac/serviceOverview.vue';\r\nimport ServicePassProduct from '@/views/commerce/servicePassProduct.vue';\r\nimport ServiceProduct from '@/views/commerce/serviceProduct.vue';\r\nimport ShoppingCart from '@/views/commerce/shoppingCart.vue';\r\nimport SoftwareProduct from '@/views/commerce/softwareProduct.vue';\r\nimport SoftwareProductOverview from '@/views/commerce/softwareProductOverview.vue';\r\nimport SupportAskQuestion from '@/views/commerce/supportAskQuestion.vue';\r\nimport SupportFaq from '@/views/commerce/supportFaq.vue';\r\nimport SupportFaqArticle from '@/views/commerce/supportFaqArticle.vue';\r\nimport SupportOverview from '@/views/myCadac/supportOverview.vue';\r\nimport SupportProduct from '@/views/commerce/supportProduct.vue';\r\nimport SupportTicketOverview from '@/views/myCadac/supportTicketOverview.vue';\r\nimport SupportTicketProduct from '@/views/commerce/supportTicketProduct.vue';\r\nimport TrainingProduct from '@/views/commerce/trainingProduct.vue';\r\nimport WalletOverview from '@/views/myCadac/walletOverview.vue';\r\nimport WalletProduct from '@/views/commerce/walletProduct.vue';\r\nimport MicroServiceProduct from '@/views/commerce/microServiceProduct.vue';\r\nimport QuotationRequest from '@/views/commerce/quotationRequest.vue';\r\n\r\n/*** Global components ***/\r\nconst overviewViews = [\r\n\t{ component: ServiceOverview, element: 'service-overview' }, //ServiceOverview\r\n\t{ component: ServiceOverview, element: 'training-product-overview' }, //TrainingProductOverview\r\n\t{ component: SoftwareProductOverview, element: 'software-product-overview' },\r\n\t{ component: ExpertOverview, element: 'expert-overview' },\r\n\t{ component: SupportTicketOverview, element: 'support-ticket-overview' },\r\n\t{ component: SupportOverview, element: 'support-overview' },\r\n\t{ component: ContractOverview, element: 'contract-overview' },\r\n\t{ component: PlannedTrainingOverview, element: 'planned-training-overview' },\r\n\t{ component: FinishedTrainingOverview, element: 'finished-training-overview' },\r\n\t{ component: SavedCartsOverview, element: 'saved-carts-overview' },\r\n\t{ component: ExpertBookingOverview, element: 'expert-booking-overview' },\r\n\t{ component: OrderOverview, element: 'order-overview' },\r\n\t{ component: WalletOverview, element: 'wallet-overview' },\r\n\t{ component: LicenceManagementOverview, element: 'licence-management-overview' },\r\n];\r\n\r\nconst softwareViews = [\r\n\t{ component: SoftwareProduct, element: 'software-product' },\r\n];\r\n\r\nconst trainingViews = [\r\n\t{ component: TrainingProduct, element: 'training-product' },\r\n];\r\n\r\nconst serviceViews = [\r\n\t{ component: ServiceProduct, element: 'service-product' },\r\n];\r\n\r\nconst expertViews = [\r\n\t{ component: ExpertDetail, element: 'expert-detail' },\r\n\t{ component: ExpertSettings, element: 'expert-settings' },\r\n\t{ component: ExpertTravelSettings, element: 'expert-travel-settings' },\r\n\t{ component: ExpertAvailability, element: 'expert-availability' },\r\n\t{ component: ExpertAccountPage, element: 'expert-account-page' },\r\n];\r\nconst contractViews = [\r\n\t{ component: ContractDetail, element: 'contract-detail' },\r\n\t{ component: ContractExtend, element: 'contract-extend' },\r\n];\r\n\r\nconst supportViews = [\r\n\t{ component: SupportTicketProduct, element: 'support-ticket-product' },\r\n\t{ component: SupportAskQuestion, element: 'support-ask-question' },\r\n\t{ component: SupportProduct, element: 'support-product' },\r\n\t{ component: SupportFaq, element: 'support-faq' },\r\n\t{ component: SupportFaqArticle, element: 'support-faq-article' },\r\n];\r\n\r\nconst webshopProcessViews = [\r\n\t{ component: ShoppingCart, element: 'shopping-cart' },\r\n\t{ component: Checkout, element: 'checkout' },\r\n\t{ component: CheckoutComplete, element: 'checkout-complete' },\r\n];\r\n\r\nconst myCadacViews = [\r\n\t{ component: MyCadacLayout, element: 'my-cadac-layout' },\r\n\t{ component: MyCadacMenu, element: 'my-cadac-menu' },\r\n\t{ component: AccountSettings, element: 'account-settings' },\r\n\t{ component: RewardsPage, element: 'rewards-page' },\r\n];\r\n\r\nexport const views = [\r\n\t...overviewViews,\r\n\t...softwareViews,\r\n\t...trainingViews,\r\n\t...serviceViews,\r\n\t...expertViews,\r\n\t...contractViews,\r\n\t...supportViews,\r\n\t...webshopProcessViews,\r\n\t...myCadacViews,\r\n\t{ component: MainLayout, element: 'main-layout' },\r\n\t{ component: SearchPage, element: 'search-page' },\r\n\t{ component: DigitalAdvisor, element: 'digital-advisor' },\r\n\t{ component: PlannedTrainingDetail, element: 'planning-training-detail' },\r\n\t{ component: FinishedTrainingDetail, element: 'finished-training-detail' },\r\n\t{ component: LicenceManagementDetail, element: 'licence-management-detail' },\t\r\n\t{ component: BookingDetail, element: 'booking-detail' },\r\n\t{ component: ServicePassProduct, element: 'service-pass-product' },\r\n\t{ component: WalletProduct, element: 'wallet-product' },\r\n\t{ component: AdvisorInfo, element: 'advisor-info' },\r\n\t{ component: ContentCategoryOverview, element: 'content-category-overview' },\r\n\t{ component: ContentCategoryDetail, element: 'content-category-detail' },\r\n\t{ component: MicroServiceProduct, element: 'micro-service-product' },\r\n\t{ component: QuotationRequest, element: 'quotation-request' },\r\n];\r\n","import '@/assets/styles/styles.scss';\r\nimport BadgeDirective from 'primevue/badgedirective';\r\nimport ConfirmationService from 'primevue/confirmationservice';\r\nimport DialogService from 'primevue/dialogservice';\r\nimport PrimeVue from 'primevue/config';\r\nimport ToastService from 'primevue/toastservice';\r\nimport VueGoogleMaps from '@fawmi/vue-google-maps';\r\nimport VueRecaptcha from 'vue3-recaptcha-v2';\r\nimport VueTelInput from 'vue-tel-input';\r\nimport i18n, {\r\n\tgetActiveLocale,\r\n loadMessagesFromTranslationController,\r\n} from '@/types/utils/i18n';\r\nimport { IComponent } from '@/types/models/common/component.interface';\r\nimport { LazyLoadImageDirective } from '@/directives/lazyLoadImageDirective';\r\nimport { Log } from '@/types/helpers/logHelper';\r\nimport { blocks } from '@/views/blocks/_index';\r\nimport { components, primeComponents } from '@/components';\r\nimport { configureValidationMessages } from '@/types/utils/validators';\r\nimport { createApp } from 'vue';\r\nimport { createMemoryHistory, createRouter } from 'vue-router';\r\nimport { createPinia } from 'pinia';\r\nimport { googleTagManager } from '@/types/utils/gtm';\r\nimport { loadIcons } from '@/types/utils/fa-library';\r\nimport { registerScrollSpy } from 'vue3-scroll-spy';\r\nimport { vIntersectionObserver } from '@vueuse/components';\r\nimport { views } from '@/views';\r\nimport { vue3Debounce } from 'vue-debounce';\r\n\r\n///////////////////////////////////////////////////////////////////////////\r\n/* eslint-disable @typescript-eslint/no-explicit-any*/\r\n\r\nconst app = createApp({\r\n\tname: 'CadacStore',\r\n});\r\napp.use(i18n);\r\napp.use(googleTagManager);\r\napp.use(createPinia());\r\napp.use(PrimeVue, { ripple: true });\r\napp.use(ConfirmationService);\r\napp.use(DialogService);\r\napp.use(ToastService);\r\napp.use(VueTelInput, {\r\n\tpreferredCountries: ['nl', 'be', 'de', 'gb', 'ch', 'at', 'es', 'pt', 'it'],\r\n\tautoFormat: true,\r\n\tvalidCharactersOnly: true,\r\n\tmode: 'international',\r\n});\r\napp.use(VueGoogleMaps, { load: { key: process.env.VUE_APP_GOOGLE_API_KEY, libraries: 'places' } });\r\napp.use(\r\n\tcreateRouter({\r\n\t\thistory: createMemoryHistory(),\r\n\t\troutes: [],\r\n\t})\r\n);\r\napp.use(VueRecaptcha, { siteKey: process.env.VUE_APP_RECAPTCHA_KEY });\r\n\r\napp.directive('lazy', LazyLoadImageDirective);\r\napp.directive('badge', BadgeDirective);\r\napp.directive('debounce', vue3Debounce({ lock: true, listenTo: ['input'], fireOnEmpty: false }));\r\napp.directive('vue-intersect', vIntersectionObserver);\r\nregisterScrollSpy(app);\r\n\r\nlet hasLoadedViews = false;\r\n\r\nwindow.addEventListener('load', function () {\r\n\tif (!hasLoadedViews) {\r\n\t\tloadApplication();\r\n\t}\r\n});\r\n\r\n/**\r\n * This is the main function where the application components/views/translations will be loaded.\r\n * If views are loaded the application will be mounted\r\n */\r\nasync function loadApplication(this) {\r\n\tawait loadOnlineTranslations();\r\n\tloadServiceWorker();\r\n\tloadComponents();\r\n\tloadBlocks();\r\n\tloadIcons();\r\n\thasLoadedViews = loadViews();\r\n\r\n\tif (hasLoadedViews) {\r\n\t\thideLoadingSpinnerAndShowBody();\r\n\r\n\t\tapp.mount('#app');\r\n\t}\r\n\tdispatchEvent(new Event('VueAppLoaded'));\r\n}\r\n\r\n/**\r\n * This function is used to register custom Vue components globally.\r\n * Will register all components from the components/index.ts\r\n */\r\nconst loadComponents = () => {\r\n\tcomponents.forEach((x: IComponent) => {\r\n\t\tapp.component(x.element, x.component as any);\r\n\t});\r\n\r\n\tprimeComponents.forEach((x: IComponent) => {\r\n\t\tapp.component(x.element, x.component as any);\r\n\t});\r\n};\r\n\r\n/**\r\n * This function is used to register custom Vue components for blocks globally.\r\n * Will register all blocks from the blocks/_index.ts\r\n */\r\nconst loadBlocks = () => {\r\n\tblocks.forEach((x: IComponent) => {\r\n\t\tapp.component(x.element, x.component as any);\r\n\t});\r\n};\r\n\r\n/**\r\n * This function is used to register the Vue components globally.\r\n * Will check for each view from views/index.ts if it is in the DOM before loading it.\r\n */\r\nconst loadViews = (): boolean => {\r\n\tlet hasLoadedView = false;\r\n\tviews.forEach((x: IComponent) => {\r\n\t\tif (!document.querySelector(x.element)) return;\r\n\t\tLog.info(`Load view ${x.element}`);\r\n\t\tapp.component(x.element, x.component as any);\r\n\t\thasLoadedView = true;\r\n\t});\r\n\treturn hasLoadedView;\r\n};\r\n\r\n/**\r\n * This function is used to register our service worker that will pre-cache the '../Epi.Website/Static' folder\r\n * Additionally it dynamically caches URL's for images etc - see workbox-config.js for the config.\r\n */\r\nconst loadServiceWorker = () => {\r\n\tnavigator.serviceWorker\r\n\t\t?.register('/Static/sw.js')\r\n\t\t.then(() => {\r\n\t\t\tLog.info('Service worker has been registered');\r\n\t\t})\r\n\t\t.catch((err) => {\r\n\t\t\tLog.warn('ServiceWorker registration failed:', err);\r\n\t\t});\r\n};\r\n\r\n/**\r\n * Loads translations from online sources (CDN/API) for the active locale\r\n */\r\nconst loadOnlineTranslations = async () => {\r\n\ttry {\r\n\t\tconst activeLocale = getActiveLocale();\r\n\t\tconst messages = await loadMessagesFromTranslationController();\r\n\t\tLog.info(`Fetched online translations for locale: ${activeLocale}.`);\r\n\t\ti18n.global.mergeLocaleMessage(activeLocale, messages);\r\n\t\tconfigureValidationMessages(messages);\r\n\t} catch (err) {\r\n\t\tLog.warn(\r\n\t\t\t`Unable to load translations from Localazy.com - Falling back to local files for locale: ${getActiveLocale()}.`,\r\n\t\t\terr\r\n\t\t);\r\n\t}\r\n};\r\n\r\n/**\r\n * This function is used to hide the default loading spinner in the MasterLayout\r\n * and removes the display:none from the MVC server rendered body\r\n */\r\nconst hideLoadingSpinnerAndShowBody = () => {\r\n\tconst mvcBody = document.querySelector('.main-body');\r\n\tconst loadingSpinner = document.querySelector('.loading-container');\r\n\tmvcBody?.setAttribute('style', '');\r\n\tloadingSpinner?.parentNode?.removeChild(loadingSpinner);\r\n};\r\n","var map = {\n\t\"./da.json\": 3705,\n\t\"./de.json\": 1229,\n\t\"./en.json\": 7473,\n\t\"./es.json\": 6018,\n\t\"./fr.json\": 7946,\n\t\"./it.json\": 8355,\n\t\"./nb.json\": 3730,\n\t\"./nl.json\": 4340,\n\t\"./pt.json\": 750,\n\t\"./sv.json\": 3539\n};\n\nfunction webpackAsyncContext(req) {\n\treturn Promise.resolve().then(function() {\n\t\tif(!__webpack_require__.o(map, req)) {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t}\n\n\t\tvar id = map[req];\n\t\treturn __webpack_require__.t(id, 3 | 16);\n\t});\n}\nwebpackAsyncContext.keys = function() { return Object.keys(map); };\nwebpackAsyncContext.id = 7995;\nmodule.exports = webpackAsyncContext;","var map = {\n\t\"./da.json\": 3705,\n\t\"./de.json\": 1229,\n\t\"./en.json\": 7473,\n\t\"./es.json\": 6018,\n\t\"./fr.json\": 7946,\n\t\"./it.json\": 8355,\n\t\"./nb.json\": 3730,\n\t\"./nl.json\": 4340,\n\t\"./pt.json\": 750,\n\t\"./sv.json\": 3539\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 = 6761;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".1743084310.js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"cadacstore:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/Static/dist/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t524: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\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\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkcadacstore\"] = self[\"webpackChunkcadacstore\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [504], function() { return __webpack_require__(9675); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["localazyMetadata","projectUrl","baseLocale","languages","language","region","script","isRtl","name","localizedName","pluralType","n","files","cdnHash","file","path","library","module","buildType","productFlavors","cdnFiles","FormatHelper","formatRegion","splitLang","split","formattedRegionPart","length","toLowerCase","formatDateTimeString","date","locale","parsedDate","Date","parse","format","dateLocales","formatDateString","formatLongDateString","formatDateAsMonthYearString","formatTimeString","productNameWithoutBrand","productName","brandName","startsWith","substring","formatJsonAsCamelCase","_key","value","k","test","Object","hasOwnProperty","call","charAt","getUTCDate","dateNumber","now","getUTCFullYear","getUTCMonth","getUTCHours","getUTCMinutes","getUTCSeconds","convertDateObjectToDate","year","month","day","getDateWithoutTime","set","hours","minutes","seconds","milliseconds","toDate","isDate","parseISO","gb","us","nl","be","de","fr","pt","es","at","ch","it","nb","sv","da","getActiveLocale","getActiveLanguage","lang","document","documentElement","loadLocalMessagesForActiveLocale","messages","require","console","error","async","loadMessagesFromTranslationController","response","axios","get","data","Promise","resolve","loadPrimeVueLocale","primeVueMessages","commonMessages","activeLocale","values","find","x","code","formatLong","width","replace","options","weekStartsOn","Array","keys","map","i","localize","i18nConfig","fallbackLocale","fallbackWarn","createI18n","setLazyImages","el","binding","imageObserver","IntersectionObserver","entries","forEach","entry","isIntersecting","lazyImage","target","src","alt","getImageAlt","unobserve","dataset","root","rootMargin","observe","fileNameRegex","match","fileName","LazyLoadImageDirective","mounted","updated","LogLevel","LogHelper","logDebug","log","args","this","color","colors","Default","prefix","toUpperCase","style","info","Info","warn","Warn","callerName","getCallerName","Error","stackTrace","stack","Log","_hoisted_1","class","_hoisted_2","_hoisted_3","key","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","render","_ctx","_cache","$props","$setup","$data","$options","_component_Avatar","_resolveComponent","_component_SelectButton","_component_LinkButton","_openBlock","_createElementBlock","_normalizeClass","blockBackgroundClass","vm","backgroundColor","_createElementVNode","title","subtitle","innerHTML","_createCommentVNode","_toDisplayString","_createVNode","filteredMainCategories","option","_withCtx","slotProps","href","getUrlForCategory","image","icon","shape","size","_","otherMainCategory","_createBlock","label","url","RequestManager","constructor","_defineProperty","pendingRequests","addRequest","requestId","cancelFn","reason","undefined","has","cancelRequest","removeRequest","isArray","id","cancelRequestSingle","cancelAllRequests","message","debug","httpClient","create","headers","paramsSerializer","indexes","transformResponse","JSON","useCancel","instance","defaultOptions","assign","CancelToken","requestManager","interceptors","request","use","config","source","cancelToken","token","cancel","isCancelled","isCancel","cancelAll","hasPendingRequest","UrlHelper","open","window","location","goBack","history","back","useLayoutStore","defineStore","state","showSearchBar","showUserMenu","changeRegionModalVisible","changeCompanyModalVisible","chatWidgetAvailable","navBarHeight","getters","preferredCompany","organizationOptions","isPreferredOrganization","isAuthenticated","currentUser","isLoggedIn","email","isImpersonated","impersonatedUser","canImpersonate","isImpersonationAllowed","hasMultipleCompanies","actions","showModal","type","hideModal","toggleUserMenu","toggleSearchBar","updateItemsInCart","itemCount","itemsInCart","useLoadingStore","loadingSpinner","loadingCount","isSpinnerVisible","isBusy","isLoading","some","Boolean","increaseLoadingCount","decreaseLoadingCount","showSpinner","String","hideSpinner","pushToGaDataLayer","viewItem","obj","setDataLayer","addToCart","removeFromCart","viewCart","beginCheckout","addShippingInfo","addPaymentInfo","purchase","generateLead","loginEvent","newsLetterSubscribe","accountVerified","uploadQuotation","errorEvent","search","customizeProduct","dataLayer","push","GaEvent","ProductCategoryType","TrafficSource","BaseComponent","Vue","useBreakpoints","xs","sm","md","lg","xls","xl","xxl","useMediaQuery","breakpoints","smaller","between","items","amount","brand","category","constructECommerceDataLayer","ViewItem","AddToCart","RemoveFromCart","eCommerceDataLayer","checkoutDataLayer","merge","orderDataDataLayer","checkoutStepEvents","customer","event","LoginEvent","constructCustomerData","AccountVerified","item","constructCustomizeProductDataLayer","form","constructGenerateLeadDataLayer","NewsletterSubscribe","UploadQuotation","ErrorEvent","error_message","errorMessage","error_code","errorCode","userProfile","isPrintView","isPrintMediaQuery","chatWidget","fcWidget","currentRegion","layoutStore","currentCulture","currentCurrency","currentLanguage","currentLocation","userSource","domain","CadacInternal","isExternalSales","CadacExternal","General","loadingStore","loginPageUrl","origin","trim","registerPageUrl","toDateUtc","zonedTimeToUtc","formatDate","dateToFormat","toISOString","formatLongDate","formatShortDate","formatDateTime","dateTimeToFormat","formatTime","formatRemainingTime","formatDistanceToNow","formatElapsedTime","formatDistance","addSuffix","formatProductName","productBrand","formatCurrency","currency","$n","openUrl","copyToClipboard","text","clipBoard","useClipboard","copy","scrollToFirstValidationError","element","querySelector","closest","scrollTo","top","getBoundingClientRect","scrollY","behavior","toSnakeCase","str","convertCamelCase","constructProductDataLayer","basePrice","priceBase","personalPrice","priceSubTotal","sku","toString","item_id","item_name","item_category","productCategory","price","toFixed","discount","item_brand","quantity","CustomizeProduct","contract_duration","duration","constructCheckoutData","stage","totalSteps","checkout_stage","checkout_stage_name","checkout_stage_total_steps","login_state","user_id","cadacAccountId","user_email_hashed","emailHash","user_email","traffic","GenerateLead","form_title","form_type","trackSearch","searchString","Search","search_term","__decorate","ComponentBase","__exports__","BlockBackgroundColor","CtaButtonStyle","HorizontalAlignment","BaseBlock","blockBackgroundColor","ctaButtonStyle","horizontalAlignment","textAlignmentClass","alignment","bgColor","Green","Grey","Pink","Purple","White","ctaButtonClass","btnStyle","WhiteArrow","GreenArrow","PurpleArrow","LinkArrow","Link","AskAQuestionCategoryType","AskAQuestionBlock","created","ticketFormCategoryTree","filter","categoryType","Other","cat","queryParams","URLSearchParams","URL","askAQuestionPageUrl","Prop","required","default","Component","components","SelectButton","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","leftPreTitle","leftTitle","leftText","leftCta","leftCtaStyle","rightPreTitle","rightTitle","rightText","rightCta","rightCtaStyle","bottomTitle","bottomCta","bottomCtaStyle","CallToActionCenteredDivideBlock","_createStaticVNode","contentAlignmentClass","colSizeClass","textContent","ctaRight","Center","ctaLeft","large","ctaLeftStyle","ctaRightStyle","bottomText","ctaBottom","_createTextVNode","Size","CallToActionDefaultBlock","Left","Right","_hoisted_13","_hoisted_14","_hoisted_15","_directive_lazy","_resolveDirective","backgroundUrl","linkItem","_normalizeStyle","useLargeIcon","iconUrl","_withDirectives","iconAlt","subTitle","CallToActionOfferBlock","getBackgroundStyle","CallToActionSplitBlock","index","_withScopeId","_pushScopeId","_popScopeId","_Fragment","_renderList","columnWidth","imageAlt","height","imageUrl","ctaLinkItem","ctaStyle","CategoriesBlock","colWidth","itemHoverColor","textColor","__default__","__injectCSSVars__","_useCssVars","__setup__","setup","props","ctx","_component_BaseProductOverviewItemCard","_renderSlot","$slots","collections","collection","_component_ExpertOverviewItemCard","_component_ProductOverviewItemCard","_component_ServiceOverviewItemCard","productType","productTypeEnum","Expert","isCrossSell","expertProduct","layout","Software","softwareProduct","Collection","collectionProduct","compact","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_37","_hoisted_38","_hoisted_39","_component_PopoverIcon","_component_Chip","_component_i18n_t","_component_Rating","_component_Button","_component_Inplace","_component_Card","_component_Tag","_component_GMapMarker","_component_GMapMap","_component_Divider","productPageUrl","isGridLayout","header","expertProfile","firstName","$t","placement","content","expertLevel","displayName","description","function","country","center","lat","latitude","lng","longitude","zoomControl","mapTypeControl","scaleControl","streetViewControl","rotateControl","fullscreenControl","zoom","clickable","draggable","position","hourlyRate","keypath","reviewScoreAverage","modelValue","$event","readonly","$tc","reviews","numberOfDaysAvailable","numberOfDaysOnRequest","shortDescription","onOpen","_withModifiers","display","getVisibleExpertises","expertises","expertise","maxExpertisesToShow","ExpertOverviewItemCard","take","Chip","Divider","Rating","Tag","_component_AvatarGroup","showIntroOnHover","isCollectionItem","onClick","_createSlots","productsSlice","product","products","maxProductsToShow","isServiceItem","availableOnRequest","footer","showIntro","intro","isMobile","showHeaderImage","overviewImageUrl","fn","overviewImageVerticalUrl","ItemProductType","ProductOverviewItemCard","Service","isSmallScreen","isTablet","isSmallLargeScreen","isLargeScreen","isExtraLargeScreen","sliceCount","slice","isServiceType","backgroundImage","ServiceOverviewItemCard","BaseProductOverviewItemCard","CollectionsGridBlock","hideInfoAndImage","faqItems","faqId","faqLinkItem","linkItemStyle","FeaturedFaqBlock","autoplay","loop","muted","viewBox","fill","cx","cy","opacity","r","_component_HeroSearchBar","backgroundImageUrl","backgroundVideoUrl","backgroundImageAlt","heroBackgroundColor","HeroBackgroundColorEnum","magenta","hideSearch","searchBarVerticalAlignment","VerticalAlignmentEnum","ctaButton","ctaLink","grey","hideCompanyLogos","companyLogoUrls","companyLogo","bottom","_component_Dropdown","_component_Badge","_component_AutoComplete","searchCategoryOptions","searchCategory","placeholder","searchPlaceholder","suggestions","searchResults","onBlur","onComplete","onSearch","onItemSelect","onSearchResultSelected","updateSearchstring","query","count","hasNoResults","searchResult","totalResults","hasIconUrl","showDisplayAllResultsButton","searchPageUrl","hideAdvancedSearchButton","SearchCategory","HeroSearchBar","relatedSearches","defaultSearchCategory","all","append","localizationPrefix","then","isEmpty","pageUrl","onRelatedSearchTermSelected","originalEvent","OverlayPanel","Dropdown","AutoComplete","HeroBackgroundColor","VerticalAlignment","HeroDefaultBlock","hasBackground","searchBarVm","firstCtaLink","secondCtaLink","serviceIntro","serviceTitle","serviceImage","initChat","role","_mergeProps","$attrs","LinkButton","HeroFaqBlock","faq","replyText","_component_Carousel","titleAlignment","amountOfProductsToScroll","amountOfVisibleItems","HighlightsBlock","numberOfItemsToShow","numberOfItemsToScroll","Carousel","itemsPerRow","LinkToBlock","logos","logo","LogosBlock","_component_CallToActionOfferBlock","ctaOffer","overviewButtonCTA","overviewButtonText","ctaUrl","ProductGridBlock","overviewButtonCTAQuerystring","cta","ProductGridColumnedBlock","buttonText","RecentContentBlock","replaceAll","hasVideo","imageSize","showVideo","allowfullscreen","youTubeId","onPlayVideoClick","hasImage","imagePosition","left","ctaLinkStyle","ImagePosition","TextAndMediaBlock","isColumnLayout","introPosition","belowTitle","TextBlockIntroPosition","TextBlockTemplate","TextBlock","template","columned","blocks","component","BackButton","_component_Popper","arrow","hover","_normalizeProps","_guardReactiveProps","PopoverIcon","_hoisted_40","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_44","_hoisted_45","_hoisted_46","_hoisted_47","_hoisted_48","_hoisted_49","_hoisted_50","_hoisted_51","_hoisted_52","_hoisted_53","_hoisted_54","_hoisted_55","_hoisted_56","_hoisted_57","_hoisted_58","_hoisted_59","_hoisted_60","standardLines","additionalLines","totalDiscount","discountLines","subtotal","totalInstallPrice","totalBasePrice","totalCouponDiscount","totalPersonalPrice","vatPercentage","vatAmount","creditCardSurchargePercentage","creditCardSurchargeAmount","applyAutodeskWallet","totalPrice","maxAutodeskWalletToSpend","vatSituation","VatZeroPercent","ReverseVat","NoVat","VatSituation","PriceSummary","_component_Dialog","visible","isVisible","modal","onHide","goToCart","crossSellProducts","useCartStore","cartClient","showSaveCartModal","showShareCartModal","showProductAddedModal","walletExchangeAmount","maxWalletAmount","isCartEmpty","hasActiveCoupon","appliedCouponCodes","isCadacWallet","isAutodeskLoyalty","hasActiveWalletCoupon","hasActiveLoyaltyCoupon","contractCartClients","concat","contractAdditions","contractCoterming","contractChanges","contractSwitches","contractProlongations","contractCotermProlongations","cartLineClients","servicePassProducts","support","walletDeposits","trainingCartClients","trainingProducts","expertCartClients","expertProducts","allCartLineClients","contractLines","contract","assets","flat","cartLineClientsByType","uniqBy","addCouponCode","couponCode","post","removeCouponCode","updateWalletAmount","exchangeWalletAmount","walletAmount","stringify","deleteCart","updateProductInCart","model","subtotalWithoutVat","Math","round","Number","EPSILON","$patch","ProductAddedModal","cartPageUrl","Emit","ExpertBookingStatus","ExpertPageState","StatusBadgeType","getBadgeClass","getTranslatedStatus","StatusBadge","translationPrefix","status","TicketStatus","outlined","expertPageStatus","appliedForApproval","waitingForContract","approved","revoked","bookingStatus","Declined","Rejected","Stopped","InProgress","Cancelled","Completed","DeclineRequested","CancellationRequested","AwaitingPayment","Planned","Requested","vendorComponents","Popper","FontAwesomeIcon","FontAwesomeLayers","FontAwesomeLayersText","CountryFlag","Form","Field","ErrorMessage","VueRecaptcha","primeComponents","Avatar","AvatarGroup","Badge","BlockUI","Button","Card","Column","DataTable","Dialog","InputNumber","InputSwitch","InputText","Inplace","Message","MultiSelect","Panel","RadioButton","TabPanel","TabView","Textarea","Gender","ValidationHelper","validateVat","countryCode","useVat","checkIfVatIsRequired","result","requiredCountries","includes","validateIban","useIban","isValidIBAN","electronicFormatIBAN","validatePassword","validatePostalCode","validateCocNumber","validateEmail","validatePhoneObject","phoneObject","valid","validatePhoneObjectValid","siblings","phoneObjectValid","validateGender","Male","Female","defineRule","min","max","min_value","max_value","memoize","phoneObj","configureValidationMessages","mappedMessages","configure","generateMessage","setLocale","googleTagManager","createGtm","defer","compatibility","nonce","enabled","loadScript","trackOnNextTick","FONT_AWESOME_ICONS","faArrowRightArrowLeft","faArrowRightLong","faArrowRightFromBracket","faBars","faBinarySlash","faBox","faBurger","faCartShopping","faCheckCircle","faCircleXmark","faCoins","faComputerMouse","faEarth","faEarthEurope","faFacebookF","faFile","faFileContract","faFolders","faGraduationCap","faHardDrive","faHatWizard","faLifeRing","faLightbulbOn","faLinkedinIn","faListCheck","faLocationDot","faMagnifyingGlass","faMapLocationDot","faQuestion","faRotateRight","faSpotify","faSuitcase","faUser","faUserCog","faUserSecret","faUserShield","faUserSlash","faYoutube","farCircleUser","farUser","fasCircleUser","faPartyHorn","faCircleExclamation","faTriangleExclamation","faChevronsDown","faChevronsUp","faCheck","faPhone","faPaperPlane","loadIcons","add","_component_PersonalForm","_component_TabPanel","_component_InputText","_component_NewPasswordForm","_component_CompanyForm","_component_RelatedContactTable","_component_AddressForm","_component_TabView","pageTitle","activeIndex","onTabChange","shouldShowTab","enumTabs","PERSONAL","personalFormModel","ref","disabled","canSubmit","loading","onSubmitClick","PASSWORD","login","passwordFormModel","COMPANY","companyFormModel","countries","relatedContacts","INVOICEADDRESS","invoiceDebtorAccountNumber","invoiceDebtorName","accountNumber","invoiceAddressFormModel","_component_InputWithValidation","onChange","formStateChanged","validations","field","errors","setTouched","labelWrapperClass","labelClass","for","isRequired","_vShow","shouldShowError","InputWithValidation","useField","onErrorChange","setTimeout","meta","touched","Watch","deep","AddressForm","cloneDeep","unref","useForm","initialValues","validationSchema","street","postalCode","validPostalCode","city","isValid","isDirty","dirty","Model","emits","_component_ProgressSpinner","autoComplete","companySuggestions","autoFillOptOut","searchCompanies","onSuggestionSelection","dunsNumber","mainAddress","canEditCompany","e","modelModifiers","lazy","formatIban","pending","CompanyForm","isKnownInCrm","reactive","companyName","cocNumber","vatNumber","computed","vatRequired","validVatNumber","iban","isIbanRequired","validIbanNumber","isPending","isVatRequired","hasPreviouslyOrdered","setFieldValue","friendlyFormatIBAN","countryISOAlpha2Code","params","searchTerm","res","catch","err","finally","coCNumber","setValues","addressLine1","ProgressSpinner","_component_Password","feedback","NewPasswordForm","password","validPassword","passwordConfirm","samePassword","Password","_component_RadioButton","_component_vue_tel_input","availableGenderOptions","gender","onValidate","onPhoneInputValidate","PersonalForm","genderOptions","Unknown","lastName","phone","validPhone","_component_Column","_component_DataTable","paginator","showPagination","rows","maxRowsToShow","sortable","body","canEdit","onEditClick","RelatedContactTable","contact","AccountSettings","beforeCreate","reloadRefs","company","personal","invoiceAddress","showPersonalTab","visibleTabs","activeTab","showCompanyTab","showInvoiceAddressTab","indexOf","tabKey","selectedTabIndex","selectActiveTab","isAccountVerified","isEmailVerified","isActiveTabDirty","isActiveTabValid","passwordForm","personalForm","companyForm","invoiceAddressForm","savePersonalInfo","savePassword","saveCompanyInfo","saveInvoiceAddress","showSuccessToast","showErrorToast","$toast","severity","summary","detail","life","Ref","_component_AdvisorUploadUsageModal","advisorStore","uploadUsageModalVisible","apiVersion","advisorResultsPageUrl","uploadModalViewModel","onHideModal","removeAdvisorModalUrlTag","_component_FileUpload","_component_font_awesome_icon","_component_Message","closable","canClose","introText","accept","auto","sizeLimit","mode","multiple","onUploader","onFileSelected","empty","scope","tag","action","onFileUpload","selectedFile","objectURL","formatSize","onFileRemoved","youtubeId","uploadSuccess","currentStep","emailIntroText","v$","$model","$message","hasPollingError","onReset","onSubmit","AdvisorLogStatus","createI18nMessage","validators","t","i18n","global","withI18nMessage","minLength","maxLength","minValue","useAdvisorStore","insightProductFilter","insight","overview","productAdvices","tokenAdvice","isAccessRestricted","insightProductFilterOptions","hasInsightProductsToShow","insightProductsToShow","hasAdviceToShow","hasTokenAdviceToShow","getAdvice","adviceId","adviceLogId","advisorResult","pollAdviceCalculation","pollInsightProcessing","processingLogId","AdvisorUploadUsageModal","useVuelidate","submitUsageReport","httpParams","resultsPageUrl","usageUploadForm","isPolling","submitted","$invalid","hasPollingFinished","pollStatus","Finished","fileProcessingPoll","isActive","Queued","Processing","bytes","dm","sizes","floor","parseFloat","pow","fieldToValidate","$dirty","uploadFile","fileUploader","$refs","fileInput","click","remove","requestFileProcessing","Unsupported","formData","FormData","isDebug","success","blobName","payload","userEmail","FileUpload","AdvisorInfo","hash","checkAdvisorModalUrlTag","addEventListener","beforeUnmount","removeEventListener","openAdvisorModal","preventDefault","replaceState","pathname","_component_BackButton","_component_StatusBadge","_component_ProductConfigurationSummaryItem","_component_ColumnYesNo","_component_PriceSummary","_component_Panel","_component_ExpertAcceptBookingModal","_component_ExpertCompleteBookingModal","_component_ExpertDeclineBookingModal","_component_ExpertReviewBookingModal","_component_ExpertReviewBookingDetailsModal","toggleable","booking","isExpert","showAcceptOrDeclineButton","onAcceptClick","onDeclineClick","showCompleteButton","onCompleteClick","showCancelButton","onCancelClick","showReviewButton","bookingHasReview","onReviewClick","showInvoiceButton","onViewInvoiceClick","customerContactDisplayName","expertDisplayName","workLocation","isFlexBooking","sortedDates","dates","start","end","showExpertReward","getPriceSummary","expertBookingCosts","expertPhoneNumber","customerContactEmail","expert","expertEmail","projectDescription","isRemote","expertCosts","singleTravelDistance","openRouteDescription","expertStore","isAcceptBookingModalVisible","acceptBooking","isCompleteBookingModalVisible","completeBooking","isCancelOrDeclineBookingModalVisible","declineOrCancelModalType","declineOrCancelBooking","isBookingReviewModalVisible","reviewBooking","isBookingReviewDetailsModalVisible","expertBookingReview","collapsed","datesCollapsed","icons","formattedBookingDate","ColumnExpertInfo","ColumnYesNo","onCancel","useExpertStore","isBookingRequestModalVisible","isLevelModalVisible","isSendProfileModalVisible","fetchExpertProfile","editingLanguage","ExpertAcceptBookingModal","submitForm","ExpertCompleteBookingModal","_component_Textarea","isCancelType","ExpertCancelOrDeclineBookingModalType","ExpertDeclineBookingModal","expertDeclineBookingForm","Cancel","Decline","counter","showCounter","ProductConfigurationSummaryItem","ExpertCalculationLineType","ExpertType","score","searchExpertiseResults","searchExpertises","ExpertReviewBookingModal","expertReviewBookingForm","hasNoSearchResults","searchExpertisesQuery","y","intervieweeName","stars","comment","tags","ExpertReviewBookingDetailsModal","BookingDetail","expertType","External","canCancelFlexBooking","lines","hasReview","googleMapsDirectionsUrl","host","evt","cancelBooking","declineBooking","bookingId","reload","orderBy","o","selectedExpertises","join","flexBookingPercentage","Map","sortBy","fullDay","dayPart","hour","travel","accommodation","flexBooking","_component_CheckoutSteps","_component_router_view","_component_CartPageSummary","checkoutStore","paymentFailed","paymentFailedMessage","allowPlaceOrder","priceSummary","canGoToStep","activeStep","goToNextStep","isOverviewStep","link","termsAndConditionsLink","onClickAction","_component_ScrollPanel","card","isMobilePriceSummaryCollapsed","clickAction","showTerms","_component_Steps","steps","_component_Checkbox","checkoutForm","onFormStateChanged","checkIfDetailStepIsValid","useDifferentInvoiceAddress","binary","billingAddressForm","CheckoutDetails","useCheckoutStore","requiredForms","validate","results","isDetailStepValid","every","Checkbox","CheckoutOrderConfirmation","_component_CartOverview","goToStep","formatCountry","salutationAndName","orderSummaryForm","paymentIcon","formattedPaymentMethod","isReferenceNumberRequired","reference","isInvoiceCopyEmailRequired","invoiceCopyEmail","canEditCart","_component_CartContractClientTable","_component_CartTrainingTable","_component_CartMircoServiceTable","_component_CartExpertTable","_component_CartClientTable","contractCart","isEditable","getUpperCaseCartLineType","cartLineTypeEnum","trainingProduct","training","microServiceProducts","serviceProduct","mircoservice","cartLineClient","cartLineType","getCartLinesForType","_component_ColumnProductName","_component_ColumnProductInfo","_component_ColumnAmount","breakpoint","editingCartLines","showProductInfoColumn","canChangeConfiguration","canRemoveItem","confirmRemoveItem","showServiceTypeColumn","showUnitColumn","showSerialNumberColumn","showTrainingTypeColumn","showAmountColumn","editable","canAdjustAmount","onAmountChanged","tableTitle","_component_InputNumber","maxAmount","minAmount","ColumnAmount","originalValue","watchDebounced","onInputChange","debounce","amountChanged","changeEvent","licenseType","getLicenceIcon","licenceClass","multiUser","walletDepositTypes","LicenseClass","CartLineType","ColumnProductInfo","remainingDuration","isMultiSize","multiSizeUnitString","singleUser","maintenancePlan","subscription","cloudSubscription","other","isHidden","iconAltTag","ColumnProductName","CartClientTable","canMakeChanges","isContractLine","cartContractClient","showAsContractLine","servicePassProduct","walletDeposit","onItemsChanged","val","init","invoiceTotals","paymentInstructions","canRemoveLine","canUpdateAmount","upperFirst","getAdditionalPriceLines","contractCotermProlong","contractCoterm","contractAddition","contractChange","contractSwitch","contractProlong","priceLines","activeInstallation","priceOnce","$confirm","acceptLabel","rejectLabel","removeItemFromCart","cartStore","changeValue","_component_ContractSummary","onRemoveContractFromCartClick","contractSummary","contractProlongationDate","contractNumber","contractType","contractManager","contractEndDate","ContractSummary","CartContractTable","endDate","newProlongationDate","updateContractInCart","contractnumber","contractcoterming","total","asset","microServiceProduct","onChangeConfigurationClick","onRemoveFromCartClick","productNameColumnModel","modularPriceSummary","totalPriceSummary","CartMircoServiceTable","CartLine","ProductCartLine","modules","numOfModules","microServiceLineItemIds","lineItemIds","productId","_component_ColumnExpertInfo","changeConfiguration","CartExpertTable","expertCartLine","basePrices","additionalPrices","lineItemId","_component_ColumnTrainingInfo","trainingGroup","isModular","onRemoveTrainingFromCartClick","standardPriceSummary","address","formattedAddress","numberOfParticipants","ColumnTrainingInfo","LocalTrainingType","CartTrainingTable","trainingCartLine","trainingProductCartLine","subTotal","basePriceLine","openRoster","numberOfModules","trainingLineItemIds","trainings","removeTrainingFromCart","CartOverview","editingCartClient","isEditableChanged","CartContractClientTable","PaymentMethod","requiredReferenceNumber","_value","requiredInvoiceNumber","OrderSummary","onValidationChanged","isOverviewStepValid","referenceRequired","salutation","paymentMethod","selectedPaymentMethod","selectedPaymentProvider","creditcard","selectedPaymentMethodName","selectedPaymentProviderName","ideal","idealIssuers","creditCardMethods","step","stepsEl","requiredIf","canUseCadacLoyaltyCashback","toggleLoyalty","inputId","applyLoyalty","hasPaymentOptions","selection","paymentOptions","onRowSelect","onPaymentMethodSelected","cost","onPaymentMethodOptionSelected","PaymentMethodSelection","availablePaymentMethods","getSubtitleForPaymentMethod","getIconForPaymentMethod","getCostForPaymentMethod","getOptionsForPaymentMethod","mainLayout","walletBalance","autodeskWalletAmount","toggleApplyAutodeskWallet","setPaymentMethod","setSelectedPaymentProvider","isPaymentOptionValid","paymentMethodOption","findIndex","bancontactMrCash","paypal","onAccount","sofort","invoicePaymentConditionCode","creditCardSurtaxPercentage","CheckoutStep","CheckoutSteps","onStepChanged","nextStep","displayStep","setupStepsRoutes","to","Details","command","Overview","Confirmation","$router","addRoute","Steps","isValidPaymentOptionSelected","paymentProvider","methodName","CartPageSummary","ScrollPanel","BuckarooStatus","Checkout","personalDiscount","totalInstallationPrice","couponDiscount","sum","coupon","paymentStatus","REJECTED","CANCELLED","completePurchase","trackCheckoutStep","trimCheckoutModel","checkoutModel","trackPurchase","eventStep","first","AddShippingInfo","payment_method","AddPaymentInfo","Undefined","Purchase","hasUsedWallet","currentDate","today","yyyy","getFullYear","mm","getMonth","dd","getDate","transaction_id","vat","wallet_value_used","order_date","persistingDatalayer","sessionStorage","setItem","_component_Timeline","_component_SupportCard","pageIntro","orderNumber","stepsTitle","timeLineSteps","marker","hasSoftware","softwareInstructions","hasTrainings","trainingInstructions","hasExperts","expertInstructions","hasSupport","supportInstructions","hasServicePasses","servicePassInstructions","goToMyCadac","supportPageUrl","SupportCard","CheckoutComplete","step1","step2","step3","datalayer","getItem","persistedDataLayer","removeItem","orderImpression","myCadacPageUrl","goToSoftwareOverview","softwareOverviewPageUrl","Timeline","_component_AuthorBlock","publishedOn","author","linkStyle","AuthorBlock","ContentCategoryDetail","_component_MultiSelect","_component_DataViewLayoutOptions","_component_ContentCategoryOverviewItemListCard","_component_ContentCategoryOverviewItemSkeletonCard","_component_ContentCategoryOverviewItemGridCard","_component_DataView","gridViewTitle","viewLayout","filterStore","pageSize","totalItems","overviewItems","onPage","onPageChange","activeFilters","updateFilters","sortType","sortOptions","onSortChange","list","grid","contentCategory","showUpcomingEventTag","contentDate","ContentCategory","ContentCategoryOverviewItemGridCard","Event","relatedDate","dateCreated","isFuture","isToday","ContentCategoryOverviewItemListCard","_component_Skeleton","ContentCategoryOverviewItemSkeletonCard","Skeleton","OverviewSortType","useContentCategoryOverviewFilterStore","authorTags","branchTags","themeTags","contentCategories","currentContentCategory","hasAuthorTags","hasBranchTags","hasThemeTags","hasSelectedAuthorTags","hasSelectedBranchTags","hasSelectedThemeTags","hasPage","page","remap","pagedItems","NameAsc","NameDesc","pages","ceil","updateQueryParams","sort","a","b","localeCompare","ScrollHelper","selector","margin","isNaN","ContentCategoryOverview","onLayoutChanged","overviewLayoutStorageKey","authorTagFilter","authorFilterText","themeTagFilter","themeFilterText","branchTagFilter","branchFilterText","DataView","DataViewLayoutOptions","VirtualScroller","_component_ContractDetailTable","_component_ContractDetailChangeCard","editing","contractId","contracts","_directive_debounce","supportProductUrl","isSupportContract","editingContractLines","onCellEditComplete","isCadacSales","crmUrl","deployment","editor","canAddSeats","seats","seatsMinimal","onInputChanged","priceChanged","seatsChangedForItem","canCheckout","onCheckoutClick","ContractDetailChangeCard","onLoadingChanged","contractUpdateData","reduce","checked","addSeatVariationCode","renewVariationCode","serialNumber","switchDuration","switchRenewVariationCode","switchSeats","contractLine","seatsChanged","seatsOriginal","contractLineClient","addContractChangeToCart","newData","recalculatePrices","updateData","checkoutPageUrl","_component_InputSwitch","contractManagerCrmUrl","isDatechAutoRenewal","automaticRenewal","changeAutoRenewal","getAutomaticRenewalText","shouldShowContractExpirationWarning","remainingDays","ContractDetailTable","newValue","put","supportsProlongation","isContractExpired","isAfter","mainCategories","panelCollapse","menuItem","active","miscCategory","MyCadacCategory","MyCadacMenu","_x","menuItems","Miscellaneous","ContractDetail","_component_ContractDetailSwitchCard","_component_ContractDetailExtendCard","_component_ContractExtendModal","_component_ContractSwitchModal","yourProlongOptionsText","canCoTerm","switchCoTermText","canTradeIn","switchTradeInText","renewMultiYearMaintenanceContractForOneYear","contractStore","isExtendingContract","prolongationOptions","isExtendModalVisible","onCancelExtend","onExtendCancelled","onConfirmExtend","onExtendConfirmed","isTradeInModalVisible","selectedTradeInContractLine","onCancelTradeIn","onTradeInCancelled","onConfirmTradeIn","onTradeInConfirmed","currentContractSummary","selectedContractSummary","newEndDate","prolongableContractLines","selectedExtendContract","remainingMonthsForOrder","calcProRatePrice","ContractProlongationOptionType","useContractStore","isSwitchingContract","selectedProlongationOption","switchingContractLines","fetchProlongationOptions","addSwitchContract","removeSwitchContract","startTradeIn","cancelTradeIn","removeTradeIn","confirmTradeIn","cancelExtend","confirmExtend","selectedOption","ContractDetailExtendCard","proRatePrice","proRatePriceBase","proRateDiscount","useZeroPercentVAT","contractClient","currentEndDate","extend","isBefore","years","canProlong","endDateToUseForCotermExtend","contractDuration","pricePerMonth","addContractProlongationToCart","canChangeContractDuration","showExtendOptions","isChangingDuration","selectedContractLines","visibleContractLines","expandedRows","rowClass","expansion","getSwitchingContractLine","getSwitchProduct","productIcon","selectedSwitchDuration","isSwitching","isSwitched","isRowDisabled","isRowSelected","canSwitch","showTradeInOptions","Deployment","ContractDetailSwitchCard","nonProlongableContractLines","mergedSwitchingAndSelectedContractLines","unionBy","newContractDuration","selectedSwitchSku","selectedSwitchSeats","addMonths","canExtend","coterm","onContractSwitch","onContractLineSelectionChanged","ViewCart","Product","switchProducts","switchVariations","variation","isPerpetualAndMultiUserContractLine","isPerpetual","isRowExpanded","selectContractLine","originalContractLine","BeginCheckout","remainingMonths","extendOptions","crmBusinessUnit","maxContractAssetsToShow","ContractExtendModal","_contract","calculateNewEndDate","switchDurationOptions","selectedDuration","onDurationChange","tradeInOptions","selectedProduct","getProductVariation","licenseAudience","getPricePerSeat","renewSeats","ContractSwitchModal","switchProduct","durations","uniq","selectedProductVariation","customerPrice","$i18n","newDuration","ContractExtend","selectedVariation","newContractLine","_component_ContractOverviewTable","_component_SubscriptionOverviewTable","hasSupportAssets","supportContracts","contractTypeEnum","onCancelContract","confirmCancelContract","licenceManagementOverviewPageUrl","confirmManageLicences","softwareContracts","software","subscriptions","autoDeskSubscriptions","highlightRow","onRowClick","getContractAssets","productIconAlt","productIconUrl","productCrmUrl","isMultiSizeProduct","isAssetSwitched","hidden","isSupportContractTable","expander","getSortedContractAssets","isImpersonatedByCadacSales","contractFaultRemarks","canExtendOrRenewContract","contractDetailPageUrl","canEditContract","contractChangePageUrl","canCancelContract","cancelContract","SwitchStatus","ContractType","ContractOverviewTable","existingRowIndex","splice","contractSupportAssets","contractAssets","otherAssets","uniqueIconAssets","contractAsset","switchStatus","notSwitched","valueOf","partialContractWarning","prolongationDisabledDueToPendingOrder","supportsChanges","isDatechAutoRenewalCancelled","isAllowedToCancelDatechAutoRenewal","shouldShowTopLevelContractExpirationWarning","autodeskContractAssets","getSortedSubscriptionAsset","assetDuration","contactPageUrl","SubscriptionOverviewTable","isAlmostExpired","daysBeforeExpirationWarning","ContractOverview","cadacContracts","cadacSupportContracts","isSupportTicketVariation","autodeskSubscriptions","reject","_component_AdvisorResultCta","_component_AdvisorAdviceOverview","_component_AdvisorInsightsOverview","resultCtaBlockViewModel","_component_AdvisorTokenAdvice","_component_AdvisorProductAdvices","_component_BlockUI","hasAdviceError","showPollMessage","resumePolling","showNoAdviceMessage","hasAdvices","blocked","productWithAdvices","productWithoutAdvices","_component_AdvisorTokenAdviceContent","firstTokenUse","relatedProducts","maxTokenAdviceRelatedProducts","relatedProduct","tokenAmount","AdvisorTokenAdviceContent","AdvisorTokenAdvice","AdvisorAdviceOverview","_component_AdvisorProductAdviceContent","currentProduct","nextStepAdvices","maxNextStepAdviceIcons","nextStepAdvice","currentContractNumber","licenceNumber","currentSerialNumber","productCardTitle","adviceType","productAdviceType","New","durationInMonths","startDate","Renew","TradeIn","Running","ProductAdviceType","AdvisorProductAdviceContent","pollAdviceProcessing","adviceProcessingPoll","pausePolling","pause","resume","useIntervalFn","fetchAdvice","pollCount","pollIntervalLimit","pollIntervalMs","immediate","immediateCallback","AdvisorProductAdvices","_component_Chart","_component_AdvisorInsightSkeleton","_component_AccordionTab","_component_Accordion","showNoInsightMessage","scoreChartData","scoreChartOptions","months","productAccordionActiveIndexes","statistics","optimalUsage","subOptimalUsage","licenses","productItemTypeIcon","productItemTypeLabel","usage","AdvisorInsightSkeleton","AdvisorInsightsOverview","scoreColor","getColorForScore","documentStyle","getComputedStyle","datasets","maxScore","getPropertyValue","cutout","animation","onProgress","chartInstance","chart","centerX","chartArea","right","centerY","minScore","numSteps","clearRect","font","fillStyle","textAlign","textBaseline","fillText","plugins","tooltip","events","redYellowRange","yellowColor","redColor","yellowGreenRange","greenColor","Accordion","AccordionTab","Chart","scoreStyleObject","ctaBgColor","panelCollapsed","ctaTitle","ctaMessageStyle","ctaTextColor","ctaIcon","ctaMessage","amountSavedPerYear","primaryCta","primaryCtaStyle","AdvisorResultCta","warning","ctaBGColor","ctaColors","DigitalAdvisor","ExpertAvailability","_component_ProfileImage","profileImageUrl","onOnProfilePictureChange","onProfilePictureChange","isInternalExpert","submit","canChangeImage","cursor","validProfileImage","loadedFile","onError","onProfilePictureError","firstLetterAvatar","ProfileImage","onImageUrlChange","ExpertAccountPage","addToastError","formsDirty","formsValid","profileImage","expertSettingsUrl","img","createObjectURL","_component_ExpertBookingOverviewTable","bookings","customerDisplayName","canAcceptOrRejectBooking","onRejectClick","canCompleteBooking","canSeeInvoiceForBooking","onViewDetailClick","CadacExpertType","ExpertBookingOverviewTable","selectedBookingId","detailPageUrl","ExpertBookingOverview","_component_ExpertProfile","_component_GMapAutocomplete","_component_ExpertBookingCalendar","_component_ExpertBookingSlider","_component_WalletMessage","_component_ExpertBookingModal","_component_ProductAddedModal","_component_StickyScrollToButton","bookingSummary","expertDetails","canBookExpert","selectedLocationOption","locationOptions","unselectable","editWorkLocation","onLocationSelected","onPlace_changed","onPlaceChanged","configuration","selectedDates","selected","editDateIndex","removable","openDate","onRemove","deleteDate","visibleStep","selectedDate","availabilityDates","calendarMaxDate","calendarMinDate","selectedDateStartingHour","totalWorkHours","onDateSelect","onDateSelected","selectedDayParts","dayParts","resetSelectedHours","isDisabled","ExpertBookingDateType","morning","selectedDayPartsTimes","dayPartsTimes","concatenatedUnavailableHours","unavailableHour","time","selectedHours","workDayEndHour","workDayStartHour","onOnValidityChange","onValidityChange","flexBookingCancellationTerm","expertPriceCalculation","canUseWallet","canAddDate","isEditingDate","onDateAdded","isRequestBooking","openBookingModal","modalType","onModalSubmit","productAddedModel","isMediumScreen","offset","_component_Calendar","bookingDateOptions","disabledDates","activeDate","isSelectedDate","available","getAvailabilityType","expertDateAvailability","onRequest","legendOptions","ExpertDateAvailability","ExpertBookingLocationType","ExpertBookingCalendar","selectDate","bookedHours","startHour","availability","totalHours","totalBookedHours","startingDateTime","addHours","getHours","endDateTime","compareAsc","unavailable","OnLocation","minDate","disabledDays","showIcon","inline","selectionMode","numberOfMonths","VModel","Calendar","onsubmit","isOnRequest","firstname","lastname","requiredValue","requester","ExpertBookingModalType","ExpertBookingModal","expertBookingForm","OnRequest","InlineMessage","_component_Slider","selectedTotalTime","selectedHour","bubbleStyle","range","onSlideend","onSliderValueChange","unavailableHours","unavailableRangeStyle","ExpertBookingSlider","availableTotalTime","rangeSegmentWidth","isValidSelection","fixedValue","rangeStartingPosition","rangeWidth","Slider","shortDescriptionTitle","spokenLanguages","reviewChartData","reviewChartOptions","sortedReviews","reviewerDisplayName","reviewTags","experiences","experience","getExperienceDate","experienceStartDate","experienceEndDate","align","ExpertProfile","diffInMonths","differenceInMonths","formattedYears","formattedMonths","startDateLabel","endDateLabel","presentLabel","fiveStars","labels","groupedReviewScores","legend","boxWidth","boxHeight","isButtonHidden","buttonLabel","StickyScrollToButton","handleScroll","targetDiv","getElementById","parentContainerId","stickyButton","targetDivPosition","innerHeight","loginLink","registerLink","WalletMessage","ExpertDetail","onSelectedDatesChanged","calculatePrice","onSelectedDateChanged","bookedHour","expertMidDay","hasAfternoonBookings","getSliderPositionFromDate","hasMorningBookings","afternoon","onSelectedLocationOptionChanged","Remote","bookedHoursToRemove","differenceInHours","setupConfigurationOptions","onWorkLocationChanged","onIsFlexBookingChanged","onRemoteAllowedChanged","setupPreviousConfiguration","sendViewItem","minimalCosts","expertVariationContentId","isRemoteAllowed","remoteAllowed","isValidRange","relatedCrossSellProducts","calculationRequestModel","expertPageId","pageId","accumulator","currentValue","previousValue","getPriceLines","expertDate","startingHour","setBookedHours","getIsBetweenSelectedDate","workDayEnd","dateObject","endHour","last","concurrentBooking","getBookingType","indexOne","indexTwo","updateAvailabilityDates","resetDay","selectedEditingHours","place","address_components","types","formatted_address","short_name","geometry","sendBookingRequest","addToCartRequest","indexOfUnavailableHours","object","bookingRequest","oldLineItemId","SplitButton","_component_ServiceOverviewItemCardSkeleton","_component_ProductOverviewLayout","overviewVm","onOnFilterChange","onFilterChange","onOnSearch","onOnSortChange","availabilityFilter","resetDateFilter","applyDateFilter","workOnLocationFilter","workLocationActiveRemote","onRemoteLocationChanged","workLocationActive","onLocationChanged","FilterTypes","useProductOverviewFilterStore","filters","sortKey","sortOrder","sortField","hasFilters","hasOptionFilters","optionFilters","hasActiveFilters","activeFilterCount","hasQueryFilter","queryFilter","hasActiveQueryFilter","queryString","hasWorkRemoteFilter","workRemoteFilter","hasActiveWorkRemoteFilter","workRemote","hasWorkOnLocationFilter","hasActiveWorkOnLocationFilter","workOnLocation","hasAvailabilityFilter","hasActiveAvailabilityFilter","Query","WorkOnLocation","WorkRemote","DateRange","isActiveOptions","updateTrainingFilters","updateProductFilters","updateExpertFilters","addPriceSortOptions","PriceAsc","PriceDesc","addExpertSortOptions","Availability","Location","Score","updateSort","updateSearchQuery","updateWorkOnLocationFilter","newLocation","locationName","updateWorkRemoteLocationFilter","updateAvailabilityFilter","newDateRange","isSameDay","activeOptions","resetFilters","ExpertFilters","onExpertFilterChange","onAvailabilityFilterChanged","selectedLocation","locationInput","reviewFilter","selectedStartDate","selectedEndDate","periodCalendar","overlayVisible","ServiceOverviewItemCardSkeleton","_component_ExpertFilters","_component_ProductFilters","_component_SlideSidebar","_component_Sidebar","_component_ScrollTop","showFilters","onClose","onFiltersChanged","isExpertProduct","onOnExpertFilterChange","badge","searchPlaceholderText","threshold","filterCollapsed","filterId","toggleFilterCollapse","isFilterCollapsed","isAvailable","filtersChanged","ProductFilters","close","SlideSidebar","ProductOverviewLayout","headerOffset","elementPosition","offsetPosition","defaultViewLayout","Training","ScrollTop","Sidebar","ExpertOverview","_filter","_component_LanguageDropdown","_component_ExpertOverviewForm","_component_ExpertExperienceForm","_component_ExpertLevelModal","showCompletionSteps","activeStepIndex","isProfileApproved","contentLinkUrl","availableLanguages","onLanguageSelected","onProfileLanguageChanged","expertLevelProduct","minPrice","maxPrice","requestedLevelProduct","isEditingExpertOverview","hasEmptyOverview","saveExpertOverview","isEditingExpertLanguages","initLanguages","selectedLanguages","languageOptions","saveExpertLanguages","isEditingExpertises","initExpertises","saveExpertExpertises","onAddExperienceClick","expertExperiences","experiencesActiveTabIndexes","editingExperiences","confirmRemoveExperience","saveExpertExperience","isEditingCertifications","initCertifications","selectedCertifications","availableCertifications","certification","level","saveExpertCertifications","allExpertLevelProducts","onLevelSelected","saveExpertLevel","ctaText","CtaBlockModal","typeOptions","autocomplete","view","endDateAfterStartDate","cols","isDialog","formatExperienceDate","_component_country_flag","selectedLanguage","useFullWidth","scrollheight","onLangSelected","mapLanguageToCountryCode","mustChooseDefault","onConfirmClick","selectedCompany","canSetPreferredCompany","setAsDefault","CookieType","ChangeCompanyModal","currentCompany","cadacOrganizationId","localStorage","changeToSelectedCompany","setPreferredOrganization","PreferredOrganization","onShowAllResultsClick","MainSearchBar","onSearchBarVisibleChanged","DomHandler","focus","onClickOutside","searchBar","defaultResult","LanguageDropdown","languageSelected","Language","updateCookie","redirectUrl","ExpertExperienceType","checkEndDateIsAfterStartDate","ExpertExperienceFrom","expertExperienceForm","Experience","Education","dialogRef","endDateOptions","touchUI","isEditing","$anyDirty","Inject","selectedLevel","requirements","hasSelectedRequestedLevel","ExpertLevelModal","levelSelected","currentLevel","expertProductContentId","requestedLevel","expertFunction","ExpertOverviewForm","expertSettingsOverviewForm","onIsEditingChanged","_val","initForm","onVmChanged","ExpertSettings","useDialog","selectedProfileLanguage","initOverview","initExperiences","isProfileComplete","profileCompletionPercentage","certifications","next","dialog","ExpertExperienceForm","expertLevelContentId","isEditingExpertLevel","expertOverviewForm","expertiseIds","blockId","experienceStartDateMonth","experienceStartDateYear","experienceEndDateMonth","experienceEndDateYear","ProgressBar","_component_GMapCircle","introTitle","isEditingTravelSettings","isAvailableAbroad","onCancelEditing","mapDescription","radius","minPlaneCompensationDistance","strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity","minCompensationDistance","ExpertTravelSettings","availableAbroad","saveTravelSettings","workAbroad","_component_TrainingDetailSummary","isInstructor","isParticipant","attendancePercentage","userAsParticipant","dateIndex","isParticipantPresentForDay","canDownloadCertificate","downloadCertificate","canDownloadAllCertificates","downloadAllCertificates","isCustomer","participants","trainingParticipants","participantName","participantAllDayPresent","toggleAllDatesPresent","allPresenceDays","toggleDatePresent","trainingType","instructorName","formattedDates","moduleNames","visibleModules","TrainingDetailSummary","trainingAddress","trainingLocation","FinishedTrainingDetail","participant","isParticipantPresentForAllDays","presenceDays","basePath","_date","updateParticipantPresence","trainingListId","participantId","presenceList","restoreParticipantPresence","showParticipantUpdateErrorToast","participantIndex","trainingsGroupedByLinkId","trainingLinkId","subject","isInstructorOfATraining","finishedTrainingDetailUrl","FinishedTrainingOverview","groupBy","finishedTrainings","_component_LicenceFormModal","onBackClick","selectedLicenceProduct","hasAvailableLicences","totalActiveLicences","totalSeats","applicationKeyAllowed","applicationKey","copyTextToClipboard","licenceOveruseAllowed","overuseSupportUrl","onAddLicenceClick","licenceFilters","getRowClass","allLicences","getRoleDescriptions","licenceType","getContractExpirationDate","getRemainingContractDays","shouldShowPendingDeletionWarning","onEditLicenceClick","onDeleteLicenceClick","licenceStore","isLicenceFormModalVisible","onLicenceSaved","_component_UserLicenceForm","_component_ServerLicenceForm","selectedLicence","possibleLicenceTypes","isUserLicence","isServerLicence","sendEmailToLicenseUser","serverName","possibleRoles","roles","descriptionNL","descriptionEN","useLicenceStore","canSeeLicences","useSessionStorage","setCanSeeLicences","ServerLicenceForm","$reset","canSendEmail","onResendEmailClick","UserLicenceForm","licenceProduct","sendLicenceNotification","resendEmail","LicenceStatus","LicenceType","LicenceFormModal","licenceSaved","licenceFormModel","licenceStatus","assigned","user","licenceForm","serverLicenceForm","userLicenceForm","server","isSubformValid","service","connector","licenceTypes","namedUserLicencesAllowed","serverUserLicencesAllowed","LicenceManagementDetail","matchMode","FilterMatchMode","CONTAINS","getAllSortedLicences","licenceRoleFilterOptions","licence","dateDeleted","currentDateMinusGracePeriod","sub","days","getLicenceAssetForLicence","differenceInCalendarDays","licenceId","licenceAssets","licenceAsset","licences","licenceOfAsset","_licence","updateLicence","addNewLicence","deleteLicence","getLicenceProduct","$forceUpdate","licenceProducts","licencePanelUnlocked","unlockPanel","isOutOfLicences","showBuyLicencesButton","softwareLicenceDetailUrl","LicenceManagementOverview","getLicenceProducts","confirmUnlockPanel","_component_MainNavBar","_component_MainFooter","_component_ConfirmDialog","_component_DynamicDialog","_component_Toast","hideMenuAndFooter","_Teleport","_resolveDynamicComponent","breadCrumbsLinkedData","searchLinkedData","_component_ChangeRegionModal","availableLocationOptions","onShowRegionModalClick","currentRegionName","mainFooterBlocks","block","itemIndex","privacyPolicyUrl","termsAndConditions","term","isoIconsBlock","isoItem","standardNumber","linkedInUrl","youtubeUrl","spotifyUrl","facebookUrl","subFooterBlock","showRedirect","shouldConfirmRegion","preferredLocationOption","redirectCountries","onRegionSelected","europeCountries","availableLocations","otherCountries","Continent","ChangeRegionModal","continent","Europe","pageLocationOption","PreferredLocation","MainFooter","_component_MainMenuBarMobile","_component_MainMenuBar","_component_ImpersonationForm","_component_MainSearchBar","_component_font_awesome_layers_text","_component_font_awesome_layers","_component_InlineMessage","_component_MainUserMenu","_component_OverlayPanel","_component_ChangeCompanyModal","subMenuItems","homePageUrl","mainMenuItems","searchActive","onToggleSearchClick","onCartClick","transform","onToggleUserMenuClick","availableLanguageOptions","userName","cadacOrganizationCode","uspBlock","uspCollectionLink","uspIcon","uspCollectionTitle","uspSubText","dismissable","impersonationUserName","onKeyup","_withKeys","impersonateUser","isValidInput","refreshUserInfo","cancelImpersonation","ImpersonationForm","emailPattern","orderNumberPattern","shouldVerifyEmail","onGoToMyCadacClick","onChangeCompanyClick","onLogoutClick","onLoginClick","onCreateAccountClick","MainUserMenu","onGoToAccountSettingsClick","accountSettingsPageUrl","MainMenuBar","mainMenu","clientHeight","showedCompanyModal","userMenuPanel","toggle","isMenuCollapsed","onSearchToggle","circular","responsiveOptions","MainMenuBarMobile","numVisible","numScroll","onMenuToggle","searchMenuPanel","MainNavBar","BooleanString","string","utf8","TextEncoder","encode","crypto","subtle","digest","hashBuffer","hashArray","from","Uint8Array","hashHex","padStart","MainLayout","initSeoData","primeVue","usePrimeVue","setNumberFormat","getNumberFormatForCurrentCurrency","trackVerified","impersonationErrorMessage","isInitialized","setProperty","initDataLayerListeners","urlSearchParams","fromEntries","dl_track","True","handleNewsletterSubscribeTracking","handleFormTracking","currencyDisplay","itemListElement","seo","breadCrumbs","potentialAction","urlTemplate","ConfirmDialog","Toast","DynamicDialog","_component_MyCadacBannerBlock","_component_ProgressBar","_component_MyCadacMenu","_component_CtaBlockModal","userFullName","displayUser","earnedWalletAmount","usedWalletBalances","hasUsedEarnedWalletAmount","walletOverviewPageUrl","depositedWalletAmount","hasUsedDepositedWalletAmount","hasUsedLoyaltyCashbackWalletAmount","bannerBlock","showProfileProgress","onApprovalRequested","MyCadacBannerBlock","MyCadacLayout","requestApprovalBlock","substr","updateProfilePicture","sendApprovalRequest","tableData","canGenerateInvoice","urlToGenerateInvoice","invoiceDateTime","isPaid","showTotalColumn","orderStatus","isInvoicedByPartner","canSeeInvoiceForOrder","viewPdf","OrderOverview","orders","order","invoiceNumber","_component_TrainingParticipantsTable","isVdiTraining","startTraining","_component_TrainingParticipantForm","participantForm","TrainingParticipantForm","isAnyDirty","trainingParticipantForm","throttledWatch","checkIfParticipantIsUnknown","throttle","isUnknown","useTrainingStore","isTrainingAddCourseModalVisible","isTrainingAddParticipantModalVisible","TrainingAddParticipantsModal","addParticipant","onParticipantFormChange","_component_TrainingAddParticipantsModal","editingRows","canBeEdited","currentRows","canAddParticipant","onAddParticipantClick","howToStartTrainingLink","canShowVdiInfo","vmAccount","vmPassword","teamUrl","vmUrl","canShowBookCodes","studyBookCodes","canRestartVdi","isRestartVdiButtonLocked","restartVdi","canExpandRow","isExpandedRow","toggleRowExpansion","column","canEditParticipant","canRemoveParticipant","confirmRemoveParticipant","cancelEditingRows","updateParticipant","trainingStore","onAddParticipant","TrainingParticipantsTable","originalRows","userParticipant","maxParticipants","isOwningCustomer","companyTrainingLocal","companyTrainingRemote","rowToHighlight","rowToEdit","rowToAdd","removeParticipant","trainingParticipantId","saveEditingRows","participantListIndex","editingRowIndex","PlannedTrainingDetail","isOwningCustomerOfATraining","participantsDataCompleted","plannedTrainingDetailUrl","PlannedTrainingOverview","plannedTrainings","_component_Menu","_component_CartPrintPreview","shoppingCarts","opportunityUrl","opportunityName","responsibleSales","optionsMenu","popup","cartName","checkoutCart","toggleMenu","cartToPrint","_hoisted_61","_hoisted_62","_hoisted_63","_hoisted_64","_hoisted_65","_hoisted_66","_hoisted_67","_hoisted_68","isInvoice","cadacCompanyInfo","phoneNumber","bic","totalWalletAmountEarned","CartPrintPreview","SavedCartsOverview","cart","getMenuItemsForCart","editCart","printCart","print","Menu","_component_CircularProgress","headerTitle","headerSubtitle","headerButtonLink","totalAutodeskSaved","mappedProds","cashback","cashbackText","priceText","buttonLink","openCashbackForm","CircularProgress","progressCircle","innerCircle","percentage","startValue","endValue","speed","classList","progress","setInterval","background","maskImage","clearInterval","RewardsPage","cashbackRewardList","calculatePercentageForProduct","trimmedUrl","priceFormatted","_component_SearchPageResultItemSkeleton","_component_SearchPageResultItem","parseInt","onCategoryChange","onClear","SearchPageResultItem","SearchPageResultItemSkeleton","categories","SearchPageSidebar","SearchPage","isFinite","toNumber","updateUrl","pushState","ServiceOverview","_component_ProductConfigurationOption","_component_ProductConfigurationStep","_component_ProductConfiguration","_component_ProductPageContentSection","_component_ProductTabs","_component_ProductConfigurationSummary","_component_ProductPageSummary","_component_ProductLayout","showSideBar","selectedHelpBlock","tabs","productTabs","tabConfiguration","viewModelIsValid","helpBlockServiceType","linkText","showHelpSideBar","productStore","availableServiceTypes","selectedServiceType","onOptionSelected","onServiceTypeSelected","helpBlockUnit","availableUnits","selectedUnit","onUnitSelected","relatedUpSellProducts","gameRules","maxQuantity","minQuantity","selectedAmount","onAddToCart","addProductToCart","onSelectedAmountChanged","configurationSummary","walletMessage","productAddedVm","ProductConfiguration","isSelected","optionSelected","uspSlots","slotName","ProductConfigurationOption","ProductConfigurationStep","ProductConfigurationSummary","isSmaller","_component_ProductPageHeader","_component_ProductNewVersionBanner","showTeachingsMaterialButton","availableInCurrentMarket","latestVersionOfProduct","helpBlock","jsonLinkedData","ProductPageContentSection","showOverviewImage","usps","usp","setDefaultImage","ProductPageHeader","ProductServiceType","ProductNewVersionBanner","ProductLayout","serviceType","ownSoftware","thirdPartySoftware","offers","pricecurrency","lowestPersonalPrice","isProductAvailable","isAutodeskProduct","showAmountInput","onInput","offerRequestFormUrl","requestOfferForThisProductVariation","validationMessage","addToCartButtonLabel","requestAutodeskQuote","showSupportCard","ProductPageSummary","urlResponse","isInEditMode","onVariationChanged","_directive_scroll_spy_active","_directive_scroll_spy_link","_directive_scroll_spy","getLinkForItem","allowNoActive","ProductTabs","useServicePassProductStore","currentVariation","filterOptions","unit","servicePassVariations","distinctServiceType","distinctUnit","selectedServicePassVariation","selectedSeats","updateConfigurationOptions","payLoad","ServicePassProduct","configurationTitle","configurationSubtitle","formDetailPageUrl","configurationCta","ServiceProduct","viewModelErrors","addServiceProductToCart","validateProductConfiguration","_component_SaveCartModal","_component_ShareCartModal","cartTitle","cartOpportunityName","cartOpportunityUrl","onShareCartClick","onPrintInvoiceClick","showOtherCartsButton","totalNumberOfShoppingCarts","myCartsPageUrl","showSaveCartButton","onSaveCartClick","onDeleteCartClick","onPrintCartClick","showCartItemsMergedMsg","cookies","announcements","announcement","softwareOverviewUrl","canExchangeWallet","onExchangeWalletClick","walletUnavailable","couponFormActiveIndex","canExchangeCoupon","firstErrorMessage","hasError","showCouponMessage","goToLoginPage","autoDeskWalletAmount","autodeskLoyaltyCashbackBlock","hasValidProfile","userIsPartnerCompany","onCartSaved","saveCart","onCartShared","shareCart","printInvoice","deleteAfterSave","SaveCartModal","cartSaved","cartSaveForm","currentTitle","salesOpportunity","_component_Chips","canMakeSalesOpportunity","allowChooseSalesOpportunity","salesOpportunityName","salesOpportunitySuggestions","onSearchTrigger","onSalesOpportunitySelected","responsibleSalesOptions","sendEmail","fromEmail","toEmail","onAdd","onToEmailAdded","chip","validToEmailAddresses","oneValidEmailRequired","validToEmail","cartShareForm","validFromEmail","requiredResponsibleSales","ShareCartModal","cartShared","formValue","timeStamp","possibleResponsibleSales","emailAddress","FilterService","salesOpportunityViews","Chips","ShoppingCart","useCookies","titleEnabled","$nextTick","useWalletPanel","hide","allCartItems","playsinline","_component_ProductConfigurationFlexLicense","_component_PartnerInfoModal","autodeskInfoBlock","video","hasTab","productInfoTabTitle","productInfoTab","autodeskSupportBlock","isFlexLicense","productGuid","guid","onRequestAutodeskQuote","availableDurations","onDurationSelected","validationErrors","advisorInfoPageUrl","availableLicenseModels","helpBlockLicenseType","productValidation","productValidationEnum","ValidContract","selectedLicenseModel","onLicenseModelSelected","productUsageAdvice","onSelectSubscription","availableLicenseClasses","selectedLicenseClass","onLicenseClassSelected","availableLicenseSizes","unitSelectionTitle","helpBlockProductSize","selectedLicenseSize","onLicenseSizeSelected","canAddToContract","isAddingToContract","helpBlockContract","selectedContract","contractsForProduct","onContractSelected","toggleAddToContract","helpBlockDuration","isCheapestDuration","getPricePerMonthForDuration","tabInfo","tabSpecifications","specificationsTabTitle","specificationsTab","tabContent","contentTabVm","tabMedia","mediaEmbedCaption","mediaEmbedSrc","wmode","selectedLicenseSizeLabel","currentPartner","showPartnerInfo","addressString","mainImageUrl","PartnerInfoModal","SoftwareProductValidation","LicenseModel","useSoftwareProductStore","isSelectedDurationAvailable","licenseSize","licenseClass","productVariations","distinctLicenseClass","distinctDuration","tc","licenseSizes","selectedContractNumber","updateConfiguration","updateAvailableOptions","updateSelectedContract","fetchContractsForSelectedVariation","skuCodeToUse","skuIdToUse","selectedDays","isPositiveFlexAdvice","selectSubscription","tokensPerDay","totalCostsPerDay","ProductConfigurationFlexLicense","monthlyThreshold","SoftwareProduct","flex","relatedNotForSaleProducts","allProductNames","mediaTab","mediaTabTitle","basePriceMonthly","ecommercePriceMonthly","personalPriceMonthly","totalEcommercePrice","hasDifferentEcommercePrice","mediaTabContent","videoUrl","parts","caption","quotationPageUrl","priceNotLoggedIn","productVariation","getPricesPerMonthForAvailableDurations","pricesPerMonth","Set","SoftwareProductOverview","addCollectionsToOverview","maxAmountOfCollectionsToShow","collectionsToShow","_component_AskAQuestionPersonalForm","_component_AskAQuestionSupportTicketForm","_component_AskAQuestionMessageForm","_component_vue_recaptcha","_directive_badge","selectedMainCategory","isSupportCategory","subCategoriesTitle","selectedSubCategory","availableSubCategories","availableSubSubCategories","selectedSubSubCategory","hasSelectedSupportCategory","availableAmountOfSupportTickets","secondary","hasSupportProducts","hasTickets","ticketsAndSubscriptionsTitle","ticketsAndSubscriptionsSubTitle","noTicketsButSubscriptionsTitle","noTicketsButSubscriptionsSubTitle","noSubscriptionsButTicketsTitle","noSubscriptionsButTicketsSubTitle","noSubscriptionsAndNoTicketsSubtitle","selectedSupportProduct","supportContractSupportAssets","onSupportProductSelected","ticketsAndSubscriptionsOtherSoftwareTitle","hasSelectedSupportTicketProduct","selectedSupportTicketProduct","searchProductResults","onSearchSoftware","onSupportTicketProductSelected","searchQuery","ticketsCtaTitle","subscriptionsLinkItem","ticketsLinkItem","showForms","onPhoneObjectValidationChange","onPhoneObjectValidChanged","showSupportTicketForm","theme","onExpired","recaptchaValid","onFail","onVerify","requestSuccessMessage","requestSuccessCtaLinkItem","canGoToNextStep","isSupportQuestion","fileSize","attachments","totalSize","totalSizeLimit","AskAQuestionMessageForm","checkTotalFileSize","sumBy","onOnInput","onPhoneInputBlur","AskAQuestionPersonalForm","phoneObjectValidationChange","number","$validate","formatted","impact","availableImpactOptions","urgency","availableUrgencyOptions","TicketImpact","TicketUrgency","AskAQuestionSupportTicketForm","AskAQuestionSubCategoryType","SupportAskQuestion","onMainCategoryChanged","prev","subCategories","onSelectedSubCategoryChanged","subSubCategories","initStateFromQuery","hasSelectedIncidentCategory","subCategoryType","Incident","hasSelectedSupportProduct","Support","subCategoryTitle","submitSupportTicketRequestModel","selectedSupportId","selectedSupportName","mainCategoryId","freshDeskId","subCategoryId","itemId","submitQuestion","existingIds","askAQuestionSupportTicketForm","askAQuestionMessageForm","askAQuestionPersonalForm","_component_HeroFaqBlock","_directive_vue_intersect","heroFaqBlock","selectedCategory","faqHeadCategories","onHeadCategoryChanged","subCategory","menuItemCollapsed","toggleMenuItemCollapse","isMenuItemCollapsed","subSubCategory","firstVisibleHeader","onIntersectionObserved","question","CallToActionSimpleBlock","SupportFaq","initHeadCategoryFromUrl","initMenuItems","sortFaqHeadCategories","activeCategory","collapseCategories","previouslyFirstActiveHeader","regex","subCat","activeCategories","groupedCategories","lastIndexOf","mappedGroupedCategories","acc","anyTrue","updateUrlForSelectedCategory","currentUrl","urlParts","newUrl","_component_CallToActionSimpleBlock","article","modifiedDate","questionBlockViewModel","SupportFaqArticle","faqArticle","supportSubscriptionsHelpText","urlToCreateTicketForAsset","selectedSupportContractAsset","supportTicketsHelpText","supportTicketsCreatePageUrl","supportTicketsBuyPageUrl","productsToAdd","addSupportProductToCart","selectedProducts","yearPrice","searchProductNoResults","SupportOverview","askAQuestionSupportCategoryId","supportProductViewModel","addedToCart","productAddedToCart","supportVariationCodes","supportContract","supportProductValidation","SupportValidationEnum","AtleastOneAsset","SupportProductValidation","SupportProduct","supportVariations","onContractChanged","mapRemainingPrice","onProductsChanged","addSupportRequestModel","cur","remainingPrice","calcRemainingPrice","prod","hideProductAddedModal","openTicketCount","actionRequiredTicketCount","inProgressTicketCount","ticketUrl","rel","modified","simpleStatus","showAllTicketsCtaLinkItemHref","showAllTicketsCtaLinkItemText","showAllTicketsCtaLinkItemTarget","SupportTicketOverview","tickets","ticketAmount","addSupportTicketToCart","supportSubscriptionText","supportSubscriptionLinkItem","SupportTicketProduct","supportTicketVariation","Image","_component_TrainingModuleTable","_component_TrainingPriceSummary","_component_TrainingAddCourseModal","isBeNeMarket","availableTrainingMethods","helpBlockTrainingMethod","selectedTrainingMethod","onSelectedTrainingMethodChanged","trainingMethodHelpText","TrainingMethodEnum","inCompanyModular","trainingModulesAccordionActiveIndexes","allTrainingCourses","course","selectedModulesForCourse","selectedTrainingConfigurationOption","TrainingConfigurationOptionEnum","Custom","onSelectedModulesChanged","onAddModuleClick","canChooseLocation","trainingValidations","TrainingValidationEnum","ValidAddressOwnLocation","ValidVdiChoice","helpBlockTrainingLocation","availableTrainingLocationOptions","getAvailableTrainingLocationOptions","selectedTrainingLocationOption","onSelectedTrainingLocationOptionChanged","TrainingLocationOptionEnum","Cadac","availableTrainingLocations","selectedTrainingLocation","onSelectedTrainingLocationChanged","OwnLocation","helpBlockTrainingHardware","selectedVdiChoice","vdiTrainingOptions","inCompany","ValidPreferredStartDate","availableScheduledTrainings","selectedScheduledTraining","onSelectedScheduledTrainingChanged","availablePlaces","guaranteed","selectedPreferredStartDate","preferredDateOptions","MaxParticipants","AtleastOneParticipant","UniqueEmailParticipant","helpBlockTrainingParticipants","trainingParticipantsAccordionActiveIndexes","getParticipantName","canAddParticipants","loggedInUserAsParticipant","trainingPriceCalculation","selectedLocationText","trainingProductForm","totalDurationInDays","selectedDateFormatted","refresh","courses","relatedProductModules","onTrainingCourseAdded","onSelect","onSelectedCourseChanged","selectedCourse","availableCourses","isDefaultTraining","getDuration","durationInHours","onToggleSelectionClicked","TrainingConfigurationOption","TrainingLocationOption","TrainingMethod","useTrainingProductStore","trainingViewModel","isInitializing","availableTrainingConfigurationOptions","selectedTrainingCourse","trainingCourseById","allCourses","trainingProductFormCourses","additionalCourses","mappedCourses","cadacIdentifier","filteredCourses","isAdditionalCourse","isCourseSelected","isModuleSelected","courseId","moduleSku","selectedModuleSkus","elearning","trainingTypeForCurrentConfiguration","OnlineRemote","modular","eLearning","initProductPage","trainingProductViewModel","oldLineItemIds","trainingProductGroupId","trainingLocationId","changeTrainingCourse","initPreviousConfiguration","trainingProductGroupConfiguration","scheduledTrainings","remoteLocation","desiredDate","None","scheduledTrainingLocations","datesString","cadacLocations","setSelectedTrainingType","changeTrainingLocationOption","locationOption","trainingCourse","isExistingConfiguration","methods","changeTrainingLocation","scheduledTrainingsForLocation","addAdditionalCourse","updateCourse","isNumber","removeCourse","trainingCourseId","index2","resetCourse","TrainingModuleTable","selectedModulesChanged","selectedModules","trainingProductStore","totalDurationInHours","isModal","toggleSelection","rejectClass","courseCartModel","className","TrainingAddCourseModal","trainingCourseAdded","maxTableHeight","selectedRow","scrollable","TrainingCourseTable","trainingCourseChanged","clamp","scrollTopToSelectedRow","container","scrollTop","offsetTop","isModularTraining","trainingTitle","courseById","sortedLines","line","lineText","TrainingCalculationErrorCodeEnum","durationError","minimumRequiredDurationToBeValid","TrainingCalculationErrorCode","TrainingCalculationLineType","TrainingPriceSummary","relatedCourses","decimals","vdiEnvironment","trainingMaterial","trainingRoom","standardTraining","intake","TrainingValidation","TrainingProduct","onTrainingAddressChanged","trainingAddressForm","onTrainingParticipantsChanged","checkParticipantsUniqueEmail","checkMaxParticipants","onSelectedVdiChoiceChanged","recalculatePrice","trainingProductConfiguration","scheduledTrainingsForSelectedLocation","filteredScheduledTrainings","trainingAddToCartModel","trainingCalculateModel","locationId","addBusinessDays","numMonths","checkAtleastOneParticipant","nonEmptyEmails","isPreferredStartDateValid","TrainingProductGroup","trainingParticipant","cb","_event","onSelectedTrainingConfigurationOptionChanged","onSelectedTrainingCourseChanged","ValidPriceCalculation","walletDepositPageUrl","totalDeposited","toggleWalletType","cadacWalletTransactionsVisible","totalSaved","getTransactionIcon","getTransactionText","transactionDate","getAmountIcon","WalletTransactionOrigin","WalletTransactionType","WalletOverview","cadacWalletTransactions","autodeskWalletTransactions","transaction","prepaidCreditSpent","PrimeIcons","MONEY_BILL","prepaidCreditEarned","creditSpent","WALLET","creditEarned","expiresSoon","EXCLAMATION_TRIANGLE","expired","manualEdit","USER","cancelledOrder","TIMES_CIRCLE","projectOrder","BRIEFCASE","autodeskWalletAmountSpent","autodeskWalletAmountEarned","storeOrder","purchased","autodeskQuote","ARROW_UP","ARROW_DOWN","ARROW_DOWN_LEFT","cRMEdit","_component_ProductLayoutSimple","walletProductValidation","WalletProductValidationEnum","AtleastOneTypeSelected","depositTypeOptions","isOptionDisabled","onPriceChange","currentPrice","ProductLayoutSimple","WalletDepositType","WalletProductValidation","WalletProduct","walletVariation","getIconForDepositType","unknownOption","shift","walletProduct","selectedDepositTypes","validValue","chosenTypes","cartUpdated","linesTotal","addMicroServiceProductToCart","isMicroService","validation","msg","micro","atleast","one","calculateWalletAmount","selectableModules","durationInMinutes","MicroServiceProduct","isPreSelectedModule","preSelectedSkus","Sku","_hoisted_69","_hoisted_70","_hoisted_71","_hoisted_72","_hoisted_73","_hoisted_74","_hoisted_75","_hoisted_76","_hoisted_77","_hoisted_78","_hoisted_79","_hoisted_80","_hoisted_81","_hoisted_82","_hoisted_83","_hoisted_84","_hoisted_85","_hoisted_86","_hoisted_87","_hoisted_88","_hoisted_89","_hoisted_90","_hoisted_91","_component_QuotationSteps","checked2","checkboxFieldProducts","handleChange","checkedValue","checkboxFieldCSN","firstProductSelection","altTag","totalWalletAmount","autoDeskIcon","QuotationSteps","QuotationRequest","hasCSN","wantsMoreProducts","productMessage","altaresData","uncheckedValue","createMessage","mapToModel","trackForm","CustomEvent","dispatchEvent","overviewViews","softwareViews","trainingViews","serviceViews","expertViews","contractViews","supportViews","webshopProcessViews","myCadacViews","views","app","createApp","createPinia","PrimeVue","ripple","ConfirmationService","DialogService","ToastService","VueTelInput","preferredCountries","autoFormat","validCharactersOnly","VueGoogleMaps","load","process","libraries","createRouter","createMemoryHistory","routes","siteKey","directive","BadgeDirective","vue3Debounce","lock","listenTo","fireOnEmpty","vIntersectionObserver","registerScrollSpy","hasLoadedViews","loadApplication","loadOnlineTranslations","loadServiceWorker","loadComponents","loadBlocks","loadViews","hideLoadingSpinnerAndShowBody","mount","hasLoadedView","navigator","serviceWorker","register","mergeLocaleMessage","mvcBody","setAttribute","parentNode","removeChild","webpackAsyncContext","req","__webpack_require__","exports","webpackContext","webpackContextResolve","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","m","deferred","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","j","getter","__esModule","d","leafPrototypes","getProto","getPrototypeOf","__proto__","ns","def","current","getOwnPropertyNames","definition","defineProperty","enumerable","f","chunkId","promises","u","miniCssF","g","globalThis","Function","prop","prototype","inProgress","dataWebpackPrefix","l","done","needAttach","scripts","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","onScriptComplete","onerror","onload","clearTimeout","doneFns","bind","head","appendChild","Symbol","toStringTag","nmd","paths","children","p","installedChunks","installedChunkData","promise","loadingEnded","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}