{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/form/default/form-list-information-panel/form-list-information-panel.scss?8046","webpack:///./src/assets/fonts/helvetica-neue-lt-pro-light.woff2","webpack:///./src/assets/fake-data/images/model-images/power-edge-r340.jpg","webpack:///./src/assets sync ^\\.\\/.*$","webpack:///./src/assets/fake-data/images/test-image.png","webpack:///./src/assets/fake-data/images/components/ram.png","webpack:///./src/components/form/default/form-summary-modal/form-summary-modal-form-modal/form-summary-modal-form-modal-form/form-summary-modal-form-modal-form.scss?d993","webpack:///./src/assets/fonts/helvetica-neue-lt-pro-roman.otf","webpack:///./src/components/shared/loading-overlay/loading-overlay-gear/loading-overlay-gear.scss?1358","webpack:///./src/components/form/default/form-option-details-box/form-option-details-box-info/form-option-details-box-info.scss?0d6e","webpack:///./src/views/form/microservices/form-microservice-prep-data-on-start.js","webpack:///./src/components/form/default/form-summary-modal/form-summary-modal-form-modal/form-summary-modal-form-modal.scss?932b","webpack:///./src/components/shared/server-total-price-and-info/server-total-price-and-info.scss?1520","webpack:///./src/assets/fake-data/images/components/cpu.png","webpack:///./src/assets/fake-data/images/producer-logos/dell-logo-shop.png","webpack:///./src/components/form/default/form-option-requirements-modal/form-option-requirements-modal-list/form-option-requirements-modal-list.scss?4960","webpack:///./src/locales sync [A-Za-z0-9-_,\\s]+\\.json$/","webpack:///./src/views/form/microservices/form-microservice-abstract.js","webpack:///./src/components/form/default/form-list-filter-bar/form-list-filter-bar.scss?f551","webpack:///./src/components/form/default/form-choose-countable-single-option-list/form-choose-countable-single-option-list.scss?01a9","webpack:///./src/components/shared/image-loader/image-loader.scss","webpack:///./src/app/App.vue?7ec5","webpack:///./src/helpers/header-rxjs-helper.js","webpack:///./src/components/the-header/TheHeader.vue?5ea4","webpack:///./src/components/shared/language-switcher/LanguageSwitcher.vue?c90a","webpack:///./src/components/shared/language-switcher/language-switcher.js","webpack:///./src/components/shared/language-switcher/language-switcher.js?c69c","webpack:///./src/components/shared/language-switcher/LanguageSwitcher.vue","webpack:///./src/components/shared/image-loader/ImageLoader.vue?e136","webpack:///./src/components/shared/image-loader/image-loader.js","webpack:///./src/components/shared/image-loader/image-loader.js?a6be","webpack:///./src/components/shared/image-loader/ImageLoader.vue","webpack:///./src/components/shared/icon/Icon.vue?d381","webpack:///./src/components/shared/icon/icon.js","webpack:///./src/components/shared/icon/icon.js?8a69","webpack:///./src/components/shared/icon/Icon.vue","webpack:///./src/utils/session.js","webpack:///./src/components/the-header/the-header.js","webpack:///./src/components/the-header/the-header.js?184a","webpack:///./src/components/the-header/TheHeader.vue","webpack:///./src/components/the-footer/TheFooter.vue?0123","webpack:///./src/components/the-footer/the-footer.js","webpack:///./src/components/the-footer/the-footer.js?cf83","webpack:///./src/components/the-footer/TheFooter.vue","webpack:///./src/app/app.js","webpack:///./src/app/app.js?2d04","webpack:///./src/app/App.vue","webpack:///./src/registerServiceWorker.js","webpack:///./src/views/home/Home.vue?bab6","webpack:///./src/views/home/home.js","webpack:///./src/views/home/home.js?9881","webpack:///./src/views/home/Home.vue","webpack:///./src/views/form/Form.vue?2365","webpack:///./src/components/form/default/form-choose-countable-multiple-option-list/FormChooseCountableMultipleOptionList.vue?1caf","webpack:///./src/components/form/default/form-option-details-box/FormOptionDetailsBox.vue?3912","webpack:///./src/components/form/default/form-option-details-box/form-option-details-box.js","webpack:///./src/components/form/default/form-option-details-box/form-option-details-box.js?68da","webpack:///./src/components/form/default/form-option-details-box/FormOptionDetailsBox.vue","webpack:///./src/components/form/default/form-option-details-box/form-option-details-box-info/FormOptionDetailsBoxInfo.vue?e9c0","webpack:///./src/components/form/default/form-option-details-box/form-option-details-collapse/FormOptionDetailsCollapse.vue?bf61","webpack:///./src/components/form/default/form-option-details-box/form-option-details-collapse/form-option-details-collapse.js","webpack:///./src/components/form/default/form-option-details-box/form-option-details-collapse/form-option-details-collapse.js?bf2f","webpack:///./src/components/form/default/form-option-details-box/form-option-details-collapse/FormOptionDetailsCollapse.vue","webpack:///./src/components/form/default/form-option-details-box/form-option-details-collapse-attributes/FormOptionDetailsCollapseAttributes.vue?4271","webpack:///./src/components/form/default/form-option-details-box/form-option-details-collapse-attributes/form-option-details-collapse-attributes.js","webpack:///./src/components/form/default/form-option-details-box/form-option-details-collapse-attributes/form-option-details-collapse-attributes.js?8c6e","webpack:///./src/components/form/default/form-option-details-box/form-option-details-collapse-attributes/FormOptionDetailsCollapseAttributes.vue","webpack:///./src/components/form/default/form-option-details-box/form-option-details-box-info/form-option-details-box-info.js","webpack:///./src/components/form/default/form-option-details-box/form-option-details-box-info/form-option-details-box-info.js?0b90","webpack:///./src/components/form/default/form-option-details-box/form-option-details-box-info/FormOptionDetailsBoxInfo.vue","webpack:///./src/components/form/default/form-option-details-box/form-option-details-box-service.js","webpack:///./src/components/form/default/form-list-filter-bar/form-list-filter-service.js","webpack:///./src/components/form/default/form-list-filter-bar/FormListFilterBar.vue?275e","webpack:///./src/components/form/default/form-list-filter-bar/form-list-filter-select-multiple/FormListFilterSelectMultiple.vue?8792","webpack:///./src/components/form/default/form-list-filter-bar/form-list-filter-select-multiple/form-list-filter-select-multiple.js","webpack:///./src/components/form/default/form-list-filter-bar/form-list-filter-select-multiple/form-list-filter-select-multiple.js?a41b","webpack:///./src/components/form/default/form-list-filter-bar/form-list-filter-select-multiple/FormListFilterSelectMultiple.vue","webpack:///./src/components/form/default/form-list-filter-bar/form-list-filter-range/FormListFilterRange.vue?3684","webpack:///./src/components/form/default/form-list-filter-bar/form-list-filter-range/form-list-filter-range.js","webpack:///./src/components/form/default/form-list-filter-bar/form-list-filter-range/form-list-filter-range.js?029b","webpack:///./src/components/form/default/form-list-filter-bar/form-list-filter-range/FormListFilterRange.vue","webpack:///./src/components/form/default/form-list-filter-bar/form-list-hidden-option-bar/FormListHiddenOptionBar.vue?1a6d","webpack:///./src/components/form/default/form-list-filter-bar/form-list-hidden-option-bar/form-list-hidden-option/FormListHiddenOption.vue?29b4","webpack:///./src/components/form/default/form-list-filter-bar/form-list-hidden-option-bar/form-list-hidden-option/form-list-hidden-option.js","webpack:///./src/components/form/default/form-list-filter-bar/form-list-hidden-option-bar/form-list-hidden-option/form-list-hidden-option.js?2938","webpack:///./src/components/form/default/form-list-filter-bar/form-list-hidden-option-bar/form-list-hidden-option/FormListHiddenOption.vue","webpack:///./src/components/form/default/form-list-filter-bar/form-list-hidden-option-bar/form-list-hidden-option-bar.js","webpack:///./src/components/form/default/form-list-filter-bar/form-list-hidden-option-bar/form-list-hidden-option-bar.js?977b","webpack:///./src/components/form/default/form-list-filter-bar/form-list-hidden-option-bar/FormListHiddenOptionBar.vue","webpack:///./src/components/form/default/form-list-filter-bar/form-list-filter-bar.js","webpack:///./src/components/form/default/form-list-filter-bar/form-list-filter-bar.js?28d7","webpack:///./src/components/form/default/form-list-filter-bar/FormListFilterBar.vue","webpack:///./src/components/form/default/form-list-collapsed-bar/FormListCollapsedBar.vue?e1a2","webpack:///./src/components/form/default/form-list-collapsed-bar/form-list-collapsed-bar.js","webpack:///./src/components/form/default/form-list-collapsed-bar/form-list-collapsed-bar.js?88fe","webpack:///./src/components/form/default/form-list-collapsed-bar/FormListCollapsedBar.vue","webpack:///./src/helpers/form-list-helper.js","webpack:///./src/components/form/default/form-choose-countable-multiple-option-list/form-choose-countable-multiple-option-list.js","webpack:///./src/components/form/default/form-choose-countable-multiple-option-list/form-choose-countable-multiple-option-list.js?b661","webpack:///./src/components/form/default/form-choose-countable-multiple-option-list/FormChooseCountableMultipleOptionList.vue","webpack:///./src/components/form/default/form-choose-countable-single-option-list/FormChooseCountableSingleOptionList.vue?0cfb","webpack:///./src/components/form/default/form-choose-countable-single-option-list/form-choose-countable-single-option-list.js","webpack:///./src/components/form/default/form-choose-countable-single-option-list/form-choose-countable-single-option-list.js?ab03","webpack:///./src/components/form/default/form-choose-countable-single-option-list/FormChooseCountableSingleOptionList.vue","webpack:///./src/components/form/default/form-choose-multiple-option-list/FormChooseMultipleOptionList.vue?bbbc","webpack:///./src/components/form/default/form-choose-multiple-option-list/form-choose-multiple-option-list.js","webpack:///./src/components/form/default/form-choose-multiple-option-list/form-choose-multiple-option-list.js?c850","webpack:///./src/components/form/default/form-choose-multiple-option-list/FormChooseMultipleOptionList.vue","webpack:///./src/components/form/default/form-choose-single-option-list/FormChooseSingleOptionList.vue?bf97","webpack:///./src/components/form/default/form-choose-single-option-list/form-choose-single-option-list.js","webpack:///./src/components/form/default/form-choose-single-option-list/form-choose-single-option-list.js?248f","webpack:///./src/components/form/default/form-choose-single-option-list/FormChooseSingleOptionList.vue","webpack:///./src/components/form/default/form-list-information-panel/FormListInformationPanel.vue?173a","webpack:///./src/components/form/default/form-list-information-panel/form-list-information-panel.js","webpack:///./src/components/form/default/form-list-information-panel/form-list-information-panel.js?86b1","webpack:///./src/components/form/default/form-list-information-panel/FormListInformationPanel.vue","webpack:///./src/components/form/default/form-option-requirements-modal/FormOptionRequirementsModal.vue?ca32","webpack:///./src/components/form/default/form-option-requirements-modal/form-option-requirements-modal-single/FormOptionRequirementsModalSingle.vue?a232","webpack:///./src/components/form/default/form-option-requirements-modal/form-option-requirements-modal-service.js","webpack:///./src/components/form/default/form-option-requirements-modal/form-option-requirements-modal-single/form-option-requirements-modal-single.js","webpack:///./src/components/form/default/form-option-requirements-modal/form-option-requirements-modal-single/form-option-requirements-modal-single.js?1701","webpack:///./src/components/form/default/form-option-requirements-modal/form-option-requirements-modal-single/FormOptionRequirementsModalSingle.vue","webpack:///./src/components/form/default/form-option-requirements-modal/form-option-requirements-modal-list/FormOptionRequirementsModalList.vue?3389","webpack:///./src/components/form/default/form-option-requirements-modal/form-option-requirements-modal-list/form-option-requirements-modal-list.js","webpack:///./src/components/form/default/form-option-requirements-modal/form-option-requirements-modal-list/form-option-requirements-modal-list.js?7f66","webpack:///./src/components/form/default/form-option-requirements-modal/form-option-requirements-modal-list/FormOptionRequirementsModalList.vue","webpack:///./src/components/form/default/form-option-requirements-modal/form-option-requirements-modal.js","webpack:///./src/components/form/default/form-option-requirements-modal/form-option-requirements-modal.js?fcc1","webpack:///./src/components/form/default/form-option-requirements-modal/FormOptionRequirementsModal.vue","webpack:///./src/components/form/default/form-solutions-modal/FormSolutionsModal.vue?540a","webpack:///./src/components/form/default/form-solutions-modal/form-solutions-modal.js","webpack:///./src/components/form/default/form-solutions-modal/form-solutions-modal.js?36d0","webpack:///./src/components/form/default/form-solutions-modal/FormSolutionsModal.vue","webpack:///./src/components/form/default/form-summary-modal/form-summary-modal-form-modal/FormSummaryModalFormModal.vue?6365","webpack:///./src/components/shared/loading-overlay/loading-overlay-gear/LoadingOverlayGear.vue?825d","webpack:///./src/components/shared/loading-overlay/loading-overlay-gear/loading-overlay-gear.js","webpack:///./src/components/shared/loading-overlay/loading-overlay-gear/loading-overlay-gear.js?781f","webpack:///./src/components/shared/loading-overlay/loading-overlay-gear/LoadingOverlayGear.vue","webpack:///./src/components/form/default/form-summary-modal/form-summary-modal-form-modal/form-summary-modal-form-modal-form/FormSummaryModalFormModalForm.vue?6b19","webpack:///./src/components/form/default/form-summary-modal/form-summary-modal-form-modal/form-summary-modal-form-modal-form/form-summary-modal-form-modal-form.js","webpack:///./src/components/form/default/form-summary-modal/form-summary-modal-form-modal/form-summary-modal-form-modal-form/form-summary-modal-form-modal-form.js?c3c9","webpack:///./src/components/form/default/form-summary-modal/form-summary-modal-form-modal/form-summary-modal-form-modal-form/FormSummaryModalFormModalForm.vue","webpack:///./src/components/form/default/form-summary-modal/form-summary-modal-form-modal/form-summary-modal-form-modal.js","webpack:///./src/components/form/default/form-summary-modal/form-summary-modal-form-modal/form-summary-modal-form-modal.js?2612","webpack:///./src/components/form/default/form-summary-modal/form-summary-modal-form-modal/FormSummaryModalFormModal.vue","webpack:///./src/components/form/default/form-summary-modal/FormSummaryModal.vue?835c","webpack:///./src/components/form/default/form-summary-modal/form-summary-modal-component/FormSummaryModalComponent.vue?17fc","webpack:///./src/components/form/default/form-summary-modal/form-summary-modal-component/form-summary-modal-component.js","webpack:///./src/components/form/default/form-summary-modal/form-summary-modal-component/form-summary-modal-component.js?dd06","webpack:///./src/components/form/default/form-summary-modal/form-summary-modal-component/FormSummaryModalComponent.vue","webpack:///./src/components/form/default/form-summary-modal/form-summary-modal-button/FormSummaryModalButton.vue?7679","webpack:///./src/components/form/default/form-summary-modal/form-summary-modal-button/form-summary-modal-button.js","webpack:///./src/components/form/default/form-summary-modal/form-summary-modal-button/form-summary-modal-button.js?04aa","webpack:///./src/components/form/default/form-summary-modal/form-summary-modal-button/FormSummaryModalButton.vue","webpack:///./src/components/shared/server-total-price-and-info/ServerTotalPriceAndInfo.vue?2ff8","webpack:///./src/components/shared/server-total-price-and-info/server-total-price-and-info.js","webpack:///./src/components/shared/server-total-price-and-info/server-total-price-and-info.js?d39c","webpack:///./src/components/shared/server-total-price-and-info/ServerTotalPriceAndInfo.vue","webpack:///./src/components/form/default/form-summary-modal/form-summary-modal-service.js","webpack:///./src/components/form/default/form-summary-modal/form-summary-modal.js","webpack:///./src/components/form/default/form-summary-modal/form-summary-modal.js?d760","webpack:///./src/components/form/default/form-summary-modal/FormSummaryModal.vue","webpack:///./src/components/form/default/form-summary-panel/FormSummaryPanel.vue?faea","webpack:///./src/components/form/default/form-summary-modal/form-summary-modal-form-modal/form-summary-modal-form-modal-service.js","webpack:///./src/components/form/default/form-summary-panel/form-summary-panel.js","webpack:///./src/components/form/default/form-summary-panel/form-summary-panel.js?1e88","webpack:///./src/components/form/default/form-summary-panel/FormSummaryPanel.vue","webpack:///./src/components/shared/loading-overlay/LoadingOverlay.vue?bbac","webpack:///./src/components/shared/loading-overlay/loading-overlay.js","webpack:///./src/components/shared/loading-overlay/loading-overlay.js?5978","webpack:///./src/components/shared/loading-overlay/LoadingOverlay.vue","webpack:///./src/components/form/default/form-summary-bar/FormSummaryBar.vue?65be","webpack:///./src/components/form/default/form-summary-bar/form-summary-bar.js","webpack:///./src/components/form/default/form-summary-bar/form-summary-bar.js?3628","webpack:///./src/components/form/default/form-summary-bar/FormSummaryBar.vue","webpack:///./src/views/form/form.js","webpack:///./src/views/form/form.js?3955","webpack:///./src/views/form/Form.vue","webpack:///./src/i18n.js","webpack:///./src/router/index.js","webpack:///./src/utils/api.js","webpack:///./src/main.js","webpack:///./src/components/the-footer/the-footer.scss","webpack:///./src/components/shared/language-switcher/language-switcher.scss?5ab4","webpack:///./src/components/form/default/form-list-filter-bar/form-list-hidden-option-bar/form-list-hidden-option-bar.scss?ceda","webpack:///./src/components/form/default/form-option-details-box/form-option-details-collapse-attributes/form-option-details-collapse-attributes.scss?b6ed","webpack:///./src/components/form/default/form-summary-modal/form-summary-modal-button/form-summary-modal-button.scss?8594","webpack:///./src/views/form/microservices/form-microservice-requirements.js","webpack:///./src/views/form/microservices/form-microservice-manage-weights.js","webpack:///./src/assets/fonts/helvetica-neue-lt-pro-bold.ttf","webpack:///./src/components/form/default/form-option-details-box/form-option-details-box.scss?626a","webpack:///./src/assets/images/locales/pl.png","webpack:///./src/assets/images/buttons/summary-back.png","webpack:///./src/assets/fonts/helvetica-neue-lt-pro-light.ttf","webpack:///./src/views/form/microservices/form-microservice-prep-data-for-post.js","webpack:///./src/views/form/microservices/form-microservice-get-changes.js","webpack:///./src/assets/fake-data/images/producer-logos/dell-logo.svg","webpack:///./src/views/form/workers/form-worker-find-solutions.js","webpack:///./src/components/form/default/form-option-requirements-modal/form-option-requirements-modal-single/form-option-requirements-modal-single.scss?d1f8","webpack:///./src/assets/images/locales/en.png","webpack:///./src/app/app.scss?7334","webpack:///./src/assets/fonts/helvetica-neue-lt-pro-roman.woff2","webpack:///./src/assets/fonts/helvetica-neue-lt-pro-medium.woff2","webpack:///./src/assets/images/locales sync ^\\.\\/.*\\.png$","webpack:///./src/components/form/default/form-summary-panel/form-summary-panel.scss?aae3","webpack:///./src/components/shared/loading-overlay/loading-overlay.scss?dc89","webpack:///./src/components/form/default/form-summary-modal/form-summary-modal-component/form-summary-modal-component.scss?619d","webpack:///./src/views/home/home.scss","webpack:///./src/assets/images/icons/shop.svg","webpack:///./src/views/form/microservices/form-microservice-validate.js","webpack:///./src/components/form/default/form-choose-countable-multiple-option-list/form-choose-countable-multiple-option-list.scss?e3f2","webpack:///./src/assets/images/icons/optimization.png","webpack:///./src/assets/no-image.png","webpack:///./src/components/form/default/form-list-filter-bar/form-list-hidden-option-bar/form-list-hidden-option/form-list-hidden-option.scss?a10a","webpack:///./src/components/form/default/form-option-details-box/form-option-details-collapse/form-option-details-collapse.scss?3da4","webpack:///./src/components/form/default/form-summary-bar/form-summary-bar.scss?05ad","webpack:///./src/assets/images/buttons/summary-optimization.png","webpack:///./src/assets/images/buttons/summary-price.png","webpack:///./src/assets/images/buttons/summary-download.png","webpack:///./src/assets/logo.png","webpack:///./src/components/form/default/form-summary-modal/form-summary-modal.scss?e534","webpack:///./src/components/form/default/form-list-filter-bar/form-list-filter-range/form-list-filter-range.scss?8f71","webpack:///./src/components/the-header/the-header.scss?a8e1","webpack:///./src/components/form/default/form-list-filter-bar/form-list-filter-select-multiple/form-list-filter-select-multiple.scss?2f9e","webpack:///./src/assets/images/buttons/summary-save.png","webpack:///./src/assets/images/icons/save.png","webpack:///./src/components/form/default/form-choose-single-option-list/form-choose-single-option-list.scss?445d","webpack:///./src/assets/images/icons/phone-call.svg","webpack:///./src/views/form/microservices/form-microservice-on-select.js","webpack:///./src/components/form/default/form-solutions-modal/form-solutions-modal.scss?94d1","webpack:///./src/assets/fonts/helvetica-neue-lt-pro-bold.woff2","webpack:///./src/views/form/form.scss?bf00","webpack:///./src/components/form/default/form-option-requirements-modal/form-option-requirements-modal.scss?eac1","webpack:///./src/views/form/form-service.js","webpack:///./src/assets/fonts/helvetica-neue-lt-pro-medium.ttf","webpack:///./src/components/form/default/form-choose-multiple-option-list/form-choose-multiple-option-list.scss?506f","webpack:///./src/assets/images/buttons/summary-alert.png","webpack:///./src/components/form/default/form-list-collapsed-bar/form-list-collapsed-bar.scss?ccf7","webpack:///./src/components/shared/icon/icon.scss?3f48"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","map","webpackContext","req","id","webpackContextResolve","e","Error","code","keys","resolve","FormMicroservicePrepDataOnStart","modelInformationData","_prepAttributes","_cleareAttributesOptions","attributes","components","forEach","component","optionsWithAttributes","list","filter","option","undefined","_addOptionsToAttributesAndAttributeNameToOptions","attribute","options","componentName","optionAttribute","attributeData","find","_addOptionToAttribute","_addAttributeNamePropertyToOption","attributeName","FormMicroserviceAbstract","this","constructor","item","JSON","parse","stringify","_vm","_h","$createElement","_c","_self","attrs","staticClass","appData","header","email","phone","_e","staticRenderFns","subjectTitle","Subject","subjectModalsData","subjectCurrentModal","subjectContactData","ReplaySubject","headerRxjsHelper","setTitle","title","next","getTitle","asObservable","setModalsData","modalsData","getModalsData","setCurrentModal","currentModal","getCurrentModal","setContactData","contactData","getContactData","class","smaller","isScrolled","headerData","logo","_v","_s","on","$event","openSummaryModal","saveConfigurationModal","$t","isDisabled","requestOptimizationModal","isContactData","redirectTo","goBack","style","getLanguageBackground","_l","locale","isSelected","switchLocale","props","showLabel","type","Boolean","default","locales","process","split","methods","url","require","$i18n","to","$router","params","location","reload","imageSource","handleAbsolutePathImageError","src","String","computed","event","loadImagePathFromAssets","setImagePlaceholder","target","disabled","img","content","ImageLoader","required","SESSION_KEY_BACK_URL","LanguageSwitcher","Icon","scrollThreshold","backUrl","created","titleSubsciption","subscribe","modalDataSubscrition","$forceUpdate","addEventListener","handleScroll","$session","beforeDestroy","unsubscribe","scrollY","modal","href","getShopUrl","TheHeader","TheFooter","Vue","$api","getBase","response","status","register","ready","console","log","registered","cached","updatefound","updated","offline","error","_m","loadingOverlay","isLoading","msg","current","currency","modelImage","producerLogo","series","getTotalPriceNet","getTotalPriceGross","form","invalidFeedbacks","setSummaryModalData","summaryModalData","summaryModalFormValues","onSummaryModalFormValuesChange","requirements","onModalRequirementsEmit","solutionsModalData","addChangesToForm","ref","submittedLists","openSolutionsModal","index","SINGLE_OPTION_LIST","optionChooseListType","image","isInvalidFeebacksInComponent","onLastListInput","setListSubmitted","model","callback","$$v","$set","expression","MULTIPLE_OPTION_LIST","COUNTABLE_MULTIPLE_OPTION_LIST","COUNTABLE_SINGLE_OPTION_LIST","listName","formListHelper","getListClass","isError","isSubmitted","toggleSubmitted","hiddenOptions","filterOptions","clearSelectedOption","isVisible","selected","isOptionSelected","minQuantity","maxQuantity","optionDetailsService","getOptionById","toggleOptionDetails","printPrice","price","getCollapsed","getCurrentQuantity","emit","showAttention","$emit","isListNotEmpty","onSelect","weight","oneTime","isListExistsAndNotEmpty","componentsFromList","eachTime","collapsed","isAttributes","isOnSelectOneTime","COMP_TYPE_ON_SELECT","ITER_TYPE_ONE_TIME","isOnSelectEachTime","ITER_TYPE_EACH_TIME","isRequirementsOneTime","COMP_TYPE_REQUIREMENTS","isRequirementsEachTime","getWeight","isWeightNotDefault","directives","rawName","getToggleId","getButtonText","getOptionAdditionalInfo","info","getInitialWord","haveMultipleNames","getSecondaryWord","iterationType","componentType","quantity","COLL_TYPE_ON_SELECT_ONE_TIME","COLL_TYPE_ON_SELECT_EACH_TIME","COLL_TYPE_REQUIREMENTS_ONE_TIME","COLL_TYPE_REQUIREMENTS_EACH_TIME","COMPONENT","LIST","WEIGHT_GROUP","collapseType","getCollapseType","getOneTimeOnSelects","getEachTimeOnSelects","getOneTimeRequirements","getEachTimeRequirements","getRequirementsData","getQuantity","componentList","getNamesFromList","getOnSelectData","onSelectData","weightGroups","Array","isArray","getAttributes","ATTRIBUTES","FormOptionDetailsCollapse","FormOptionDetailsCollapseAttributes","isContentExists","FormOptionDetailsBoxService","pop","obj","val","FormListFilterService","filters","setOptionsVisible","_checkIfOptionAllowedByFilters","selectedOptions","selectedOption","_checkIfContains","_checkIfInRange","toString","toLowerCase","toggleAllFilters","showAllFilters","hiddenDeletable","emitDeleteOption","hideFilteringOptions","onFilterSelect","clearAllFilters","getSelectedFilters","values","onSelectChange","scopedSlots","_u","fn","domProps","isOptionChecked","Multiselect","defaults","count","includes","getUnit","composing","rangeFrom","rangeTo","minimum","maximum","sliderRange","VueSlider","watch","range","set","setMinMax","unit","checkIfHiddenOptionsExists","hiddenOption","FormListHiddenOption","optionId","FormListFilterSelectMultiple","FormListHiddenOptionBar","FormListFilterRange","formFilterService","filterAttributes","isAdditionalFiltersButton","isAdditionalFilterExists","isShowAllButton","isHiddenOptionsExists","isMain","emitFilter","dataToEmit","checkIfAttributesExists","emitReturn","getSelectedOptions","x","FormListHelper","element","document","getElementById","getBoundingClientRect","top","scrollTo","behavior","char","Decimal","greaterThan","domClass","optionsData","filterService","updateHiddenOptions","getHiddenSelectedOptions","FormOptionDetailsBox","FormOptionDetailsBoxInfo","FormListFilterBar","FormListCollapsedBar","Number","isSubmittable","currentFilters","lastSelectedEmit","copyObject","formFilterBarService","setSelectionData","recreateDataFrom","deep","handler","oldSelectedEmit","setOptionsVisibilty","reloadHiddenOptions","scrollToElementById","isSpinbuttonVisible","description","isValueNotNull","setPrice","isSelectedNotValidForEmit","isQuantityNotValidForEmit","toFixed","recalcualtePrice","currentPrice","equals","minus","plus","errors","isSuccess","displayed","isDisplayed","isSearchingForSolutions","areSolutionsFounded","solutions","message","additional","proxy","formData","getFormData","displayedList","destroyed","removeEventListener","mounted","$nextTick","isInitial","componentPositionTop","bottomOfWindow","documentElement","scrollTop","innerHeight","offsetHeight","getErrors","findSolutions","setDefaultModalData","componentId","formRequirements","listId","getRequirements","SINGLE","requirement","singleReqId","listReqId","onListValidate","printTotalRequirementsPrice","validationErrorMsg","confirmCheckbox","submitModal","closeModal","service","isQuantityPositive","Math","abs","getPrice","FormOptionRequirementsModalService","changes","change","found","_searchForExistingObjectInTarget","_commitChangesToTarget","incoming","old","olds","incomings","_computeChangesForExistingObjects","_pushNewObjects","_pushNotExistingObjects","_removeChangesWithQuantityZero","isPositive","isReturnOnlyNumber","_getFormattedPrice","incomingKey","oldkey","requirementsService","FormMicroserviceRequirements","oldValue","updateForm","getChanges","saveChangesToForm","commitChanges","addApprovedRequirementsToForm","listData","getOptionsForList","getMinQuantity","getMaxQuantity","validateAndSaveValue","FormChooseCountableMultipleOptionList","listRequirements","oldInputs","validate","listInputs","inputs","quantityLimit","input","isValidated","resultOptions","getOptionRequirements","FormOptionRequirementsModalList","FormOptionRequirementsModalSingle","formOld","formChanges","unvalidatedLists","saveFormChanges","componentKey","totalPrice","$bvModal","hide","isSolutionSelected","FormChooseSingleOptionList","setViewState","modalView","VIEW_COMPLETE","switchToFormView","VIEW_FORM","getModalData","modalFormValues","isFormConfirmed","submitForm","VIEW_LOADING","modalData","modalStatus","STATUS_SUCCESS","responseData","copyUrl","isConfirmDisabled","confirmForm","getRequestButtonMessage","checkIfFieldsExists","field","isFieldEnabled","hasProperFieldType","isHtmlLabel","classes","label","getLabelParams","fields","isConfirmed","valuesModel","assign","valuesOld","getValuesDiff","setValues","fieldName","conditionalId","targetFieldValue","skipVaidation","labelType","fieldsToValidate","prepareFieldsToValidate","checkFieldRequiredUpdateErrors","checkFieldRegExAndUpdateErrors","isFormErrors","validationRegEx","test","regExMessage","labelParams","oldValues","differences","STATUS_ERROR","STATUS_LOADING","FormSummaryModalFormModalForm","LoadingOverlayGear","formService","FormService","getContactDataWithoutIgnoredFields","modalFields","isIgnoredInRequest","sendRequest","body","prepDataForPost","postType","post","requestButton","navigator","clipboard","writeText","seriesName","modelName","totalPriceNet","totalPriceGross","emitSummaryModal","getComponentData","componentData","vat","getTaxAmount","mul","statusClass","openModal","show","FormSummaryModalService","attributesDefinitions","attributesToShow","definition","FormSummaryModalComponent","FormSummaryModalButton","ServerTotalPriceAndInfo","formCurrent","formSummaryModalService","getAttributesToShow","showSummaryModal","requestSpecialPriceModal","summaryModalFormModalService","showModal","REGEX_EMAIL","REGEX_PHONE","REGEX_NIP","FormSummaryModalFormModalService","context","invalidFeedbacksExists","phoneNumber","companyName","nip","termsAndPolicy","terms","policy","allowContact","furtherSaleProduct","getLinkToConfiguration","downloadPdf","pdfTermsAndPolicy","pdfEmail","finalContractorNip","visible","hidden","isBarVisible","small","isScrolledDown","isScrolledUp","scrollMaxY","scrollHeight","clientHeight","REGEX_PRICE","FormChooseMultipleOptionList","FormChooseCountableSingleOptionList","FormOptionRequirementsModal","LoadingOverlay","FormSolutionsModal","FormSummaryModal","FormSummaryModalFormModal","FormSummaryPanel","FormSummaryBar","FormListInformationPanel","isOrder","summaryModalsService","renderErrorNotificationBox","net","gross","responseModalData","workers","innerWidth","modelId","$route","computeTotalPrice","updateModalsDataGuard","contactDataSubscription","currentModalSubscription","getOrder","prepDataOnStart","defaultSelection","getDefaultFormSelectionObject","createWeightGroupsIndexes","findAndChooseBestSelectedOptionDistributionBaseOnWholeForm","validateForm","findSolutionsIfNeeded","copyFormAndModelInformation","onSubmit","evt","preventDefault","onReset","go","breakFindingSolutions","getFormChanges","getRequirementsPriorityByChanges","showModalIfRequirementsWereFound","findAndChooseBestSelectedOptionDistributionBaseOnChange","resetFormAndModelInformationToPrevSelection","some","componentsRequiremetnsObject","optionRequirements","runFindingSolutions","refreshErrorNotificationBox","closeWorkers","invalidFeedback","replace","loadLocaleMessages","messages","matched","match","use","VueI18n","fallbackLocale","silentTranslationWarn","VueRouter","routes","path","template","beforeEnter","_from","supportedLocales","i18n","children","Home","Form","session","redirect","router","GET_BASE","GET_SPECIFICATION","GET_SPECIFICATION_ORDER","POST_SPECIFICATION","http","APIProvider","token","axios","baseURL","headers","api_key","then","catch","_returnUnexpectedError","config","productionTip","api","VueSessionStorage","BootstrapVue","IconsPlugin","mixin","render","h","App","$mount","priorityRequirementsByChanges","requirementsObject","formObject","optionWithComponentName","findOptionWithComponentName","_initRequirementsObject","_addRequirements","changeObject","parseInt","changeObjectComponentName","_priorityRequirementsByChange","approvedChanges","changedFormObject","_changeExistingFormObjectBasedOnChange","approvedChange","formObjectQuantity","_addRequirementsOptions","_addRequirementsOptionsComponents","_addRequirementsOptionsComponentsFromList","requiredComponents","requiredComponent","_findFormObjectById","_addRequirementsOptionsQuantity","requiredComponentsFromList","requiredFromList","countQuantity","optionQuantity","prepRequirementObjetc","_isRequiredQuantityInvalid","_isMinQuantityInvalid","_isMaxQuantityInvalid","reqObject","_getRequirementsObjectItem","requiredQuantity","requiredMinQuantity","requiredMaxQuantity","objectId","parentThis","_isRequirementBlockingIncomingChangeById","optionToRemove","requirementObject","FormMicroserviceManageWeights","baseModalWeightGroups","weightGroupsIndexes","_validateWeightGroupsIndexes","bestPossibility","getBestSelectedOptionDistributionBaseOnChange","isValid","getBestSelectedOptionDistributionBaseOnWholeForm","possibilities","_getPossibilitiesBaseOnChange","_getBestPossibility","_getPossibilitiesBaseOnForm","thisClass","microservice","_restoreWeightFromPossibilityForUnselectedOptions","_createPossibilitiesForNewOptions","modelOptionData","_createNewPossibilities","weightGroupsPossibility","optionInUseIndex","_getOptionInUseIndex","_restoreWeightFromGroup","occupyAllWeightGroups","weightGroupOptions","weightGroupPossibility","quantityToRestore","modelOptionWeightGroups","group","weightInUse","_getRestoredWeightGroupsFromOccupatedOptions","modelComponent","modelOption","restoredWeightGroups","_initBestPossibility","possibility","score","_getWeightGroupsScore","points","_initBestValidPossibility","bestValidPossibility","weightGroup","isUnlimited","tmpPoints","_createPossibilities","weightGroupStarterPosition","newPossibility","_addWeightToGroup","_isLastQuantityMove","_isThisNotTheLastOneModelOptionGroup","_getPossibilityOccupyAllWeightGroups","newPossibilities","move","groupIndex","optionWeightUseInGroup","modelOptionId","weightGroupPossibilityOption","_addToExistingWeightGroupOption","_createNewWeightGroupOption","weighGroupsPossibility","FormMicroservicePrepDataForPost","summaryFormFields","dataForPost","_setPrice","_setOrderItems","_setSummaryFormFieldsData","_getAggregatedPriceForComponent","priceFrontend","orderItems","modelComponentId","FormMicroserviceGetChanges","oldForm","lastListInput","newSelection","_getNewSelection","removedSelection","_getRemovedSelection","_getSelectionChanges","oldOption","newOption","INVALID_REQUIRE","INVALID_WEIGHT","INVALID_ATTRIBUTE","FormMicroserviceValidate","_checkIfRequire","_checkIfUnique","_checkIfIsRestrictedToOne","_checkIfComponentQuantityIsInRange","_checkIfComponentAttributesAreEqual","isRequired","isUnique","every","isRestrictedToOne","groupComponentsNames","_getComponentsNames","_addWeightErrorToGroupComponents","weightGroupsOptions","componentsNames","optionData","groupComponents","_addErrorToGroupComponents","join","_addAttributeErrorsToGroupComponents","optionsNames","groupComponent","modelInformationAttributes","requiredEqualValues","_initAttributeSelectedOptions","_isAttributeSelectedOptionsValuesEqual","_addAttributeErrors","_clearAttributeSelectedOptions","selectedAttributes","_addToAttributeSelectedOptions","selectedId","selectedAttribute","start","_getFirstSelectedOptionIndexWithValue","first","indexOf","FormMicoserviceOnSelect","_makeChangesForOneTimeSelection","modifier","_changeGroupsWeigths","_changeComponentsWeigths","_changeAttributes","itemQuantity","selectedObject","_isOneTimeSelectionDone","items","multiple","FormMicroserviceOnSelect","microserviceGetChanges","microserviceOnSelect","microserviceRequirements","microserviceValidation","microservicePrepDataForPost","selectedQuantity","exists","modelInformationDataWeightGroups","microserviceManageWeights","createWeightGroupsIndex","getBestSelectedOptionDistributionBaseOnChangeAndForm","microservicePrepDataOnStart","refreshComponent","worker","Worker","onmessage","postMessage","modelPrice","_computeTotalNetPrice","_computeTotalGrossPrice","entries","_getTaxAmount"],"mappings":"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","file":"js/app.df54f709.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./form-list-information-panel.scss?vue&type=style&index=0&id=8e541cb0&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"fonts/helvetica-neue-lt-pro-light.1bd10b5a.woff2\";","module.exports = __webpack_public_path__ + \"img/power-edge-r340.a9cc1e4f.jpg\";","var map = {\n\t\"./css/dell24.scss\": \"bad9\",\n\t\"./css/variables.module.scss\": \"4e2f\",\n\t\"./fake-data/fake-data-app\": \"67ab\",\n\t\"./fake-data/fake-data-app.json\": \"67ab\",\n\t\"./fake-data/fake-data-form-model-response\": \"7548\",\n\t\"./fake-data/fake-data-form-model-response.json\": \"7548\",\n\t\"./fake-data/images/components/cpu.png\": \"36bb\",\n\t\"./fake-data/images/components/ram.png\": \"1aa4\",\n\t\"./fake-data/images/model-images/power-edge-r340.jpg\": \"174c\",\n\t\"./fake-data/images/producer-logos/dell-logo-shop.png\": \"39d7\",\n\t\"./fake-data/images/producer-logos/dell-logo.svg\": \"8521\",\n\t\"./fake-data/images/test-image.png\": \"184d\",\n\t\"./fonts/helvetica-neue-lt-pro-bold.ttf\": \"681e\",\n\t\"./fonts/helvetica-neue-lt-pro-bold.woff2\": \"e951\",\n\t\"./fonts/helvetica-neue-lt-pro-light.ttf\": \"7a75\",\n\t\"./fonts/helvetica-neue-lt-pro-light.woff2\": \"16a8\",\n\t\"./fonts/helvetica-neue-lt-pro-medium.ttf\": \"f42a\",\n\t\"./fonts/helvetica-neue-lt-pro-medium.woff2\": \"9b1b\",\n\t\"./fonts/helvetica-neue-lt-pro-roman.otf\": \"1f02\",\n\t\"./fonts/helvetica-neue-lt-pro-roman.woff2\": \"952b\",\n\t\"./images/buttons/summary-alert.png\": \"f99d\",\n\t\"./images/buttons/summary-back.png\": \"7184\",\n\t\"./images/buttons/summary-download.png\": \"c720\",\n\t\"./images/buttons/summary-optimization.png\": \"c4301\",\n\t\"./images/buttons/summary-price.png\": \"c658\",\n\t\"./images/buttons/summary-save.png\": \"dd44\",\n\t\"./images/icons/optimization.png\": \"b81b\",\n\t\"./images/icons/phone-call.svg\": \"e72b\",\n\t\"./images/icons/save.png\": \"dde0\",\n\t\"./images/icons/shop.svg\": \"a631\",\n\t\"./images/locales/en.png\": \"9087\",\n\t\"./images/locales/pl.png\": \"6b0f\",\n\t\"./logo.png\": \"cf05\",\n\t\"./no-image.png\": \"bd21\"\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 = \"1771\";","module.exports = __webpack_public_path__ + \"img/test-image.ddba514e.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAABUCAYAAABtP74aAAAACXBIWXMAACE3AAAhNwEzWJ96AAADQElEQVR4nO3d4W2jMBjG8cfoBuAmuG6QFTpKR+hNch2ho2SEdgMywXUD34dwVdJgY/vFYNL/T0KqFGpekUeExC8gSb2kZ0mDJM/CkrAMOmemd+MffwTk++10TtOvjQvBPp2czockoEi3dQHYNwIEkx+hF7z3bs1C0Dbn3OSpDkcgmBAgmBAgmBAgmBAgmBAgmBAgmBAgmE1O2XvvVbpo3RaRYdxWTz1l9SS+p6Hxgy8Ub3AseO0elWfqKasn8YCQHaC30hBpm+a0gXrK6kkIz1to3Ll+oHdJj977j8Drk0LzJrWF5u+o5yx3ftM510s6SjoEVjl1kl4iYxwkHceB8I0khEcasxM9RKng42xmrGoL9ZTVk/uxdZmJ7H+wBKj0JM46PvWkj5+bhU7nkT8kPep8zhNykPQUeR334Unxj62r82I3pk5S2kmT9/5hroLQSaJfqEktd3zqSR/fOTco40vVVYDGAaIhSiyiqR1EPenjR74hTn4jvwnQOEgv6e/SRfCGtVlPyv9K+vk1PFJgLmxqRXxvoUwwmQoTAgQTAgQTAgQTAgQTAgQTAgSTyQDRvoGvQpm4CdDFVAZwabIv7CpAKZOpy9eFxoTe48nmws8A5XSg4a5ldah2UnJ43iW92utD41413xf2GaIuIzw3U/m4PxnNhUfnXN8pswMN9y+nQ3XVy3rov2mznsg4s1+qYrf5LT7ytLaDqKd8/LkQxQI02YGWuNGmdhD12MaPdagGpzI458F/sSwEb/Nbw1aX9IZQjx2TqTAhQDCpFaAt5sxi26SeStusFaAt5sxi26Seittc/EJ/NXYLN+qpd4u74O9AS/0mgfvAw1ZQBQGCCQGCCQGCCQGCCQGCCQGCCQGCCQGCCQGCCQGCCQGCCQGCCQGCCQGCCQGCCQGCWVZL6wrrr9nuuWYba2v7eZH1Wyx0iycaL7XEntTc2n5eZP3snuja14HPPK+qdcHnqa2w3zZZv8VzoL2GR9p37UVaDBB2hADBZNW7c1i0dp3aHu+kUQNHIJgQIJjEbnHXFD7C2sQRCCYECCad9vEAlRZrbLGmtZ067eMBKi3W2GJNa3uR2p79HrTAzZFqLI3vt9Xel38W7QojoZTErQAAAABJRU5ErkJggg==\"","export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./form-summary-modal-form-modal-form.scss?vue&type=style&index=0&id=226d9660&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"fonts/helvetica-neue-lt-pro-roman.15aa061f.otf\";","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./loading-overlay-gear.scss?vue&type=style&index=0&id=3da72b34&scoped=true&lang=scss&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./form-option-details-box-info.scss?vue&type=style&index=0&id=6f464c92&scoped=true&lang=scss&\"","export default class FormMicroservicePrepDataOnStart {\r\n prepDataOnStart(modelInformationData) {\r\n _prepAttributes(modelInformationData)\r\n }\r\n}\r\n\r\nfunction _prepAttributes(modelInformationData) {\r\n _cleareAttributesOptions(modelInformationData.attributes)\r\n\r\n modelInformationData.components.forEach(component => {\r\n const optionsWithAttributes = component.list.filter(\r\n option => undefined !== option.attributes && 0 < option.attributes.length\r\n )\r\n _addOptionsToAttributesAndAttributeNameToOptions(\r\n component.name,\r\n optionsWithAttributes,\r\n modelInformationData.attributes\r\n )\r\n })\r\n}\r\n\r\nfunction _cleareAttributesOptions(attributes) {\r\n attributes.forEach(attribute => {\r\n attribute.options = []\r\n })\r\n}\r\n\r\nfunction _addOptionsToAttributesAndAttributeNameToOptions(\r\n componentName,\r\n options,\r\n attributes\r\n) {\r\n options.forEach(option => {\r\n option.attributes.forEach(optionAttribute => {\r\n const attributeData = attributes.find(\r\n attribute => attribute.id === optionAttribute.id\r\n )\r\n _addOptionToAttribute(\r\n option,\r\n optionAttribute,\r\n componentName,\r\n attributeData\r\n )\r\n _addAttributeNamePropertyToOption(optionAttribute, attributeData.name)\r\n })\r\n })\r\n}\r\n\r\nfunction _addOptionToAttribute(\r\n option,\r\n optionAttribute,\r\n componentName,\r\n attributeData\r\n) {\r\n attributeData.options.push({\r\n id: option.id,\r\n name: option.name,\r\n componentName: componentName,\r\n value: optionAttribute.value,\r\n })\r\n}\r\n\r\nfunction _addAttributeNamePropertyToOption(optionAttribute, attributeName) {\r\n optionAttribute['name'] = attributeName\r\n}\r\n","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./form-summary-modal-form-modal.scss?vue&type=style&index=0&id=24a5b925&scoped=true&lang=scss&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./server-total-price-and-info.scss?vue&type=style&index=0&id=34fb7932&scoped=true&lang=scss&\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAACQCAYAAADnRuK4AAAACXBIWXMAACE3AAAhNwEzWJ96AAAEqElEQVR4nO3d4ZHTOhSG4SNmCwgVQAfbAqWkhFAJlJBSKIHbQVLBvR3o/nAWPLuWI+WTrKP4fWYyzLDEVrQfsmNLxyHGaC2FEBZ3EGMMvNfHexWfWm4cz48AQUKAICFAkBAgaGKMiy8zO5jZycwuZhZ57fJ1sSkDh2ROVgJ0cvABePl4nVI5CanrQCGEi5l9Wfwh9uYaY/y69IO1AC3/ALuUuiDJSTQkBAiSl9I3tL63gr5KT10YgSAhQJAQIEgIECQECBICBAkBgoQAQUKAICFAkBAgSF6YtoEcqZwwAkFCgCAhQJAQIEgIECQvqRmGfDvDHJPq0QQBgoQAQUKAICFAkBSvC2sthHAws6NNxR1Ymz+5mtlPMzvHGP/r3Zg5dwGyKTw/ejfCmS/2t09+9mzIe8XFFVqvTKUqyKpklYxaSn/vwab6L9k2CBAXMFd4639OoiEhQJB4PIletLeqIKMcyhmBICFAkDCdA1mYzoEmCBAkBAgSAgQJAYLkqQIUQjiEEE4hhEsIITp7XW5tO/Tup5pcBahC5x5tmvbg8W7+25SMo7IRbwF0E6Bbx/wSN3Oq0JTW1Db+8hQiF9M5ZuF5TfyTrHkwo1z8zHwK88XSI+k/ZvatxezE4aZzZITHzNksvI2sfeZXczQSFT18LPXgsUdeNj0V8fedff62lSfmvdte7wezVevD2n1T8Dsp+izdDmGZI0/RUN1rGm6K2p4WfZSxz2EOYUfbsGNGdPvs32zqi5RXE7/ZKXqOQBerfJL4bCPQbDtVvmRk7qsoD91WZaw09OGR51kDdNvWaoha/16S034cBujzo4etZw7QbXsHM/u35jYX9lHU5u5f49/b8znPPR77xl2AMBYCBAkBgoQAQUKAICFAkPCwFWThYStoggBBQoAgIUCQECBIqM6BLMPcjcdYCBAkBAgSAgQJAYKEAEHiLkBelut65LFv3AXIHK359qRS9ZLqPqUKIm2w72vi710VDvAgZ2HhBm1YzEnPEWiY6hM9ea9eQnGFhvZQXMGM8i6UdxH6sOtJ9AjVJzo62gDVSyhx10FOH45S4s7NM1NrVJ8Y5Hmr6n+GpiPPsMUVZoczxQi1FNU2dj9szbkJkFmV6hNnM/tuG1wXecDVpradlY14Co+Zo0NY7/16M0r/uxqBMB4CBAkBgoQAQUKAIKE6B7JQnQNNECBIXno3IBeHWp8YgSAhQJB4rM5xNf9TMnrpdpN4pHthI0zJ6MVd33g8iT7f/jwZI9Gbq03hOXduxwfupnOgL6ZzYFMECBICBElxgFhujLlHRiDWrOOPtQBRPQN/PFKdg+oZuGvtOtDmlSHQX+ktrOQIVFD4gJFox1ZPogkR7rn7LYwQYU3yHOjDP+ScaBea3QtjJMKSoguJhAjvFV+JJkSYe+hmKiHCm4fvxhMimInTOQgR5PlAhGjfqkwoI0T7VW1GIiHap6pTWgnR/lSfE02I9iX7XljxhvPunWEQm68LyxyJMLimy3oI0fNrvi6MED2FZFWQTRYWEqLhJRdYbLYydRYirw9DwUd3HxDT7FtYDUqFEN6b/14Fa+MhIUCQECBICBAkBAiS/wGKP9B3O4NvEwAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAK4AAABBCAYAAABIHp+5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo5ZTFjMGQ5My1kNjdlLWYwNDMtODRjOC1iNDRhYWZlOWZjODgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NkUzQkQ0NENEOTIyMTFFNzgyMkY5OTUzRUU4MjAyRTkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NkUzQkQ0NEJEOTIyMTFFNzgyMkY5OTUzRUU4MjAyRTkiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6ZWM3ZDAxYTUtNGFjNy05ODQwLWIxZWItNTJmMzFmZDM0ZTgwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjllMWMwZDkzLWQ2N2UtZjA0My04NGM4LWI0NGFhZmU5ZmM4OCIv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\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./form-option-requirements-modal-list.scss?vue&type=style&index=0&id=2b2809c2&scoped=true&lang=scss&\"","var map = {\n\t\"./en.json\": \"edd4\",\n\t\"./pl.json\": \"89b2\"\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 = \"49f8\";","export default class FormMicroserviceAbstract {\r\n constructor() {\r\n if (this.constructor == FormMicroserviceAbstract) {\r\n throw new Error(\"Abstract class can't be instantiated.\")\r\n }\r\n }\r\n\r\n findOptionWithComponentName(components, id) {\r\n const data = {\r\n componentName: undefined,\r\n option: undefined,\r\n }\r\n\r\n for (let i = 0; i < components.length; i++) {\r\n data.option = components[i].list.find(item => item.id === id)\r\n if (data.option) {\r\n data.componentName = components[i].name\r\n\r\n break\r\n }\r\n }\r\n\r\n return data\r\n }\r\n\r\n copyObject(object) {\r\n return JSON.parse(JSON.stringify(object))\r\n }\r\n}\r\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./form-list-filter-bar.scss?vue&type=style&index=0&id=2ba38a81&scoped=true&lang=scss&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./form-choose-countable-single-option-list.scss?vue&type=style&index=0&id=2768c6b6&scoped=true&lang=scss&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./image-loader.scss?vue&type=style&index=0&id=99d44ffa&scoped=true&lang=scss&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-container',{attrs:{\"id\":\"app\"}},[_c('b-row',[(_vm.appData)?_c('b-col',{staticClass:\"navbar sticky-top navbar-light bg-light shadow\",attrs:{\"lg\":\"12\"}},[_c('TheHeader',{attrs:{\"headerData\":_vm.appData.header,\"email\":_vm.appData.email,\"phone\":_vm.appData.phone}})],1):_vm._e(),_c('b-col',{attrs:{\"lg\":\"12\"}},[_c('router-view')],1),(_vm.appData)?_c('b-col',{attrs:{\"lg\":\"12\"}},[_c('TheFooter')],1):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Subject, ReplaySubject } from 'rxjs'\r\n\r\nconst subjectTitle = new Subject()\r\nconst subjectModalsData = new Subject()\r\nconst subjectCurrentModal = new Subject()\r\nconst subjectContactData = new ReplaySubject()\r\n\r\nexport const headerRxjsHelper = {\r\n setTitle: title => subjectTitle.next(title),\r\n getTitle: () => subjectTitle.asObservable(),\r\n setModalsData: modalsData => subjectModalsData.next(modalsData),\r\n getModalsData: () => subjectModalsData.asObservable(),\r\n setCurrentModal: currentModal => subjectCurrentModal.next(currentModal),\r\n getCurrentModal: () => subjectCurrentModal.asObservable(),\r\n setContactData: contactData => subjectContactData.next(contactData),\r\n getContactData: () => subjectContactData.asObservable(),\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-row',{staticClass:\"the-header\",class:{ smaller: _vm.isScrolled }},[_c('b-col',{staticClass:\"logo-section\",attrs:{\"lg\":\"2\"}},[_c('ImageLoader',{staticClass:\"logo\",attrs:{\"src\":_vm.headerData.logo}})],1),_c('b-col',{staticClass:\"main-section\",attrs:{\"lg\":\"8\"}},[_c('span',{staticClass:\"title color-theme\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")])]),_c('b-col',{staticClass:\"icons-section\",attrs:{\"lg\":\"2\"}},[_c('div',{staticClass:\"icon\",attrs:{\"id\":\"save\"},on:{\"click\":function($event){return _vm.openSummaryModal(_vm.modalsData.saveConfigurationModal)}}},[_c('Icon',{attrs:{\"img\":'images/icons/save.png',\"content\":_vm.$t('shared.header.save'),\"show-label\":!_vm.isScrolled,\"disabled\":_vm.modalsData.saveConfigurationModal.isDisabled}})],1),_c('div',{staticClass:\"icon\",attrs:{\"id\":\"optimization\"},on:{\"click\":function($event){return _vm.openSummaryModal(_vm.modalsData.requestOptimizationModal)}}},[_c('Icon',{attrs:{\"img\":'images/icons/optimization.png',\"content\":_vm.$t('shared.header.optimization'),\"show-label\":!_vm.isScrolled,\"disabled\":_vm.modalsData.requestOptimizationModal.isDisabled}})],1),(_vm.isContactData())?_c('div',{staticClass:\"icon\",attrs:{\"id\":\"contact\"}},[_c('Icon',{attrs:{\"img\":'images/icons/phone-call.svg',\"content\":_vm.$t('shared.header.contact'),\"show-label\":!_vm.isScrolled}})],1):_vm._e(),_c('b-tooltip',{attrs:{\"target\":\"contact\",\"triggers\":\"hover\",\"placement\":\"bottom\"}},[_c('span',{staticClass:\"contact-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('shared.header.contact'))+\" \")]),(_vm.phone)?_c('span',{staticClass:\"contact-data\",on:{\"click\":function($event){return _vm.redirectTo('tel:' + _vm.phone)}}},[_vm._v(\" \"+_vm._s(_vm.phone)+\" \")]):_vm._e(),(_vm.email)?_c('span',{staticClass:\"contact-data\",on:{\"click\":function($event){return _vm.redirectTo('mailto:' + _vm.email)}}},[_vm._v(\" \"+_vm._s(_vm.email)+\" \")]):_vm._e()]),(_vm.backUrl)?_c('div',{staticClass:\"icon\",on:{\"click\":function($event){return _vm.goBack()}}},[_c('Icon',{attrs:{\"img\":'images/icons/shop.svg',\"content\":_vm.$t('shared.header.back'),\"show-label\":!_vm.isScrolled}})],1):_vm._e(),_c('LanguageSwitcher',{attrs:{\"show-label\":!_vm.isScrolled}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"languages\"},[_c('b-dropdown',{style:(_vm.getLanguageBackground()),attrs:{\"variant\":\"primary\"}},_vm._l((_vm.locales),function(locale){return _c('b-dropdown-item',{key:locale,attrs:{\"active\":_vm.isSelected(locale)},on:{\"click\":function($event){return _vm.switchLocale(locale)}}},[_vm._v(\" \"+_vm._s(locale)+\" \")])}),1),(_vm.showLabel)?_c('div',{staticClass:\"content\"},[_vm._v(\" \"+_vm._s(_vm.$t('shared.language'))+\" \")]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n name: 'LanguageSwitcher',\r\n\r\n props: {\r\n showLabel: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n },\r\n\r\n data() {\r\n return {\r\n locales: process.env.VUE_APP_I18N_SUPPORTED_LOCALE.split(','),\r\n }\r\n },\r\n\r\n methods: {\r\n getLanguageBackground() {\r\n let url = require(`@/assets/images/locales/${this.$i18n.locale}.png`)\r\n return `--lang-bg: url('${url}');`\r\n },\r\n\r\n switchLocale(locale) {\r\n if (this.isSelected(locale)) {\r\n return\r\n }\r\n\r\n this.$i18n.locale = locale\r\n const to = this.$router.resolve({ params: { locale } })\r\n this.$router.push(to.location)\r\n\r\n window.location.reload()\r\n },\r\n\r\n isSelected(locale) {\r\n return this.$i18n.locale === locale\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/eslint-loader/index.js??ref--14-0!./language-switcher.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/eslint-loader/index.js??ref--14-0!./language-switcher.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LanguageSwitcher.vue?vue&type=template&id=21f21ce4&scoped=true&\"\nimport script from \"./language-switcher.js?vue&type=script&lang=js&\"\nexport * from \"./language-switcher.js?vue&type=script&lang=js&\"\nimport style0 from \"./language-switcher.scss?vue&type=style&index=0&id=21f21ce4&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"21f21ce4\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('img',{attrs:{\"src\":_vm.imageSource},on:{\"error\":function($event){return _vm.handleAbsolutePathImageError($event)}}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n name: 'ImageLoader',\r\n\r\n props: {\r\n src: {\r\n type: String || null,\r\n default: '',\r\n },\r\n },\r\n\r\n computed: {\r\n imageSource() {\r\n if (this.src == undefined) {\r\n return ''\r\n }\r\n\r\n return this.src\r\n },\r\n },\r\n\r\n methods: {\r\n handleAbsolutePathImageError(event) {\r\n try {\r\n this.loadImagePathFromAssets(event)\r\n } catch {\r\n this.setImagePlaceholder(event)\r\n }\r\n },\r\n\r\n loadImagePathFromAssets(event) {\r\n event.target.src = require(`@/assets/${this.src}`)\r\n },\r\n\r\n setImagePlaceholder(event) {\r\n try {\r\n event.target.src = require('@/assets/no-image.png')\r\n } catch {\r\n event.target.src = ''\r\n }\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/eslint-loader/index.js??ref--14-0!./image-loader.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/eslint-loader/index.js??ref--14-0!./image-loader.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ImageLoader.vue?vue&type=template&id=99d44ffa&scoped=true&\"\nimport script from \"./image-loader.js?vue&type=script&lang=js&\"\nexport * from \"./image-loader.js?vue&type=script&lang=js&\"\nimport style0 from \"./image-loader.scss?vue&type=style&index=0&id=99d44ffa&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"99d44ffa\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"icon-wrapper\"},[_c('div',[_c('ImageLoader',{class:{ disabled: _vm.disabled },attrs:{\"src\":_vm.img}})],1),(_vm.showLabel)?_c('div',{staticClass:\"content\",class:{ disabled: _vm.disabled }},[_vm._v(\" \"+_vm._s(_vm.content)+\" \")]):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import ImageLoader from '@/components/shared/image-loader/ImageLoader'\r\n\r\nexport default {\r\n name: 'Icon',\r\n\r\n components: { ImageLoader },\r\n\r\n props: {\r\n img: {\r\n type: String,\r\n required: true,\r\n },\r\n\r\n content: {\r\n type: String,\r\n required: false,\r\n },\r\n\r\n disabled: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n\r\n showLabel: {\r\n type: Boolean,\r\n required: false,\r\n default: true,\r\n },\r\n },\r\n\r\n methods: {},\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/eslint-loader/index.js??ref--14-0!./icon.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/eslint-loader/index.js??ref--14-0!./icon.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Icon.vue?vue&type=template&id=2d1db907&scoped=true&\"\nimport script from \"./icon.js?vue&type=script&lang=js&\"\nexport * from \"./icon.js?vue&type=script&lang=js&\"\nimport style0 from \"./icon.scss?vue&type=style&index=0&id=2d1db907&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2d1db907\",\n null\n \n)\n\nexport default component.exports","export const SESSION_KEY_BACK_URL = 'BACK-URL'\r\n","import LanguageSwitcher from '@/components/shared/language-switcher/LanguageSwitcher'\r\nimport { headerRxjsHelper } from '@/helpers/header-rxjs-helper'\r\nimport ImageLoader from '@/components/shared/image-loader/ImageLoader'\r\nimport Icon from '@/components/shared/icon/Icon.vue'\r\nimport { SESSION_KEY_BACK_URL } from '@/utils/session'\r\n\r\nexport default {\r\n name: 'TheHeader',\r\n\r\n components: { LanguageSwitcher, ImageLoader, Icon },\r\n\r\n props: {\r\n headerData: {\r\n type: Object,\r\n required: true,\r\n },\r\n email: {\r\n type: String,\r\n required: false,\r\n },\r\n phone: {\r\n type: String,\r\n required: false,\r\n },\r\n },\r\n\r\n data() {\r\n return {\r\n title: '',\r\n scrollThreshold: 100,\r\n isScrolled: false,\r\n backUrl: undefined,\r\n modalsData: {\r\n saveConfigurationModal: {},\r\n requestOptimizationModal: {},\r\n },\r\n }\r\n },\r\n\r\n created() {\r\n this.titleSubsciption = headerRxjsHelper.getTitle().subscribe(title => {\r\n this.title = title\r\n })\r\n\r\n this.modalDataSubscrition = headerRxjsHelper\r\n .getModalsData()\r\n .subscribe(modalsData => {\r\n this.modalsData = modalsData\r\n this.$forceUpdate()\r\n })\r\n\r\n window.addEventListener('scroll', this.handleScroll)\r\n\r\n this.backUrl = this.$session.get(SESSION_KEY_BACK_URL)\r\n },\r\n\r\n beforeDestroy() {\r\n this.titleSubsciption.unsubscribe()\r\n this.modalDataSubscrition.unsubscribe()\r\n },\r\n\r\n methods: {\r\n handleScroll() {\r\n if (!this.isScrolled) {\r\n this.isScrolled = window.scrollY > this.scrollThreshold\r\n }\r\n this.isScrolled = window.scrollY > this.scrollThreshold - 100\r\n },\r\n\r\n openSummaryModal(modal) {\r\n if (!modal) {\r\n return\r\n }\r\n\r\n headerRxjsHelper.setCurrentModal(modal)\r\n },\r\n\r\n redirectTo(href) {\r\n if (href === undefined) {\r\n return\r\n }\r\n\r\n window.location.href = href\r\n },\r\n\r\n goBack() {\r\n this.redirectTo(this.backUrl)\r\n },\r\n\r\n getShopUrl() {\r\n return this.$session.get('shopUrl')\r\n },\r\n\r\n isContactData() {\r\n return this.email !== undefined || this.phone !== undefined\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/eslint-loader/index.js??ref--14-0!./the-header.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/eslint-loader/index.js??ref--14-0!./the-header.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TheHeader.vue?vue&type=template&id=73fe1f13&scoped=true&\"\nimport script from \"./the-header.js?vue&type=script&lang=js&\"\nexport * from \"./the-header.js?vue&type=script&lang=js&\"\nimport style0 from \"./the-header.scss?vue&type=style&index=0&id=73fe1f13&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"73fe1f13\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n name: 'TheFooter',\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/eslint-loader/index.js??ref--14-0!./the-footer.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/eslint-loader/index.js??ref--14-0!./the-footer.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./TheFooter.vue?vue&type=template&id=24065bbc&\"\nimport script from \"./the-footer.js?vue&type=script&lang=js&\"\nexport * from \"./the-footer.js?vue&type=script&lang=js&\"\nimport style0 from \"./the-footer.scss?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { headerRxjsHelper } from '@/helpers/header-rxjs-helper'\r\nimport TheHeader from '@/components/the-header/TheHeader'\r\nimport TheFooter from '@/components/the-footer/TheFooter'\r\nimport Vue from 'vue'\r\n\r\nexport default {\r\n name: 'App',\r\n\r\n components: {\r\n TheHeader,\r\n TheFooter,\r\n },\r\n\r\n data() {\r\n return {\r\n appData: null,\r\n }\r\n },\r\n\r\n async created() {\r\n const response = await Vue.$api.getBase()\r\n if (200 !== response.status) {\r\n return\r\n }\r\n this.appData = response.data\r\n\r\n headerRxjsHelper.setContactData({\r\n phone: this.appData.phone,\r\n email: this.appData.email,\r\n })\r\n },\r\n}\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/eslint-loader/index.js??ref--14-0!./app.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/eslint-loader/index.js??ref--14-0!./app.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=3d47efe1&\"\nimport script from \"./app.js?vue&type=script&lang=js&\"\nexport * from \"./app.js?vue&type=script&lang=js&\"\nimport style0 from \"./app.scss?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","/* eslint-disable no-console */\r\n\r\nimport { register } from 'register-service-worker'\r\n\r\nif (process.env.NODE_ENV === 'production') {\r\n register(`${process.env.BASE_URL}service-worker.js`, {\r\n ready() {\r\n console.log(\r\n 'App is being served from cache by a service worker.\\n' +\r\n 'For more details, visit https://goo.gl/AFskqB'\r\n )\r\n },\r\n\r\n registered() {\r\n console.log('Service worker has been registered.')\r\n },\r\n\r\n cached() {\r\n console.log('Content has been cached for offline use.')\r\n },\r\n\r\n updatefound() {\r\n console.log('New content is downloading.')\r\n },\r\n\r\n updated() {\r\n console.log('New content is available; please refresh.')\r\n },\r\n\r\n offline() {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n )\r\n },\r\n\r\n error(error) {\r\n console.error('Error during service worker registration:', error)\r\n },\r\n })\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"home\"},[_c('p',[_vm._v(\"Siema witam w naszym konfiguratorku XIOMMM\")])])}]\n\nexport { render, staticRenderFns }","export default {\r\n name: 'Home',\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/eslint-loader/index.js??ref--14-0!./home.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/eslint-loader/index.js??ref--14-0!./home.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=381a0abc&\"\nimport script from \"./home.js?vue&type=script&lang=js&\"\nexport * from \"./home.js?vue&type=script&lang=js&\"\nimport style0 from \"./home.scss?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-container',{staticClass:\"mb-5\"},[_c('LoadingOverlay',{attrs:{\"visible\":_vm.loadingOverlay.isLoading,\"msg\":_vm.loadingOverlay.msg,\"error\":_vm.loadingOverlay.error}}),(!_vm.loadingOverlay.isLoading)?[_c('FormSummaryModal',{attrs:{\"components\":_vm.modelInformationData.current.components,\"currency\":_vm.currency,\"model-name\":_vm.modelInformationData.current.name,\"model-image\":_vm.modelInformationData.current.modelImage,\"producer-logo\":_vm.modelInformationData.current.producerLogo,\"series-name\":_vm.modelInformationData.current.series,\"total-price-net\":_vm.getTotalPriceNet(),\"total-price-gross\":_vm.getTotalPriceGross(),\"form-current\":_vm.form.current,\"invalid-feedbacks\":_vm.form.invalidFeedbacks,\"modals-data\":_vm.modalsData,\"contact-data\":_vm.contactData},on:{\"summaryModal\":function($event){return _vm.setSummaryModalData($event)}}}),_c('FormSummaryModalFormModal',{attrs:{\"modal-data\":_vm.summaryModalData,\"currency\":_vm.currency,\"modal-form-values\":_vm.summaryModalFormValues,\"model-information-data\":_vm.modelInformationData.current,\"form\":_vm.form.current},on:{\"modalFormValuesChange\":function($event){return _vm.onSummaryModalFormValuesChange($event)}}}),_c('FormOptionRequirementsModal',{attrs:{\"form-requirements\":_vm.form.requirements,\"form-data\":_vm.form.current,\"model-information-data\":_vm.modelInformationData.current},on:{\"formChanges\":function($event){return _vm.onModalRequirementsEmit($event)}}}),_c('FormSolutionsModal',{attrs:{\"solutions\":_vm.solutionsModalData,\"currency\":_vm.currency},on:{\"submit\":function($event){return _vm.addChangesToForm($event)}}}),_c('div',{staticClass:\"form-card\"},[_c('b-row',[_c('b-col',{ref:\"sideCol\",attrs:{\"lg\":\"2\"}},[_c('div',{staticClass:\"side-panel position-fixed border-right\"},[(_vm.renderErrorNotificationBox)?_c('FormListInformationPanel',{attrs:{\"components\":_vm.modelInformationData.current.components,\"invalid-feedbacks\":_vm.form.invalidFeedbacks,\"submitted-lists\":_vm.form.submittedLists},on:{\"solutionsModal\":function($event){return _vm.openSolutionsModal($event)}}}):_vm._e()],1)]),_c('b-col',{attrs:{\"lg\":\"8\",\"md\":\"12\"}},[_c('b-form',{staticClass:\"mt-3\"},[_vm._l((_vm.modelInformationData.current\n .components),function(component,index){return [_c('div',{key:component.name,staticClass:\"form-list\"},[(_vm.SINGLE_OPTION_LIST === component.optionChooseListType)?_c('FormChooseSingleOptionList',{staticClass:\"form-component\",attrs:{\"image\":component.image,\"attributes\":component.attributes,\"options\":component.list,\"currency\":_vm.currency,\"list-name\":component.name,\"is-error\":_vm.isInvalidFeebacksInComponent(component.name),\"is-submittable\":true},on:{\"input\":function($event){return _vm.onLastListInput($event, component.name)},\"submitted\":function($event){return _vm.setListSubmitted($event)}},model:{value:(_vm.form.current[component.name]),callback:function ($$v) {_vm.$set(_vm.form.current, component.name, $$v)},expression:\"form.current[component.name]\"}}):(\n _vm.MULTIPLE_OPTION_LIST === component.optionChooseListType\n )?_c('FormChooseMultipleOptionList',{staticClass:\"form-component\",attrs:{\"image\":component.image,\"attributes\":component.attributes,\"options\":component.list,\"currency\":_vm.currency,\"list-name\":component.name,\"is-error\":_vm.isInvalidFeebacksInComponent(component.name),\"is-submittable\":true},on:{\"input\":function($event){return _vm.onLastListInput($event, component.name)},\"submitted\":function($event){return _vm.setListSubmitted($event)}},model:{value:(_vm.form.current[component.name]),callback:function ($$v) {_vm.$set(_vm.form.current, component.name, $$v)},expression:\"form.current[component.name]\"}}):(\n _vm.COUNTABLE_MULTIPLE_OPTION_LIST ===\n component.optionChooseListType\n )?_c('FormChooseCountableMultipleOptionList',{staticClass:\"form-component\",attrs:{\"image\":component.image,\"attributes\":component.attributes,\"options\":component.list,\"currency\":_vm.currency,\"list-name\":component.name,\"is-error\":_vm.isInvalidFeebacksInComponent(component.name),\"is-submittable\":true},on:{\"input\":function($event){return _vm.onLastListInput($event, component.name)},\"submitted\":function($event){return _vm.setListSubmitted($event)}},model:{value:(_vm.form.current[component.name]),callback:function ($$v) {_vm.$set(_vm.form.current, component.name, $$v)},expression:\"form.current[component.name]\"}}):(\n _vm.COUNTABLE_SINGLE_OPTION_LIST ===\n component.optionChooseListType\n )?_c('FormChooseCountableSingleOptionList',{staticClass:\"form-component\",attrs:{\"image\":component.image,\"attributes\":component.attributes,\"options\":component.list,\"currency\":_vm.currency,\"list-name\":component.name,\"is-error\":_vm.isInvalidFeebacksInComponent(component.name),\"is-submittable\":true},on:{\"input\":function($event){return _vm.onLastListInput($event, component.name)},\"submitted\":function($event){return _vm.setListSubmitted($event)}},model:{value:(_vm.form.current[component.name]),callback:function ($$v) {_vm.$set(_vm.form.current, component.name, $$v)},expression:\"form.current[component.name]\"}}):_vm._e()],1)]}),_c('div',{staticClass:\"w-100 d-inline-flex justify-content-end\"})],2)],1),_c('b-col',{ref:\"sideCol\",attrs:{\"lg\":\"2\"}},[_c('div',{staticClass:\"d-flex justify-content-center align-items-center overflow-hidden side-panel position-fixed border-left\"},[_c('FormSummaryPanel',{attrs:{\"currency\":_vm.currency,\"model-image\":_vm.modelInformationData.current.modelImage,\"model-name\":_vm.modelInformationData.current.name,\"producer-logo\":_vm.modelInformationData.current.producerLogo,\"series-name\":_vm.modelInformationData.current.series,\"total-price-net\":_vm.getTotalPriceNet(),\"total-price-gross\":_vm.getTotalPriceGross(),\"modals-data\":_vm.modalsData},on:{\"summaryModal\":function($event){return _vm.setSummaryModalData($event)}}})],1)])],1),_c('FormSummaryBar',{attrs:{\"currency\":_vm.currency,\"totalPriceNet\":_vm.getTotalPriceNet(),\"modalsData\":_vm.modalsData},on:{\"summaryModal\":function($event){return _vm.setSummaryModalData($event)}}})],1)]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-form-group',{attrs:{\"id\":_vm.listName}},[_c('b-card',{class:_vm.formListHelper.getListClass(_vm.isError, _vm.isSubmitted)},[(!_vm.isSubmitted)?[_c('b-container',{staticClass:\"ml-0 mr-0\"},[_c('FormListFilterBar',{attrs:{\"image\":_vm.image,\"attributes\":_vm.attributes,\"list-name\":_vm.listName,\"hidden-options\":_vm.hiddenOptions,\"value\":_vm.value},on:{\"filter\":function($event){return _vm.filterOptions($event)},\"deleteOption\":function($event){return _vm.clearSelectedOption($event)}}}),_vm._l((_vm.optionsData),function(option){return [(option.isVisible === true)?_c('b-row',{key:option.id,staticClass:\"pt-2 pb-1\",class:{ selected: _vm.isOptionSelected(option) }},[_c('b-col',{staticClass:\"d-flex\",attrs:{\"lg\":\"9\",\"md\":\"8\",\"sm\":\"7\"}},[_c('b-form-spinbutton',{attrs:{\"size\":\"sm\",\"inline\":\"\",\"type\":\"number\",\"min\":_vm.minQuantity,\"max\":_vm.maxQuantity},model:{value:(_vm.selected[option.id]),callback:function ($$v) {_vm.$set(_vm.selected, option.id, $$v)},expression:\"selected[option.id]\"}}),_c('span',{staticClass:\"item-name form-option-name\"},[_vm._v(\" \"+_vm._s(option.name)+\" \")])],1),_c('b-col',{staticClass:\"text-right\",attrs:{\"lg\":\"3\",\"md\":\"4\",\"sm\":\"5\",\"id\":'price-for-' + option.id}},[_c('FormOptionDetailsBox',{staticClass:\"float-left\",attrs:{\"option\":_vm.optionDetailsService.getOptionById(option.id, _vm.options)},on:{\"option-details-toggle\":function($event){return _vm.optionDetailsService.toggleOptionDetails(option.id)}}}),_c('div',{staticClass:\"price-label\"},[_c('span',{staticClass:\"font-bold\"},[_vm._v(\" \"+_vm._s(_vm.formListHelper.printPrice(option.price))+\" \")]),_c('span',{staticClass:\"font-light\"},[_vm._v(\" \"+_vm._s(_vm.currency)+\" \")])]),_c('div',{staticClass:\"per-item font-light\"},[_vm._v(\" \"+_vm._s(_vm.$t('form.default.per-item'))+\" \")])],1),_c('FormOptionDetailsBoxInfo',{attrs:{\"collapsed\":_vm.optionDetailsService.getCollapsed(),\"quantity\":_vm.optionDetailsService.getCurrentQuantity(option.id, _vm.value),\"option\":option}})],1):_vm._e()]})],2),(_vm.isSubmittable)?_c('div',{staticClass:\"d-flex justify-content-end\"},[_c('button',{staticClass:\"btn btn-green mt-4\",on:{\"click\":function($event){return _vm.toggleSubmitted()}}},[_c('span',[_vm._v(_vm._s(_vm.$t('form.default.submit')))]),_c('b-icon',{attrs:{\"icon\":\"check\"}})],1)]):_vm._e()]:[_c('FormListCollapsedBar',{attrs:{\"list-name\":_vm.listName,\"options\":_vm.options,\"selected\":_vm.value},on:{\"return\":function($event){return _vm.toggleSubmitted()}}})]],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{on:{\"click\":function($event){return _vm.emit()}}},[_c('b-icon',{staticClass:\"icon icon-info\",attrs:{\"icon\":\"info-circle-fill\"}}),(_vm.showAttention())?_c('b-icon',{staticClass:\"icon icon-attention\",attrs:{\"icon\":\"exclamation-triangle-fill\"}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n name: 'FormOptionDetailsBox',\r\n\r\n props: {\r\n option: {\r\n type: Object,\r\n require: true,\r\n },\r\n },\r\n\r\n methods: {\r\n emit() {\r\n this.$emit('option-details-toggle', this.option.id)\r\n },\r\n\r\n showAttention() {\r\n return (\r\n this.isListNotEmpty(this.option.onSelect) ||\r\n this.isListNotEmpty(this.option.requirements) ||\r\n this.option.weight > 1\r\n )\r\n },\r\n\r\n isListNotEmpty(list) {\r\n if (list === undefined) {\r\n return false\r\n }\r\n\r\n if (list.oneTime !== undefined) {\r\n return (\r\n this.isListExistsAndNotEmpty(list.oneTime.components) ||\r\n this.isListExistsAndNotEmpty(list.oneTime.componentsFromList)\r\n )\r\n }\r\n\r\n if (list.eachTime !== undefined) {\r\n return (\r\n this.isListExistsAndNotEmpty(list.eachTime.components) ||\r\n this.isListExistsAndNotEmpty(list.eachTime.componentsFromList)\r\n )\r\n }\r\n },\r\n\r\n isListExistsAndNotEmpty(list) {\r\n return list !== undefined && list.length > 0\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-option-details-box.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-option-details-box.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormOptionDetailsBox.vue?vue&type=template&id=3bd7abc0&scoped=true&\"\nimport script from \"./form-option-details-box.js?vue&type=script&lang=js&\"\nexport * from \"./form-option-details-box.js?vue&type=script&lang=js&\"\nimport style0 from \"./form-option-details-box.scss?vue&type=style&index=0&id=3bd7abc0&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3bd7abc0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-collapse',{staticClass:\"w-100\",model:{value:(_vm.collapsed[_vm.option.id]),callback:function ($$v) {_vm.$set(_vm.collapsed, _vm.option.id, $$v)},expression:\"collapsed[option.id]\"}},[_c('b-container',[_c('b-row',[_c('b-col',{attrs:{\"md\":\"9\",\"sm\":\"12\"}},[(_vm.isAttributes())?_c('FormOptionDetailsCollapseAttributes',{attrs:{\"option\":_vm.option}}):_vm._e(),(_vm.isOnSelectOneTime())?_c('FormOptionDetailsCollapse',{attrs:{\"option\":_vm.option,\"component-type\":_vm.COMP_TYPE_ON_SELECT,\"iteration-type\":_vm.ITER_TYPE_ONE_TIME}}):_vm._e(),(_vm.isOnSelectEachTime())?_c('FormOptionDetailsCollapse',{attrs:{\"option\":_vm.option,\"component-type\":_vm.COMP_TYPE_ON_SELECT,\"iteration-type\":_vm.ITER_TYPE_EACH_TIME}}):_vm._e(),(_vm.isRequirementsOneTime())?_c('FormOptionDetailsCollapse',{attrs:{\"option\":_vm.option,\"component-type\":_vm.COMP_TYPE_REQUIREMENTS,\"iteration-type\":_vm.ITER_TYPE_ONE_TIME}}):_vm._e(),(_vm.isRequirementsEachTime())?_c('FormOptionDetailsCollapse',{attrs:{\"option\":_vm.option,\"component-type\":_vm.COMP_TYPE_REQUIREMENTS,\"iteration-type\":_vm.ITER_TYPE_EACH_TIME}}):_vm._e()],1),_c('b-col',{staticClass:\"weight\",attrs:{\"md\":\"3\",\"sm\":\"12\"}},[_c('div',[_c('p',{staticClass:\"right-info\"},[_vm._v(\" \"+_vm._s(_vm.$t('form.option-details.weight'))+\": \"+_vm._s(_vm.getWeight())+\" \")]),(_vm.isWeightNotDefault())?_c('b-icon',{staticClass:\"icon icon-attention icon-small icon-weight\",attrs:{\"icon\":\"exclamation-triangle-fill\"}}):_vm._e()],1)])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-button',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:(_vm.getToggleId()),expression:\"getToggleId()\"}],staticClass:\"d-flex align-content-start font-bold\",attrs:{\"block\":\"\"}},[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(_vm.getButtonText()))+\" \")]),_c('b-icon',{staticClass:\"icon icon-attention icon-small\",attrs:{\"icon\":\"exclamation-triangle-fill\"}})],1),_c('b-collapse',{attrs:{\"id\":_vm.getToggleId()}},[_c('div',{staticClass:\"inner-content\"},_vm._l((_vm.getOptionAdditionalInfo()),function(info){return _c('div',{key:info.id,staticClass:\"d-flex w-100\"},[_c('p',[_vm._v(_vm._s(_vm.$t(_vm.getInitialWord())))]),(_vm.haveMultipleNames(info))?_c('div',{staticClass:\"grid\"},_vm._l((info.name),function(name,index){return _c('p',{key:index},[_vm._v(\" \"+_vm._s(name)+\" \")])}),0):_c('p',[_vm._v(_vm._s(info.name))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(_vm.getSecondaryWord(info.type)))+\" \")]),(_vm.iterationType === _vm.ITER_TYPE_EACH_TIME && info.weight > 0)?_c('p',[_vm._v(\" + \")]):_vm._e(),(_vm.componentType === _vm.COMP_TYPE_ON_SELECT)?_c('p',[_vm._v(\" \"+_vm._s(info.weight)+\" \")]):_vm._e(),(_vm.componentType === _vm.COMP_TYPE_REQUIREMENTS)?_c('p',[_vm._v(\" \"+_vm._s(info.quantity)+\" \")]):_vm._e()])}),0)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const ITER_TYPE_ONE_TIME = 'oneTime'\r\nexport const ITER_TYPE_EACH_TIME = 'eachTime'\r\nexport const COMP_TYPE_ON_SELECT = 'on-select'\r\nexport const COMP_TYPE_REQUIREMENTS = 'requirements'\r\n\r\nexport default {\r\n name: 'FormOptionDetailsCollapse',\r\n\r\n props: {\r\n option: {\r\n type: Object,\r\n require: true,\r\n },\r\n\r\n componentType: {\r\n type: String,\r\n require: true,\r\n },\r\n\r\n iterationType: {\r\n type: String,\r\n require: true,\r\n },\r\n },\r\n\r\n data() {\r\n return {\r\n COMP_TYPE_ON_SELECT,\r\n COMP_TYPE_REQUIREMENTS,\r\n ITER_TYPE_ONE_TIME,\r\n ITER_TYPE_EACH_TIME,\r\n COLL_TYPE_ON_SELECT_ONE_TIME: 'on-select-one-time',\r\n COLL_TYPE_ON_SELECT_EACH_TIME: 'on-select-each-time',\r\n COLL_TYPE_REQUIREMENTS_ONE_TIME: 'rquirements-one-time',\r\n COLL_TYPE_REQUIREMENTS_EACH_TIME: 'requirements-each-time',\r\n COMPONENT: 'component',\r\n LIST: 'list',\r\n WEIGHT_GROUP: 'weightGroup',\r\n collapseType: '',\r\n }\r\n },\r\n\r\n created() {\r\n this.collapseType = this.getCollapseType()\r\n },\r\n\r\n methods: {\r\n getCollapseType() {\r\n if (\r\n this.componentType === this.COMP_TYPE_ON_SELECT &&\r\n this.iterationType === this.ITER_TYPE_ONE_TIME\r\n ) {\r\n return this.COLL_TYPE_ON_SELECT_ONE_TIME\r\n } else if (\r\n this.componentType === this.COMP_TYPE_ON_SELECT &&\r\n this.iterationType === this.ITER_TYPE_EACH_TIME\r\n ) {\r\n return this.COLL_TYPE_ON_SELECT_EACH_TIME\r\n } else if (\r\n this.componentType === this.COMP_TYPE_REQUIREMENTS &&\r\n this.iterationType === this.ITER_TYPE_ONE_TIME\r\n ) {\r\n return this.COLL_TYPE_REQUIREMENTS_ONE_TIME\r\n } else if (\r\n this.componentType === this.COMP_TYPE_REQUIREMENTS &&\r\n this.iterationType === this.ITER_TYPE_EACH_TIME\r\n ) {\r\n return this.COLL_TYPE_REQUIREMENTS_EACH_TIME\r\n }\r\n },\r\n\r\n getOptionAdditionalInfo() {\r\n switch (this.collapseType) {\r\n case this.COLL_TYPE_ON_SELECT_ONE_TIME:\r\n return this.getOneTimeOnSelects()\r\n case this.COLL_TYPE_ON_SELECT_EACH_TIME:\r\n return this.getEachTimeOnSelects()\r\n case this.COLL_TYPE_REQUIREMENTS_ONE_TIME:\r\n return this.getOneTimeRequirements()\r\n default:\r\n return this.getEachTimeRequirements()\r\n }\r\n },\r\n\r\n getButtonText() {\r\n switch (this.collapseType) {\r\n case this.COLL_TYPE_ON_SELECT_ONE_TIME:\r\n return 'form.option-details.on-select-one-time'\r\n case this.COLL_TYPE_ON_SELECT_EACH_TIME:\r\n return 'form.option-details.on-select-each-time'\r\n case this.COLL_TYPE_REQUIREMENTS_ONE_TIME:\r\n return 'form.option-details.requirements-one-time'\r\n default:\r\n return 'form.option-details.requirements-each-time'\r\n }\r\n },\r\n\r\n getInitialWord() {\r\n if (\r\n this.collapseType === this.COLL_TYPE_ON_SELECT_ONE_TIME ||\r\n this.collapseType === this.COLL_TYPE_ON_SELECT_EACH_TIME\r\n ) {\r\n return 'form.option-details.on-select'\r\n } else {\r\n return 'form.option-details.required'\r\n }\r\n },\r\n\r\n getSecondaryWord(type) {\r\n if (\r\n this.collapseType === this.COLL_TYPE_REQUIREMENTS_ONE_TIME ||\r\n this.collapseType === this.COLL_TYPE_REQUIREMENTS_EACH_TIME\r\n ) {\r\n return 'form.option-details.in-quantity'\r\n } else {\r\n if (type === this.COMPONENT) {\r\n return 'form.option-details.increase-weight'\r\n } else {\r\n return 'form.option-details.increase-weigh-group-cap'\r\n }\r\n }\r\n },\r\n\r\n getToggleId() {\r\n return (\r\n this.componentType + '-' + this.iterationType + '-' + this.option.id\r\n )\r\n },\r\n\r\n getOneTimeRequirements() {\r\n return this.getRequirementsData(this.option.requirements.oneTime)\r\n },\r\n\r\n getEachTimeRequirements() {\r\n return this.getRequirementsData(this.option.requirements.eachTime)\r\n },\r\n\r\n getRequirementsData(requirements) {\r\n let result = []\r\n\r\n if (requirements.components) {\r\n requirements.components.forEach(component => {\r\n result.push({\r\n name: component.name,\r\n type: this.COMPONENT,\r\n quantity: this.getQuantity(component),\r\n })\r\n })\r\n }\r\n\r\n if (requirements.componentsFromList) {\r\n requirements.componentsFromList.forEach(componentList => {\r\n result.push({\r\n name: this.getNamesFromList(componentList.list),\r\n type: this.LIST,\r\n quantity: this.getQuantity(componentList),\r\n })\r\n })\r\n }\r\n\r\n return result\r\n },\r\n\r\n getOneTimeOnSelects() {\r\n return this.getOnSelectData(this.option.onSelect.oneTime)\r\n },\r\n\r\n getEachTimeOnSelects() {\r\n return this.getOnSelectData(this.option.onSelect.eachTime)\r\n },\r\n\r\n getOnSelectData(onSelectData) {\r\n let result = []\r\n\r\n if (onSelectData.components) {\r\n onSelectData.components.forEach(component => {\r\n result.push({\r\n name: component.name,\r\n type: this.COMPONENT,\r\n weight: component.weight,\r\n })\r\n })\r\n }\r\n\r\n if (onSelectData.weightGroups) {\r\n onSelectData.weightGroups.forEach(component => {\r\n result.push({\r\n name: component.components,\r\n type: this.WEIGHT_GROUP,\r\n weight: component.weight,\r\n })\r\n })\r\n }\r\n\r\n return result\r\n },\r\n\r\n getQuantity(component) {\r\n if (component.quantity !== undefined) {\r\n return component.quantity\r\n }\r\n if (component.minQuantity && component.maxQuantity) {\r\n return component.minQuantity + '-' + component.maxQuantity\r\n } else if (component.minQuantity) {\r\n return 'minimum' + component.maxQuantity\r\n } else if (component.maxQuantity) {\r\n return 'maximum' + component.minQuantity\r\n }\r\n },\r\n\r\n getWeight() {\r\n if (!this.option.weight) {\r\n return 1\r\n }\r\n return this.option.weight\r\n },\r\n\r\n getNamesFromList(list) {\r\n let result = []\r\n list.forEach(component => {\r\n result.push(component.name)\r\n })\r\n\r\n return result\r\n },\r\n\r\n haveMultipleNames(data) {\r\n return Array.isArray(data.name)\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-option-details-collapse.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-option-details-collapse.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormOptionDetailsCollapse.vue?vue&type=template&id=30e1b408&scoped=true&\"\nimport script from \"./form-option-details-collapse.js?vue&type=script&lang=js&\"\nexport * from \"./form-option-details-collapse.js?vue&type=script&lang=js&\"\nimport style0 from \"./form-option-details-collapse.scss?vue&type=style&index=0&id=30e1b408&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"30e1b408\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('b-button',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:(_vm.getToggleId()),expression:\"getToggleId()\"}],staticClass:\"d-flex align-content-start font-bold\",attrs:{\"block\":\"\"}},[_c('p',[_vm._v(_vm._s(_vm.$t('form.option-details.attributes')))]),_c('b-icon',{staticClass:\"icon icon-info icon-small\",attrs:{\"icon\":\"info-circle-fill\"}})],1),_c('b-collapse',{attrs:{\"id\":_vm.getToggleId()}},[_c('div',{staticClass:\"inner-content\"},_vm._l((_vm.getAttributes()),function(attribute){return _c('div',{key:attribute.id,staticClass:\"d-flex w-100\"},[_c('p',[_vm._v(_vm._s(attribute.name)+\": \"+_vm._s(attribute.value))])])}),0)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","const ATTRIBUTES = 'attributes-'\r\n\r\nexport default {\r\n name: 'FormOptionDetailsCollapseAttributes',\r\n\r\n props: {\r\n option: {\r\n type: Object,\r\n require: true,\r\n },\r\n },\r\n\r\n methods: {\r\n getToggleId() {\r\n return ATTRIBUTES + this.option.id\r\n },\r\n\r\n getAttributes() {\r\n return this.option.attributes\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-option-details-collapse-attributes.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-option-details-collapse-attributes.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormOptionDetailsCollapseAttributes.vue?vue&type=template&id=765957bb&scoped=true&\"\nimport script from \"./form-option-details-collapse-attributes.js?vue&type=script&lang=js&\"\nexport * from \"./form-option-details-collapse-attributes.js?vue&type=script&lang=js&\"\nimport style0 from \"./form-option-details-collapse-attributes.scss?vue&type=style&index=0&id=765957bb&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"765957bb\",\n null\n \n)\n\nexport default component.exports","import FormOptionDetailsCollapse, {\r\n COMP_TYPE_ON_SELECT,\r\n COMP_TYPE_REQUIREMENTS,\r\n ITER_TYPE_ONE_TIME,\r\n ITER_TYPE_EACH_TIME,\r\n} from '@/components/form/default/form-option-details-box/form-option-details-collapse/FormOptionDetailsCollapse'\r\nimport FormOptionDetailsCollapseAttributes from '@/components/form/default/form-option-details-box/form-option-details-collapse-attributes/FormOptionDetailsCollapseAttributes'\r\n\r\nexport default {\r\n name: 'FormOptionDetailsBoxInfo',\r\n\r\n components: {\r\n FormOptionDetailsCollapse,\r\n FormOptionDetailsCollapseAttributes,\r\n },\r\n\r\n props: {\r\n collapsed: {\r\n type: Array,\r\n require: true,\r\n },\r\n\r\n option: {\r\n type: Object,\r\n require: true,\r\n },\r\n },\r\n\r\n data() {\r\n return {\r\n COMP_TYPE_REQUIREMENTS,\r\n COMP_TYPE_ON_SELECT,\r\n ITER_TYPE_EACH_TIME,\r\n ITER_TYPE_ONE_TIME,\r\n }\r\n },\r\n\r\n methods: {\r\n getWeight() {\r\n if (!this.option.weight) {\r\n return 1\r\n }\r\n return this.option.weight\r\n },\r\n\r\n isOnSelectEachTime() {\r\n if (\r\n this.option.onSelect !== undefined &&\r\n this.option.onSelect.eachTime !== undefined\r\n ) {\r\n return this.isContentExists(this.option.onSelect.eachTime)\r\n }\r\n },\r\n\r\n isOnSelectOneTime() {\r\n if (\r\n this.option.onSelect !== undefined &&\r\n this.option.onSelect.oneTime !== undefined\r\n ) {\r\n return this.isContentExists(this.option.onSelect.oneTime)\r\n }\r\n },\r\n\r\n isRequirementsEachTime() {\r\n if (\r\n this.option.requirements !== undefined &&\r\n this.option.requirements.eachTime !== undefined\r\n ) {\r\n return this.isContentExists(this.option.requirements.eachTime)\r\n }\r\n },\r\n\r\n isRequirementsOneTime() {\r\n if (\r\n this.option.requirements !== undefined &&\r\n this.option.requirements.oneTime !== undefined\r\n ) {\r\n return this.isContentExists(this.option.requirements.oneTime)\r\n }\r\n },\r\n\r\n isContentExists(data) {\r\n if (data.components !== undefined) {\r\n return data.components.length > 0\r\n }\r\n if (data.weightGroups !== undefined) {\r\n return data.weightGroups.length > 0\r\n }\r\n if (data.componentsFromList !== undefined) {\r\n return data.componentsFromList.length > 0\r\n }\r\n },\r\n\r\n isWeightNotDefault() {\r\n return this.option.weight\r\n },\r\n\r\n isAttributes() {\r\n return (\r\n Array.isArray(this.option.attributes) &&\r\n 0 < this.option.attributes.length\r\n )\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-option-details-box-info.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-option-details-box-info.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormOptionDetailsBoxInfo.vue?vue&type=template&id=6f464c92&scoped=true&\"\nimport script from \"./form-option-details-box-info.js?vue&type=script&lang=js&\"\nexport * from \"./form-option-details-box-info.js?vue&type=script&lang=js&\"\nimport style0 from \"./form-option-details-box-info.scss?vue&type=style&index=0&id=6f464c92&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6f464c92\",\n null\n \n)\n\nexport default component.exports","export default class FormOptionDetailsBoxService {\r\n collapsed = []\r\n\r\n constructor(options) {\r\n options.forEach(option => {\r\n this.collapsed[option.id] = false\r\n })\r\n }\r\n\r\n toggleOptionDetails(option) {\r\n if (option) {\r\n this.collapsed[option] = !this.collapsed[option]\r\n this.collapsed.push('')\r\n this.collapsed.pop()\r\n }\r\n }\r\n\r\n getOptionById(id, options) {\r\n if (options && id) {\r\n return options.find(obj => obj.id === id)\r\n }\r\n }\r\n\r\n getCollapsed() {\r\n return this.collapsed\r\n }\r\n\r\n getCurrentQuantity(id, data) {\r\n if (Array.isArray(data) && id) {\r\n const result = data.find(val => val.id === id)\r\n if (result && result.quantity) {\r\n return result.quantity\r\n }\r\n return 0\r\n }\r\n }\r\n}\r\n","export default class FormListFilterService {\r\n setOptionsVisible(options) {\r\n if (options.length === 0) {\r\n return\r\n }\r\n\r\n options.forEach(option => {\r\n option.isVisible = true\r\n })\r\n }\r\n\r\n setOptionsVisibilty(options, filters) {\r\n this.setOptionsVisible(options)\r\n\r\n if (filters.length === 0) {\r\n return\r\n }\r\n\r\n options.forEach(option => {\r\n filters.forEach(filter => {\r\n if (\r\n Array.isArray(filter.selected) &&\r\n filter.selected.length > 0 &&\r\n !_checkIfOptionAllowedByFilters(\r\n option.attributes,\r\n filter,\r\n filter.attribute.type\r\n )\r\n ) {\r\n option.isVisible = false\r\n }\r\n })\r\n })\r\n }\r\n\r\n getHiddenSelectedOptions(options, selectedOptions) {\r\n var hiddenOptions = []\r\n\r\n if (options == undefined || selectedOptions == undefined) {\r\n return hiddenOptions\r\n }\r\n\r\n options.forEach(option => {\r\n if (option.isVisible) {\r\n return\r\n }\r\n\r\n selectedOptions.forEach(selectedOption => {\r\n if (selectedOption.quantity === 0 || selectedOption.id !== option.id) {\r\n return\r\n }\r\n\r\n hiddenOptions.push({\r\n id: option.id,\r\n quantity: selectedOption.quantity,\r\n name: option.name,\r\n })\r\n })\r\n })\r\n\r\n return hiddenOptions\r\n }\r\n}\r\n\r\nfunction _checkIfOptionAllowedByFilters(attributes, filter, type) {\r\n return (\r\n (_checkIfContains(attributes, filter) && type === 'select') ||\r\n (_checkIfInRange(attributes, filter) && type === 'range')\r\n )\r\n}\r\n\r\nfunction _checkIfContains(attributes, filter) {\r\n for (var i = 0; i < attributes.length; i++) {\r\n for (var j = 0; j < filter.selected.length; j++) {\r\n if (\r\n attributes[i].id === filter.attribute.id &&\r\n attributes[i].value != null &&\r\n attributes[i].value.toString().toLowerCase() ===\r\n filter.selected[j].toString().toLowerCase()\r\n ) {\r\n return true\r\n }\r\n }\r\n }\r\n\r\n return false\r\n}\r\n\r\nfunction _checkIfInRange(attributes, filter) {\r\n for (var i = 0; i < attributes.length; i++) {\r\n if (\r\n attributes[i].id == filter.attribute.id &&\r\n attributes[i].value != null &&\r\n attributes[i].value >= filter.selected[0] &&\r\n attributes[i].value <= filter.selected[1]\r\n ) {\r\n return true\r\n }\r\n }\r\n\r\n return false\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"filter-bar\"},[_c('div',{staticClass:\"filter-header-bar mb-2\"},[_c('ImageLoader',{staticClass:\"image\",attrs:{\"src\":_vm.image}}),_c('h3',{staticClass:\"title text-uppercase\"},[_vm._v(_vm._s(_vm.listName))]),(_vm.isAdditionalFiltersButton)?_c('div',{staticClass:\"filters-label font-roman is-clickable noselect\",on:{\"click\":function($event){return _vm.toggleAllFilters()}}},[_vm._v(\" \"+_vm._s(_vm.$t('form.filter-bar.additional-filters'))+\" \"),(!_vm.showAllFilters)?[_c('b-icon',{staticClass:\"toggle-icon\",attrs:{\"icon\":\"toggle-off\"}})]:[_c('b-icon',{staticClass:\"toggle-icon filter-toggled-icon\",attrs:{\"icon\":\"toggle-on\"}})]],2):_vm._e()],1),(_vm.isHiddenOptionsExists)?_c('FormListHiddenOptionBar',{attrs:{\"hidden-options\":_vm.hiddenOptions,\"hidden-deletable\":_vm.hiddenDeletable},on:{\"deleteOption\":function($event){return _vm.emitDeleteOption($event)}}}):_vm._e(),(!_vm.hideFilteringOptions)?_c('div',{staticClass:\"mr-4 ml-4 active-filter-bar\"},_vm._l((_vm.attributes),function(attribute,index){return _c('div',{key:index},[(_vm.isVisible(attribute, 'select'))?_c('FormListFilterSelectMultiple',{attrs:{\"attribute\":attribute},on:{\"selected\":function($event){return _vm.onFilterSelect($event)}}}):_vm._e(),(_vm.isVisible(attribute, 'range'))?_c('FormListFilterRange',{attrs:{\"attribute\":attribute},on:{\"selected\":function($event){return _vm.onFilterSelect($event)}}}):_vm._e()],1)}),0):_vm._e(),(_vm.isShowAllButton)?_c('div',{staticClass:\"d-flex\"},[_c('b-form-checkbox',{staticClass:\"clear-filter-toggle is-clickable noselect flex-right mb-2\",on:{\"change\":function($event){return _vm.clearAllFilters($event)}},model:{value:(_vm.hideFilteringOptions),callback:function ($$v) {_vm.hideFilteringOptions=$$v},expression:\"hideFilteringOptions\"}},[_c('span',{staticClass:\"font-light color-secondary\"},[_vm._v(\" \"+_vm._s(_vm.$t('form.filter-bar.show-all'))+\" \")])])],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"filter-box\"},[_c('p',{staticClass:\"m-0 text-center\"},[_vm._v(_vm._s(_vm.attribute.name))]),_c('multiselect',{staticClass:\"mt-1\",attrs:{\"show-labels\":false,\"multiple\":true,\"searchable\":false,\"close-on-select\":false,\"placeholder\":_vm.$t('form.filter-bar.not-selected'),\"limit\":0,\"limit-text\":_vm.getSelectedFilters,\"options\":_vm.attribute.values},on:{\"input\":function($event){return _vm.onSelectChange()}},scopedSlots:_vm._u([{key:\"option\",fn:function(props){return [_c('div',[_c('input',{attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":_vm.isOptionChecked(props.option)}}),_c('span',{staticClass:\"option__title\"},[_vm._v(_vm._s(props.option))])])]}}]),model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Multiselect from 'vue-multiselect'\r\n\r\nexport default {\r\n name: 'FormListFilterSelectMultiple',\r\n\r\n components: {\r\n Multiselect,\r\n },\r\n\r\n props: {\r\n attribute: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n\r\n data() {\r\n return {\r\n selected: [],\r\n }\r\n },\r\n\r\n async created() {\r\n if (this.attribute.defaults) {\r\n this.selected = this.attribute.defaults\r\n this.onSelectChange()\r\n }\r\n },\r\n\r\n methods: {\r\n onSelectChange() {\r\n this.$emit('selected', {\r\n selected: this.selected,\r\n attribute: this.attribute,\r\n })\r\n },\r\n\r\n getSelectedFilters() {\r\n if (this.selected.length == 1) {\r\n return this.selected[0]\r\n }\r\n\r\n return this.$t('form.filter-bar.count-selected-filters', {\r\n count: this.selected.length,\r\n })\r\n },\r\n\r\n isOptionChecked(option) {\r\n return this.selected.includes(option)\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-list-filter-select-multiple.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-list-filter-select-multiple.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormListFilterSelectMultiple.vue?vue&type=template&id=3ce99272&scoped=true&\"\nimport script from \"./form-list-filter-select-multiple.js?vue&type=script&lang=js&\"\nexport * from \"./form-list-filter-select-multiple.js?vue&type=script&lang=js&\"\nimport style0 from \"vue-multiselect/dist/vue-multiselect.min.css?vue&type=style&index=0&lang=css&\"\nimport style1 from \"./form-list-filter-select-multiple.scss?vue&type=style&index=1&id=3ce99272&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3ce99272\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"filter-box\"},[_c('p',{staticClass:\"filter-name\"},[_vm._v(_vm._s(_vm.attribute.name)+_vm._s(_vm.getUnit()))]),_c('div',{staticClass:\"input-box\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.rangeFrom),expression:\"rangeFrom\"}],domProps:{\"value\":(_vm.rangeFrom)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.rangeFrom=$event.target.value}}}),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.rangeTo),expression:\"rangeTo\"}],domProps:{\"value\":(_vm.rangeTo)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.rangeTo=$event.target.value}}})]),_c('vue-slider',{attrs:{\"min\":_vm.minimum,\"max\":_vm.maximum,\"tooltip\":\"none\"},model:{value:(_vm.sliderRange),callback:function ($$v) {_vm.sliderRange=$$v},expression:\"sliderRange\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import VueSlider from 'vue-slider-component'\r\nimport 'vue-slider-component/theme/default.css'\r\n\r\nexport default {\r\n name: 'FormListFilterRange',\r\n\r\n components: {\r\n VueSlider,\r\n },\r\n\r\n props: {\r\n attribute: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n\r\n data() {\r\n return {\r\n rangeFrom: 0,\r\n rangeTo: 0,\r\n minimum: 0,\r\n maximum: 0,\r\n }\r\n },\r\n\r\n watch: {\r\n sliderRange: function(range) {\r\n if (this.rangeFrom >= this.minimum && this.rangeTo <= this.maximum) {\r\n this.$emit('selected', {\r\n selected: [range[0], range[1]],\r\n attribute: this.attribute,\r\n })\r\n }\r\n },\r\n },\r\n\r\n computed: {\r\n sliderRange: {\r\n get() {\r\n return [this.rangeFrom, this.rangeTo]\r\n },\r\n set(value) {\r\n this.rangeFrom = value[0]\r\n this.rangeTo = value[1]\r\n },\r\n },\r\n },\r\n\r\n async created() {\r\n this.rangeFrom = this.attribute.defaults[0]\r\n this.rangeTo = this.attribute.defaults[1]\r\n this.setMinMax()\r\n },\r\n\r\n methods: {\r\n setMinMax() {\r\n this.minimum = this.attribute.values[0]\r\n this.maximum = this.attribute.values[0]\r\n\r\n this.attribute.values.forEach(value => {\r\n if (value > this.maximum) {\r\n this.maximum = value\r\n } else if (value < this.minimum) {\r\n this.minimum = value\r\n }\r\n })\r\n },\r\n\r\n getUnit() {\r\n if (this.attribute.unit === undefined || this.attribute.unit === null) {\r\n return ''\r\n }\r\n\r\n return ' [' + this.attribute.unit + ']'\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-list-filter-range.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-list-filter-range.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormListFilterRange.vue?vue&type=template&id=1fc81300&scoped=true&\"\nimport script from \"./form-list-filter-range.js?vue&type=script&lang=js&\"\nexport * from \"./form-list-filter-range.js?vue&type=script&lang=js&\"\nimport style0 from \"./form-list-filter-range.scss?vue&type=style&index=0&id=1fc81300&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1fc81300\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"hidden-options\"},[(_vm.checkIfHiddenOptionsExists())?_c('span',{staticClass:\"label\"},[_vm._v(\" \"+_vm._s(_vm.$t('form.filter-bar.selected-hidden-options'))+\" \")]):_vm._e(),_vm._l((_vm.hiddenOptions),function(hiddenOption){return _c('div',{key:hiddenOption.id},[_c('FormListHiddenOption',{attrs:{\"hidden-option\":hiddenOption,\"hidden-deletable\":_vm.hiddenDeletable},on:{\"deleteOption\":function($event){return _vm.emitDeleteOption($event)}}})],1)})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"hidden-option\"},[(_vm.hiddenDeletable)?_c('b-icon',{staticClass:\"icon-delete\",attrs:{\"icon\":\"x-circle-fill\"},on:{\"click\":function($event){return _vm.emitDeleteOption()}}}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.hiddenOption.quantity)+\" x \"+_vm._s(_vm.hiddenOption.name)+\" \")],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n name: 'FormListHiddenOption',\r\n\r\n props: {\r\n hiddenOption: {\r\n type: Object,\r\n required: true,\r\n },\r\n\r\n hiddenDeletable: {\r\n type: Boolean,\r\n default: true,\r\n required: false,\r\n },\r\n },\r\n\r\n methods: {\r\n emitDeleteOption() {\r\n this.$emit('deleteOption', this.hiddenOption.id)\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-list-hidden-option.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-list-hidden-option.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormListHiddenOption.vue?vue&type=template&id=7874cab4&scoped=true&\"\nimport script from \"./form-list-hidden-option.js?vue&type=script&lang=js&\"\nexport * from \"./form-list-hidden-option.js?vue&type=script&lang=js&\"\nimport style0 from \"./form-list-hidden-option.scss?vue&type=style&index=0&id=7874cab4&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7874cab4\",\n null\n \n)\n\nexport default component.exports","import FormListHiddenOption from '@/components/form/default/form-list-filter-bar/form-list-hidden-option-bar/form-list-hidden-option/FormListHiddenOption'\r\n\r\nexport default {\r\n name: 'FormListHiddenOptionBar',\r\n\r\n components: {\r\n FormListHiddenOption,\r\n },\r\n\r\n props: {\r\n hiddenOptions: {\r\n type: [] | null,\r\n required: true,\r\n },\r\n\r\n hiddenDeletable: {\r\n type: Boolean,\r\n default: true,\r\n required: false,\r\n },\r\n },\r\n\r\n methods: {\r\n checkIfHiddenOptionsExists() {\r\n return this.hiddenOptions != null && this.hiddenOptions.length > 0\r\n },\r\n\r\n emitDeleteOption(optionId) {\r\n this.$emit('deleteOption', optionId)\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-list-hidden-option-bar.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-list-hidden-option-bar.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormListHiddenOptionBar.vue?vue&type=template&id=44c59603&scoped=true&\"\nimport script from \"./form-list-hidden-option-bar.js?vue&type=script&lang=js&\"\nexport * from \"./form-list-hidden-option-bar.js?vue&type=script&lang=js&\"\nimport style0 from \"./form-list-hidden-option-bar.scss?vue&type=style&index=0&id=44c59603&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"44c59603\",\n null\n \n)\n\nexport default component.exports","import FormListFilterSelectMultiple from '@/components/form/default/form-list-filter-bar/form-list-filter-select-multiple/FormListFilterSelectMultiple'\r\nimport FormListFilterRange from '@/components/form/default/form-list-filter-bar/form-list-filter-range/FormListFilterRange'\r\nimport FormListHiddenOptionBar from '@/components/form/default/form-list-filter-bar/form-list-hidden-option-bar/FormListHiddenOptionBar'\r\nimport FormListFilterService from '../form-list-filter-bar/form-list-filter-service'\r\nimport ImageLoader from '@/components/shared/image-loader/ImageLoader'\r\n\r\nexport default {\r\n name: 'FormListFilterBar',\r\n\r\n components: {\r\n FormListFilterSelectMultiple,\r\n FormListHiddenOptionBar,\r\n FormListFilterRange,\r\n ImageLoader,\r\n },\r\n\r\n props: {\r\n attributes: {\r\n type: [] | null,\r\n required: true,\r\n },\r\n\r\n listName: {\r\n type: String,\r\n required: true,\r\n },\r\n\r\n hiddenOptions: {\r\n type: [] | null,\r\n required: true,\r\n },\r\n\r\n hiddenDeletable: {\r\n type: Boolean,\r\n default: true,\r\n required: false,\r\n },\r\n\r\n value: {\r\n type: [] | null,\r\n required: true,\r\n },\r\n\r\n image: {\r\n type: String,\r\n required: false,\r\n },\r\n },\r\n\r\n data() {\r\n return {\r\n showAllFilters: false,\r\n hideFilteringOptions: false,\r\n formFilterService: new FormListFilterService(),\r\n filterAttributes: [],\r\n }\r\n },\r\n\r\n computed: {\r\n isAdditionalFiltersButton() {\r\n return !this.hideFilteringOptions && this.isAdditionalFilterExists()\r\n },\r\n\r\n isShowAllButton() {\r\n return Array.isArray(this.attributes) && this.attributes.length > 0\r\n },\r\n\r\n isHiddenOptionsExists() {\r\n return this.hiddenOptions != null && this.hiddenOptions.length > 0\r\n },\r\n },\r\n\r\n methods: {\r\n isAdditionalFilterExists() {\r\n if (!Array.isArray(this.attributes)) {\r\n return false\r\n }\r\n\r\n for (let i = 0; i < this.attributes.length; i++) {\r\n if (this.attributes[i].isMain === false) {\r\n return true\r\n }\r\n }\r\n\r\n return false\r\n },\r\n\r\n isVisible(attribute, type) {\r\n if (this.showAllFilters === false) {\r\n return (\r\n attribute.isMain === true &&\r\n attribute.type === type &&\r\n attribute.isVisible\r\n )\r\n }\r\n\r\n return attribute.type === type && attribute.isVisible\r\n },\r\n\r\n toggleAllFilters() {\r\n if (this.showAllFilters) {\r\n this.filterAttributes.forEach(filter => {\r\n if (!filter.attribute.isMain) {\r\n filter.selected = ''\r\n }\r\n })\r\n this.emitFilter(this.filterAttributes)\r\n }\r\n this.showAllFilters = !this.showAllFilters\r\n },\r\n\r\n emitFilter(dataToEmit) {\r\n this.$emit('filter', dataToEmit)\r\n },\r\n\r\n clearAllFilters(value) {\r\n if (value) {\r\n this.filterAttributes.forEach(filter => {\r\n filter.selected = []\r\n })\r\n }\r\n\r\n this.emitFilter(this.filterAttributes)\r\n },\r\n\r\n onFilterSelect(event) {\r\n this.filterAttributes[event.attribute.id] = event\r\n this.emitFilter(this.filterAttributes)\r\n },\r\n\r\n emitDeleteOption(optionId) {\r\n this.$emit('deleteOption', optionId)\r\n },\r\n\r\n checkIfAttributesExists() {\r\n return this.attributes != undefined && this.attributes.length > 0\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-list-filter-bar.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-list-filter-bar.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormListFilterBar.vue?vue&type=template&id=2ba38a81&scoped=true&\"\nimport script from \"./form-list-filter-bar.js?vue&type=script&lang=js&\"\nexport * from \"./form-list-filter-bar.js?vue&type=script&lang=js&\"\nimport style0 from \"./form-list-filter-bar.scss?vue&type=style&index=0&id=2ba38a81&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2ba38a81\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-container',[_c('b-row',[_c('b-col',{attrs:{\"lg\":\"9\"}},[_c('h3',{staticClass:\"text-uppercase color-secondary\"},[_vm._v(_vm._s(_vm.listName))])]),_c('b-col',{staticClass:\"d-flex justify-content-end\",attrs:{\"lg\":\"3\"}},[_c('div',{staticClass:\"button-back color-secondary\",on:{\"click\":_vm.emitReturn}},[_c('ImageLoader',{attrs:{\"src\":\"images/buttons/summary-back.png\"}}),_vm._v(\" \"+_vm._s(_vm.$t('form.collapsed-bar.edit'))+\" \")],1)])],1),_vm._l((_vm.getSelectedOptions()),function(option){return _c('b-row',{key:option.id},[_c('span',{staticClass:\"form-option-name color-secondary ml-5\"},[_vm._v(\" \"+_vm._s(option.quantity)+\" x \"+_vm._s(option.name)+\" \")])])})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import ImageLoader from '@/components/shared/image-loader/ImageLoader'\r\n\r\nexport default {\r\n name: 'FormListCollapsedBar',\r\n\r\n components: {\r\n ImageLoader,\r\n },\r\n\r\n props: {\r\n listName: {\r\n type: String,\r\n required: true,\r\n },\r\n\r\n options: {\r\n type: Array,\r\n required: true,\r\n },\r\n\r\n selected: {\r\n type: Array | null,\r\n required: true,\r\n },\r\n },\r\n\r\n methods: {\r\n emitReturn() {\r\n this.$emit('return')\r\n },\r\n\r\n getSelectedOptions() {\r\n let options = []\r\n\r\n if (this.selected == undefined || this.options == undefined) {\r\n return options\r\n }\r\n\r\n this.options.forEach(option => {\r\n let selected = this.selected.find(x => x.id === option.id)\r\n if (selected != undefined && selected.quantity > 0) {\r\n options.push({\r\n name: option.name,\r\n quantity: selected.quantity,\r\n })\r\n }\r\n })\r\n\r\n return options\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-list-collapsed-bar.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-list-collapsed-bar.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormListCollapsedBar.vue?vue&type=template&id=191c1467&scoped=true&\"\nimport script from \"./form-list-collapsed-bar.js?vue&type=script&lang=js&\"\nexport * from \"./form-list-collapsed-bar.js?vue&type=script&lang=js&\"\nimport style0 from \"./form-list-collapsed-bar.scss?vue&type=style&index=0&id=191c1467&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"191c1467\",\n null\n \n)\n\nexport default component.exports","import { Decimal } from 'decimal.js'\r\nimport FormListFilterService from './../components/form/default/form-list-filter-bar/form-list-filter-service'\r\n\r\nexport default class FormListHelper {\r\n filterService = new FormListFilterService()\r\n\r\n scrollToElementById(id) {\r\n const element = document.getElementById(id)\r\n\r\n if (!element) {\r\n return\r\n }\r\n\r\n const scrollY = element.getBoundingClientRect().top + window.scrollY - 100\r\n window.scrollTo({ top: scrollY, behavior: 'smooth' })\r\n }\r\n\r\n printPrice(price) {\r\n const char = new Decimal(price).greaterThan(0) ? '+' : ''\r\n return char + price\r\n }\r\n\r\n getListClass(isError, isSubmitted) {\r\n let domClass = ''\r\n\r\n if (isError) {\r\n domClass += 'border-error'\r\n\r\n if (isSubmitted) {\r\n domClass += ' bg-error'\r\n }\r\n } else {\r\n if (isSubmitted) {\r\n domClass += 'border-success bg-success'\r\n }\r\n }\r\n\r\n return domClass\r\n }\r\n\r\n reloadHiddenOptions(hiddenOptions, optionsData, value) {\r\n this.filterService.setOptionsVisible(optionsData)\r\n this.updateHiddenOptions(hiddenOptions, optionsData, value)\r\n }\r\n\r\n updateHiddenOptions(hiddenOptions, optionsData, value) {\r\n hiddenOptions = this.filterService.getHiddenSelectedOptions(\r\n optionsData,\r\n value\r\n )\r\n }\r\n\r\n isOptionSelected(option, value) {\r\n if (!Array.isArray(value)) {\r\n return false\r\n }\r\n\r\n for (let i = 0; i < value.length; i++) {\r\n if (value[i].id === option.id && value[i].quantity > 0) {\r\n return true\r\n }\r\n }\r\n return false\r\n }\r\n}\r\n","import FormOptionDetailsBox from '@/components/form/default/form-option-details-box/FormOptionDetailsBox'\r\nimport FormOptionDetailsBoxInfo from '@/components/form/default/form-option-details-box/form-option-details-box-info/FormOptionDetailsBoxInfo'\r\nimport FormOptionDetailsBoxService from '../form-option-details-box/form-option-details-box-service'\r\nimport FormListFilterService from '../form-list-filter-bar/form-list-filter-service'\r\nimport FormListFilterBar from '@/components/form/default/form-list-filter-bar/FormListFilterBar'\r\nimport FormListCollapsedBar from '@/components/form/default/form-list-collapsed-bar/FormListCollapsedBar'\r\nimport FormListHelper from '@/helpers/form-list-helper'\r\n\r\nexport default {\r\n name: 'FormChooseCountableMultipleOptionList',\r\n\r\n components: {\r\n FormOptionDetailsBox,\r\n FormOptionDetailsBoxInfo,\r\n FormListFilterBar,\r\n FormListCollapsedBar,\r\n },\r\n\r\n props: {\r\n value: {\r\n type: [] | null,\r\n required: true,\r\n },\r\n\r\n attributes: {\r\n type: [] | null,\r\n },\r\n\r\n listName: {\r\n type: String,\r\n default: '',\r\n },\r\n\r\n options: {\r\n type: Array,\r\n required: true,\r\n },\r\n\r\n currency: {\r\n type: String,\r\n required: true,\r\n },\r\n\r\n minQuantity: {\r\n type: Number,\r\n default: 0,\r\n },\r\n\r\n maxQuantity: {\r\n type: Number,\r\n default: 99,\r\n },\r\n\r\n isError: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n\r\n isSubmittable: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n\r\n image: {\r\n type: String,\r\n required: false,\r\n },\r\n },\r\n\r\n data() {\r\n return {\r\n selected: [],\r\n currentFilters: [],\r\n lastSelectedEmit: [],\r\n hiddenOptions: [],\r\n optionsData: this.copyObject(this.options),\r\n optionDetailsService: new FormOptionDetailsBoxService(this.options),\r\n formFilterBarService: new FormListFilterService(),\r\n formListHelper: new FormListHelper(),\r\n isSubmitted: false,\r\n }\r\n },\r\n\r\n async created() {\r\n this.setSelectionData(this.recreateDataFrom(this.value))\r\n this.formFilterBarService.setOptionsVisible(this.optionsData)\r\n },\r\n\r\n computed: {\r\n isOptionSelected() {\r\n return option => {\r\n return this.formListHelper.isOptionSelected(option, this.value)\r\n }\r\n },\r\n },\r\n\r\n watch: {\r\n value: {\r\n deep: true,\r\n handler(val) {\r\n this.setSelectionData(this.recreateDataFrom(val))\r\n },\r\n },\r\n\r\n selected: {\r\n deep: true,\r\n handler(val) {\r\n if (JSON.stringify(val) === JSON.stringify(this.oldSelectedEmit)) {\r\n return\r\n }\r\n\r\n this.emit(val)\r\n this.oldSelectedEmit = this.copyObject(this.selected)\r\n },\r\n },\r\n },\r\n\r\n methods: {\r\n recreateDataFrom(val) {\r\n const data = []\r\n\r\n this.options.forEach(option => {\r\n let item = null\r\n if (undefined !== val) {\r\n item = val.find(item => item.id === option.id)\r\n }\r\n data[option.id] = item ? item.quantity : 0\r\n })\r\n\r\n return data\r\n },\r\n\r\n setSelectionData(data) {\r\n this.selected = data\r\n this.oldSelectedEmit = this.copyObject(data)\r\n },\r\n\r\n emit(value) {\r\n let emit = []\r\n value.forEach((quantity, index) => {\r\n if (this.minQuantity < quantity) {\r\n emit.push({\r\n id: index,\r\n quantity: quantity,\r\n })\r\n }\r\n })\r\n\r\n this.$emit('input', emit)\r\n },\r\n\r\n clearSelectedOption(optionId) {\r\n let emit = []\r\n\r\n this.selected.forEach((quantity, index) => {\r\n if (index !== optionId && this.minQuantity < quantity) {\r\n emit.push({\r\n id: index,\r\n quantity: quantity,\r\n })\r\n }\r\n })\r\n\r\n this.$emit('input', emit)\r\n this.formListHelper.updateHiddenOptions(emit)\r\n },\r\n\r\n filterOptions(event) {\r\n this.formFilterBarService.setOptionsVisibilty(this.optionsData, event)\r\n this.formListHelper.updateHiddenOptions(this.value)\r\n this.$forceUpdate()\r\n },\r\n\r\n toggleSubmitted() {\r\n this.isSubmitted = !this.isSubmitted\r\n\r\n if (!this.isSubmitted) {\r\n this.formListHelper.reloadHiddenOptions(\r\n this.hiddenOptions,\r\n this.optionsData,\r\n this.value\r\n )\r\n }\r\n\r\n this.$emit('submitted', {\r\n name: this.listName,\r\n isSubmitted: this.isSubmitted,\r\n })\r\n this.formListHelper.scrollToElementById(this.listName)\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-choose-countable-multiple-option-list.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-choose-countable-multiple-option-list.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormChooseCountableMultipleOptionList.vue?vue&type=template&id=0b69aada&scoped=true&\"\nimport script from \"./form-choose-countable-multiple-option-list.js?vue&type=script&lang=js&\"\nexport * from \"./form-choose-countable-multiple-option-list.js?vue&type=script&lang=js&\"\nimport style0 from \"./form-choose-countable-multiple-option-list.scss?vue&type=style&index=0&id=0b69aada&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0b69aada\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-form-group',{attrs:{\"id\":_vm.listName}},[_c('b-card',{class:_vm.formListHelper.getListClass(_vm.isError, _vm.isSubmitted)},[(!_vm.isSubmitted)?[_c('b-container',{staticClass:\"ml-0 mr-0\"},[_c('FormListFilterBar',{attrs:{\"image\":_vm.image,\"attributes\":_vm.attributes,\"list-name\":_vm.listName,\"hidden-options\":_vm.hiddenOptions,\"value\":_vm.value},on:{\"filter\":function($event){return _vm.filterOptions($event)},\"deleteOption\":function($event){return _vm.clearSelectedOption()}}}),_vm._l((_vm.optionsData),function(option){return [(option.isVisible === true)?_c('b-row',{key:option.id,staticClass:\"pt-2 pb-1\",class:{ selected: _vm.isOptionSelected(option) }},[_c('b-col',{attrs:{\"lg\":\"9\",\"md\":\"8\",\"sm\":\"7\"}},[_c('b-form-radio',{staticClass:\"form-option-name\",attrs:{\"name\":'radio-' + _vm.listName,\"value\":option.id},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}},[_vm._v(_vm._s(option.name))])],1),_c('b-col',{staticClass:\"text-right\",attrs:{\"lg\":\"3\",\"md\":\"4\",\"sm\":\"5\",\"id\":'price-for-' + option.id}},[_c('FormOptionDetailsBox',{staticClass:\"float-left\",attrs:{\"option\":_vm.optionDetailsService.getOptionById(option.id, _vm.options)},on:{\"option-details-toggle\":function($event){return _vm.optionDetailsService.toggleOptionDetails(option.id)}}}),_c('div',{staticClass:\"price-label\"},[_c('span',{staticClass:\"font-bold\"},[_vm._v(\" \"+_vm._s(_vm.formListHelper.printPrice(option.price, true))+\" \")]),_c('span',{staticClass:\"font-light\"},[_vm._v(\" \"+_vm._s(_vm.currency)+\" \")])]),_c('div',{staticClass:\"per-item font-light\"},[_vm._v(\" \"+_vm._s(_vm.$t('form.default.per-item'))+\" \")])],1),_c('FormOptionDetailsBoxInfo',{attrs:{\"option\":_vm.optionDetailsService.getOptionById(option.id, _vm.options),\"quantity\":_vm.optionDetailsService.getCurrentQuantity(option.id, _vm.value),\"collapsed\":_vm.optionDetailsService.getCollapsed()}})],1):_vm._e(),(_vm.isSpinbuttonVisible(option))?_c('b-row',{key:'spinner-' + option.id,staticClass:\"selected\"},[_c('b-col',{attrs:{\"lg\":\"3\",\"id\":\"quantity-changer\"}},[_c('b-form-spinbutton',{attrs:{\"inline\":\"\",\"size\":\"sm\",\"id\":\"sb-inline\",\"min\":\"0\"},model:{value:(_vm.quantity),callback:function ($$v) {_vm.quantity=$$v},expression:\"quantity\"}})],1),_c('b-col',{attrs:{\"lg\":\"9\"}})],1):_vm._e()]})],2),(_vm.isSubmittable)?_c('div',{staticClass:\"d-flex justify-content-end\"},[_c('button',{staticClass:\"btn btn-green mt-4\",on:{\"click\":function($event){return _vm.toggleSubmitted()}}},[_c('span',[_vm._v(_vm._s(_vm.$t('form.default.submit')))]),_c('b-icon',{attrs:{\"icon\":\"check\"}})],1)]):_vm._e()]:[_c('FormListCollapsedBar',{attrs:{\"list-name\":_vm.listName,\"options\":_vm.options,\"selected\":_vm.value},on:{\"return\":function($event){return _vm.toggleSubmitted()}}})]],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import FormOptionDetailsBox from '@/components/form/default/form-option-details-box/FormOptionDetailsBox'\r\nimport FormOptionDetailsBoxInfo from '@/components/form/default/form-option-details-box/form-option-details-box-info/FormOptionDetailsBoxInfo'\r\nimport FormOptionDetailsBoxService from '../form-option-details-box/form-option-details-box-service'\r\nimport FormListFilterService from '../form-list-filter-bar/form-list-filter-service'\r\nimport FormListFilterBar from '@/components/form/default/form-list-filter-bar/FormListFilterBar'\r\nimport FormListCollapsedBar from '@/components/form/default/form-list-collapsed-bar/FormListCollapsedBar'\r\nimport FormListHelper from '@/helpers/form-list-helper'\r\nimport { Decimal } from 'decimal.js'\r\n\r\nexport default {\r\n name: 'FormChooseCountableSingleOptionList',\r\n\r\n components: {\r\n FormOptionDetailsBox,\r\n FormOptionDetailsBoxInfo,\r\n FormListFilterBar,\r\n FormListCollapsedBar,\r\n },\r\n\r\n props: {\r\n value: {\r\n type: Array | null,\r\n required: true,\r\n description: 'Example: [{ id: 12, quantity: 12 }]',\r\n },\r\n\r\n attributes: {\r\n type: [] | null,\r\n },\r\n\r\n listName: {\r\n type: String,\r\n required: true,\r\n },\r\n\r\n options: {\r\n type: Array,\r\n required: true,\r\n },\r\n\r\n currency: {\r\n type: String,\r\n required: true,\r\n },\r\n\r\n isError: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n\r\n isSubmittable: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n\r\n image: {\r\n type: String,\r\n required: false,\r\n },\r\n },\r\n\r\n data() {\r\n return {\r\n optionDetailsService: new FormOptionDetailsBoxService(this.options),\r\n formFilterBarService: new FormListFilterService(),\r\n hiddenOptions: [],\r\n price: null,\r\n optionsData: this.copyObject(this.options),\r\n formListHelper: new FormListHelper(),\r\n isSubmitted: false,\r\n }\r\n },\r\n\r\n watch: {\r\n value: {\r\n deep: true,\r\n handler() {\r\n this.updateHiddenOptions()\r\n },\r\n },\r\n },\r\n\r\n async created() {\r\n this.formFilterBarService.setOptionsVisible(this.optionsData)\r\n },\r\n\r\n computed: {\r\n isOptionSelected() {\r\n return option => {\r\n return this.formListHelper.isOptionSelected(option, this.value)\r\n }\r\n },\r\n\r\n selected: {\r\n get() {\r\n if (this.isValueNotNull()) {\r\n this.setPrice(this.value[0].id)\r\n\r\n return this.value[0].id\r\n }\r\n\r\n return null\r\n },\r\n\r\n set(val) {\r\n if (this.isSelectedNotValidForEmit(val)) {\r\n return\r\n }\r\n\r\n this.emit(val, 0 < this.quantity ? this.quantity : 1)\r\n },\r\n },\r\n\r\n quantity: {\r\n get() {\r\n return this.isValueNotNull() ? this.value[0].quantity : 0\r\n },\r\n\r\n set(val) {\r\n if (this.isQuantityNotValidForEmit(val)) {\r\n return\r\n } else if (1 > val) {\r\n this.clearSelectedOption()\r\n\r\n return\r\n }\r\n\r\n this.emit(this.value[0].id, val)\r\n },\r\n },\r\n },\r\n\r\n methods: {\r\n isValueNotNull() {\r\n return this.value && this.value[0]\r\n },\r\n\r\n isSelectedNotValidForEmit(selected) {\r\n return (\r\n !selected || (this.isValueNotNull() && this.value[0].id === selected)\r\n )\r\n },\r\n\r\n isQuantityNotValidForEmit(quantity) {\r\n return (\r\n !this.selected ||\r\n (this.isValueNotNull() && this.value[0].quantity === quantity)\r\n )\r\n },\r\n\r\n emit(id, quantity) {\r\n this.$emit('input', [\r\n {\r\n id: id,\r\n quantity: quantity,\r\n },\r\n ])\r\n },\r\n\r\n setPrice(id) {\r\n const option = this.options.find(item => item.id === id)\r\n if (option) {\r\n this.price = new Decimal(option.price).toFixed(2)\r\n }\r\n },\r\n\r\n isSpinbuttonVisible(option) {\r\n if (\r\n this.value !== undefined &&\r\n this.value !== null &&\r\n this.value[0] !== undefined\r\n ) {\r\n return this.value[0].id == option.id\r\n }\r\n },\r\n\r\n clearSelectedOption() {\r\n this.$emit('input', [])\r\n this.formListHelper.updateHiddenOptions([])\r\n },\r\n\r\n filterOptions(event) {\r\n this.formFilterBarService.setOptionsVisibilty(this.optionsData, event)\r\n this.formListHelper.updateHiddenOptions(this.value)\r\n this.$forceUpdate()\r\n },\r\n\r\n updateHiddenOptions(value) {\r\n this.hiddenOptions = this.formFilterBarService.getHiddenSelectedOptions(\r\n this.optionsData,\r\n value\r\n )\r\n },\r\n\r\n toggleSubmitted() {\r\n this.isSubmitted = !this.isSubmitted\r\n\r\n if (!this.isSubmitted) {\r\n this.formListHelper.reloadHiddenOptions(\r\n this.hiddenOptions,\r\n this.optionsData,\r\n this.value\r\n )\r\n }\r\n\r\n this.$emit('submitted', {\r\n name: this.listName,\r\n isSubmitted: this.isSubmitted,\r\n })\r\n this.formListHelper.scrollToElementById(this.listName)\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-choose-countable-single-option-list.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-choose-countable-single-option-list.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormChooseCountableSingleOptionList.vue?vue&type=template&id=2768c6b6&scoped=true&\"\nimport script from \"./form-choose-countable-single-option-list.js?vue&type=script&lang=js&\"\nexport * from \"./form-choose-countable-single-option-list.js?vue&type=script&lang=js&\"\nimport style0 from \"./form-choose-countable-single-option-list.scss?vue&type=style&index=0&id=2768c6b6&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2768c6b6\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-form-group',{attrs:{\"id\":_vm.listName}},[_c('b-card',{class:_vm.formListHelper.getListClass(_vm.isError, _vm.isSubmitted)},[(!_vm.isSubmitted)?[_c('b-container',{staticClass:\"ml-0 mr-0\"},[_c('b-form-checkbox-group',{attrs:{\"name\":'checkbox-' + _vm.listName},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}},[_c('FormListFilterBar',{attrs:{\"image\":_vm.image,\"attributes\":_vm.attributes,\"list-name\":_vm.listName,\"hidden-options\":_vm.hiddenOptions,\"value\":_vm.value},on:{\"filter\":function($event){return _vm.filterOptions($event)},\"deleteOption\":function($event){return _vm.clearSelectedOption($event)}}}),_vm._l((_vm.optionsData),function(option){return [(option.isVisible === true)?_c('b-row',{key:option.id,staticClass:\"pt-2 pb-1\",class:{ selected: _vm.isOptionSelected(option) }},[_c('b-col',{attrs:{\"lg\":\"9\",\"md\":\"8\",\"sm\":\"7\"}},[_c('b-form-checkbox',{staticClass:\"form-option-name\",attrs:{\"value\":option.id}},[_vm._v(_vm._s(option.name))])],1),_c('b-col',{staticClass:\"text-right price-label\",attrs:{\"lg\":\"3\",\"md\":\"4\",\"sm\":\"5\",\"id\":'price-for-' + option.id}},[_c('FormOptionDetailsBox',{staticClass:\"float-left\",attrs:{\"option\":_vm.optionDetailsService.getOptionById(option.id, _vm.options)},on:{\"option-details-toggle\":function($event){return _vm.optionDetailsService.toggleOptionDetails(option.id)}}}),_c('span',{staticClass:\"font-bold\"},[_vm._v(\" \"+_vm._s(_vm.formListHelper.printPrice(option.price))+\" \")]),_c('span',{staticClass:\"font-light\"},[_vm._v(\" \"+_vm._s(_vm.currency)+\" \")])],1),_c('FormOptionDetailsBoxInfo',{attrs:{\"option\":_vm.optionDetailsService.getOptionById(option.id, _vm.options),\"collapsed\":_vm.optionDetailsService.getCollapsed(),\"quantity\":_vm.optionDetailsService.getCurrentQuantity(option.id, _vm.value)}})],1):_vm._e()]})],2)],1),(_vm.isSubmittable)?_c('div',{staticClass:\"d-flex justify-content-end\"},[_c('button',{staticClass:\"btn btn-green mt-4\",on:{\"click\":function($event){return _vm.toggleSubmitted()}}},[_c('span',[_vm._v(_vm._s(_vm.$t('form.default.submit')))]),_c('b-icon',{attrs:{\"icon\":\"check\"}})],1)]):_vm._e()]:[_c('FormListCollapsedBar',{attrs:{\"list-name\":_vm.listName,\"options\":_vm.options,\"selected\":_vm.value},on:{\"return\":function($event){return _vm.toggleSubmitted()}}})]],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import FormOptionDetailsBox from '@/components/form/default/form-option-details-box/FormOptionDetailsBox'\r\nimport FormOptionDetailsBoxInfo from '@/components/form/default/form-option-details-box/form-option-details-box-info/FormOptionDetailsBoxInfo'\r\nimport FormOptionDetailsBoxService from '../form-option-details-box/form-option-details-box-service'\r\nimport FormListFilterService from '../form-list-filter-bar/form-list-filter-service'\r\nimport FormListFilterBar from '@/components/form/default/form-list-filter-bar/FormListFilterBar'\r\nimport FormListCollapsedBar from '@/components/form/default/form-list-collapsed-bar/FormListCollapsedBar'\r\nimport FormListHelper from '@/helpers/form-list-helper'\r\n\r\nexport default {\r\n name: 'FormChooseMultipleOptionList',\r\n\r\n components: {\r\n FormOptionDetailsBox,\r\n FormOptionDetailsBoxInfo,\r\n FormListFilterBar,\r\n FormListCollapsedBar,\r\n },\r\n\r\n props: {\r\n value: {\r\n type: Array | null,\r\n required: true,\r\n },\r\n\r\n attributes: {\r\n type: [] | null,\r\n },\r\n\r\n listName: {\r\n type: String,\r\n required: true,\r\n },\r\n\r\n options: {\r\n type: Array,\r\n required: true,\r\n },\r\n\r\n currency: {\r\n type: String,\r\n required: true,\r\n },\r\n\r\n isError: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n\r\n isSubmittable: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n\r\n image: {\r\n type: String,\r\n required: false,\r\n },\r\n },\r\n\r\n data() {\r\n return {\r\n optionsData: this.copyObject(this.options),\r\n optionDetailsService: new FormOptionDetailsBoxService(this.options),\r\n formFilterBarService: new FormListFilterService(),\r\n formListHelper: new FormListHelper(),\r\n hiddenOptions: [],\r\n isSubmitted: false,\r\n }\r\n },\r\n\r\n async created() {\r\n this.formFilterBarService.setOptionsVisible(this.optionsData)\r\n },\r\n\r\n computed: {\r\n isOptionSelected() {\r\n return option => {\r\n return this.formListHelper.isOptionSelected(option, this.value)\r\n }\r\n },\r\n\r\n selected: {\r\n get() {\r\n const data = []\r\n if (Array.isArray(this.value)) {\r\n this.value.forEach(item => {\r\n data.push(item.id)\r\n })\r\n }\r\n\r\n return data\r\n },\r\n\r\n set(val) {\r\n if (this.selected === val) {\r\n return\r\n }\r\n\r\n const emit = []\r\n val.forEach(item => emit.push({ id: item, quantity: 1 }))\r\n this.$emit('input', 0 < emit.length ? emit : [])\r\n },\r\n },\r\n },\r\n\r\n methods: {\r\n filterOptions(event) {\r\n this.formFilterBarService.setOptionsVisibilty(this.optionsData, event)\r\n this.formListHelper.updateHiddenOptions(this.value)\r\n this.$forceUpdate()\r\n },\r\n\r\n updateHiddenOptions(value) {\r\n this.hiddenOptions = this.formFilterBarService.getHiddenSelectedOptions(\r\n this.optionsData,\r\n value\r\n )\r\n },\r\n\r\n clearSelectedOption(optionId) {\r\n let emit = []\r\n\r\n this.selected.forEach(item => {\r\n if (item !== optionId) {\r\n emit.push({ id: item, quantity: 1 })\r\n }\r\n })\r\n\r\n this.$emit('input', emit)\r\n this.updateHiddenOptions(emit)\r\n },\r\n\r\n toggleSubmitted() {\r\n this.isSubmitted = !this.isSubmitted\r\n\r\n if (!this.isSubmitted) {\r\n this.formListHelper.reloadHiddenOptions(\r\n this.hiddenOptions,\r\n this.optionsData,\r\n this.value\r\n )\r\n }\r\n\r\n this.$emit('submitted', {\r\n name: this.listName,\r\n isSubmitted: this.isSubmitted,\r\n })\r\n this.formListHelper.scrollToElementById(this.listName)\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-choose-multiple-option-list.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-choose-multiple-option-list.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormChooseMultipleOptionList.vue?vue&type=template&id=7c549d1d&scoped=true&\"\nimport script from \"./form-choose-multiple-option-list.js?vue&type=script&lang=js&\"\nexport * from \"./form-choose-multiple-option-list.js?vue&type=script&lang=js&\"\nimport style0 from \"./form-choose-multiple-option-list.scss?vue&type=style&index=0&id=7c549d1d&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7c549d1d\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-form-group',{attrs:{\"id\":_vm.listName}},[_c('b-card',{class:_vm.formListHelper.getListClass(_vm.isError, _vm.isSubmitted)},[(!_vm.isSubmitted)?[_c('b-container',{staticClass:\"ml-0 mr-0\"},[_c('FormListFilterBar',{attrs:{\"attributes\":_vm.attributes,\"image\":_vm.image,\"list-name\":_vm.listName,\"hidden-options\":_vm.hiddenOptions,\"hidden-deletable\":false,\"value\":_vm.value},on:{\"filter\":function($event){return _vm.filterOptions($event)}}}),_vm._l((_vm.optionsData),function(option){return [(option.isVisible === true)?_c('b-row',{key:option.id,staticClass:\"pt-2 pb-1\",class:{ selected: _vm.isOptionSelected(option) }},[_c('b-col',{attrs:{\"lg\":\"9\",\"md\":\"8\",\"sm\":\"7\"}},[_c('b-form-radio',{staticClass:\"form-option-name\",attrs:{\"name\":'radio-' + _vm.listName,\"value\":option.id},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}},[_vm._v(_vm._s(option.name))])],1),_c('b-col',{staticClass:\"price-label text-right\",attrs:{\"lg\":\"3\",\"md\":\"4\",\"sm\":\"5\",\"id\":'price-for-' + option.id}},[_c('span',{staticClass:\"font-bold\"},[_vm._v(\" \"+_vm._s(_vm.formListHelper.printPrice(option.price))+\" \")]),_c('span',{staticClass:\"font-light\"},[_vm._v(\" \"+_vm._s(_vm.currency)+\" \")]),_c('FormOptionDetailsBox',{staticClass:\"float-left\",attrs:{\"option\":_vm.optionDetailsService.getOptionById(option.id, _vm.options)},on:{\"option-details-toggle\":function($event){return _vm.optionDetailsService.toggleOptionDetails(option.id)}}})],1),_c('FormOptionDetailsBoxInfo',{attrs:{\"option\":_vm.optionDetailsService.getOptionById(option.id, _vm.options),\"quantity\":_vm.optionDetailsService.getCurrentQuantity(option.id, _vm.value),\"collapsed\":_vm.optionDetailsService.getCollapsed()}})],1):_vm._e()]})],2),(_vm.isSubmittable)?_c('div',{staticClass:\"d-flex justify-content-end\"},[_c('button',{staticClass:\"btn btn-green mt-4\",on:{\"click\":function($event){return _vm.toggleSubmitted()}}},[_c('span',[_vm._v(_vm._s(_vm.$t('form.default.submit')))]),_c('b-icon',{attrs:{\"icon\":\"check\"}})],1)]):_vm._e()]:[_c('FormListCollapsedBar',{attrs:{\"list-name\":_vm.listName,\"options\":_vm.options,\"selected\":_vm.value,\"is-error\":_vm.isError},on:{\"return\":function($event){return _vm.toggleSubmitted()}}})]],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import FormOptionDetailsBox from '@/components/form/default/form-option-details-box/FormOptionDetailsBox'\r\nimport FormOptionDetailsBoxInfo from '@/components/form/default/form-option-details-box/form-option-details-box-info/FormOptionDetailsBoxInfo'\r\nimport FormOptionDetailsBoxService from '../form-option-details-box/form-option-details-box-service'\r\nimport FormListFilterService from '../form-list-filter-bar/form-list-filter-service'\r\nimport FormListFilterBar from '@/components/form/default/form-list-filter-bar/FormListFilterBar'\r\nimport FormListCollapsedBar from '@/components/form/default/form-list-collapsed-bar/FormListCollapsedBar'\r\nimport FormListHelper from '@/helpers/form-list-helper'\r\nimport { Decimal } from 'decimal.js'\r\n\r\nexport default {\r\n name: 'FormChooseSingleOptionList',\r\n\r\n components: {\r\n FormOptionDetailsBox,\r\n FormOptionDetailsBoxInfo,\r\n FormListFilterBar,\r\n FormListCollapsedBar,\r\n },\r\n\r\n props: {\r\n value: {\r\n type: Array | null,\r\n required: true,\r\n },\r\n\r\n attributes: {\r\n type: [] | null,\r\n },\r\n\r\n listName: {\r\n type: String,\r\n required: true,\r\n },\r\n\r\n options: {\r\n type: Array,\r\n required: true,\r\n },\r\n\r\n currency: {\r\n type: String,\r\n required: true,\r\n },\r\n\r\n isError: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n\r\n isSubmittable: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n\r\n image: {\r\n type: String,\r\n required: false,\r\n },\r\n },\r\n\r\n data() {\r\n return {\r\n optionsData: this.copyObject(this.options),\r\n optionDetailsService: new FormOptionDetailsBoxService(this.options),\r\n formFilterBarService: new FormListFilterService(),\r\n formListHelper: new FormListHelper(),\r\n price: 0,\r\n hiddenOptions: [],\r\n isSubmitted: false,\r\n }\r\n },\r\n\r\n watch: {\r\n value: {\r\n deep: true,\r\n handler() {\r\n this.formListHelper.updateHiddenOptions()\r\n },\r\n },\r\n },\r\n\r\n async created() {\r\n this.formFilterBarService.setOptionsVisible(this.optionsData)\r\n },\r\n\r\n computed: {\r\n isOptionSelected() {\r\n return option => {\r\n if (!Array.isArray(this.value)) {\r\n return false\r\n }\r\n\r\n for (let i = 0; i < this.value.length; i++) {\r\n if (this.value[i].id === option.id && this.value[i].quantity > 0) {\r\n return true\r\n }\r\n }\r\n return false\r\n }\r\n },\r\n\r\n selected: {\r\n get() {\r\n if (this.value && this.value[0]) {\r\n this.recalcualtePrice(this.value[0].id)\r\n\r\n return this.value[0].id\r\n }\r\n\r\n return null\r\n },\r\n\r\n set(val) {\r\n if (!this.value || !this.value[0] || val !== this.value[0].id) {\r\n this.recalcualtePrice(val)\r\n\r\n if (val) {\r\n this.$emit('input', [{ id: val, quantity: 1 }])\r\n }\r\n }\r\n },\r\n },\r\n },\r\n\r\n methods: {\r\n recalcualtePrice(val) {\r\n if (!val) {\r\n this.optionsData = this.copyObject(this.options)\r\n\r\n return\r\n }\r\n\r\n const selectedOption = this.optionsData.find(x => x.id === val)\r\n if (!selectedOption) {\r\n return\r\n }\r\n\r\n let currentPrice = selectedOption.price ? selectedOption.price : 0\r\n currentPrice = new Decimal(currentPrice)\r\n if (!currentPrice.equals(0)) {\r\n this.optionsData.forEach(\r\n i => (i.price = new Decimal(i.price).minus(currentPrice).toFixed(2))\r\n )\r\n this.price = new Decimal(this.price).plus(currentPrice).toFixed(2)\r\n }\r\n },\r\n\r\n filterOptions(event) {\r\n this.formFilterBarService.setOptionsVisibilty(this.optionsData, event)\r\n this.formListHelper.updateHiddenOptions(this.value)\r\n this.$forceUpdate()\r\n },\r\n\r\n toggleSubmitted() {\r\n this.isSubmitted = !this.isSubmitted\r\n\r\n if (!this.isSubmitted) {\r\n this.formListHelper.reloadHiddenOptions(\r\n this.hiddenOptions,\r\n this.optionsData,\r\n this.value\r\n )\r\n }\r\n\r\n this.$emit('submitted', {\r\n name: this.listName,\r\n isSubmitted: this.isSubmitted,\r\n })\r\n this.formListHelper.scrollToElementById(this.listName)\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-choose-single-option-list.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-choose-single-option-list.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormChooseSingleOptionList.vue?vue&type=template&id=f1ffb640&scoped=true&\"\nimport script from \"./form-choose-single-option-list.js?vue&type=script&lang=js&\"\nexport * from \"./form-choose-single-option-list.js?vue&type=script&lang=js&\"\nimport style0 from \"./form-choose-single-option-list.scss?vue&type=style&index=0&id=f1ffb640&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f1ffb640\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-container',{staticClass:\"bg-white\"},[_c('b-container',{staticClass:\"mt-4\"},_vm._l((_vm.formData),function(list){return _c('b-row',{key:list.name},[_c('span',{staticClass:\"pl-1 pt-1 w-100 font-light clickable noselect\",class:{\n 'pl-4': !_vm.isError(list.errors) && !_vm.isSuccess(list),\n 'color-error': _vm.isError(list.errors),\n 'color-success': _vm.isSuccess(list),\n displayed: _vm.isDisplayed(list.name),\n },attrs:{\"id\":list.name + '-info-label'},on:{\"click\":function($event){return _vm.formListHelper.scrollToElementById(list.name)}}},[_vm._v(\" \"+_vm._s(list.name)+\" \")]),_vm._l((list.errors),function(error,index){return [(_vm.isSearchingForSolutions(error))?_c('span',{key:index,staticClass:\"ml-3 font-light\"},[_c('b-icon',{attrs:{\"icon\":\"gear\",\"animation\":\"spin\",\"variant\":\"warning\"}}),_vm._v(\" \"+_vm._s(_vm.$t('form.list-information-bar.searching-for-solutions'))+\" \"),_c('b-icon',{attrs:{\"icon\":\"gear\",\"animation\":\"spin\",\"variant\":\"warning\"}})],1):(_vm.areSolutionsFounded(error))?_c('span',{key:index,staticClass:\"clickable ml-5 open-modal font-light\",on:{\"click\":function($event){return _vm.openSolutionsModal(error)}}},[_vm._v(\" \"+_vm._s(_vm.$t('form.list-information-bar.available-solutions', { count: error.solutions.length, }))+\" \")]):_vm._e()]}),(_vm.isError(list.errors))?_c('b-tooltip',{attrs:{\"target\":list.name + '-info-label',\"triggers\":\"hover\",\"placement\":\"right\",\"boundary\":\"window\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return _vm._l((list.errors),function(error,index){return _c('b-row',{key:index},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(error.message, error.additional))+\" \")])])})},proxy:true}],null,true)}):_vm._e()],2)}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import FormListHelper from '@/helpers/form-list-helper'\r\n\r\nexport default {\r\n name: 'FormListInformationPanel',\r\n\r\n props: {\r\n components: {\r\n type: Array,\r\n required: true,\r\n },\r\n\r\n invalidFeedbacks: {\r\n type: Object,\r\n required: true,\r\n },\r\n\r\n submittedLists: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n\r\n watch: {\r\n invalidFeedbacks: {\r\n deep: true,\r\n handler() {\r\n this.formData = this.getFormData()\r\n },\r\n },\r\n\r\n submittedLists: {\r\n deep: true,\r\n handler() {\r\n this.formData = this.getFormData()\r\n },\r\n },\r\n },\r\n\r\n data() {\r\n return {\r\n formData: this.getFormData(),\r\n formListHelper: new FormListHelper(),\r\n displayedList: '',\r\n }\r\n },\r\n\r\n computed: {\r\n isError() {\r\n return errors => {\r\n return Array.isArray(errors) && errors.length > 0\r\n }\r\n },\r\n\r\n isSuccess() {\r\n return list => {\r\n return !this.isError(list.name) && list.isSubmitted\r\n }\r\n },\r\n\r\n isDisplayed() {\r\n return name => {\r\n return name === this.displayedList\r\n }\r\n },\r\n },\r\n\r\n created() {\r\n window.addEventListener('scroll', () => {\r\n this.handleScroll()\r\n })\r\n },\r\n\r\n destroyed() {\r\n window.removeEventListener('scroll', () => {\r\n this.handleScroll()\r\n })\r\n },\r\n\r\n mounted() {\r\n this.$nextTick(() => {\r\n this.handleScroll(true)\r\n })\r\n },\r\n\r\n methods: {\r\n handleScroll(isInitial = false) {\r\n for (let i = 0; i < this.components.length; i++) {\r\n const element = document.getElementById(this.components[i].name)\r\n\r\n if (!element) {\r\n return\r\n }\r\n\r\n const componentPositionTop = element.getBoundingClientRect().top\r\n\r\n let bottomOfWindow =\r\n document.documentElement.scrollTop + window.innerHeight ===\r\n document.documentElement.offsetHeight\r\n\r\n if (bottomOfWindow) {\r\n this.displayedList = this.components[this.components.length - 1].name\r\n return\r\n }\r\n\r\n if (\r\n componentPositionTop > 0 &&\r\n (componentPositionTop < 250 || isInitial)\r\n ) {\r\n this.displayedList = this.components[i].name\r\n return\r\n }\r\n }\r\n },\r\n\r\n getFormData() {\r\n let formData = {}\r\n\r\n this.components.forEach(component => {\r\n formData[component.name] = {\r\n name: component.name,\r\n isSubmitted: this.isSubmitted(component.name),\r\n errors: this.getErrors(component.name),\r\n }\r\n })\r\n\r\n return formData\r\n },\r\n\r\n isSubmitted(listName) {\r\n return (\r\n this.submittedLists[listName] != undefined &&\r\n this.submittedLists[listName]\r\n )\r\n },\r\n\r\n getErrors(listName) {\r\n let errors = []\r\n\r\n if (\r\n Array.isArray(this.invalidFeedbacks[listName]) &&\r\n this.invalidFeedbacks[listName].length > 0\r\n ) {\r\n this.invalidFeedbacks[listName].forEach(error => {\r\n errors.push(error)\r\n })\r\n }\r\n\r\n return errors\r\n },\r\n\r\n areSolutionsFounded(error) {\r\n return (\r\n error.findSolutions && error.solutions && error.solutions.length > 0\r\n )\r\n },\r\n\r\n openSolutionsModal(error) {\r\n this.$emit('solutionsModal', error)\r\n },\r\n\r\n isSearchingForSolutions(error) {\r\n return error.findSolutions && undefined === error.solutions\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-list-information-panel.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-list-information-panel.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormListInformationPanel.vue?vue&type=template&id=8e541cb0&scoped=true&\"\nimport script from \"./form-list-information-panel.js?vue&type=script&lang=js&\"\nexport * from \"./form-list-information-panel.js?vue&type=script&lang=js&\"\nimport style0 from \"./form-list-information-panel.scss?vue&type=style&index=0&id=8e541cb0&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"8e541cb0\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{staticClass:\"modal\",attrs:{\"id\":\"requirements-modal\",\"no-close-on-backdrop\":\"\"},on:{\"show\":_vm.setDefaultModalData},scopedSlots:_vm._u([{key:\"modal-header\",fn:function(){return [_c('h4',[_vm._v(\" \"+_vm._s(_vm.$t('form.requirements-modal.title'))+\" \")])]},proxy:true},{key:\"default\",fn:function(){return [_vm._l((_vm.formRequirements),function(component,componentId){return _c('div',{key:componentId},_vm._l((_vm.formRequirements[componentId]),function(list,listId){return _c('div',{key:listId},[_c('h6',{staticClass:\"font-bold\"},[_vm._v(_vm._s(componentId))]),_vm._l((_vm.getRequirements(list, _vm.SINGLE)),function(requirement,singleReqId){return _c('div',{key:'single-' + singleReqId,staticClass:\"ml-3\"},[(requirement)?_c('FormOptionRequirementsModalSingle',{attrs:{\"form-data\":_vm.form,\"requirement\":requirement,\"model-information-data\":_vm.modelInformationData}}):_vm._e()],1)}),_vm._l((_vm.getRequirements(list, _vm.LIST)),function(requirement,listReqId){return _c('div',{key:'list-' + listReqId},[(requirement)?_c('FormOptionRequirementsModalList',{attrs:{\"form-data\":_vm.form,\"requirement\":requirement,\"model-information-data\":_vm.modelInformationData,\"id\":componentId + '-' + listId + '-' + listReqId},on:{\"validate\":function($event){return _vm.onListValidate($event)}}}):_vm._e()],1)})],2)}),0)}),_c('div',{staticClass:\"total-price d-flex justify-content-end\"},[_c('p',{staticClass:\"font-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('form.requirements-modal.total-price'))+\" \")]),_c('p',{staticClass:\"price-label\"},[_vm._v(\" \"+_vm._s(_vm.printTotalRequirementsPrice())+\" \")])]),_c('b-form-invalid-feedback',[_vm._v(\" \"+_vm._s(_vm.validationErrorMsg)+\" \")])]},proxy:true},{key:\"modal-footer\",fn:function(){return [_c('b-container',[_c('b-row',[_c('b-form-checkbox',{model:{value:(_vm.confirmCheckbox),callback:function ($$v) {_vm.confirmCheckbox=$$v},expression:\"confirmCheckbox\"}},[_c('p',{staticClass:\"checkbox-text\"},[_vm._v(\" \"+_vm._s(_vm.$t('form.requirements-modal.confirmation-msg'))+\" \")])])],1),_c('b-row',{staticClass:\"d-flex justify-content-end\"},[_c('b-button',{attrs:{\"type\":\"submit\",\"variant\":\"primary\",\"disabled\":!_vm.confirmCheckbox},on:{\"click\":_vm.submitModal}},[_vm._v(\" \"+_vm._s(_vm.$t('form.requirements-modal.submit'))+\" \")]),_c('b-button',{attrs:{\"type\":\"error\",\"variant\":\"danger\"},on:{\"click\":_vm.closeModal}},[_vm._v(\" \"+_vm._s(_vm.$t('form.requirements-modal.cancel'))+\" \")])],1)],1)]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-row',{staticClass:\"single-results\"},[_c('b-col',{attrs:{\"lg\":\"8\"}},[(_vm.service.isQuantityPositive(_vm.requirement))?_c('p',[_c('b-icon',{staticClass:\"icon icon-add\",attrs:{\"icon\":\"plus-circle-fill\"}})],1):_c('p',[_c('b-icon',{staticClass:\"icon icon-remove\",attrs:{\"icon\":\"dash-circle-fill\"}})],1),_c('p',[_vm._v(_vm._s(Math.abs(_vm.requirement.quantity))+\" x\")]),_c('p',{staticClass:\"name\"},[_vm._v(\" \"+_vm._s(_vm.requirement.name)+\" \")])]),_c('b-col',{attrs:{\"lg\":\"4\"}},[(_vm.modelInformationData.components)?_c('p',{staticClass:\"price-label d-flex justify-content-end\"},[_vm._v(\" \"+_vm._s(_vm.service.getPrice( _vm.requirement.id, _vm.requirement.quantity, _vm.service.isQuantityPositive(_vm.requirement), false ))+\" \")]):_vm._e()])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default class FormOptionRequirementsModalService {\r\n modelInformationData = null\r\n\r\n copyObject(object) {\r\n return JSON.parse(JSON.stringify(object))\r\n }\r\n\r\n constructor(modelInformationData) {\r\n this.modelInformationData = modelInformationData\r\n }\r\n\r\n commitChanges(changes, target) {\r\n changes.forEach(change => {\r\n let found = _searchForExistingObjectInTarget(change, target)\r\n _commitChangesToTarget(change, target, found)\r\n })\r\n }\r\n\r\n getChanges(incoming, old) {\r\n let changes = []\r\n let olds = this.copyObject(old)\r\n let incomings = this.copyObject(incoming)\r\n\r\n _computeChangesForExistingObjects(changes, incomings, olds)\r\n _pushNewObjects(changes, incomings)\r\n _pushNotExistingObjects(changes, olds)\r\n _removeChangesWithQuantityZero(changes)\r\n\r\n return changes\r\n }\r\n\r\n isQuantityPositive(requirement) {\r\n if (requirement && requirement.quantity) {\r\n return requirement.quantity >= 0\r\n }\r\n return true\r\n }\r\n\r\n getPrice(id, quantity, isPositive, isReturnOnlyNumber) {\r\n let components = this.modelInformationData.components\r\n if (components === undefined) {\r\n return\r\n }\r\n\r\n for (let i = 0; i < components.length; i++) {\r\n let list = components[i].list\r\n if (list === undefined) {\r\n return\r\n }\r\n\r\n for (let j = 0; j < list.length; j++) {\r\n if (list[j].id === id) {\r\n return _getFormattedPrice(\r\n list[j],\r\n quantity,\r\n isPositive,\r\n isReturnOnlyNumber,\r\n this.modelInformationData\r\n )\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction _getFormattedPrice(\r\n item,\r\n quantity,\r\n isPositive,\r\n isReturnOnlyNumber,\r\n modelInformationData\r\n) {\r\n const price = isPositive ? item.price : -Math.abs(item.price)\r\n const char = price > 0 ? '+' : ''\r\n\r\n return isReturnOnlyNumber\r\n ? price\r\n : char + price * Math.abs(quantity) + ' ' + modelInformationData.currency\r\n}\r\n\r\nfunction _computeChangesForExistingObjects(changes, incomings, olds) {\r\n incomings.forEach((incoming, incomingKey) => {\r\n olds.forEach((old, oldkey) => {\r\n if (old !== null && incoming !== null && incoming.id === old.id) {\r\n changes.push({\r\n id: incoming.id,\r\n quantity: incoming.quantity - old.quantity,\r\n name: incoming.name,\r\n })\r\n delete incomings[incomingKey]\r\n delete olds[oldkey]\r\n }\r\n })\r\n })\r\n}\r\n\r\nfunction _pushNewObjects(changes, incomings) {\r\n incomings.forEach(incoming => {\r\n changes.push({\r\n id: incoming.id,\r\n quantity: incoming.quantity,\r\n name: incoming.name,\r\n })\r\n })\r\n}\r\n\r\nfunction _pushNotExistingObjects(changes, olds) {\r\n olds.forEach(old => {\r\n changes.push({\r\n id: old.id,\r\n quantity: -old.quantity,\r\n name: old.name,\r\n })\r\n })\r\n}\r\n\r\nfunction _removeChangesWithQuantityZero(changes) {\r\n changes.forEach((change, key) => {\r\n if (change.quantity === 0) {\r\n delete changes[key]\r\n }\r\n })\r\n}\r\n\r\nfunction _searchForExistingObjectInTarget(change, target) {\r\n return target.find(t => change.id != undefined && t.id === change.id)\r\n}\r\n\r\nfunction _commitChangesToTarget(change, target, found) {\r\n if (found === undefined) {\r\n target.push(change)\r\n } else {\r\n found.quantity += change.quantity\r\n }\r\n}\r\n","import FormOptionRequirementsModalService from './../form-option-requirements-modal-service'\r\nimport FormMicroserviceRequirements from '@/views/form/microservices/form-microservice-requirements.js'\r\n\r\nexport default {\r\n name: 'FormOptionRequirementsModalSingle',\r\n\r\n props: {\r\n formData: {\r\n type: Object,\r\n required: true,\r\n },\r\n\r\n requirement: {\r\n type: Object,\r\n required: true,\r\n },\r\n\r\n modelInformationData: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n\r\n data() {\r\n return {\r\n service: new FormOptionRequirementsModalService(\r\n this.modelInformationData\r\n ),\r\n requirementsService: new FormMicroserviceRequirements(),\r\n oldValue: [],\r\n }\r\n },\r\n\r\n async created() {\r\n this.updateForm()\r\n },\r\n\r\n methods: {\r\n updateForm() {\r\n const changes = this.getChanges()\r\n this.saveChangesToForm(changes)\r\n this.service.commitChanges(changes, this.oldValue)\r\n },\r\n\r\n saveChangesToForm(changes) {\r\n this.requirementsService.addApprovedRequirementsToForm(\r\n this.modelInformationData.components,\r\n this.formData,\r\n changes\r\n )\r\n },\r\n\r\n getChanges() {\r\n return this.service.getChanges(\r\n [\r\n {\r\n id: this.requirement.id,\r\n quantity: this.requirement.quantity,\r\n },\r\n ],\r\n this.oldValue\r\n )\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-option-requirements-modal-single.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-option-requirements-modal-single.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormOptionRequirementsModalSingle.vue?vue&type=template&id=f9ed7ece&scoped=true&\"\nimport script from \"./form-option-requirements-modal-single.js?vue&type=script&lang=js&\"\nexport * from \"./form-option-requirements-modal-single.js?vue&type=script&lang=js&\"\nimport style0 from \"./form-option-requirements-modal-single.scss?vue&type=style&index=0&id=f9ed7ece&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f9ed7ece\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"list-result\"},[(_vm.service.isQuantityPositive(_vm.requirement))?_c('p',[_c('b-icon',{staticClass:\"icon icon-add icon-list\",attrs:{\"icon\":\"plus-circle-fill\"}})],1):_c('p',[_c('b-icon',{staticClass:\"icon icon-remove icon-list\",attrs:{\"icon\":\"dash-circle-fill\"}})],1),_c('p',[_vm._v(_vm._s(Math.abs(_vm.requirement.quantity))+\" x\")]),_c('p',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle\",value:(_vm.id),expression:\"id\"}],staticClass:\"font-bold list-toggle\"},[_vm._v(\" \"+_vm._s(_vm.$t('form.requirements-modal.from-list'))+\" \")]),(_vm.invalidFeedbacks.length > 0)?_c('b-icon',{staticClass:\"icon icon-feedbacks\",attrs:{\"icon\":\"exclamation-triangle-fill\"}}):_vm._e(),_c('b-collapse',{attrs:{\"id\":_vm.id}},[_c('FormChooseCountableMultipleOptionList',{staticClass:\"ml-4\",attrs:{\"value\":_vm.listData,\"options\":_vm.getOptionsForList(_vm.requirement),\"currency\":_vm.modelInformationData.currency,\"min-quantity\":_vm.getMinQuantity(_vm.requirement),\"max-quantity\":_vm.getMaxQuantity(_vm.requirement),\"invalid-feedbacks\":_vm.invalidFeedbacks},on:{\"input\":function($event){return _vm.validateAndSaveValue($event)}}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import FormOptionRequirementsModalService from './../form-option-requirements-modal-service'\r\nimport FormMicroserviceRequirements from '@/views/form/microservices/form-microservice-requirements.js'\r\nimport FormChooseCountableMultipleOptionList from '@/components/form/default/form-choose-countable-multiple-option-list/FormChooseCountableMultipleOptionList'\r\n\r\nexport default {\r\n name: 'FormOptionRequirementsModalList',\r\n\r\n components: {\r\n FormChooseCountableMultipleOptionList,\r\n },\r\n\r\n props: {\r\n requirement: {\r\n type: Object,\r\n required: true,\r\n },\r\n\r\n modelInformationData: {\r\n type: Object,\r\n required: true,\r\n },\r\n\r\n formData: {\r\n type: Object,\r\n required: true,\r\n },\r\n\r\n id: {\r\n type: String,\r\n required: true,\r\n },\r\n },\r\n\r\n data() {\r\n return {\r\n service: new FormOptionRequirementsModalService(\r\n this.modelInformationData\r\n ),\r\n requirementsService: new FormMicroserviceRequirements(),\r\n invalidFeedbacks: [],\r\n listRequirements: [],\r\n oldInputs: [],\r\n listData: [],\r\n }\r\n },\r\n\r\n async created() {\r\n this.validate([])\r\n },\r\n\r\n methods: {\r\n validateAndSaveValue(listInputs) {\r\n this.validate(listInputs)\r\n const changes = this.service.getChanges(listInputs, this.oldInputs)\r\n\r\n this.saveChangesToForm(changes)\r\n this.oldInputs = listInputs\r\n },\r\n\r\n saveChangesToForm(changes) {\r\n this.requirementsService.addApprovedRequirementsToForm(\r\n this.modelInformationData.components,\r\n this.formData,\r\n changes\r\n )\r\n },\r\n\r\n validate(inputs) {\r\n const quantityLimit = this.requirement.quantity\r\n let quantity = 0\r\n\r\n this.invalidFeedbacks = []\r\n\r\n inputs.forEach(input => {\r\n quantity += input.quantity\r\n })\r\n\r\n if (Math.abs(quantityLimit) !== Math.abs(quantity)) {\r\n this.invalidFeedbacks.push({\r\n message: 'form.requirements-modal.wrong-quantity',\r\n additional: { count: quantityLimit },\r\n })\r\n }\r\n\r\n this.$emit('validate', {\r\n id: this.id,\r\n isValidated: this.isValidated(),\r\n })\r\n },\r\n\r\n isValidated() {\r\n return this.invalidFeedbacks.length === 0\r\n },\r\n\r\n getOptionsForList(requirement) {\r\n let resultOptions = []\r\n\r\n requirement.list.forEach(option => {\r\n resultOptions.push({\r\n id: option.id,\r\n name: option.name,\r\n price: this.service.getPrice(\r\n option.id,\r\n 1,\r\n this.service.isQuantityPositive(requirement),\r\n true\r\n ),\r\n requirements: this.getOptionRequirements(option.id),\r\n })\r\n })\r\n\r\n return resultOptions\r\n },\r\n\r\n getOptionRequirements(id) {\r\n let components = this.modelInformationData.components\r\n for (let i = 0; i < Object.keys(components).length; i++) {\r\n let list = this.modelInformationData.components[i].list\r\n for (let j = 0; j < list.length; j++) {\r\n if (list[j].id == id && list[j].requirements !== undefined) {\r\n return list[j].requirements\r\n }\r\n }\r\n }\r\n },\r\n\r\n getMinQuantity(requirement) {\r\n return this.service.isQuantityPositive(requirement) ? 0 : -999\r\n },\r\n\r\n getMaxQuantity(requirement) {\r\n return this.service.isQuantityPositive(requirement) ? 999 : 0\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-option-requirements-modal-list.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-option-requirements-modal-list.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormOptionRequirementsModalList.vue?vue&type=template&id=2b2809c2&scoped=true&\"\nimport script from \"./form-option-requirements-modal-list.js?vue&type=script&lang=js&\"\nexport * from \"./form-option-requirements-modal-list.js?vue&type=script&lang=js&\"\nimport style0 from \"./form-option-requirements-modal-list.scss?vue&type=style&index=0&id=2b2809c2&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2b2809c2\",\n null\n \n)\n\nexport default component.exports","import FormChooseCountableMultipleOptionList from '@/components/form/default/form-choose-countable-multiple-option-list/FormChooseCountableMultipleOptionList'\r\nimport FormOptionRequirementsModalSingle from '@/components/form/default/form-option-requirements-modal/form-option-requirements-modal-single/FormOptionRequirementsModalSingle'\r\nimport FormOptionRequirementsModalService from './form-option-requirements-modal-service'\r\nimport FormOptionRequirementsModalList from '@/components/form/default/form-option-requirements-modal/form-option-requirements-modal-list/FormOptionRequirementsModalList'\r\n\r\nexport default {\r\n name: 'FormOptionRequirementsModal',\r\n\r\n components: {\r\n FormChooseCountableMultipleOptionList,\r\n FormOptionRequirementsModalList,\r\n FormOptionRequirementsModalSingle,\r\n },\r\n\r\n props: {\r\n formData: { type: Object, required: true },\r\n\r\n formRequirements: {\r\n formRequirements: Object,\r\n required: true,\r\n },\r\n\r\n modelInformationData: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n\r\n data() {\r\n return {\r\n service: new FormOptionRequirementsModalService(\r\n this.modelInformationData\r\n ),\r\n SINGLE: 'single',\r\n LIST: 'list',\r\n form: this.copyObject(this.formData),\r\n formOld: this.copyObject(this.formData),\r\n formChanges: [],\r\n unvalidatedLists: [],\r\n confirmCheckbox: false,\r\n validationErrorMsg: '',\r\n }\r\n },\r\n\r\n watch: {\r\n form: {\r\n deep: true,\r\n handler(form) {\r\n this.saveFormChanges(form)\r\n },\r\n },\r\n },\r\n\r\n methods: {\r\n saveFormChanges(form) {\r\n Object.keys(form).forEach(componentKey => {\r\n let changes = this.service.getChanges(\r\n form[componentKey],\r\n this.formOld[componentKey]\r\n )\r\n this.service.commitChanges(changes, this.formChanges)\r\n })\r\n this.formOld = this.copyObject(form)\r\n },\r\n\r\n printTotalRequirementsPrice() {\r\n let totalPrice = 0\r\n this.formChanges.forEach(change => {\r\n totalPrice +=\r\n Math.abs(change.quantity) *\r\n this.service.getPrice(\r\n change.id,\r\n change.quantity,\r\n change.quantity > 0,\r\n true\r\n )\r\n })\r\n return totalPrice + ' ' + this.modelInformationData.currency\r\n },\r\n\r\n onListValidate(validate) {\r\n if (validate.isValidated === false) {\r\n this.unvalidatedLists[validate.id] = validate\r\n } else {\r\n delete this.unvalidatedLists[validate.id]\r\n }\r\n },\r\n\r\n getRequirements(list, type) {\r\n let requirements = []\r\n\r\n if (list === undefined) {\r\n return requirements\r\n }\r\n\r\n list.forEach((requirement, key) => {\r\n if (type === this.SINGLE && requirement.list === undefined) {\r\n requirements[requirement.id] = requirement\r\n } else if (type === this.LIST && requirement.list !== undefined) {\r\n requirements[key] = requirement\r\n }\r\n })\r\n\r\n return requirements\r\n },\r\n\r\n submitModal() {\r\n if (Object.keys(this.unvalidatedLists).length === 0) {\r\n this.$emit('formChanges', this.formChanges)\r\n this.closeModal()\r\n } else {\r\n this.validationErrorMsg = this.$t(\r\n 'form.requirements-modal.validation-error'\r\n )\r\n }\r\n },\r\n\r\n closeModal() {\r\n this.$emit('formChanges', false)\r\n this.$bvModal.hide('requirements-modal')\r\n },\r\n\r\n setDefaultModalData() {\r\n this.form = this.copyObject(this.formData)\r\n this.formOld = this.copyObject(this.formData)\r\n this.formChanges = []\r\n this.confirmCheckbox = false\r\n this.validationErrorMsg = ''\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-option-requirements-modal.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-option-requirements-modal.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormOptionRequirementsModal.vue?vue&type=template&id=5f499d58&scoped=true&\"\nimport script from \"./form-option-requirements-modal.js?vue&type=script&lang=js&\"\nexport * from \"./form-option-requirements-modal.js?vue&type=script&lang=js&\"\nimport style0 from \"./form-option-requirements-modal.scss?vue&type=style&index=0&id=5f499d58&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5f499d58\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{staticClass:\"modal\",attrs:{\"id\":\"solutions-modal\",\"no-close-on-backdrop\":\"\",\"size\":\"lg\"},scopedSlots:_vm._u([{key:\"modal-header\",fn:function(){return [_c('div',{staticClass:\"w-100 d-flex justify-content-center\"},[_c('h5',[_vm._v(_vm._s(_vm.$t('form.solutions-modal.available-solutions')))])])]},proxy:true},{key:\"default\",fn:function(){return [_c('div',{staticClass:\"text-center ml-2 mb-4 info\"},[_c('p',{staticClass:\"text-white m-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('form.solutions-modal.select-one-from-list-below'))+\" \")])]),_c('FormChooseSingleOptionList',{attrs:{\"options\":_vm.solutions,\"currency\":_vm.currency,\"list-name\":'solution'},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}})]},proxy:true},{key:\"modal-footer\",fn:function(){return [_c('b-button',{attrs:{\"type\":\"submit\",\"variant\":\"primary\",\"disabled\":!_vm.isSolutionSelected()},on:{\"click\":function($event){return _vm.submitModal()}}},[_vm._v(\" \"+_vm._s(_vm.$t('form.solutions-modal.accept'))+\" \")]),_c('b-button',{attrs:{\"type\":\"error\",\"variant\":\"danger\"},on:{\"click\":function($event){return _vm.closeModal()}}},[_vm._v(\" \"+_vm._s(_vm.$t('form.solutions-modal.cancel'))+\" \")])]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import FormChooseSingleOptionList from '@/components/form/default/form-choose-single-option-list/FormChooseSingleOptionList'\r\n\r\nexport default {\r\n name: 'FormSolutionsModal',\r\n\r\n components: {\r\n FormChooseSingleOptionList,\r\n },\r\n\r\n props: {\r\n solutions: {\r\n type: Array,\r\n required: true,\r\n },\r\n\r\n currency: {\r\n type: String,\r\n required: true,\r\n },\r\n },\r\n\r\n data() {\r\n return {\r\n selected: [],\r\n }\r\n },\r\n\r\n methods: {\r\n closeModal() {\r\n this.selected = []\r\n this.$bvModal.hide('solutions-modal')\r\n },\r\n\r\n submitModal() {\r\n this.$emit('submit', this.selected)\r\n this.closeModal()\r\n },\r\n\r\n isSolutionSelected() {\r\n return (\r\n this.selected.length === 1 &&\r\n this.selected[0].id &&\r\n this.selected[0].quantity === 1\r\n )\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-solutions-modal.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-solutions-modal.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormSolutionsModal.vue?vue&type=template&id=64b4ecb1&scoped=true&\"\nimport script from \"./form-solutions-modal.js?vue&type=script&lang=js&\"\nexport * from \"./form-solutions-modal.js?vue&type=script&lang=js&\"\nimport style0 from \"./form-solutions-modal.scss?vue&type=style&index=0&id=64b4ecb1&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"64b4ecb1\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"form-summary-modal-form-modal\",\"static\":\"\"},on:{\"show\":function($event){return _vm.setViewState()}},scopedSlots:_vm._u([{key:\"modal-header\",fn:function(){return [(_vm.modalView === _vm.VIEW_COMPLETE)?_c('div',{staticClass:\"btn-back\",on:{\"click\":function($event){return _vm.switchToFormView()}}},[_c('ImageLoader',{attrs:{\"src\":'images/buttons/summary-back.png'}}),_vm._v(\" \"+_vm._s(_vm.$t('form.summary-modal.form-modal.fill-form-again'))+\" \")],1):_vm._e(),_c('button',{staticClass:\"close\",attrs:{\"type\":\"button\",\"aria-label\":\"Close\"},on:{\"click\":function($event){return _vm.closeModal()}}},[_vm._v(\" x \")])]},proxy:true},{key:\"default\",fn:function(){return [(_vm.modalView === _vm.VIEW_FORM)?_c('div',{staticClass:\"d-flex align-items-center flex-column\"},[_c('div',[_c('b-row',{staticClass:\"justify-content-center\"},[_c('ImageLoader',{staticClass:\"center-image noselect\",attrs:{\"src\":_vm.getModalData('image')}})],1),_c('b-row',{staticClass:\"justify-content-center mt-4\"},[_c('h2',{staticClass:\"font-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.getModalData('header')))+\" \")])]),_c('b-row',{staticClass:\"justify-content-center mt-2\"},[_c('h5',{staticClass:\"font-light\"},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.getModalData('message')))+\" \")])])],1),_c('FormSummaryModalFormModalForm',{staticClass:\"modal-form\",attrs:{\"fields\":_vm.getModalData('modalFields'),\"values\":_vm.modalFormValues,\"is-confirmed\":_vm.isFormConfirmed},on:{\"submitForm\":function($event){return _vm.submitForm($event)}}})],1):_vm._e(),(_vm.modalView === _vm.VIEW_LOADING)?_c('LoadingOverlayGear'):_vm._e(),(_vm.modalView === _vm.VIEW_COMPLETE)?_c('div',[_c('div',[_c('b-row',{staticClass:\"justify-content-center\"},[_c('ImageLoader',{staticClass:\"center-image noselect\",attrs:{\"src\":_vm.getModalData('image')}})],1),_c('b-row',{staticClass:\"justify-content-center mt-2\"},[(_vm.modalData.modalStatus === _vm.STATUS_SUCCESS)?_c('h2',{staticClass:\"color-success font-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t('form.summary-modal.form-modal.request-success'))+\" \")]):_c('h2',{staticClass:\"color-error font-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t('form.summary-modal.form-modal.request-error'))+\" \")])]),_c('b-row',{staticClass:\"justify-content-center mt-2\"},[_c('h5',{staticClass:\"font-medium\"},[_vm._v(\" \"+_vm._s(_vm.responseData.message)+\" \")])]),(_vm.responseData.url != undefined)?[_c('b-row',{staticClass:\"justify-content-center mt-4\"},[_c('h3',{staticClass:\"font-medium\"},[_c('a',{attrs:{\"href\":_vm.responseData.url,\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(_vm.responseData.url)+\" \")])])]),_c('b-row',{staticClass:\"justify-content-center mt-1\"},[_c('h5',{staticClass:\"copy-url noselect font-medium\",on:{\"click\":function($event){return _vm.copyUrl()}}},[_vm._v(\" \"+_vm._s(_vm.$t('form.summary-modal.form-modal.copy-url'))+\" \")])])]:_vm._e()],2)]):_vm._e()]},proxy:true},{key:\"modal-footer\",fn:function(){return [(_vm.modalView === _vm.VIEW_FORM)?_c('b-button',{staticClass:\"btn-confirm\",attrs:{\"type\":\"submit\",\"disabled\":_vm.isConfirmDisabled},on:{\"click\":function($event){return _vm.confirmForm()}}},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.getRequestButtonMessage()))+\" \")]):_vm._e(),(_vm.modalView === _vm.VIEW_COMPLETE)?_c('b-button',{staticClass:\"btn-confirm\",attrs:{\"type\":\"submit\"},on:{\"click\":function($event){return _vm.closeModal()}}},[_vm._v(\" \"+_vm._s(_vm.$t('form.summary-modal.form-modal.return'))+\" \")]):_vm._e()]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-flex justify-content-center\"},[(!_vm.isError)?_c('b-icon',{staticClass:\"icon-body-info\",attrs:{\"icon\":\"gear\",\"animation\":\"spin\"}}):_vm._e(),(_vm.isError)?_c('b-icon',{staticClass:\"icon-body-danger\",attrs:{\"icon\":\"question-octagon\",\"animation\":\"cylon\"}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n name: 'LoadingOverlayGear',\r\n\r\n props: {\r\n isError: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/eslint-loader/index.js??ref--14-0!./loading-overlay-gear.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/eslint-loader/index.js??ref--14-0!./loading-overlay-gear.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LoadingOverlayGear.vue?vue&type=template&id=3da72b34&scoped=true&\"\nimport script from \"./loading-overlay-gear.js?vue&type=script&lang=js&\"\nexport * from \"./loading-overlay-gear.js?vue&type=script&lang=js&\"\nimport style0 from \"./loading-overlay-gear.scss?vue&type=style&index=0&id=3da72b34&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3da72b34\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.checkIfFieldsExists())?_c('div',_vm._l((_vm.fields),function(field,index){return _c('b-row',{key:index},[(_vm.isFieldEnabled(field))?[_c('div',{staticClass:\"mt-3 w-100 position-relative\"},[(_vm.hasProperFieldType(field, 'input'))?[(_vm.isHtmlLabel(field))?_c('span',{class:field.classes,domProps:{\"innerHTML\":_vm._s(_vm.$t(field.label, _vm.getLabelParams(field)))}}):_c('span',{class:field.classes},[_vm._v(\" \"+_vm._s(_vm.$t(field.label))+\" \")]),_c('b-form-input',{model:{value:(_vm.values[field.name]),callback:function ($$v) {_vm.$set(_vm.values, field.name, $$v)},expression:\"values[field.name]\"}}),(_vm.errors[field.name])?_c('span',{staticClass:\"color-error\"},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.errors[field.name]))+\" \")]):_vm._e()]:_vm._e(),(_vm.hasProperFieldType(field, 'checkbox'))?[_c('b-form-checkbox',{model:{value:(_vm.values[field.name]),callback:function ($$v) {_vm.$set(_vm.values, field.name, $$v)},expression:\"values[field.name]\"}},[(_vm.isHtmlLabel(field))?_c('span',{staticClass:\"noselect\",class:field.classes,domProps:{\"innerHTML\":_vm._s(_vm.$t(field.label, _vm.getLabelParams(field)))}}):_c('span',{staticClass:\"noselect\",class:field.classes},[_vm._v(\" \"+_vm._s(_vm.$t(field.label))+\" \")])]),(_vm.errors[field.name])?_c('span',{staticClass:\"color-error\"},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.errors[field.name]))+\" \")]):_vm._e()]:_vm._e(),(field.info)?_c('b-icon',{staticClass:\"icon icon-info\",attrs:{\"id\":field.name,\"icon\":\"question-circle\"}}):_vm._e(),(field.info)?_c('b-tooltip',{attrs:{\"target\":field.name,\"triggers\":\"hover\",\"placement\":\"right\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.$t(field.info))}})]):_vm._e()],2)]:_vm._e()],2)}),1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\r\n name: 'FormSummaryModalFormModalForm',\r\n\r\n props: {\r\n fields: {\r\n type: Object,\r\n },\r\n\r\n values: {\r\n type: Object,\r\n required: true,\r\n },\r\n\r\n isConfirmed: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n },\r\n\r\n data() {\r\n return {\r\n errors: {},\r\n }\r\n },\r\n\r\n computed: {\r\n valuesModel() {\r\n return Object.assign({}, this.values)\r\n },\r\n },\r\n\r\n watch: {\r\n valuesModel: {\r\n deep: true,\r\n handler(values, valuesOld) {\r\n this.validate(this.getValuesDiff(values, valuesOld))\r\n },\r\n },\r\n\r\n isConfirmed: {\r\n handler(value) {\r\n if (value) {\r\n this.$emit('submitForm', this.validate())\r\n }\r\n },\r\n },\r\n\r\n fields: {\r\n handler() {\r\n this.setValues()\r\n },\r\n },\r\n },\r\n\r\n methods: {\r\n setValues() {\r\n if (this.fields === undefined) {\r\n return\r\n }\r\n\r\n Object.keys(this.fields).forEach(fieldName => {\r\n const field = this.fields[fieldName]\r\n if (field.value !== undefined) {\r\n this.values[field.name] = field.value\r\n }\r\n })\r\n },\r\n\r\n isFieldEnabled(field) {\r\n if (field.conditionalId === undefined) {\r\n return true\r\n }\r\n\r\n const targetFieldValue = this.valuesModel[field.conditionalId]\r\n field.skipVaidation = !targetFieldValue\r\n return targetFieldValue\r\n },\r\n\r\n checkIfFieldsExists() {\r\n return this.fields !== undefined && Object.keys(this.fields).length > 0\r\n },\r\n\r\n isHtmlLabel(field) {\r\n return (\r\n field !== undefined &&\r\n field.label !== undefined &&\r\n field.labelType === 'html'\r\n )\r\n },\r\n\r\n validate(values) {\r\n if (this.fields === undefined || Object.keys(this.fields).length === 0) {\r\n return true\r\n }\r\n\r\n let fieldsToValidate = {}\r\n\r\n if (values === undefined) {\r\n this.errors = {}\r\n fieldsToValidate = this.fields\r\n } else {\r\n this.prepareFieldsToValidate(values, fieldsToValidate)\r\n }\r\n\r\n Object.keys(fieldsToValidate).forEach(fieldName => {\r\n const field = this.fields[fieldName]\r\n\r\n if (field.skipVaidation) {\r\n return\r\n }\r\n\r\n if (values !== undefined) {\r\n if (values[fieldName] === undefined) {\r\n return\r\n } else {\r\n this.errors[fieldName] = undefined\r\n }\r\n }\r\n\r\n const value = this.values[field.name]\r\n\r\n this.checkFieldRequiredUpdateErrors(field, value)\r\n\r\n if (field.required === true || (value !== undefined && value !== '')) {\r\n this.checkFieldRegExAndUpdateErrors(field, value)\r\n }\r\n })\r\n\r\n return this.isFormErrors()\r\n },\r\n\r\n prepareFieldsToValidate(values, fieldsToValidate) {\r\n Object.keys(this.fields).forEach(fieldName => {\r\n if (\r\n values[fieldName] !== undefined &&\r\n this.fields[fieldName].name === fieldName\r\n ) {\r\n fieldsToValidate[fieldName] = this.fields[fieldName]\r\n }\r\n })\r\n },\r\n\r\n isFormErrors() {\r\n for (const key in Object.keys(this.errors)) {\r\n if (this.errors[key] === undefined) {\r\n return false\r\n }\r\n }\r\n\r\n return true\r\n },\r\n\r\n checkFieldRequiredUpdateErrors(field, value) {\r\n if (!field.required) {\r\n return\r\n }\r\n\r\n if (value === undefined || value === '') {\r\n this.errors[field.name] =\r\n 'form.summary-modal.form-modal.form.field-required'\r\n }\r\n\r\n if (field.type === 'checkbox' && !value) {\r\n this.errors[field.name] =\r\n 'form.summary-modal.form-modal.form.checkbox-required'\r\n }\r\n },\r\n\r\n checkFieldRegExAndUpdateErrors(field, value) {\r\n if (\r\n field.validationRegEx !== undefined &&\r\n !field.validationRegEx.test(String(value))\r\n ) {\r\n if (field.regExMessage !== undefined) {\r\n this.errors[field.name] = field.regExMessage\r\n } else {\r\n this.errors[field.name] =\r\n 'form.summary-modal.form-modal.form.invalid-regex'\r\n }\r\n }\r\n },\r\n\r\n hasProperFieldType(field, type) {\r\n return field !== undefined && field.type === type\r\n },\r\n\r\n getLabelParams(field) {\r\n if (field !== undefined && field.labelParams !== undefined) {\r\n return field.labelParams\r\n }\r\n return {}\r\n },\r\n\r\n getValuesDiff(values, oldValues) {\r\n let differences = {}\r\n Object.keys(values).forEach(fieldName => {\r\n if (oldValues[fieldName] !== values[fieldName]) {\r\n differences[fieldName] = values[fieldName]\r\n }\r\n })\r\n\r\n return differences\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-summary-modal-form-modal-form.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-summary-modal-form-modal-form.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormSummaryModalFormModalForm.vue?vue&type=template&id=226d9660&scoped=true&\"\nimport script from \"./form-summary-modal-form-modal-form.js?vue&type=script&lang=js&\"\nexport * from \"./form-summary-modal-form-modal-form.js?vue&type=script&lang=js&\"\nimport style0 from \"./form-summary-modal-form-modal-form.scss?vue&type=style&index=0&id=226d9660&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"226d9660\",\n null\n \n)\n\nexport default component.exports","import FormService from './../../../../../views/form/form-service'\r\nimport Vue from 'vue'\r\nimport LoadingOverlayGear from '@/components/shared/loading-overlay/loading-overlay-gear/LoadingOverlayGear.vue'\r\nimport ImageLoader from '@/components/shared/image-loader/ImageLoader'\r\nimport FormSummaryModalFormModalForm from '@/components/form/default/form-summary-modal/form-summary-modal-form-modal/form-summary-modal-form-modal-form/FormSummaryModalFormModalForm'\r\n\r\nexport const STATUS_ERROR = 'error'\r\nexport const STATUS_SUCCESS = 'success'\r\nexport const STATUS_LOADING = 'loading'\r\n\r\nexport const VIEW_FORM = 'form'\r\nexport const VIEW_LOADING = 'loading'\r\nexport const VIEW_COMPLETE = 'complete'\r\n\r\nexport default {\r\n name: 'FormSummaryModalFormModal',\r\n\r\n components: {\r\n FormSummaryModalFormModalForm,\r\n LoadingOverlayGear,\r\n ImageLoader,\r\n },\r\n\r\n props: {\r\n modalData: {\r\n type: Object,\r\n required: true,\r\n },\r\n currency: {\r\n type: String,\r\n required: true,\r\n },\r\n modelInformationData: {\r\n type: Object,\r\n required: true,\r\n },\r\n modalFormValues: {\r\n type: Object,\r\n required: true,\r\n },\r\n form: {\r\n type: Object,\r\n required: true,\r\n },\r\n },\r\n\r\n data() {\r\n return {\r\n formService: new FormService(),\r\n isFormConfirmed: false,\r\n isConfirmDisabled: false,\r\n modalView: undefined,\r\n responseData: {},\r\n STATUS_SUCCESS: STATUS_SUCCESS,\r\n STATUS_ERROR: STATUS_ERROR,\r\n STATUS_LOADING: STATUS_LOADING,\r\n VIEW_FORM: VIEW_FORM,\r\n VIEW_LOADING: VIEW_LOADING,\r\n VIEW_COMPLETE: VIEW_COMPLETE,\r\n }\r\n },\r\n\r\n created() {\r\n if (this.modalData.modalStatus == undefined) {\r\n this.modalView = VIEW_FORM\r\n }\r\n },\r\n\r\n watch: {\r\n modalFormValues: {\r\n deep: true,\r\n handler(value) {\r\n this.$emit('modalFormValues', value)\r\n },\r\n },\r\n\r\n modalData: {\r\n deep: true,\r\n handler() {\r\n if (this.modalView !== VIEW_LOADING) {\r\n this.setViewState()\r\n }\r\n },\r\n },\r\n },\r\n\r\n methods: {\r\n setViewState() {\r\n switch (this.modalData.modalStatus) {\r\n case undefined:\r\n this.modalView = VIEW_FORM\r\n break\r\n case STATUS_LOADING:\r\n this.modalView = VIEW_LOADING\r\n break\r\n default:\r\n this.modalView = VIEW_COMPLETE\r\n }\r\n },\r\n\r\n getModalData(key) {\r\n if (this.modalData != undefined && this.modalData[key] != undefined) {\r\n return this.modalData[key]\r\n }\r\n },\r\n\r\n getContactDataWithoutIgnoredFields() {\r\n let contactData = {}\r\n\r\n Object.keys(this.modalFormValues).forEach(field => {\r\n if (\r\n this.modalData.modalFields != undefined &&\r\n this.modalData.modalFields[field] != undefined &&\r\n !this.modalData.modalFields[field].isIgnoredInRequest\r\n ) {\r\n contactData[field] = this.modalFormValues[field]\r\n }\r\n })\r\n return contactData\r\n },\r\n\r\n submitForm(isValidated) {\r\n this.isConfirmDisabled = false\r\n this.isFormConfirmed = false\r\n\r\n if (isValidated) {\r\n this.sendRequest()\r\n }\r\n },\r\n\r\n async sendRequest() {\r\n const body = this.formService.prepDataForPost(\r\n this.modelInformationData.id,\r\n this.modelInformationData,\r\n this.form,\r\n this.getContactDataWithoutIgnoredFields(),\r\n this.modalData.postType\r\n )\r\n\r\n this.$set(this.modalData, 'modalStatus', STATUS_LOADING)\r\n this.modalView = VIEW_LOADING\r\n\r\n const response = await Vue.$api.post(body)\r\n this.modalView = VIEW_COMPLETE\r\n\r\n if (200 !== response.status) {\r\n if (response.data) {\r\n this.responseData.message = response.data.msg\r\n }\r\n this.$set(this.modalData, 'modalStatus', STATUS_ERROR)\r\n\r\n return\r\n }\r\n\r\n if (response.data) {\r\n if (response.data.url != undefined) {\r\n this.responseData.url = response.data.url\r\n }\r\n\r\n this.responseData.message = response.data.msg\r\n }\r\n\r\n this.$set(this.modalData, 'modalStatus', STATUS_SUCCESS)\r\n },\r\n\r\n confirmForm() {\r\n this.isConfirmDisabled = true\r\n this.isFormConfirmed = true\r\n },\r\n\r\n switchToFormView() {\r\n this.modalView = VIEW_FORM\r\n },\r\n\r\n getRequestButtonMessage() {\r\n if (\r\n this.modalData != undefined &&\r\n this.modalData.requestButton != undefined\r\n ) {\r\n return this.modalData.requestButton\r\n }\r\n\r\n return 'form.summary-modal.form-modal.send-request'\r\n },\r\n\r\n closeModal() {\r\n this.$bvModal.hide('form-summary-modal-form-modal')\r\n },\r\n\r\n copyUrl() {\r\n if (this.responseData.url != undefined) {\r\n navigator.clipboard.writeText(this.responseData.url)\r\n }\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-summary-modal-form-modal.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-summary-modal-form-modal.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormSummaryModalFormModal.vue?vue&type=template&id=24a5b925&scoped=true&\"\nimport script from \"./form-summary-modal-form-modal.js?vue&type=script&lang=js&\"\nexport * from \"./form-summary-modal-form-modal.js?vue&type=script&lang=js&\"\nimport style0 from \"./form-summary-modal-form-modal.scss?vue&type=style&index=0&id=24a5b925&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"24a5b925\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-modal',{attrs:{\"id\":\"form-summary-modal\",\"static\":\"\",\"no-close-on-backdrop\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('b-row',{staticClass:\"grid content-wrapper\"},[_c('b-col',{staticClass:\"server-info-section\",attrs:{\"md\":\"0\",\"lg\":\"4\"}},[_c('b-row',{staticClass:\"btn-back\",on:{\"click\":_vm.closeModal}},[_c('ImageLoader',{attrs:{\"src\":'images/buttons/summary-back.png'}}),_vm._v(\" \"+_vm._s(_vm.$t('form.summary-modal.back'))+\" \")],1),_c('ServerTotalPriceAndInfo',{staticClass:\"ml-3 h-100\",attrs:{\"series-name\":_vm.seriesName,\"producer-logo\":_vm.producerLogo,\"model-name\":_vm.modelName,\"model-image\":_vm.modelImage,\"total-price-net\":_vm.totalPriceNet,\"total-price-gross\":_vm.totalPriceGross,\"currency\":_vm.currency}})],1),_c('b-col',{attrs:{\"md\":\"12\",\"lg\":\"8\"}},[_c('b-row',{staticClass:\"top-bar\",class:{ 'justify-content-end': !_vm.contactData }},[(_vm.contactData)?_c('div',{staticClass:\"contact-data\"},[_c('div',{staticClass:\"contact-label\"},[_vm._v(\" \"+_vm._s(_vm.$t('form.summary-modal.contact'))+\" \")]),_c('div',[_c('b-icon',{attrs:{\"icon\":\"telephone\"}}),_c('span',[_vm._v(\" \"+_vm._s(_vm.contactData.phone)+\" \")])],1),_c('div',[_c('b-icon',{attrs:{\"icon\":\"envelope\"}}),_c('span',[_vm._v(\" \"+_vm._s(_vm.contactData.email)+\" \")])],1)]):_vm._e(),_c('div',{staticClass:\"btn-bar\"},_vm._l((_vm.modalsData),function(modalData){return _c('FormSummaryModalButton',{key:modalData.label,attrs:{\"modal-data\":modalData,\"is-disabled\":modalData.isDisabled},on:{\"summaryModal\":function($event){return _vm.emitSummaryModal($event)}}})}),1)]),_c('div',{staticClass:\"components-wrapper\"},[_c('div',{staticClass:\"components\"},[_vm._l((_vm.formCurrent),function(selected,index){return _vm._l((selected),function(option){return _c('FormSummaryModalComponent',{key:index + '-' + option.id,attrs:{\"name\":index,\"component-data\":_vm.getComponentData(option, index),\"quantity\":option.quantity,\"currency\":_vm.currency}})})})],2)])],1)],1)]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mb-3 w-100 component\"},[_c('span',{staticClass:\"component-name font-bold\"},[_vm._v(\" \"+_vm._s(_vm.name)+\": \")]),_c('div',{staticClass:\"component-box d-flex align-items-center justify-content-center\"},[_c('ImageLoader',{staticClass:\"noselect\",attrs:{\"src\":_vm.componentData.image}}),_c('div',{staticClass:\"component-box-data\"},[_c('b-row',[_c('b-col',{staticClass:\"component-box-left\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('form.summary-modal.component.model'))+\" \")])]),_c('b-col',{staticClass:\"component-box-right\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.componentData.model)+\" \")])])],1),_c('b-row',[_c('b-col',{staticClass:\"component-box-left\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t('form.summary-modal.component.quantity'))+\" \")])]),_c('b-col',{staticClass:\"component-box-right\"},[_c('span',[_vm._v(\" \"+_vm._s(_vm.quantity)+\" \")])])],1),_vm._l((_vm.componentData.attributes),function(attribute){return _c('b-row',{key:attribute.id},[_c('b-col',{staticClass:\"component-box-left\"},[_c('span',[_vm._v(\" \"+_vm._s(attribute.name)+\" \")])]),_c('b-col',{staticClass:\"component-box-right\"},[_c('span',[_vm._v(\" \"+_vm._s(attribute.value)+\" \")])])],1)}),_c('b-row',{staticClass:\"component-price-row\"},[_c('span',{staticClass:\"component-price\"},[_vm._v(\" \"+_vm._s(_vm.getPrice())+\" \")])])],2)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import ImageLoader from '@/components/shared/image-loader/ImageLoader'\r\nimport { Decimal } from 'decimal.js'\r\n\r\nexport default {\r\n name: 'FormSummaryModalComponent',\r\n\r\n components: {\r\n ImageLoader,\r\n },\r\n\r\n props: {\r\n name: {\r\n type: String,\r\n required: true,\r\n },\r\n\r\n quantity: {\r\n type: Number,\r\n required: true,\r\n },\r\n\r\n componentData: {\r\n type: Object,\r\n required: true,\r\n },\r\n\r\n currency: {\r\n type: String,\r\n required: true,\r\n },\r\n\r\n vat: {\r\n type: Number,\r\n required: false,\r\n default: 0.23,\r\n description: 'Default 0.23 (23%)',\r\n },\r\n },\r\n\r\n methods: {\r\n getPrice() {\r\n return (\r\n new Decimal(this.componentData.price)\r\n .plus(new Decimal(this.getTaxAmount()))\r\n .mul(this.quantity)\r\n .toFixed(2) +\r\n ' ' +\r\n this.currency\r\n )\r\n },\r\n\r\n getTaxAmount() {\r\n return new Decimal(this.componentData.price * this.vat).toFixed(2)\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-summary-modal-component.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-summary-modal-component.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormSummaryModalComponent.vue?vue&type=template&id=ba393158&scoped=true&\"\nimport script from \"./form-summary-modal-component.js?vue&type=script&lang=js&\"\nexport * from \"./form-summary-modal-component.js?vue&type=script&lang=js&\"\nimport style0 from \"./form-summary-modal-component.scss?vue&type=style&index=0&id=ba393158&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ba393158\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"modal-button noselect\",class:_vm.statusClass,on:{\"click\":function($event){return _vm.openModal(_vm.isDisabled)}}},[(!_vm.isDisabled)?[_c('b-row',[_c('ImageLoader',{attrs:{\"src\":_vm.modalData.image}})],1),_c('b-row',[_c('a',{staticClass:\"weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.modalData.label))+\" \")])])]:[_c('b-row',[_c('ImageLoader',{attrs:{\"src\":\"images/buttons/summary-alert.png\"}})],1),_c('b-row',[_c('a',{staticClass:\"weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t('form.summary-modal.button.form-invalid-feedbacks'))+\" \")])])]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import ImageLoader from '@/components/shared/image-loader/ImageLoader'\r\n\r\nexport default {\r\n name: 'FormSummaryModalButton',\r\n\r\n components: {\r\n ImageLoader,\r\n },\r\n\r\n props: {\r\n modalData: {\r\n type: Object,\r\n required: true,\r\n },\r\n\r\n isDisabled: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n },\r\n\r\n data() {\r\n return {\r\n statusClass: '',\r\n }\r\n },\r\n\r\n watch: {\r\n modalData: {\r\n deep: true,\r\n handler() {\r\n this.statusClass = this.modalData.modalStatus\r\n },\r\n },\r\n\r\n isDisabled: {\r\n handler(value) {\r\n if (value) {\r\n this.statusClass = 'blocked'\r\n } else {\r\n this.statusClass = this.modalData.modalStatus\r\n }\r\n },\r\n },\r\n },\r\n\r\n methods: {\r\n openModal(isDisabled) {\r\n if (isDisabled) {\r\n return\r\n }\r\n\r\n this.$bvModal.show('form-summary-modal-form-modal')\r\n this.$emit('summaryModal', this.modalData)\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-summary-modal-button.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-summary-modal-button.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormSummaryModalButton.vue?vue&type=template&id=62914a40&scoped=true&\"\nimport script from \"./form-summary-modal-button.js?vue&type=script&lang=js&\"\nexport * from \"./form-summary-modal-button.js?vue&type=script&lang=js&\"\nimport style0 from \"./form-summary-modal-button.scss?vue&type=style&index=0&id=62914a40&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"62914a40\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"server-info\"},[_c('b-row',{staticClass:\"item producer-logo\"},[_c('ImageLoader',{attrs:{\"src\":_vm.producerLogo}})],1),_c('b-row',{staticClass:\"item mt-1\"},[_c('h2',{staticClass:\"font-light color-secondary\"},[_vm._v(_vm._s(_vm.seriesName))])]),_c('b-row',{staticClass:\"item\"},[_c('h4',{staticClass:\"font-bold color-secondary color mt-n2\"},[_vm._v(_vm._s(_vm.modelName))])]),_c('b-row',{staticClass:\"item model-image\"},[_c('ImageLoader',{attrs:{\"src\":_vm.modelImage}})],1),_c('div',{staticClass:\"price-box\"},[_c('b-row',{staticClass:\"color-primary\"},[_c('p',{staticClass:\"price-tag\"},[_vm._v(_vm._s(_vm.$t('form.summary-modal.price')))])]),_c('b-row',{staticClass:\"mt-n3\"},[_c('h2',{staticClass:\"price-net\"},[_c('span',{staticClass:\"color-theme font-bold\"},[_vm._v(\" \"+_vm._s(_vm.totalPriceNet)+\" \")]),_c('span',{staticClass:\"color-theme font-medium text-uppercase\"},[_vm._v(\" \"+_vm._s(_vm.currency)+\" \")])])]),_c('b-row',{staticClass:\"mt-n1\"},[_c('h5',{staticClass:\"price-gross\"},[_c('span',{staticClass:\"font-bold color-secondary\"},[_vm._v(\" \"+_vm._s(_vm.totalPriceGross)+\" \")]),_c('span',{staticClass:\"color-secondary text-uppercase\"},[_vm._v(\" \"+_vm._s(_vm.currency)+\" \")]),_c('span',{staticClass:\"font-light color-secondary\"},[_vm._v(\" \"+_vm._s(_vm.$t('form.summary-modal.gross'))+\" \")])])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import ImageLoader from '@/components/shared/image-loader/ImageLoader'\r\n\r\nexport default {\r\n name: 'ServerTotalPriceAndInfo',\r\n\r\n components: {\r\n ImageLoader,\r\n },\r\n\r\n props: {\r\n totalPriceNet: {\r\n type: String,\r\n required: true,\r\n },\r\n\r\n totalPriceGross: {\r\n type: String,\r\n required: true,\r\n },\r\n\r\n currency: {\r\n type: String,\r\n required: true,\r\n },\r\n\r\n modelName: {\r\n type: String | undefined,\r\n required: false,\r\n },\r\n\r\n seriesName: {\r\n type: String | undefined,\r\n required: false,\r\n },\r\n\r\n producerLogo: {\r\n type: String | undefined,\r\n required: false,\r\n },\r\n\r\n modelImage: {\r\n type: String | undefined,\r\n required: false,\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/eslint-loader/index.js??ref--14-0!./server-total-price-and-info.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/eslint-loader/index.js??ref--14-0!./server-total-price-and-info.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ServerTotalPriceAndInfo.vue?vue&type=template&id=34fb7932&scoped=true&\"\nimport script from \"./server-total-price-and-info.js?vue&type=script&lang=js&\"\nexport * from \"./server-total-price-and-info.js?vue&type=script&lang=js&\"\nimport style0 from \"./server-total-price-and-info.scss?vue&type=style&index=0&id=34fb7932&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"34fb7932\",\n null\n \n)\n\nexport default component.exports","export default class FormSummaryModalService {\r\n getAttributesToShow(attributes, attributesDefinitions) {\r\n const attributesToShow = []\r\n\r\n if (!attributes || !attributesDefinitions) {\r\n return attributesToShow\r\n }\r\n\r\n attributes.forEach(attribute => {\r\n const definition = attributesDefinitions.find(x => x.id === attribute.id)\r\n if (definition && definition.isVisible) {\r\n attributesToShow.push(attribute)\r\n }\r\n })\r\n\r\n return attributesToShow\r\n }\r\n}\r\n","import FormSummaryModalComponent from '@/components/form/default/form-summary-modal/form-summary-modal-component/FormSummaryModalComponent'\r\nimport FormSummaryModalButton from '@/components/form/default/form-summary-modal/form-summary-modal-button/FormSummaryModalButton'\r\nimport ServerTotalPriceAndInfo from '@/components/shared/server-total-price-and-info/ServerTotalPriceAndInfo'\r\nimport ImageLoader from '@/components/shared/image-loader/ImageLoader'\r\nimport FormSummaryModalService from './form-summary-modal-service'\r\n\r\nexport default {\r\n name: 'FormSummaryModal',\r\n\r\n components: {\r\n FormSummaryModalComponent,\r\n FormSummaryModalButton,\r\n ServerTotalPriceAndInfo,\r\n ImageLoader,\r\n },\r\n\r\n props: {\r\n invalidFeedbacks: {\r\n type: Object,\r\n required: true,\r\n },\r\n\r\n formCurrent: {\r\n type: Object,\r\n required: true,\r\n },\r\n\r\n components: {\r\n type: Array,\r\n required: true,\r\n },\r\n\r\n currency: {\r\n type: String,\r\n required: true,\r\n },\r\n\r\n modelName: {\r\n type: String,\r\n required: true,\r\n },\r\n\r\n seriesName: {\r\n type: String,\r\n required: false,\r\n },\r\n\r\n modelImage: {\r\n type: String,\r\n required: false,\r\n },\r\n\r\n producerLogo: {\r\n type: String,\r\n required: false,\r\n },\r\n\r\n totalPriceNet: {\r\n type: String,\r\n required: false,\r\n },\r\n\r\n totalPriceGross: {\r\n type: String,\r\n required: false,\r\n },\r\n\r\n modalsData: {\r\n type: Object,\r\n required: true,\r\n },\r\n\r\n contactData: {\r\n type: Object,\r\n },\r\n },\r\n\r\n data() {\r\n return {\r\n formSummaryModalService: new FormSummaryModalService(),\r\n }\r\n },\r\n\r\n methods: {\r\n closeModal() {\r\n this.$bvModal.hide('form-summary-modal')\r\n },\r\n\r\n getComponentData(option, name) {\r\n let data = {\r\n attributes: [],\r\n price: '',\r\n model: '',\r\n }\r\n\r\n for (let i = 0; i < this.components.length; i++) {\r\n if (this.components[i].name === name) {\r\n let componentList = this.components[i].list\r\n\r\n for (let j = 0; j < componentList.length; j++) {\r\n if (componentList[j].id === option.id) {\r\n data.attributes = this.formSummaryModalService.getAttributesToShow(\r\n componentList[j].attributes,\r\n this.components[i].attributes\r\n )\r\n data.price = componentList[j].price\r\n data.model = componentList[j].name\r\n data.image = this.components[i].image\r\n return data\r\n }\r\n }\r\n }\r\n }\r\n\r\n return data\r\n },\r\n\r\n emitSummaryModal(modalData) {\r\n this.$emit('summaryModal', modalData)\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-summary-modal.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/eslint-loader/index.js??ref--14-0!./form-summary-modal.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./FormSummaryModal.vue?vue&type=template&id=22c693de&scoped=true&\"\nimport script from \"./form-summary-modal.js?vue&type=script&lang=js&\"\nexport * from \"./form-summary-modal.js?vue&type=script&lang=js&\"\nimport style0 from \"./form-summary-modal.scss?vue&type=style&index=0&id=22c693de&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"22c693de\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"summary-panel\"},[_c('ServerTotalPriceAndInfo',{staticClass:\"server-info\",attrs:{\"series-name\":_vm.seriesName,\"producer-logo\":_vm.producerLogo,\"model-name\":_vm.modelName,\"model-image\":_vm.modelImage,\"total-price-net\":_vm.totalPriceNet,\"total-price-gross\":_vm.totalPriceGross,\"currency\":_vm.currency,\"is-centered\":true}}),_c('div',{staticClass:\"buttons\"},[_c('button',{staticClass:\"btn btn-primary\",on:{\"click\":function($event){return _vm.showSummaryModal()}}},[_c('span',[_vm._v(_vm._s(_vm.$t('form.summary-panel.summary')))])]),_c('button',{staticClass:\"btn btn-outline-primary\",attrs:{\"disabled\":_vm.modalsData.requestSpecialPriceModal.isDisabled},on:{\"click\":function($event){return _vm.summaryModalFormModalService.showModal(\n _vm.modalsData.requestSpecialPriceModal\n )}}},[_c('span',[_vm._v(_vm._s(_vm.$t('form.summary-panel.get-special-price')))])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import FormService from '@/views/form/form-service'\r\n\r\nexport const REGEX_EMAIL = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,24}))$/\r\nexport const REGEX_PHONE = /(? {\r\n this.innerWidth = window.innerWidth\r\n })\r\n\r\n this.contactDataSubscription = headerRxjsHelper\r\n .getContactData()\r\n .subscribe(contactData => {\r\n this.contactData = contactData\r\n })\r\n\r\n this.currentModalSubscription = headerRxjsHelper\r\n .getCurrentModal()\r\n .subscribe(currentModal => {\r\n if (!currentModal) {\r\n return\r\n }\r\n this.setSummaryModalData(currentModal)\r\n this.summaryModalsService.showModal(currentModal)\r\n })\r\n },\r\n\r\n async created() {\r\n let response\r\n if (!this.isOrder) {\r\n response = await Vue.$api.get(this.modelId, this.currency)\r\n } else {\r\n response = await Vue.$api.getOrder(this.modelId, this.currency)\r\n }\r\n\r\n if (200 !== response.status) {\r\n this.loadingOverlay.error = true\r\n this.loadingOverlay.msg =\r\n response.status === 204 ? 'shared.not-found' : 'shared.unexpected-error'\r\n\r\n return\r\n }\r\n\r\n this.modelInformationData.current = response.data\r\n this.modalsData = this.summaryModalsService.modalsData\r\n\r\n headerRxjsHelper.setTitle(this.modelInformationData.current.name)\r\n headerRxjsHelper.setModalsData(this.modalsData)\r\n\r\n this.prepDataOnStart()\r\n\r\n const defaultSelection = this.formService.getDefaultFormSelectionObject(\r\n this.modelInformationData.current.components\r\n )\r\n\r\n this.form.current = defaultSelection.form\r\n\r\n this.formService.onSelect(\r\n this.modelInformationData.current,\r\n {}, // old form\r\n defaultSelection.changes\r\n )\r\n\r\n this.createWeightGroupsIndexes()\r\n this.findAndChooseBestSelectedOptionDistributionBaseOnWholeForm()\r\n\r\n this.validateForm()\r\n this.findSolutionsIfNeeded()\r\n\r\n this.copyFormAndModelInformation()\r\n\r\n this.loadingOverlay.isLoading = false\r\n\r\n this.totalPrice = this.formService.computeTotalPrice(\r\n this.form.current,\r\n this.modelInformationData.current.components,\r\n this.modelInformationData.current.price,\r\n this.vat\r\n )\r\n },\r\n\r\n beforeDestroy() {\r\n this.contactDataSubscription.unsubscribe()\r\n this.currentModalSubscription.unsubscribe()\r\n },\r\n\r\n methods: {\r\n onSubmit(evt) {\r\n evt.preventDefault()\r\n this.$bvModal.show('form-summary-modal')\r\n },\r\n\r\n isInvalidFeebacksInComponent(componentName) {\r\n return (\r\n this.form.invalidFeedbacks[componentName] !== undefined &&\r\n this.form.invalidFeedbacks[componentName].length > 0\r\n )\r\n },\r\n\r\n copyFormAndModelInformation() {\r\n this.form.old = this.copyObject(this.form.current)\r\n this.modelInformationData.old = this.copyObject(\r\n this.modelInformationData.current\r\n )\r\n },\r\n\r\n validateForm() {\r\n this.form.invalidFeedbacks = this.formService.validate(\r\n this.modelInformationData.current,\r\n this.form.current\r\n )\r\n },\r\n\r\n onReset() {\r\n this.$router.go(0)\r\n },\r\n\r\n onLastListInput(input, componentName) {\r\n this.breakFindingSolutions()\r\n\r\n const changes = this.formService.getFormChanges(this.form.old, {\r\n componentName: componentName,\r\n options: input,\r\n })\r\n\r\n this.formService.onSelect(\r\n this.modelInformationData.current,\r\n this.form.old,\r\n changes\r\n )\r\n\r\n const requirements = this.formService.getRequirementsPriorityByChanges(\r\n this.modelInformationData.current.components,\r\n this.form.current,\r\n changes\r\n )\r\n\r\n // + this function sets requirements data if requirements exists\r\n this.showModalIfRequirementsWereFound(requirements)\r\n if (undefined === this.form.requirements) {\r\n this.findAndChooseBestSelectedOptionDistributionBaseOnChange(changes)\r\n this.copyFormAndModelInformation()\r\n this.validateForm()\r\n this.findSolutionsIfNeeded()\r\n }\r\n },\r\n\r\n onModalRequirementsEmit(formChanges) {\r\n this.breakFindingSolutions()\r\n\r\n if (!formChanges) {\r\n this.resetFormAndModelInformationToPrevSelection()\r\n this.validateForm()\r\n } else {\r\n this.addChangesToForm(formChanges)\r\n }\r\n\r\n this.findSolutionsIfNeeded()\r\n\r\n this.form.requirements = undefined\r\n },\r\n\r\n addChangesToForm(changes) {\r\n this.formService.onSelect(\r\n this.modelInformationData.current,\r\n this.form.old,\r\n changes\r\n )\r\n this.formService.addApprovedRequirementsToForm(\r\n this.modelInformationData.current.components,\r\n this.form.current,\r\n changes\r\n )\r\n this.findAndChooseBestSelectedOptionDistributionBaseOnChange(changes)\r\n this.copyFormAndModelInformation()\r\n this.validateForm()\r\n },\r\n\r\n resetFormAndModelInformationToPrevSelection() {\r\n this.form.current = this.copyObject(this.form.old)\r\n this.modelInformationData.current = this.copyObject(\r\n this.modelInformationData.old\r\n )\r\n },\r\n\r\n showModalIfRequirementsWereFound(requirements) {\r\n if (requirements === undefined) {\r\n return\r\n }\r\n\r\n Object.keys(requirements).some(componentName => {\r\n if (this.form.requirements !== undefined) {\r\n return true\r\n }\r\n\r\n const componentsRequiremetnsObject = requirements[componentName]\r\n Object.keys(componentsRequiremetnsObject).some(optionId => {\r\n const optionRequirements = componentsRequiremetnsObject[optionId]\r\n if (optionRequirements.length > 0) {\r\n this.form.requirements = requirements\r\n this.$bvModal.show('requirements-modal')\r\n\r\n return true\r\n }\r\n })\r\n })\r\n },\r\n\r\n findAndChooseBestSelectedOptionDistributionBaseOnWholeForm() {\r\n this.formService.findAndChooseBestSelectedOptionDistributionBaseOnWholeForm(\r\n this.modelInformationData.current,\r\n this.form.current\r\n )\r\n },\r\n\r\n findAndChooseBestSelectedOptionDistributionBaseOnChange(changes) {\r\n this.formService.findAndChooseBestSelectedOptionDistributionBaseOnChange(\r\n this.modelInformationData.current,\r\n this.form.current,\r\n changes\r\n )\r\n },\r\n\r\n createWeightGroupsIndexes() {\r\n this.formService.createWeightGroupsIndexes(\r\n this.modelInformationData.current.weightGroups\r\n )\r\n },\r\n\r\n prepDataOnStart() {\r\n this.formService.prepDataOnStart(this.modelInformationData.current)\r\n },\r\n\r\n findSolutionsIfNeeded() {\r\n this.formService.runFindingSolutions(\r\n this.modelInformationData.current,\r\n this.form.current,\r\n this.form.invalidFeedbacks,\r\n this.workers.invalidFeedbacks,\r\n this.refreshErrorNotificationBox\r\n )\r\n },\r\n\r\n refreshErrorNotificationBox() {\r\n // Hack to refresh FormErrorNotificationBox\r\n this.renderErrorNotificationBox = false\r\n this.$nextTick(() => {\r\n this.renderErrorNotificationBox = true\r\n })\r\n },\r\n\r\n breakFindingSolutions() {\r\n this.formService.closeWorkers(this.workers.invalidFeedbacks)\r\n },\r\n\r\n openSolutionsModal(invalidFeedback) {\r\n if (\r\n Array.isArray(invalidFeedback.solutions) &&\r\n 0 < invalidFeedback.solutions.length\r\n ) {\r\n this.solutionsModalData = invalidFeedback.solutions\r\n this.$bvModal.show('solutions-modal')\r\n }\r\n },\r\n\r\n setSummaryModalData(modalData) {\r\n this.summaryModalData = modalData\r\n },\r\n\r\n onSummaryModalFormValuesChange(values) {\r\n this.summaryModalFormValues = values\r\n },\r\n\r\n getTotalPriceNet() {\r\n return new Decimal(this.totalPrice.net)\r\n .toFixed(2)\r\n .toString()\r\n .replace(REGEX_PRICE, ' ')\r\n .replace('.', ',')\r\n },\r\n\r\n getTotalPriceGross() {\r\n return new Decimal(this.totalPrice.gross)\r\n .toFixed(2)\r\n .toString()\r\n .replace(REGEX_PRICE, ' ')\r\n .replace('.', ',')\r\n },\r\n\r\n setListSubmitted(value) {\r\n this.$set(this.form.submittedLists, value.name, value.isSubmitted)\r\n },\r\n },\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/eslint-loader/index.js??ref--14-0!./form.js?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/eslint-loader/index.js??ref--14-0!./form.js?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Form.vue?vue&type=template&id=38480676&scoped=true&\"\nimport script from \"./form.js?vue&type=script&lang=js&\"\nexport * from \"./form.js?vue&type=script&lang=js&\"\nimport style0 from \"./form.scss?vue&type=style&index=0&id=38480676&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"38480676\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\r\nimport VueI18n from 'vue-i18n'\r\n\r\nVue.use(VueI18n)\r\n\r\nfunction loadLocaleMessages() {\r\n const locales = require.context(\r\n './locales',\r\n true,\r\n /[A-Za-z0-9-_,\\s]+\\.json$/i\r\n )\r\n const messages = {}\r\n locales.keys().forEach(key => {\r\n const matched = key.match(/([A-Za-z0-9-_]+)\\./i)\r\n if (matched && matched.length > 1) {\r\n const locale = matched[1]\r\n messages[locale] = locales(key)\r\n }\r\n })\r\n return messages\r\n}\r\n\r\nexport default new VueI18n({\r\n locale: process.env.VUE_APP_I18N_LOCALE || 'en',\r\n fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || 'en',\r\n messages: loadLocaleMessages(),\r\n silentTranslationWarn: true,\r\n})\r\n","import Vue from 'vue'\r\nimport VueRouter from 'vue-router'\r\nimport Home from '../views/home/Home.vue'\r\nimport Form from '../views/form/Form.vue'\r\nimport i18n from '../i18n'\r\nimport { SESSION_KEY_BACK_URL } from '../utils/session'\r\n\r\nVue.use(VueRouter)\r\n\r\nconst routes = [\r\n {\r\n path: '/:locale',\r\n component: {\r\n template: '',\r\n },\r\n beforeEnter: (to, _from, next) => {\r\n const locale = to.params.locale\r\n const supportedLocales = process.env.VUE_APP_I18N_SUPPORTED_LOCALE.split(\r\n ','\r\n )\r\n if (!supportedLocales.includes(locale)) {\r\n return next(process.env.VUE_APP_I18N_LOCALE)\r\n }\r\n\r\n if (i18n.locale !== locale) {\r\n i18n.locale = locale\r\n }\r\n\r\n return next()\r\n },\r\n children: [\r\n {\r\n path: '',\r\n name: 'Home',\r\n component: Home,\r\n },\r\n {\r\n path: 'form/:modelId/:currency/:url?',\r\n name: 'Form',\r\n component: Form,\r\n beforeEnter: (to, _from, next) => {\r\n if (to.params.url === undefined) {\r\n return next()\r\n }\r\n\r\n const session = Vue.prototype.$session\r\n session.set(SESSION_KEY_BACK_URL, to.params.url)\r\n\r\n to.params.url = undefined\r\n\r\n return next(to)\r\n },\r\n },\r\n {\r\n path: 'order/:modelId/:currency',\r\n name: 'FormOrder',\r\n props: {\r\n isOrder: true,\r\n },\r\n component: Form,\r\n },\r\n ],\r\n },\r\n {\r\n path: '/form/*',\r\n redirect: '/pl/form/*',\r\n },\r\n]\r\n\r\nconst router = new VueRouter({\r\n routes,\r\n})\r\n\r\nexport default router\r\n","import axios from 'axios'\r\nimport i18n from '@/i18n'\r\n\r\n//#region GET\r\nconst GET_BASE = 'base'\r\nconst GET_SPECIFICATION = 'Specifications'\r\nconst GET_SPECIFICATION_ORDER = 'order' // /Specifications/(...)/GET_SPECIFICATION_ORDER\r\n//#endregion\r\n\r\n//#region POST\r\nconst POST_SPECIFICATION = 'orders'\r\n//#endregion\r\n\r\nlet http = null\r\nclass APIProvider {\r\n constructor(url, token) {\r\n this.create(url, token)\r\n }\r\n\r\n create(url, token) {\r\n http = axios.create({\r\n baseURL: url,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n api_key: token,\r\n },\r\n })\r\n }\r\n\r\n //#region GET\r\n getBase() {\r\n return http\r\n .get(`/${GET_BASE}/${i18n.locale}`)\r\n .then(response => {\r\n return response\r\n })\r\n .catch(() => {\r\n return this._returnUnexpectedError()\r\n })\r\n }\r\n\r\n get(modelId, currency) {\r\n return http\r\n .get(\r\n `/${GET_SPECIFICATION}/${modelId}/${currency.toLowerCase()}/${\r\n i18n.locale\r\n }`\r\n )\r\n .then(response => {\r\n return response\r\n })\r\n .catch(() => {\r\n return this._returnUnexpectedError()\r\n })\r\n }\r\n\r\n getOrder(modelId, currency) {\r\n return http\r\n .get(\r\n `/${GET_SPECIFICATION}/${modelId}/${currency.toLowerCase()}/${\r\n i18n.locale\r\n }/${GET_SPECIFICATION_ORDER}`\r\n )\r\n .then(response => {\r\n return response\r\n })\r\n .catch(() => {\r\n return this._returnUnexpectedError()\r\n })\r\n }\r\n //#endregion\r\n\r\n //#region POST\r\n post(body) {\r\n return http\r\n .post('/' + POST_SPECIFICATION, body)\r\n .then(response => {\r\n return response\r\n })\r\n .catch(() => {\r\n return this._returnUnexpectedError()\r\n })\r\n }\r\n //#endregion\r\n\r\n _returnUnexpectedError() {\r\n return {\r\n status: 500,\r\n data: {\r\n message: 'shared.unexpected-error',\r\n },\r\n }\r\n }\r\n}\r\n\r\nexport default new APIProvider(\r\n process.env.VUE_APP_API_URL,\r\n process.env.VUE_APP_API_TOKEN\r\n)\r\n","import './custom.scss'\r\nimport Vue from 'vue'\r\nimport App from '@/app/App.vue'\r\nimport './registerServiceWorker'\r\nimport router from './router'\r\nimport api from '@/utils/api'\r\nimport { BootstrapVue, IconsPlugin } from 'bootstrap-vue'\r\nimport i18n from './i18n'\r\nimport VueSessionStorage from 'vue-sessionstorage'\r\n\r\nVue.config.productionTip = false\r\nVue.$api = api\r\nVue.use(VueSessionStorage)\r\nVue.use(BootstrapVue)\r\nVue.use(IconsPlugin)\r\n\r\nVue.mixin({\r\n methods: {\r\n copyObject(object) {\r\n return JSON.parse(JSON.stringify(object))\r\n },\r\n },\r\n})\r\n\r\nnew Vue({\r\n router,\r\n i18n,\r\n render: h => h(App),\r\n}).$mount('#app')\r\n\r\nObject.defineProperty(Vue.prototype, '$api', {\r\n get() {\r\n return api\r\n },\r\n})\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./the-footer.scss?vue&type=style&index=0&lang=scss&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./language-switcher.scss?vue&type=style&index=0&id=21f21ce4&scoped=true&lang=scss&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./form-list-hidden-option-bar.scss?vue&type=style&index=0&id=44c59603&scoped=true&lang=scss&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./form-option-details-collapse-attributes.scss?vue&type=style&index=0&id=765957bb&scoped=true&lang=scss&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./form-summary-modal-button.scss?vue&type=style&index=0&id=62914a40&scoped=true&lang=scss&\"","import FormMicroserviceAbstract from './form-microservice-abstract'\r\n\r\nexport default class FormMicroserviceRequirements extends FormMicroserviceAbstract {\r\n getRequirementsPriorityByChanges(components, form, changes) {\r\n const requirements = this.getRequirements(components, form)\r\n this.priorityRequirementsByChanges(components, changes, requirements)\r\n\r\n return requirements\r\n }\r\n\r\n getRequirements(components, form) {\r\n const requirementsObject = {}\r\n\r\n Object.keys(form).forEach(index => {\r\n form[index].forEach(formObject => {\r\n const optionWithComponentName = this.findOptionWithComponentName(\r\n components,\r\n formObject.id\r\n )\r\n\r\n if (!optionWithComponentName.option.requirements) {\r\n return\r\n }\r\n\r\n _initRequirementsObject(\r\n requirementsObject,\r\n optionWithComponentName.componentName,\r\n optionWithComponentName.option.id\r\n )\r\n\r\n _addRequirements(\r\n form,\r\n optionWithComponentName.option,\r\n formObject.quantity,\r\n requirementsObject[optionWithComponentName.componentName][\r\n optionWithComponentName.option.id\r\n ]\r\n )\r\n })\r\n })\r\n\r\n return requirementsObject\r\n }\r\n\r\n priorityRequirementsByChanges(components, changes, requirementsObject) {\r\n changes.forEach(changeObject => {\r\n Object.keys(requirementsObject).some(componentName => {\r\n Object.keys(requirementsObject[componentName]).forEach(optionId => {\r\n if (parseInt(optionId) === changeObject.id) {\r\n return\r\n }\r\n\r\n const changeObjectComponentName = this.findOptionWithComponentName(\r\n components,\r\n changeObject.id\r\n ).componentName\r\n\r\n requirementsObject[componentName][optionId].some(requirement => {\r\n _priorityRequirementsByChange(\r\n this,\r\n components,\r\n requirement,\r\n componentName,\r\n optionId,\r\n changeObject,\r\n changeObjectComponentName,\r\n requirementsObject\r\n )\r\n })\r\n })\r\n })\r\n })\r\n }\r\n\r\n addApprovedRequirementsToForm(components, form, approvedChanges) {\r\n approvedChanges.forEach(change => {\r\n // Option always exists (if not: there is bug before this function)\r\n const componentName = this.findOptionWithComponentName(\r\n components,\r\n change.id\r\n ).componentName\r\n\r\n if (!form[componentName]) {\r\n form[componentName] = []\r\n form[componentName].push(change)\r\n\r\n return\r\n }\r\n\r\n const changedFormObject = _changeExistingFormObjectBasedOnChange(\r\n form[componentName],\r\n change\r\n )\r\n if (changedFormObject) {\r\n form[componentName] = changedFormObject\r\n\r\n return\r\n }\r\n\r\n form[componentName].push(change)\r\n })\r\n }\r\n}\r\n\r\nfunction _initRequirementsObject(requirementsObject, componentName, optionId) {\r\n if (!requirementsObject[componentName]) {\r\n requirementsObject[componentName] = {}\r\n }\r\n if (!requirementsObject[componentName][optionId]) {\r\n requirementsObject[componentName][optionId] = []\r\n }\r\n}\r\n\r\nfunction _changeExistingFormObjectBasedOnChange(formObject, approvedChange) {\r\n for (let i = 0; i < formObject.length; i++) {\r\n if (formObject[i].id === approvedChange.id) {\r\n formObject[i].quantity += approvedChange.quantity\r\n if (0 === formObject[i].quantity) {\r\n formObject = formObject.filter(item => item.id !== formObject[i].id)\r\n }\r\n\r\n return formObject\r\n }\r\n }\r\n\r\n return false\r\n}\r\n\r\nfunction _addRequirements(\r\n form,\r\n option,\r\n formObjectQuantity,\r\n requirementsObject\r\n) {\r\n if (option.requirements.oneTime) {\r\n _addRequirementsOptions(\r\n form,\r\n option.requirements.oneTime,\r\n requirementsObject\r\n )\r\n }\r\n\r\n if (option.requirements.eachTime) {\r\n _addRequirementsOptions(\r\n form,\r\n option.requirements.eachTime,\r\n requirementsObject,\r\n formObjectQuantity\r\n )\r\n }\r\n}\r\n\r\nfunction _addRequirementsOptions(\r\n form,\r\n requirements,\r\n requirementsObject,\r\n formObjectQuantity = 1\r\n) {\r\n if (requirements.components && Array.isArray(requirements.components)) {\r\n _addRequirementsOptionsComponents(\r\n form,\r\n requirements.components,\r\n formObjectQuantity,\r\n requirementsObject\r\n )\r\n }\r\n\r\n if (\r\n requirements.componentsFromList &&\r\n Array.isArray(requirements.componentsFromList)\r\n ) {\r\n _addRequirementsOptionsComponentsFromList(\r\n form,\r\n requirements.componentsFromList,\r\n formObjectQuantity,\r\n requirementsObject\r\n )\r\n }\r\n}\r\n\r\nfunction _addRequirementsOptionsComponents(\r\n form,\r\n requiredComponents,\r\n formObjectQuantity,\r\n requirementsObject\r\n) {\r\n requiredComponents.forEach(requiredComponent => {\r\n const formObject = _findFormObjectById(form, requiredComponent.id)\r\n\r\n _addRequirementsOptionsQuantity(\r\n requiredComponent,\r\n formObject ? formObject.quantity : 0,\r\n {\r\n id: requiredComponent.id,\r\n name: requiredComponent.name,\r\n quantity: undefined,\r\n },\r\n formObjectQuantity,\r\n requirementsObject\r\n )\r\n })\r\n}\r\n\r\nfunction _addRequirementsOptionsComponentsFromList(\r\n form,\r\n requiredComponentsFromList,\r\n formObjectQuantity,\r\n requirementsObject\r\n) {\r\n requiredComponentsFromList.forEach(requiredFromList => {\r\n let countQuantity = 0\r\n requiredFromList.list.forEach(requiredComponent => {\r\n const formObject = _findFormObjectById(form, requiredComponent.id)\r\n if (formObject) {\r\n countQuantity += formObject.quantity\r\n }\r\n })\r\n\r\n _addRequirementsOptionsQuantity(\r\n requiredFromList,\r\n countQuantity,\r\n {\r\n list: requiredFromList.list,\r\n quantity: undefined,\r\n },\r\n formObjectQuantity,\r\n requirementsObject\r\n )\r\n })\r\n}\r\n\r\nfunction _addRequirementsOptionsQuantity(\r\n required,\r\n optionQuantity,\r\n prepRequirementObjetc,\r\n formObjectQuantity,\r\n requirementsObject\r\n) {\r\n if (\r\n _isRequiredQuantityInvalid(\r\n required.quantity,\r\n optionQuantity,\r\n formObjectQuantity\r\n )\r\n ) {\r\n prepRequirementObjetc.quantity =\r\n required.quantity * formObjectQuantity - optionQuantity\r\n } else if (_isMinQuantityInvalid(required.minQuantity, optionQuantity)) {\r\n prepRequirementObjetc.quantity = required.minQuantity - optionQuantity\r\n } else if (_isMaxQuantityInvalid(required.maxQuantity, optionQuantity)) {\r\n prepRequirementObjetc.quantity = required.maxQuantity - optionQuantity\r\n }\r\n\r\n if (prepRequirementObjetc.quantity) {\r\n const reqObject = _getRequirementsObjectItem(\r\n requirementsObject,\r\n prepRequirementObjetc\r\n )\r\n if (!reqObject) {\r\n requirementsObject.push(prepRequirementObjetc)\r\n\r\n return\r\n }\r\n\r\n reqObject.quantity += prepRequirementObjetc.quantity\r\n }\r\n}\r\n\r\nfunction _isRequiredQuantityInvalid(\r\n requiredQuantity,\r\n optionQuantity,\r\n formObjectQuantity\r\n) {\r\n return (\r\n undefined !== requiredQuantity &&\r\n optionQuantity !== requiredQuantity * formObjectQuantity\r\n )\r\n}\r\n\r\nfunction _isMinQuantityInvalid(requiredMinQuantity, optionQuantity) {\r\n return (\r\n undefined !== requiredMinQuantity && optionQuantity < requiredMinQuantity\r\n )\r\n}\r\n\r\nfunction _isMaxQuantityInvalid(requiredMaxQuantity, optionQuantity) {\r\n return (\r\n undefined !== requiredMaxQuantity && optionQuantity > requiredMaxQuantity\r\n )\r\n}\r\n\r\nfunction _findFormObjectById(form, objectId) {\r\n let formObject = undefined\r\n Object.keys(form).some(index => {\r\n formObject = form[index].find(item => item.id === objectId)\r\n if (formObject) {\r\n return true\r\n }\r\n })\r\n\r\n return formObject\r\n}\r\n\r\nfunction _getRequirementsObjectItem(requirementsObject, prepRequirementObjetc) {\r\n if (prepRequirementObjetc.list) {\r\n return requirementsObject.find(\r\n item =>\r\n JSON.stringify(item.list) === JSON.stringify(prepRequirementObjetc.list)\r\n )\r\n } else if (prepRequirementObjetc.id) {\r\n return requirementsObject.find(item => item.id === prepRequirementObjetc.id)\r\n }\r\n\r\n return undefined\r\n}\r\n\r\nfunction _priorityRequirementsByChange(\r\n parentThis,\r\n components,\r\n requirement,\r\n componentName,\r\n optionId,\r\n changeObject,\r\n changeObjectComponentName,\r\n requirementsObject\r\n) {\r\n if (_isRequirementBlockingIncomingChangeById(requirement, changeObject)) {\r\n // remove blocking requirements\r\n requirementsObject[componentName][optionId] = []\r\n\r\n // init requirementsObject[option.componentName][change.id]\r\n _initRequirementsObject(\r\n requirementsObject,\r\n changeObjectComponentName,\r\n changeObject.id\r\n )\r\n\r\n // add new requirement\r\n const optionToRemove = parentThis.findOptionWithComponentName(\r\n components,\r\n parseInt(optionId)\r\n )\r\n requirementsObject[changeObjectComponentName][changeObject.id].push({\r\n id: optionToRemove.option.id,\r\n name: optionToRemove.option.name,\r\n quantity: -1,\r\n })\r\n\r\n return true\r\n }\r\n}\r\n\r\nfunction _isRequirementBlockingIncomingChangeById(\r\n requirementObject,\r\n changeObject\r\n) {\r\n return (\r\n undefined !== requirementObject.id &&\r\n requirementObject.id === changeObject.id &&\r\n 0 === changeObject.quantity + requirementObject.quantity\r\n )\r\n}\r\n","import FormMicroserviceAbstract from './form-microservice-abstract'\r\n\r\nexport default class FormMicroserviceManageWeights extends FormMicroserviceAbstract {\r\n weightGroupsIndexes = []\r\n\r\n createWeightGroupsIndex(baseModalWeightGroups) {\r\n for (let i = 0; i < baseModalWeightGroups.length; i++) {\r\n this.weightGroupsIndexes[baseModalWeightGroups[i].id] = i\r\n }\r\n }\r\n\r\n getBestSelectedOptionDistributionBaseOnChangeAndForm(\r\n components,\r\n weightGroups,\r\n form,\r\n changes\r\n ) {\r\n _validateWeightGroupsIndexes(this)\r\n\r\n let bestPossibility = this.getBestSelectedOptionDistributionBaseOnChange(\r\n components,\r\n weightGroups,\r\n changes,\r\n this\r\n )\r\n if (!bestPossibility.isValid) {\r\n bestPossibility = this.getBestSelectedOptionDistributionBaseOnWholeForm(\r\n components,\r\n weightGroups,\r\n form\r\n )\r\n }\r\n\r\n return bestPossibility\r\n }\r\n\r\n getBestSelectedOptionDistributionBaseOnChange(\r\n components,\r\n weightGroups,\r\n changes\r\n ) {\r\n _validateWeightGroupsIndexes(this)\r\n\r\n const possibilities = _getPossibilitiesBaseOnChange(\r\n changes,\r\n components,\r\n weightGroups,\r\n this\r\n )\r\n\r\n return _getBestPossibility(possibilities, this)\r\n }\r\n\r\n getBestSelectedOptionDistributionBaseOnWholeForm(\r\n components,\r\n weightGroups,\r\n form\r\n ) {\r\n _validateWeightGroupsIndexes(this)\r\n\r\n const possibilities = _getPossibilitiesBaseOnForm(\r\n form,\r\n components,\r\n weightGroups,\r\n this\r\n )\r\n\r\n return _getBestPossibility(possibilities, this)\r\n }\r\n}\r\n\r\nfunction _validateWeightGroupsIndexes(thisClass) {\r\n if (0 === thisClass.weightGroupsIndexes.length) {\r\n throw 'Indexes can not be empty -> createWeightGroupsIndex'\r\n }\r\n}\r\n\r\nfunction _getPossibilitiesBaseOnChange(\r\n changes,\r\n components,\r\n weightGroups,\r\n microservice\r\n) {\r\n let possibilities = [microservice.copyObject(weightGroups)]\r\n _restoreWeightFromPossibilityForUnselectedOptions(\r\n changes,\r\n components,\r\n possibilities[0],\r\n microservice\r\n )\r\n possibilities = _createPossibilitiesForNewOptions(\r\n changes,\r\n components,\r\n possibilities,\r\n microservice\r\n )\r\n\r\n return possibilities\r\n}\r\n\r\nfunction _createPossibilitiesForNewOptions(\r\n changes,\r\n components,\r\n possibilities,\r\n microservice\r\n) {\r\n changes.forEach(change => {\r\n if (0 < change.quantity) {\r\n const modelOptionData = microservice.findOptionWithComponentName(\r\n components,\r\n change.id\r\n )\r\n if (undefined === modelOptionData.option) {\r\n return\r\n }\r\n\r\n possibilities = _createNewPossibilities(\r\n microservice.weightGroupsIndexes,\r\n change.quantity,\r\n modelOptionData.option,\r\n possibilities,\r\n microservice\r\n )\r\n }\r\n })\r\n\r\n return possibilities\r\n}\r\n\r\nfunction _restoreWeightFromPossibilityForUnselectedOptions(\r\n changes,\r\n components,\r\n weightGroupsPossibility,\r\n microservice\r\n) {\r\n changes.forEach(change => {\r\n if (0 > change.quantity) {\r\n const modelOptionData = microservice.findOptionWithComponentName(\r\n components,\r\n change.id\r\n )\r\n if (undefined === modelOptionData.option) {\r\n return\r\n }\r\n\r\n for (let i = 0; i < weightGroupsPossibility.length; i++) {\r\n const optionInUseIndex = _getOptionInUseIndex(\r\n weightGroupsPossibility[i].options,\r\n change.id\r\n )\r\n if (-1 !== optionInUseIndex) {\r\n _restoreWeightFromGroup(\r\n optionInUseIndex,\r\n weightGroupsPossibility[i],\r\n -1 * change.quantity,\r\n modelOptionData.option.weightGroups\r\n )\r\n\r\n if (modelOptionData.option.occupyAllWeightGroups !== true) {\r\n return\r\n }\r\n }\r\n }\r\n }\r\n })\r\n}\r\n\r\nfunction _getOptionInUseIndex(weightGroupOptions, optionId) {\r\n for (let i = 0; i < weightGroupOptions.length; i++) {\r\n if (weightGroupOptions[i].id === optionId) {\r\n return i\r\n }\r\n }\r\n\r\n return -1\r\n}\r\n\r\nfunction _restoreWeightFromGroup(\r\n optionInUseIndex,\r\n weightGroupPossibility,\r\n quantityToRestore,\r\n modelOptionWeightGroups\r\n) {\r\n weightGroupPossibility.options[optionInUseIndex].quantity -= quantityToRestore\r\n const weight = modelOptionWeightGroups.find(\r\n group => group.id === weightGroupPossibility.id\r\n ).weight\r\n weightGroupPossibility.weightInUse -= quantityToRestore * weight\r\n\r\n if (0 === weightGroupPossibility.options[optionInUseIndex].quantity) {\r\n weightGroupPossibility.options.splice(optionInUseIndex, 1)\r\n }\r\n}\r\n\r\nfunction _getPossibilitiesBaseOnForm(\r\n form,\r\n components,\r\n weightGroups,\r\n microservice\r\n) {\r\n let possibilities = [\r\n _getRestoredWeightGroupsFromOccupatedOptions(weightGroups, microservice),\r\n ]\r\n Object.keys(form).forEach(componentName => {\r\n const modelComponent = components.find(\r\n component => component.name === componentName\r\n )\r\n if (\r\n undefined === modelComponent ||\r\n undefined === modelComponent.list ||\r\n !Array.isArray(modelComponent.list)\r\n ) {\r\n return\r\n }\r\n\r\n form[componentName].forEach(selectedOption => {\r\n const modelOption = modelComponent.list.find(\r\n option => option.id === selectedOption.id\r\n )\r\n if (undefined === modelOption || undefined === modelOption.weightGroups) {\r\n return\r\n }\r\n possibilities = _createNewPossibilities(\r\n microservice.weightGroupsIndexes,\r\n selectedOption.quantity,\r\n modelOption,\r\n possibilities,\r\n microservice\r\n )\r\n })\r\n })\r\n\r\n return possibilities\r\n}\r\n\r\nfunction _getRestoredWeightGroupsFromOccupatedOptions(\r\n weightGroups,\r\n microservice\r\n) {\r\n const restoredWeightGroups = microservice.copyObject(weightGroups)\r\n restoredWeightGroups.forEach(group => {\r\n group.weightInUse = 0\r\n group.options = []\r\n })\r\n\r\n return restoredWeightGroups\r\n}\r\n\r\nfunction _initBestPossibility(possibility) {\r\n const score = _getWeightGroupsScore(possibility)\r\n const bestPossibility = {\r\n points: score.points,\r\n possibility: possibility,\r\n isValid: score.isValid,\r\n }\r\n\r\n return bestPossibility\r\n}\r\n\r\nfunction _initBestValidPossibility(bestPossibility) {\r\n const bestValidPossibility = bestPossibility\r\n if (!bestValidPossibility.isValid) {\r\n bestValidPossibility.points = 0\r\n }\r\n\r\n return bestValidPossibility\r\n}\r\n\r\nfunction _getBestPossibility(possibilities, microservice) {\r\n let bestPossibility = _initBestPossibility(possibilities[0])\r\n let bestValidPossibility = _initBestValidPossibility(\r\n microservice.copyObject(bestPossibility)\r\n )\r\n\r\n for (let i = 1; i < possibilities.length; i++) {\r\n const score = _getWeightGroupsScore(possibilities[i])\r\n if (score.isValid && score.points >= bestValidPossibility.points) {\r\n bestValidPossibility.isValid = true\r\n bestValidPossibility.points = score.points\r\n bestValidPossibility.possibility = possibilities[i]\r\n } else if (\r\n !bestValidPossibility.isValid &&\r\n score.points > bestPossibility.points\r\n ) {\r\n bestPossibility.points = score.points\r\n bestPossibility.possibility = possibilities[i]\r\n }\r\n }\r\n\r\n if (bestValidPossibility.isValid) {\r\n return bestValidPossibility\r\n }\r\n\r\n return bestPossibility\r\n}\r\n\r\nfunction _getWeightGroupsScore(possibility) {\r\n const score = {\r\n points: 0,\r\n isValid: true,\r\n }\r\n possibility.forEach(weightGroup => {\r\n if (\r\n undefined !== weightGroup.isUnlimited &&\r\n true === weightGroup.isUnlimited\r\n ) {\r\n score.points += 100\r\n return\r\n }\r\n\r\n let tmpPoints = 0\r\n if (0 === weightGroup.weight && 0 < weightGroup.weightInUse) {\r\n tmpPoints = -100\r\n } else if (0 !== weightGroup.weight) {\r\n tmpPoints = 100 - (weightGroup.weightInUse / weightGroup.weight) * 100\r\n }\r\n if (0 > tmpPoints) {\r\n score.isValid = false\r\n }\r\n\r\n score.points += tmpPoints\r\n })\r\n\r\n return score\r\n}\r\n\r\nfunction _createPossibilities(\r\n weightGroupsIndexes,\r\n quantity,\r\n possibility,\r\n possibilities,\r\n modelOption,\r\n microservice,\r\n weightGroupStarterPosition = 0\r\n) {\r\n for (\r\n let i = weightGroupStarterPosition;\r\n i < modelOption.weightGroups.length;\r\n i++\r\n ) {\r\n const index = weightGroupsIndexes[modelOption.weightGroups[i].id]\r\n for (let j = 1; j <= quantity; j++) {\r\n const newPossibility = microservice.copyObject(possibility)\r\n _addWeightToGroup(\r\n modelOption.weightGroups[i].weight,\r\n modelOption.id,\r\n j,\r\n newPossibility[index]\r\n )\r\n if (_isLastQuantityMove(j, quantity)) {\r\n possibilities.push(newPossibility)\r\n } else if (\r\n _isThisNotTheLastOneModelOptionGroup(i, modelOption.weightGroups)\r\n ) {\r\n _createPossibilities(\r\n weightGroupsIndexes,\r\n quantity - j,\r\n newPossibility,\r\n possibilities,\r\n modelOption,\r\n microservice,\r\n i + 1\r\n )\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction _getPossibilityOccupyAllWeightGroups(\r\n weightGroupsIndexes,\r\n quantity,\r\n possibility,\r\n modelOption,\r\n microservice\r\n) {\r\n const newPossibility = microservice.copyObject(possibility)\r\n for (let i = 0; i < modelOption.weightGroups.length; i++) {\r\n const index = weightGroupsIndexes[modelOption.weightGroups[i].id]\r\n _addWeightToGroup(\r\n modelOption.weightGroups[i].weight,\r\n modelOption.id,\r\n quantity,\r\n newPossibility[index]\r\n )\r\n }\r\n\r\n return newPossibility\r\n}\r\n\r\nfunction _createNewPossibilities(\r\n weightGroupsIndexes,\r\n quantity,\r\n modelOption,\r\n possibilities,\r\n microservice\r\n) {\r\n const newPossibilities = []\r\n if (modelOption.occupyAllWeightGroups === true) {\r\n possibilities.forEach(possibility => {\r\n const newPossibility = _getPossibilityOccupyAllWeightGroups(\r\n weightGroupsIndexes,\r\n quantity,\r\n possibility,\r\n modelOption,\r\n microservice\r\n )\r\n newPossibilities.push(newPossibility)\r\n })\r\n } else {\r\n possibilities.forEach(possibility => {\r\n _createPossibilities(\r\n weightGroupsIndexes,\r\n quantity,\r\n possibility,\r\n newPossibilities,\r\n modelOption,\r\n microservice\r\n )\r\n })\r\n }\r\n\r\n if (0 < newPossibilities.length) {\r\n return newPossibilities\r\n }\r\n\r\n return possibilities\r\n}\r\n\r\nfunction _isLastQuantityMove(move, quantity) {\r\n return move === quantity\r\n}\r\n\r\nfunction _isThisNotTheLastOneModelOptionGroup(\r\n groupIndex,\r\n modelOptionWeightGroups\r\n) {\r\n return groupIndex + 1 !== modelOptionWeightGroups.length\r\n}\r\n\r\nfunction _addWeightToGroup(\r\n optionWeightUseInGroup,\r\n modelOptionId,\r\n quantity,\r\n weightGroupPossibility\r\n) {\r\n const weightGroupPossibilityOption = weightGroupPossibility.options.find(\r\n option => option.id === modelOptionId\r\n )\r\n if (undefined === weightGroupPossibilityOption) {\r\n _createNewWeightGroupOption(\r\n optionWeightUseInGroup,\r\n modelOptionId,\r\n quantity,\r\n weightGroupPossibility\r\n )\r\n\r\n return\r\n }\r\n\r\n _addToExistingWeightGroupOption(\r\n optionWeightUseInGroup,\r\n quantity,\r\n weightGroupPossibilityOption,\r\n weightGroupPossibility\r\n )\r\n}\r\n\r\nfunction _createNewWeightGroupOption(\r\n optionWeightUseInGroup,\r\n optionId,\r\n quantity,\r\n weighGroupsPossibility\r\n) {\r\n weighGroupsPossibility.options.push({\r\n id: optionId,\r\n quantity: quantity,\r\n })\r\n weighGroupsPossibility.weightInUse += optionWeightUseInGroup * quantity\r\n}\r\n\r\nfunction _addToExistingWeightGroupOption(\r\n optionWeightUseInGroup,\r\n quantity,\r\n weightGroupPossibilityOption,\r\n weightGroupPossibility\r\n) {\r\n weightGroupPossibilityOption.quantity += quantity\r\n weightGroupPossibility.weightInUse += optionWeightUseInGroup * quantity\r\n}\r\n","module.exports = __webpack_public_path__ + \"fonts/helvetica-neue-lt-pro-bold.9b655940.ttf\";","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./form-option-details-box.scss?vue&type=style&index=0&id=3bd7abc0&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/pl.86527c2c.png\";","module.exports = __webpack_public_path__ + \"img/summary-back.ddba514e.png\";","module.exports = __webpack_public_path__ + \"fonts/helvetica-neue-lt-pro-light.01e92b1e.ttf\";","import { Decimal } from 'decimal.js'\r\n\r\nexport default class FormMicroservicePrepDataForPost {\r\n prepDataForPost(\r\n modelId,\r\n modelInformationData,\r\n form,\r\n summaryFormFields,\r\n postType,\r\n quantity = 1\r\n ) {\r\n const dataForPost = {\r\n modelId: modelId,\r\n quantity: quantity,\r\n type: postType,\r\n }\r\n\r\n _setPrice(modelInformationData, form, dataForPost, quantity)\r\n _setOrderItems(form, dataForPost)\r\n _setSummaryFormFieldsData(summaryFormFields, dataForPost)\r\n\r\n return dataForPost\r\n }\r\n}\r\n\r\nfunction _setPrice(modelInformationData, form, dataForPost, quantity) {\r\n let price = new Decimal(modelInformationData.price)\r\n Object.keys(form).forEach(componentName => {\r\n const modelComponent = modelInformationData.components.find(\r\n component => component.name === componentName\r\n )\r\n if (\r\n undefined === modelComponent ||\r\n undefined === modelComponent.list ||\r\n !Array.isArray(modelComponent.list)\r\n ) {\r\n return\r\n }\r\n\r\n price = price.plus(\r\n _getAggregatedPriceForComponent(modelComponent.list, form[componentName])\r\n )\r\n })\r\n\r\n dataForPost.price = new Decimal(price * quantity).toFixed(2)\r\n dataForPost.priceFrontend = new Decimal(price * quantity).toFixed(2)\r\n}\r\n\r\nfunction _getAggregatedPriceForComponent(options, selectedOptions) {\r\n let price = new Decimal(0)\r\n selectedOptions.forEach(selectedOption => {\r\n const option = options.find(x => x.id === selectedOption.id)\r\n if (undefined === option) {\r\n return\r\n }\r\n\r\n price = price.plus(new Decimal(option.price * selectedOption.quantity))\r\n })\r\n\r\n return price\r\n}\r\n\r\nfunction _setOrderItems(form, dataForPost) {\r\n const orderItems = []\r\n\r\n Object.keys(form).forEach(componentName => {\r\n form[componentName].forEach(selectedOption => {\r\n orderItems.push({\r\n modelComponentId: selectedOption.id,\r\n quantity: selectedOption.quantity,\r\n })\r\n })\r\n })\r\n\r\n dataForPost.orderItems = orderItems\r\n}\r\n\r\nfunction _setSummaryFormFieldsData(summaryFormFields, dataForPost) {\r\n Object.keys(summaryFormFields).forEach(field => {\r\n dataForPost[field] = summaryFormFields[field]\r\n })\r\n}\r\n","export default class FormMicroserviceGetChanges {\r\n getFormChanges(oldForm, lastListInput) {\r\n const newSelection = _getNewSelection(oldForm, lastListInput)\r\n if (newSelection) {\r\n return newSelection\r\n }\r\n\r\n const removedSelection = _getRemovedSelection(oldForm, lastListInput)\r\n if (removedSelection) {\r\n return removedSelection\r\n }\r\n\r\n return _getSelectionChanges(oldForm, lastListInput)\r\n }\r\n}\r\n\r\nfunction _getNewSelection(oldForm, lastListInput) {\r\n if (!oldForm[lastListInput.componentName]) {\r\n return lastListInput.options\r\n }\r\n\r\n return null\r\n}\r\n\r\nfunction _getRemovedSelection(oldForm, lastListInput) {\r\n if (0 === lastListInput.options.length) {\r\n const change = []\r\n oldForm[lastListInput.componentName].forEach(oldOption => {\r\n change.push({\r\n id: oldOption.id,\r\n quantity: -oldOption.quantity,\r\n })\r\n })\r\n\r\n return change\r\n }\r\n\r\n return null\r\n}\r\n\r\nfunction _getSelectionChanges(oldForm, lastListInput) {\r\n const change = []\r\n\r\n lastListInput.options.forEach(newOption => {\r\n const oldOption = oldForm[lastListInput.componentName].find(\r\n option => option.id === newOption.id\r\n )\r\n if (!oldOption) {\r\n change.push({\r\n id: newOption.id,\r\n quantity: newOption.quantity,\r\n })\r\n } else if (oldOption.quantity !== newOption.quantity) {\r\n change.push({\r\n id: newOption.id,\r\n quantity: newOption.quantity - oldOption.quantity,\r\n })\r\n }\r\n })\r\n\r\n oldForm[lastListInput.componentName].forEach(oldOption => {\r\n const newOption = lastListInput.options.find(\r\n option => option.id === oldOption.id\r\n )\r\n if (!newOption) {\r\n change.push({\r\n id: oldOption.id,\r\n quantity: -oldOption.quantity,\r\n })\r\n }\r\n })\r\n\r\n return change\r\n}\r\n","module.exports = __webpack_public_path__ + \"img/dell-logo.9159db4f.svg\";","module.exports = __webpack_public_path__ + \"js/0.c50ff3b5.worker.js\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./form-option-requirements-modal-single.scss?vue&type=style&index=0&id=f9ed7ece&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/en.53c05316.png\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./app.scss?vue&type=style&index=0&lang=scss&\"","module.exports = __webpack_public_path__ + \"fonts/helvetica-neue-lt-pro-roman.581167fa.woff2\";","module.exports = __webpack_public_path__ + \"fonts/helvetica-neue-lt-pro-medium.64c38331.woff2\";","var map = {\n\t\"./en.png\": \"9087\",\n\t\"./pl.png\": \"6b0f\"\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 = \"9b25\";","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./form-summary-panel.scss?vue&type=style&index=0&id=ebeaae30&scoped=true&lang=scss&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./loading-overlay.scss?vue&type=style&index=0&id=d999e374&scoped=true&lang=scss&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./form-summary-modal-component.scss?vue&type=style&index=0&id=ba393158&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./home.scss?vue&type=style&index=0&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/shop.332a5b4b.svg\";","import FormMicroserviceAbstract from './form-microservice-abstract'\r\n\r\n// Find solutions for:\r\nexport const INVALID_REQUIRE = 1\r\nexport const INVALID_WEIGHT = 2\r\nexport const INVALID_ATTRIBUTE = 3\r\n\r\nexport default class FormMicroserviceValidate extends FormMicroserviceAbstract {\r\n validate(modelInformationData, form) {\r\n let formObject = undefined\r\n let errors = {}\r\n\r\n modelInformationData.components.forEach(item => {\r\n formObject = form[item.name]\r\n errors[item.name] = []\r\n\r\n _checkIfRequire(item, formObject, errors)\r\n _checkIfUnique(item, formObject, errors)\r\n _checkIfIsRestrictedToOne(item, formObject, errors)\r\n })\r\n\r\n _checkIfComponentQuantityIsInRange(this, modelInformationData, errors)\r\n _checkIfComponentAttributesAreEqual(\r\n modelInformationData.attributes,\r\n form,\r\n errors\r\n )\r\n\r\n return errors\r\n }\r\n}\r\n\r\nfunction _checkIfRequire(item, formObject, errors) {\r\n if (\r\n item.isRequired &&\r\n (!formObject ||\r\n !formObject[0] ||\r\n !formObject[0].id ||\r\n formObject[0].quantity < 1)\r\n ) {\r\n errors[item.name].push({\r\n message: 'form.default.is-required',\r\n findSolutions: INVALID_REQUIRE,\r\n })\r\n }\r\n}\r\n\r\nfunction _checkIfUnique(item, formObject, errors) {\r\n if (item.isUnique && formObject) {\r\n formObject.every(object => {\r\n if (object.quantity > 1) {\r\n errors[item.name].push({\r\n message: 'form.default.is-not-unique',\r\n })\r\n }\r\n })\r\n }\r\n}\r\n\r\nfunction _checkIfIsRestrictedToOne(item, formObject, errors) {\r\n if (item.isRestrictedToOne && formObject && formObject[1]) {\r\n errors[item.name].push({\r\n message: 'form.default.you-can-only-select-one-item',\r\n })\r\n }\r\n}\r\n\r\nfunction _checkIfComponentQuantityIsInRange(\r\n microservice,\r\n modelInformationData,\r\n errors\r\n) {\r\n modelInformationData.weightGroups.forEach(weightGroup => {\r\n if (\r\n true !== weightGroup.isUnlimited &&\r\n weightGroup.weightInUse > weightGroup.weight\r\n ) {\r\n const groupComponentsNames = _getComponentsNames(\r\n microservice,\r\n modelInformationData.components,\r\n weightGroup.options\r\n )\r\n _addWeightErrorToGroupComponents(\r\n groupComponentsNames,\r\n groupComponentsNames,\r\n errors\r\n )\r\n }\r\n })\r\n}\r\n\r\nfunction _getComponentsNames(microservice, components, weightGroupsOptions) {\r\n const componentsNames = []\r\n weightGroupsOptions.forEach(option => {\r\n const optionData = microservice.findOptionWithComponentName(\r\n components,\r\n option.id\r\n )\r\n if (undefined === optionData.componentName) {\r\n return\r\n }\r\n if (\r\n undefined ===\r\n componentsNames.find(name => name === optionData.componentName)\r\n ) {\r\n componentsNames.push(optionData.componentName)\r\n }\r\n })\r\n\r\n return componentsNames\r\n}\r\n\r\nfunction _addWeightErrorToGroupComponents(\r\n groupComponents,\r\n componentsNames,\r\n errors\r\n) {\r\n _addErrorToGroupComponents(\r\n groupComponents,\r\n 'form.default.too-many-selected-items',\r\n { components: componentsNames.join(', ') },\r\n errors,\r\n INVALID_WEIGHT\r\n )\r\n}\r\n\r\nfunction _addAttributeErrorsToGroupComponents(\r\n groupComponents,\r\n attributeName,\r\n optionsNames,\r\n errors\r\n) {\r\n _addErrorToGroupComponents(\r\n groupComponents,\r\n 'form.default.not-equal-attribute-value',\r\n {\r\n attribute: attributeName,\r\n options: optionsNames.join(', '),\r\n },\r\n errors,\r\n INVALID_ATTRIBUTE\r\n )\r\n}\r\n\r\nfunction _addErrorToGroupComponents(\r\n groupComponents,\r\n message,\r\n additional,\r\n errors,\r\n findSolutions\r\n) {\r\n groupComponents.forEach(groupComponent => {\r\n errors[groupComponent].push({\r\n message: message,\r\n additional: additional,\r\n findSolutions: findSolutions,\r\n })\r\n })\r\n}\r\n\r\nfunction _checkIfComponentAttributesAreEqual(\r\n modelInformationAttributes,\r\n form,\r\n errors\r\n) {\r\n const test = JSON.parse(JSON.stringify(modelInformationAttributes))\r\n const attributes = test.filter(attribute => attribute.requiredEqualValues)\r\n\r\n _initAttributeSelectedOptions(form, attributes)\r\n\r\n attributes.forEach(attribute => {\r\n if (\r\n 0 === attribute.selectedOptions.length ||\r\n _isAttributeSelectedOptionsValuesEqual(\r\n attribute.options,\r\n attribute.selectedOptions\r\n )\r\n ) {\r\n return\r\n }\r\n\r\n _addAttributeErrors(\r\n attribute.options,\r\n attribute.selectedOptions,\r\n attribute.name,\r\n errors\r\n )\r\n })\r\n}\r\n\r\nfunction _initAttributeSelectedOptions(form, attributes) {\r\n _clearAttributeSelectedOptions(attributes)\r\n\r\n Object.keys(form).forEach(componentName => {\r\n form[componentName].forEach(selected => {\r\n const selectedAttributes = attributes.filter(\r\n attribute =>\r\n undefined !==\r\n attribute.options.find(option => option.id === selected.id)\r\n )\r\n if (0 < selectedAttributes.length) {\r\n _addToAttributeSelectedOptions(\r\n selected.id,\r\n selectedAttributes,\r\n attributes\r\n )\r\n }\r\n })\r\n })\r\n}\r\n\r\nfunction _clearAttributeSelectedOptions(attributes) {\r\n attributes.forEach(attribute => {\r\n attribute.selectedOptions = []\r\n })\r\n}\r\n\r\nfunction _addToAttributeSelectedOptions(\r\n selectedId,\r\n selectedAttributes,\r\n attributes\r\n) {\r\n selectedAttributes.forEach(selectedAttribute => {\r\n const attribute = attributes.find(\r\n attribute => selectedAttribute.id === attribute.id\r\n )\r\n attribute.selectedOptions.push(selectedId)\r\n })\r\n}\r\n\r\nfunction _isAttributeSelectedOptionsValuesEqual(options, selectedOptions) {\r\n const start = _getFirstSelectedOptionIndexWithValue(options, selectedOptions)\r\n if (null === start) {\r\n return true\r\n }\r\n\r\n const first = options.find(option => option.id === selectedOptions[start])\r\n for (let i = start; i < selectedOptions.length; i++) {\r\n const next = options.find(option => option.id === selectedOptions[i])\r\n if (\r\n undefined !== next.value &&\r\n null !== next.value &&\r\n first.value !== next.value\r\n ) {\r\n return false\r\n }\r\n }\r\n\r\n return true\r\n}\r\n\r\nfunction _getFirstSelectedOptionIndexWithValue(options, selectedOptions) {\r\n for (let i = 0; i < selectedOptions.length; i++) {\r\n const option = options.find(option => option.id === selectedOptions[i])\r\n if (undefined !== option.value && null !== option.value) {\r\n return i\r\n }\r\n }\r\n\r\n return null\r\n}\r\n\r\nfunction _addAttributeErrors(options, selectedOptions, attributeName, errors) {\r\n const optionsNames = []\r\n const componentsNames = []\r\n\r\n for (let i = 0; i < selectedOptions.length; i++) {\r\n const option = options.find(option => option.id === selectedOptions[i])\r\n optionsNames.push(option.name)\r\n if (componentsNames.indexOf(option.componentName) === -1) {\r\n componentsNames.push(option.componentName)\r\n }\r\n }\r\n\r\n _addAttributeErrorsToGroupComponents(\r\n componentsNames,\r\n attributeName,\r\n optionsNames,\r\n errors\r\n )\r\n}\r\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./form-choose-countable-multiple-option-list.scss?vue&type=style&index=0&id=0b69aada&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/optimization.c95bbe64.png\";","module.exports = __webpack_public_path__ + \"img/no-image.f98b32ce.png\";","export * from \"-!../../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./form-list-hidden-option.scss?vue&type=style&index=0&id=7874cab4&scoped=true&lang=scss&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./form-option-details-collapse.scss?vue&type=style&index=0&id=30e1b408&scoped=true&lang=scss&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./form-summary-bar.scss?vue&type=style&index=0&id=45b263d0&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/summary-optimization.c95bbe64.png\";","module.exports = __webpack_public_path__ + \"img/summary-price.4746c5e5.png\";","module.exports = __webpack_public_path__ + \"img/summary-download.37086519.png\";","module.exports = __webpack_public_path__ + \"img/logo.82b9c7a5.png\";","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./form-summary-modal.scss?vue&type=style&index=0&id=22c693de&scoped=true&lang=scss&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./form-list-filter-range.scss?vue&type=style&index=0&id=1fc81300&scoped=true&lang=scss&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./the-header.scss?vue&type=style&index=0&id=73fe1f13&scoped=true&lang=scss&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./form-list-filter-select-multiple.scss?vue&type=style&index=1&id=3ce99272&scoped=true&lang=scss&\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAEgElEQVR4nO2d34uUVRyHn3fdMt2oLbrSRBAKurDQVNY1Q7IrryIIuvUuCCKIkO4DBYNASEjNm9q6EOtfSNGl0BS7inQjSUrwKjHHX+zp4syM786+77w/5hznM/N+HzgsM/O+5z3nPPu+58ycX4lzDkOIDCE7gOPAAtACnIVl4Q5wFthWuqBL4JxbJuQT4A/gJrAokHHlcA+4AMxUKPO+9ArZB1wXyOiohXng9Uoln0NayA7gikDmRjWcBnZVK/7lOOdInHMkSXIceBdYNWCcfwJnBk2YMOuBnTmfzQMfAT/VjTx9hywQps44VjcxI8Kb9M//L8BmYKJO5M657olrgGTQ1DL4HabOMwWfbwa+A14FJutcoCPkiTonG5lsAObwUipT69Yy+jIJvAAcxTeWKmFC4rER+BzYXeUkExKXrcCnVJBSq+IZMR4D3mr/7cdZ4GqE688A+4EP8U3j/rSbvaG+IM0FzEgonqZc2veWiOudknFlhV/xv32tyIs83ewdZxz+t7kiWpHTsRH4Bt80zn0yNUGIEhvwUjblHWBCHi0rgBeBr4DXsg4wIcMht0lsQobHFnyT+I30myZkuMwAB0g9vkzI8NkKHAa2gwlR4SXgIJgQFSbxdYoJEWIlmBA5TIgYJkQMEyKGCRHDhIjRBCEJ8FSJ4ySGMDWhC/c28DbFea094jAkoYW4wPGF4D7wQ6C4oucv9CMrxOhHZaI/4kNfYAp4PHCcKkwAzz2Ki4Tkedo/ko0h6wg8YyqTwMOA7gNfR0/0cHiPyFP80tMRQkZ8E1+JBplVJMBafFfrX0SUQVtIZ8JOjNbDJeAavtk5qkwCzwIvUzwVYWCcc0lMIUZFnHNJE76pjxQmRAwTIoYJEcOEiGFCxDAhYpgQMUyIGCZEDBMihgkRw4SIYULEiDkM6CK+U2eU+0OyWI3vtHqFGOUXocfwFvA9+SuvjQOzwLf43lHpLtwHwIlYpSDISXyeZYWcp8YaUSPMTvyyfsGEhK7UrwHnAsepzM/4PAcjtJD/8AsMN4V7+DwHI7SQJg6WWAwZmY3tHZygebYvhmKYEDFMiBgmRAwTIoYJEcOEiGFCxDAhYpgQMUyIGCZEDBMihgkRw4SIYULEMCFimBAxTIgYJkQMEyKGCRHDhIhhQsQwIWIUTTi5BXwA3E29Nwu8Hy1F48UXLN1udSVwCHgy94yC6Qg3Mk7Z0+d4xa1XYzNHfnnsyTj+Rt7xZaYjTOCXfk0zXTflDWS65/UUBdVEmTqkd3rBgwoJajq9ZVU4VaOoDknwiz+m50D03jFGPlMsLa8pCkbLd4S0yN4dYBr4jaXzPsZ15eoYHAI+S71OyH/k34aHQv7G72Tca69zh5Ql9hbYivTLc35raikO76Ar5BSwhsH30NjN+K5snUfmrs8VaQE/At1m7yxwhYBzri1UCpeBmXSzdx44AlzPsGfE5R/gSzobyrTvkA77gAXgX/xkxmH/54xrWGyX8WXg407hpxcOSLMdOAr8TuTdABoaWu2yPYLfvrtLdzF+Q4f/AReBOoU7777xAAAAAElFTkSuQmCC\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./form-choose-single-option-list.scss?vue&type=style&index=0&id=f1ffb640&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/phone-call.8b2f97f7.svg\";","import FormMicroserviceAbstract from './form-microservice-abstract'\r\n\r\nexport default class FormMicoserviceOnSelect extends FormMicroserviceAbstract {\r\n onSelect(modelInformationData, oldForm, changes) {\r\n if (!changes || !Array.isArray(changes)) {\r\n return\r\n }\r\n\r\n changes.forEach(item => {\r\n const optionWithComponentName = this.findOptionWithComponentName(\r\n modelInformationData.components,\r\n item.id\r\n )\r\n\r\n const option = optionWithComponentName.option\r\n if (!option || !option.onSelect) {\r\n return\r\n }\r\n\r\n if (\r\n _makeChangesForOneTimeSelection(\r\n oldForm,\r\n optionWithComponentName,\r\n item.quantity\r\n )\r\n ) {\r\n // selected modifier = +\r\n // unselected modifier = -\r\n const modifier = 0 < item.quantity ? 1 : -1\r\n\r\n _changeGroupsWeigths(\r\n modelInformationData.weightGroups,\r\n option.onSelect.oneTime.weightGroups,\r\n modifier\r\n )\r\n _changeComponentsWeigths(\r\n modelInformationData.components,\r\n option.onSelect.oneTime.components,\r\n modifier\r\n )\r\n _changeAttributes(\r\n modelInformationData.attributes,\r\n option.onSelect.oneTime.attributes,\r\n modifier\r\n )\r\n }\r\n\r\n if (option.onSelect.eachTime) {\r\n _changeGroupsWeigths(\r\n modelInformationData.weightGroups,\r\n option.onSelect.eachTime.weightGroups,\r\n item.quantity\r\n )\r\n _changeComponentsWeigths(\r\n modelInformationData.components,\r\n option.onSelect.eachTime.components,\r\n item.quantity\r\n )\r\n _changeAttributes(\r\n modelInformationData.attributes,\r\n option.onSelect.eachTime.attributes,\r\n item.quantity\r\n )\r\n }\r\n })\r\n }\r\n}\r\n\r\nfunction _makeChangesForOneTimeSelection(\r\n oldForm,\r\n optionWithComponentName,\r\n itemQuantity\r\n) {\r\n if (!optionWithComponentName.option.onSelect.oneTime) {\r\n return false\r\n }\r\n\r\n const selectedObject = _isOneTimeSelectionDone(\r\n oldForm,\r\n optionWithComponentName\r\n )\r\n\r\n if (0 < itemQuantity) {\r\n return selectedObject === undefined\r\n }\r\n\r\n return selectedObject.quantity + itemQuantity === 0\r\n}\r\n\r\nfunction _isOneTimeSelectionDone(oldForm, optionWithComponentName) {\r\n if (oldForm[optionWithComponentName.componentName]) {\r\n return oldForm[optionWithComponentName.componentName].find(\r\n option => option.id === optionWithComponentName.option.id\r\n )\r\n }\r\n\r\n return undefined\r\n}\r\n\r\nfunction _changeGroupsWeigths(weightGroups, items, multiple = 1) {\r\n if (!weightGroups || !Array.isArray(items)) {\r\n return\r\n }\r\n\r\n let change = undefined\r\n weightGroups.forEach(weightGroup => {\r\n change = items.find(item => item.id === weightGroup.id)\r\n if (!change) {\r\n return\r\n }\r\n\r\n if (change.weight) {\r\n weightGroup.weight += change.weight * multiple\r\n }\r\n if (change.isUnlimited !== undefined && change.isUnlimited !== null) {\r\n weightGroup.isUnlimited =\r\n 0 < multiple ? change.isUnlimited : !change.isUnlimited\r\n }\r\n })\r\n}\r\n\r\nfunction _changeComponentsWeigths(components, items, multiple = 1) {\r\n if (!components || !Array.isArray(items)) {\r\n return\r\n }\r\n\r\n let change = undefined\r\n components.forEach(component => {\r\n component.list.forEach(option => {\r\n change = items.find(item => item.id === option.id)\r\n if (!change) {\r\n return\r\n }\r\n\r\n option.weight = option.weight ? option.weight : 1\r\n option.weight += change.weight * multiple\r\n })\r\n })\r\n}\r\n\r\nfunction _changeAttributes(attributes, items, multiple = 1) {\r\n if (!attributes || !Array.isArray(items)) {\r\n return\r\n }\r\n\r\n let change = undefined\r\n attributes.forEach(attribute => {\r\n change = items.find(item => item.id === attribute.id)\r\n if (!change) {\r\n return\r\n }\r\n\r\n if (\r\n change.requiredEqualValues !== undefined &&\r\n change.requiredEqualValues !== null\r\n ) {\r\n attribute.requiredEqualValues =\r\n 0 < multiple ? change.requiredEqualValues : !change.requiredEqualValues\r\n }\r\n })\r\n}\r\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./form-solutions-modal.scss?vue&type=style&index=0&id=64b4ecb1&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"fonts/helvetica-neue-lt-pro-bold.8ee19a5e.woff2\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./form.scss?vue&type=style&index=0&id=38480676&scoped=true&lang=scss&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./form-option-requirements-modal.scss?vue&type=style&index=0&id=5f499d58&scoped=true&lang=scss&\"","import { Decimal } from 'decimal.js'\r\nimport FormMicroserviceValidate from './microservices/form-microservice-validate'\r\nimport FormMicroserviceOnSelect from './microservices/form-microservice-on-select'\r\nimport FormMicroservicePrepDataForPost from './microservices/form-microservice-prep-data-for-post'\r\nimport FormMicroserviceRequirements from './microservices/form-microservice-requirements'\r\nimport FormMicroserviceGetChanges from './microservices/form-microservice-get-changes'\r\nimport FormMicroserviceManageWeights from './microservices/form-microservice-manage-weights'\r\nimport FormMicroservicePrepDataOnStart from './microservices/form-microservice-prep-data-on-start'\r\n\r\nexport default class FormService {\r\n microserviceValidation = new FormMicroserviceValidate()\r\n microserviceOnSelect = new FormMicroserviceOnSelect()\r\n microservicePrepDataForPost = new FormMicroservicePrepDataForPost()\r\n microserviceRequirements = new FormMicroserviceRequirements()\r\n microserviceGetChanges = new FormMicroserviceGetChanges()\r\n microserviceManageWeights = new FormMicroserviceManageWeights()\r\n microservicePrepDataOnStart = new FormMicroservicePrepDataOnStart()\r\n\r\n getFormChanges(oldForm, lastListInput) {\r\n return this.microserviceGetChanges.getFormChanges(oldForm, lastListInput)\r\n }\r\n\r\n onSelect(modelInformationData, oldForm, changes) {\r\n this.microserviceOnSelect.onSelect(modelInformationData, oldForm, changes)\r\n }\r\n\r\n getRequirementsPriorityByChanges(components, form, changes) {\r\n return this.microserviceRequirements.getRequirementsPriorityByChanges(\r\n components,\r\n form,\r\n changes\r\n )\r\n }\r\n\r\n addApprovedRequirementsToForm(components, form, approvedChanges) {\r\n this.microserviceRequirements.addApprovedRequirementsToForm(\r\n components,\r\n form,\r\n approvedChanges\r\n )\r\n }\r\n\r\n validate(modelInformationData, form) {\r\n return this.microserviceValidation.validate(modelInformationData, form)\r\n }\r\n\r\n prepDataForPost(\r\n modelId,\r\n modelInformationData,\r\n form,\r\n summaryFormFields,\r\n postType\r\n ) {\r\n return this.microservicePrepDataForPost.prepDataForPost(\r\n modelId,\r\n modelInformationData,\r\n form,\r\n summaryFormFields,\r\n postType\r\n )\r\n }\r\n\r\n getDefaultFormSelectionObject(components) {\r\n const changes = []\r\n const form = {}\r\n\r\n components.forEach(component => {\r\n component.list.forEach(option => {\r\n if (option.selectedQuantity) {\r\n if (!form[component.name]) {\r\n form[component.name] = []\r\n }\r\n\r\n form[component.name].push({\r\n id: option.id,\r\n quantity: option.selectedQuantity,\r\n })\r\n changes.push({\r\n id: option.id,\r\n quantity: option.selectedQuantity,\r\n })\r\n }\r\n })\r\n })\r\n\r\n return { form: form, changes: changes }\r\n }\r\n\r\n invalidFeedbacksExists(invalidFeedbacks) {\r\n let exists = false\r\n Object.keys(invalidFeedbacks).some(componentName => {\r\n if (\r\n invalidFeedbacks[componentName] &&\r\n 0 < invalidFeedbacks[componentName].length\r\n ) {\r\n exists = true\r\n\r\n return true\r\n }\r\n })\r\n\r\n return exists\r\n }\r\n\r\n createWeightGroupsIndexes(modelInformationDataWeightGroups) {\r\n this.microserviceManageWeights.createWeightGroupsIndex(\r\n modelInformationDataWeightGroups\r\n )\r\n }\r\n\r\n findAndChooseBestSelectedOptionDistributionBaseOnWholeForm(\r\n modelInformationData,\r\n form\r\n ) {\r\n const bestPossibility = this.microserviceManageWeights.getBestSelectedOptionDistributionBaseOnWholeForm(\r\n modelInformationData.components,\r\n modelInformationData.weightGroups,\r\n form\r\n )\r\n modelInformationData.weightGroups = bestPossibility.possibility\r\n }\r\n\r\n findAndChooseBestSelectedOptionDistributionBaseOnChange(\r\n modelInformationData,\r\n form,\r\n changes\r\n ) {\r\n const bestPossibility = this.microserviceManageWeights.getBestSelectedOptionDistributionBaseOnChangeAndForm(\r\n modelInformationData.components,\r\n modelInformationData.weightGroups,\r\n form,\r\n changes\r\n )\r\n modelInformationData.weightGroups = bestPossibility.possibility\r\n }\r\n\r\n prepDataOnStart(modelInformationData) {\r\n this.microservicePrepDataOnStart.prepDataOnStart(modelInformationData)\r\n }\r\n\r\n runFindingSolutions(\r\n modelInformationData,\r\n form,\r\n invalidFeedbacks,\r\n workers,\r\n refreshComponent\r\n ) {\r\n Object.keys(invalidFeedbacks).forEach(componentName => {\r\n invalidFeedbacks[componentName].forEach(invalidFeedback => {\r\n if (\r\n invalidFeedback.findSolutions !== undefined &&\r\n invalidFeedback.findSolutions !== null\r\n ) {\r\n const worker = new Worker('./workers/form-worker-find-solutions.js', {\r\n type: 'module',\r\n })\r\n worker.onmessage = event => {\r\n invalidFeedback.solutions = event.data\r\n refreshComponent()\r\n }\r\n worker.postMessage([\r\n modelInformationData,\r\n form,\r\n invalidFeedbacks,\r\n invalidFeedback,\r\n componentName,\r\n ])\r\n workers.push(worker)\r\n }\r\n })\r\n })\r\n }\r\n\r\n closeWorkers(workers) {\r\n workers.forEach(worker => {\r\n worker.postMessage(['close'])\r\n })\r\n workers.splice(0, workers.length)\r\n }\r\n\r\n computeTotalPrice(formCurrent, components, modelPrice, vat) {\r\n let totalPrice = {\r\n gross: 0,\r\n net: 0,\r\n }\r\n _computeTotalNetPrice(totalPrice, formCurrent, components, modelPrice)\r\n _computeTotalGrossPrice(totalPrice, vat)\r\n\r\n return totalPrice\r\n }\r\n}\r\n\r\nfunction _computeTotalNetPrice(\r\n totalPrice,\r\n formCurrent,\r\n components,\r\n modelPrice\r\n) {\r\n Object.entries(formCurrent).forEach(element => {\r\n const component = components.find(x => x.name === element[0])\r\n\r\n if (Array.isArray(element[1])) {\r\n element[1].forEach(item => {\r\n const object = component.list.find(x => x.id === item.id)\r\n\r\n if (object) {\r\n const price = new Decimal(object.price * item.quantity)\r\n\r\n if (!price.equals(0)) {\r\n totalPrice.net = price.plus(new Decimal(totalPrice.net))\r\n }\r\n }\r\n })\r\n }\r\n })\r\n\r\n totalPrice.net = new Decimal(totalPrice.net).plus(modelPrice)\r\n}\r\n\r\nfunction _computeTotalGrossPrice(totalPrice, vat) {\r\n totalPrice.gross = new Decimal(totalPrice.net).plus(\r\n new Decimal(_getTaxAmount(totalPrice, vat))\r\n )\r\n}\r\n\r\nfunction _getTaxAmount(totalPrice, vat) {\r\n return new Decimal(totalPrice.net * vat).toFixed(2)\r\n}\r\n","module.exports = __webpack_public_path__ + \"fonts/helvetica-neue-lt-pro-medium.b9c4b6f3.ttf\";","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./form-choose-multiple-option-list.scss?vue&type=style&index=0&id=7c549d1d&scoped=true&lang=scss&\"","module.exports = __webpack_public_path__ + \"img/summary-alert.2b0576f7.png\";","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./form-list-collapsed-bar.scss?vue&type=style&index=0&id=191c1467&scoped=true&lang=scss&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/sass-loader/dist/cjs.js??ref--15-0!./icon.scss?vue&type=style&index=0&id=2d1db907&scoped=true&lang=scss&\""],"sourceRoot":""}