{"version":3,"mappings":"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QACN,UAAWC,GACf,KAAM,YACH,CACF,CACF,EACD,CACE,KAAM,sCACN,UAAWC,GACX,KAAM,wBACN,KAAM,CACJ,MAAO,qBACR,CACF,EACD,CACE,KAAM,yBACN,UAAWI,GACX,KAAM,kBACP,EACD,CACE,KAAM,UACN,UAAWI,GACX,KAAM,aACP,EACD,CACE,KAAM,YACN,UAAWD,GACX,KAAM,eACP,EACD,CACE,KAAM,0BACN,UAAWM,GACX,KAAM,CAAE,cAAe,EAAM,EAC7B,KAAM,aACP,EACD,CACE,KAAM,QACN,UAAWT,GACX,KAAM,WACP,EACD,CACA,KAAM,0BACJ,UAAWK,GACX,KAAM,iBACN,SAAU,CACR,CACE,KAAM,cACN,UAAWC,GACX,KAAM,iBACP,EACD,CACE,KAAM,aACN,UAAWC,GACX,KAAM,gBACP,CACF,CACF,EACD,CACE,KAAM,eACN,MAAO,CAAC,kBAAkB,WAAW,WAAW,cAAc,UAAW,WAAW,WAAW,EAC/F,UAAWT,GACX,KAAM,UACP,EACD,CACD,KAAK,qCACF,UAAWC,GACX,KAAM,wBACN,KAAM,CACJ,MAAO,gBACR,CACF,EACD,CACD,KAAK,8BACF,UAAWA,GACX,KAAM,wBACN,KAAM,CACJ,MAAO,gBACR,CACF,EACD,CACD,KAAK,oBACF,UAAWE,GACX,KAAM,kBACP,EACD,CACD,KAAK,qCACF,UAAWC,GACX,KAAM,wBACP,EACD,CACD,KAAK,8BACF,UAAWA,GACX,KAAM,wBACP,EACD,CACD,KAAK,+BACF,UAAWD,GACX,KAAM,4BACP,CACH,EAEM1L,GAASC,GAAa,CAC1B,QAASC,GAAkB,EAC3B,OAAAH,GACA,eAAeoM,EAAI,CACjB,OAAIA,EAAG,KAAK,cAAsB,GAC3B,CAAE,IAAK,CAAG,CAClB,CACH,CAAC,EAEDnM,GAAO,UAAWmM,GAAO,CACvB7L,EAAM,OAAO,eAAe,CAC9B,CAAC","names":["module","modules","installedModules","__webpack_require__","moduleId","exports","name","getter","object","property","DEVICE_TYPES","BROWSER_TYPES","OS_TYPES","defaultData","UAParser","_require","_require2","checkType","broPayload","mobilePayload","wearPayload","consolePayload","stvPayload","getNavigatorInstance","isIOS13Check","UA","browser","device","engine","os","ua","CHROME","CHROMIUM","IE","INTERNET_EXPLORER","OPERA","FIREFOX","SAFARI","EDGE","YANDEX","MOBILE_SAFARI","MOBILE","TABLET","SMART_TV","BROWSER","WEARABLE","CONSOLE","ANDROID","WINDOWS_PHONE","IOS","WINDOWS","MAC_OS","isMobileType","isTabletType","isMobileAndTabletType","isEdgeChromiumType","isSmartTVType","isBrowserType","isWearableType","isConsoleType","isAndroidType","isWindowsType","isMacOsType","isWinPhoneType","isIOSType","isChromeType","isFirefoxType","isChromiumType","isEdgeType","isYandexType","isSafariType","isMobileSafariType","isOperaType","isIEType","isElectronType","nav","getIOS13","getIPad13","getIphone13","getIPod13","getBrowserFullVersion","getBrowserVersion","getOsVersion","getOsName","getBrowserName","getMobileVendor","getMobileModel","getEngineName","getEngineVersion","getUseragent","getDeviceType","isSmartTV","isConsole","isWearable","isMobileSafari","isChromium","isMobile","isMobileOnly","isTablet","isBrowser","isAndroid","isWinPhone","isIOS","isChrome","isFirefox","isSafari","isOpera","isIE","osVersion","osName","fullBrowserVersion","browserVersion","browserName","mobileVendor","mobileModel","engineName","engineVersion","getUA","isEdge","isYandex","deviceType","isIOS13","isIPad13","isIPhone13","isIPod13","isElectron","isEdgeChromium","isLegacyEdge","isWindows","isMacOs","type","deviceDetect","__WEBPACK_AMD_DEFINE_RESULT__","window","undefined","LIBVERSION","EMPTY","UNKNOWN","FUNC_TYPE","UNDEF_TYPE","OBJ_TYPE","STR_TYPE","MAJOR","MODEL","NAME","TYPE","VENDOR","VERSION","ARCHITECTURE","SMARTTV","EMBEDDED","util","regexes","extensions","margedRegexes","i","str1","str2","str","version","mapper","arrays","j","k","p","q","matches","match","regex","props","map","maps","uastring","rgxmap","cpu","$","parser","result","prop","__webpack_amd_options__","_extends","target","source","key","antiBurglaryCode","triplexCode","sunprotectionCode","viewprotectionCode","temperedCode","doubleTriplexCode","lowEmissionCode","doubleLowEmissionCode","ProfileModule","state","param","ProfileParam","commit","dispatch","getters","current_index","type_param","new_params","type_param_value","index","ArrayDiff","profileCameraRanges","checkIntersect","r1","r2","r_min_start","r_max_start","ar1","ar2","el","CameraTypesHeatSaving","CameraTypesGlassNotValid","widthRanges","profile_width","profile_camera_range","camera_types","glass_types","range_index","range","ranges","added","err_mes","ValidationError","types","old_types","added_types","heat_saving","codes","code","levels","old_leves","old_camera_types","level","heat_saving_level","type_with_level","glass_codes_for_add","level_index","new_leves_indexes","new_types","camera_type","camera_type_heat_level","type_with_add_level","type_code","valid_camera_types","valid","new_glass_types","old_width_ranges","new_width_ranges","valid_ranges","camera_range_index","camera_range","width_range_index","camera_range_by_width","new_camera_range","valid_range","sorted_ranges","value","min","max","message","not_valid","params","ProfileModelModule","profiles","PriceModule","prices","price_type","Home","__vitePreload","WithStatic","routes","router","createRouter","createWebHistory","LandingModule","rev","unwatch_selected_cities","store","selected","city_slug","router_landing","unwatch_city_dialog","railsData","page_url","axios","res","GlassTypeModule","ids","AdditionalServicesModule","toAdditionalServices","new_as_codes","item","FurnitureModelModule","CompanyModel","all_companies","companies","cities","cities_ids","response","error","parsed","rItem","CitiesModule","data","c_city","geo","show","position","coords","cookies_cities","rootState","userGeo","selected_ids","location_id","user_geo_in_cookies","slider_types","values_for_slider_types","desctiptions_for_slider_types","casements_for_window_types","casement_for_door_types","AllCasementTypes","CurrentWindowModule","casements","casement","door","door_image_code","window_parts_generated","avalibl_parts_for_grid","casement_type","count","with_framuga","quantity","window_color_inside","window_color_outside","window_color_solid","all_count","casements_count","cas","width","height","size","add","df_value","slider_type_value","window_type","door_type","color_inside","color_outside","color_solid","avalibl","SortFilterModule","active_sorting","sort_rating","sort_price","upd_offers","InitialDataModule","filters","OffersCartModule","offer","offer_uniq","offers","uniq","new_in_cart_offers","company","uniqs","err","offer_type","offer_one","guid","session_id","PageModule","page","page_with_offers","StatisticModule","company_id","item_company_id","payment_type","fee_proposal_id","city_id","user_city_ids","city","fee_proposal_ids","user_sign_in_process","LoggedModule","qr_code","recurrent_pay","calculator_stoped","user_signed_in","info","suc","balance","timeout_count","data_for_request","linkSource","downloadLink","config","user_area","user_subarea","log","email","CompaniesListModule","reviews","companies_count","reviews_count","pagination","new_companies","per_page","MeasureRequestCompaniesModule","dialog_active","confirmation","companies_list","companies_list_ids","selected_companies","OrderFormModule","activities","form","touched","status","phone","address","recaptcha_token","measure","selected_offers","mutations","curr_tab","success_payture_msg","balance_payture_msg","resp","fs_sent","fs_click","offers_count","preview_offers","actions","msg","deley","id","submit_params","element","min_base_price","max_base_price","selected_cities","user_geo","createStore","CataloguePageModule","CompanyModule","val","SetWindow","RepairWindow","ShoppingCart","InCartList","ShippedCartList","QuickOrder","MeasureRequestContent","MinPriceMeasure","SiteInfo","CataloguePage","Agregator","StaticAgregator","MinPriceOffer","CompaniesList","ReviewsList","SetAdminParams","SetAdminFilters","SetAdminWindow","PaymentResult","CompanyPage","to"],"sources":["../../../node_modules/mobile-device-detect/dist/index.js","../../../app/javascript/init_data/glass_types_codes.js","../../../app/javascript/store/modules/filters/ProfileModule.js","../../../app/javascript/store/modules/filters/ProfileModelModule.js","../../../app/javascript/store/modules/filters/PriceModule.js","../../../app/javascript/store/modules/filters/CataloguePageModule.js","../../../app/javascript/router_landing/index.js","../../../app/javascript/store/modules/landing/LandingModule.js","../../../app/javascript/store/modules/filters/GlassTypeModule.js","../../../app/javascript/store/modules/filters/AdditionalServicesModule.js","../../../app/javascript/store/modules/filters/FurnitureModelModule.js","../../../app/javascript/store/modules/filters/CompanyModule.js","../../../app/javascript/store/modules/filters/CitiesModule.js","../../../app/javascript/init_data/window_type_slider.js","../../../app/javascript/store/modules/top_filters/CurrentWindowModule.js","../../../app/javascript/store/modules/top_filters/SortFilterModule.js","../../../app/javascript/store/modules/initial_data/InitialDataModule.js","../../../app/javascript/store/modules/cart/OffersCartModule.js","../../../app/javascript/store/modules/filters/PageModule.js","../../../app/javascript/store/modules/statistic/StatisticModule.js","../../../app/javascript/store/modules/user/LoggedModule.js","../../../app/javascript/store/modules/companies/CompaniesListModule.js","../../../app/javascript/store/modules/MeasureRequestCompaniesModule.js","../../../app/javascript/store/modules/forms/OrderFormModule.js","../../../app/javascript/store/index.js","../../../app/javascript/router/index.js"],"sourcesContent":["module.exports =\n/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\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, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\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/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 1);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar DEVICE_TYPES = {\n MOBILE: \"mobile\",\n TABLET: \"tablet\",\n SMART_TV: \"smarttv\",\n CONSOLE: \"console\",\n WEARABLE: \"wearable\",\n BROWSER: undefined\n};\n\nvar BROWSER_TYPES = {\n CHROME: \"Chrome\",\n FIREFOX: \"Firefox\",\n OPERA: \"Opera\",\n YANDEX: \"Yandex\",\n SAFARI: \"Safari\",\n INTERNET_EXPLORER: \"Internet Explorer\",\n EDGE: \"Edge\",\n CHROMIUM: \"Chromium\",\n IE: \"IE\",\n MOBILE_SAFARI: \"Mobile Safari\",\n EDGE_CHROMIUM: \"Edge Chromium\"\n};\n\nvar OS_TYPES = {\n IOS: \"iOS\",\n ANDROID: \"Android\",\n WINDOWS_PHONE: \"Windows Phone\",\n WINDOWS: \"Windows\",\n MAC_OS: \"Mac OS\"\n};\n\nvar defaultData = {\n isMobile: false,\n isTablet: false,\n isBrowser: false,\n isSmartTV: false,\n isConsole: false,\n isWearable: false\n};\n\nmodule.exports = { BROWSER_TYPES: BROWSER_TYPES, DEVICE_TYPES: DEVICE_TYPES, OS_TYPES: OS_TYPES, defaultData: defaultData };\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar UAParser = __webpack_require__(2);\n\nvar _require = __webpack_require__(0),\n BROWSER_TYPES = _require.BROWSER_TYPES,\n OS_TYPES = _require.OS_TYPES,\n DEVICE_TYPES = _require.DEVICE_TYPES;\n\nvar _require2 = __webpack_require__(4),\n checkType = _require2.checkType,\n broPayload = _require2.broPayload,\n mobilePayload = _require2.mobilePayload,\n wearPayload = _require2.wearPayload,\n consolePayload = _require2.consolePayload,\n stvPayload = _require2.stvPayload,\n getNavigatorInstance = _require2.getNavigatorInstance,\n isIOS13Check = _require2.isIOS13Check;\n\nvar UA = new UAParser();\n\nvar browser = UA.getBrowser();\nvar device = UA.getDevice();\nvar engine = UA.getEngine();\nvar os = UA.getOS();\nvar ua = UA.getUA();\n\nvar CHROME = BROWSER_TYPES.CHROME,\n CHROMIUM = BROWSER_TYPES.CHROMIUM,\n IE = BROWSER_TYPES.IE,\n INTERNET_EXPLORER = BROWSER_TYPES.INTERNET_EXPLORER,\n OPERA = BROWSER_TYPES.OPERA,\n FIREFOX = BROWSER_TYPES.FIREFOX,\n SAFARI = BROWSER_TYPES.SAFARI,\n EDGE = BROWSER_TYPES.EDGE,\n YANDEX = BROWSER_TYPES.YANDEX,\n MOBILE_SAFARI = BROWSER_TYPES.MOBILE_SAFARI;\nvar MOBILE = DEVICE_TYPES.MOBILE,\n TABLET = DEVICE_TYPES.TABLET,\n SMART_TV = DEVICE_TYPES.SMART_TV,\n BROWSER = DEVICE_TYPES.BROWSER,\n WEARABLE = DEVICE_TYPES.WEARABLE,\n CONSOLE = DEVICE_TYPES.CONSOLE;\nvar ANDROID = OS_TYPES.ANDROID,\n WINDOWS_PHONE = OS_TYPES.WINDOWS_PHONE,\n IOS = OS_TYPES.IOS,\n WINDOWS = OS_TYPES.WINDOWS,\n MAC_OS = OS_TYPES.MAC_OS;\n\n\nvar isMobileType = function isMobileType() {\n return device.type === MOBILE;\n};\nvar isTabletType = function isTabletType() {\n return device.type === TABLET;\n};\n\nvar isMobileAndTabletType = function isMobileAndTabletType() {\n switch (device.type) {\n case MOBILE:\n case TABLET:\n return true;\n default:\n return false;\n }\n};\n\nvar isEdgeChromiumType = function isEdgeChromiumType() {\n if (os.name === OS_TYPES.WINDOWS && os.version === '10') {\n return typeof ua === 'string' && ua.indexOf('Edg/') !== -1;\n }\n\n return false;\n};\n\nvar isSmartTVType = function isSmartTVType() {\n return device.type === SMART_TV;\n};\nvar isBrowserType = function isBrowserType() {\n return device.type === BROWSER;\n};\nvar isWearableType = function isWearableType() {\n return device.type === WEARABLE;\n};\nvar isConsoleType = function isConsoleType() {\n return device.type === CONSOLE;\n};\nvar isAndroidType = function isAndroidType() {\n return os.name === ANDROID;\n};\nvar isWindowsType = function isWindowsType() {\n return os.name === WINDOWS;\n};\nvar isMacOsType = function isMacOsType() {\n return os.name === MAC_OS;\n};\nvar isWinPhoneType = function isWinPhoneType() {\n return os.name === WINDOWS_PHONE;\n};\nvar isIOSType = function isIOSType() {\n return os.name === IOS;\n};\nvar isChromeType = function isChromeType() {\n return browser.name === CHROME;\n};\nvar isFirefoxType = function isFirefoxType() {\n return browser.name === FIREFOX;\n};\nvar isChromiumType = function isChromiumType() {\n return browser.name === CHROMIUM;\n};\nvar isEdgeType = function isEdgeType() {\n return browser.name === EDGE;\n};\nvar isYandexType = function isYandexType() {\n return browser.name === YANDEX;\n};\nvar isSafariType = function isSafariType() {\n return browser.name === SAFARI || browser.name === MOBILE_SAFARI;\n};\n\nvar isMobileSafariType = function isMobileSafariType() {\n return browser.name === MOBILE_SAFARI;\n};\nvar isOperaType = function isOperaType() {\n return browser.name === OPERA;\n};\nvar isIEType = function isIEType() {\n return browser.name === INTERNET_EXPLORER || browser.name === IE;\n};\n\nvar isElectronType = function isElectronType() {\n var nav = getNavigatorInstance();\n var ua = nav && nav.userAgent.toLowerCase();\n\n return typeof ua === 'string' ? /electron/.test(ua) : false;\n};\n\nvar getIOS13 = function getIOS13() {\n var nav = getNavigatorInstance();\n return nav && (/iPad|iPhone|iPod/.test(nav.platform) || nav.platform === 'MacIntel' && nav.maxTouchPoints > 1) && !window.MSStream;\n};\n\nvar getIPad13 = function getIPad13() {\n return isIOS13Check('iPad');\n};\nvar getIphone13 = function getIphone13() {\n return isIOS13Check('iPhone');\n};\nvar getIPod13 = function getIPod13() {\n return isIOS13Check('iPod');\n};\n\nvar getBrowserFullVersion = function getBrowserFullVersion() {\n return browser.major;\n};\nvar getBrowserVersion = function getBrowserVersion() {\n return browser.version;\n};\nvar getOsVersion = function getOsVersion() {\n return os.version ? os.version : \"none\";\n};\nvar getOsName = function getOsName() {\n return os.name ? os.name : \"none\";\n};\nvar getBrowserName = function getBrowserName() {\n return browser.name;\n};\nvar getMobileVendor = function getMobileVendor() {\n return device.vendor ? device.vendor : \"none\";\n};\nvar getMobileModel = function getMobileModel() {\n return device.model ? device.model : \"none\";\n};\nvar getEngineName = function getEngineName() {\n return engine.name;\n};\nvar getEngineVersion = function getEngineVersion() {\n return engine.version;\n};\nvar getUseragent = function getUseragent() {\n return ua;\n};\nvar getDeviceType = function getDeviceType() {\n return device.type;\n};\n\nvar isSmartTV = isSmartTVType();\nvar isConsole = isConsoleType();\nvar isWearable = isWearableType();\nvar isMobileSafari = isMobileSafariType() || getIPad13();\nvar isChromium = isChromiumType();\nvar isMobile = isMobileAndTabletType() || getIPad13();\nvar isMobileOnly = isMobileType();\nvar isTablet = isTabletType() || getIPad13();\nvar isBrowser = isBrowserType();\nvar isAndroid = isAndroidType();\nvar isWinPhone = isWinPhoneType();\nvar isIOS = isIOSType() || getIPad13();\nvar isChrome = isChromeType();\nvar isFirefox = isFirefoxType();\nvar isSafari = isSafariType();\nvar isOpera = isOperaType();\nvar isIE = isIEType();\nvar osVersion = getOsVersion();\nvar osName = getOsName();\nvar fullBrowserVersion = getBrowserFullVersion();\nvar browserVersion = getBrowserVersion();\nvar browserName = getBrowserName();\nvar mobileVendor = getMobileVendor();\nvar mobileModel = getMobileModel();\nvar engineName = getEngineName();\nvar engineVersion = getEngineVersion();\nvar getUA = getUseragent();\nvar isEdge = isEdgeType() || isEdgeChromiumType();\nvar isYandex = isYandexType();\nvar deviceType = getDeviceType();\nvar isIOS13 = getIOS13();\nvar isIPad13 = getIPad13();\nvar isIPhone13 = getIphone13();\nvar isIPod13 = getIPod13();\nvar isElectron = isElectronType();\nvar isEdgeChromium = isEdgeChromiumType();\nvar isLegacyEdge = isEdgeType();\nvar isWindows = isWindowsType();\nvar isMacOs = isMacOsType();\n\nvar type = checkType(device.type);\n\nfunction deviceDetect() {\n var isBrowser = type.isBrowser,\n isMobile = type.isMobile,\n isTablet = type.isTablet,\n isSmartTV = type.isSmartTV,\n isConsole = type.isConsole,\n isWearable = type.isWearable;\n\n if (isBrowser) {\n return broPayload(isBrowser, browser, engine, os, ua);\n }\n\n if (isSmartTV) {\n return stvPayload(isSmartTV, engine, os, ua);\n }\n\n if (isConsole) {\n return consolePayload(isConsole, engine, os, ua);\n }\n\n if (isMobile) {\n return mobilePayload(type, device, os, ua);\n }\n\n if (isTablet) {\n return mobilePayload(type, device, os, ua);\n }\n\n if (isWearable) {\n return wearPayload(isWearable, engine, os, ua);\n }\n};\n\nmodule.exports = {\n deviceDetect: deviceDetect,\n isSmartTV: isSmartTV,\n isConsole: isConsole,\n isWearable: isWearable,\n isMobileSafari: isMobileSafari,\n isChromium: isChromium,\n isMobile: isMobile,\n isMobileOnly: isMobileOnly,\n isTablet: isTablet,\n isBrowser: isBrowser,\n isAndroid: isAndroid,\n isWinPhone: isWinPhone,\n isIOS: isIOS,\n isChrome: isChrome,\n isFirefox: isFirefox,\n isSafari: isSafari,\n isOpera: isOpera,\n isIE: isIE,\n osVersion: osVersion,\n osName: osName,\n fullBrowserVersion: fullBrowserVersion,\n browserVersion: browserVersion,\n browserName: browserName,\n mobileVendor: mobileVendor,\n mobileModel: mobileModel,\n engineName: engineName,\n engineVersion: engineVersion,\n getUA: getUA,\n isEdge: isEdge,\n isYandex: isYandex,\n deviceType: deviceType,\n isIOS13: isIOS13,\n isIPad13: isIPad13,\n isIPhone13: isIPhone13,\n isIPod13: isIPod13,\n isElectron: isElectron,\n isEdgeChromium: isEdgeChromium,\n isLegacyEdge: isLegacyEdge,\n isWindows: isWindows,\n isMacOs: isMacOs\n};\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar __WEBPACK_AMD_DEFINE_RESULT__;/*!\n * UAParser.js v0.7.18\n * Lightweight JavaScript-based User-Agent string parser\n * https://github.com/faisalman/ua-parser-js\n *\n * Copyright © 2012-2016 Faisal Salman \n * Dual licensed under GPLv2 or MIT\n */\n(function(window,undefined){\"use strict\";var LIBVERSION=\"0.7.18\",EMPTY=\"\",UNKNOWN=\"?\",FUNC_TYPE=\"function\",UNDEF_TYPE=\"undefined\",OBJ_TYPE=\"object\",STR_TYPE=\"string\",MAJOR=\"major\",MODEL=\"model\",NAME=\"name\",TYPE=\"type\",VENDOR=\"vendor\",VERSION=\"version\",ARCHITECTURE=\"architecture\",CONSOLE=\"console\",MOBILE=\"mobile\",TABLET=\"tablet\",SMARTTV=\"smarttv\",WEARABLE=\"wearable\",EMBEDDED=\"embedded\";var util={extend:function(regexes,extensions){var margedRegexes={};for(var i in regexes){if(extensions[i]&&extensions[i].length%2===0){margedRegexes[i]=extensions[i].concat(regexes[i])}else{margedRegexes[i]=regexes[i]}}return margedRegexes},has:function(str1,str2){if(typeof str1===\"string\"){return str2.toLowerCase().indexOf(str1.toLowerCase())!==-1}else{return false}},lowerize:function(str){return str.toLowerCase()},major:function(version){return typeof version===STR_TYPE?version.replace(/[^\\d\\.]/g,\"\").split(\".\")[0]:undefined},trim:function(str){return str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\"\")}};var mapper={rgx:function(ua,arrays){var i=0,j,k,p,q,matches,match;while(i0){if(q.length==2){if(typeof q[1]==FUNC_TYPE){this[q[0]]=q[1].call(this,match)}else{this[q[0]]=q[1]}}else if(q.length==3){if(typeof q[1]===FUNC_TYPE&&!(q[1].exec&&q[1].test)){this[q[0]]=match?q[1].call(this,match,q[2]):undefined}else{this[q[0]]=match?match.replace(q[1],q[2]):undefined}}else if(q.length==4){this[q[0]]=match?q[3].call(this,match.replace(q[1],q[2])):undefined}}else{this[q]=match?match:undefined}}}}i+=2}},str:function(str,map){for(var i in map){if(typeof map[i]===OBJ_TYPE&&map[i].length>0){for(var j=0;j 1 && !window.MSStream);\n};\n\nmodule.exports = {\n checkType: checkType,\n broPayload: broPayload,\n mobilePayload: mobilePayload,\n stvPayload: stvPayload,\n consolePayload: consolePayload,\n wearPayload: wearPayload,\n getNavigatorInstance: getNavigatorInstance,\n isIOS13Check: isIOS13Check\n};\n\n/***/ })\n/******/ ]);","export const \n antiBurglaryCode = \"as_anti-burglary\",\n triplexCode = \"wct_glass-triplecs\",\n sunprotectionCode = \"wct_glass-multi\",\n viewprotectionCode = \"wct_glass_mirror\",\n temperedCode = \"wct_glass-tempered\",\n doubleTriplexCode = \"wct_glass-double-triplecs\",\n lowEmissionCode = \"wct_glass_low-emission\",\n doubleLowEmissionCode = \"wct_glass-double-low-emission\";\n","import { antiBurglaryCode, sunprotectionCode, viewprotectionCode, lowEmissionCode, doubleLowEmissionCode } from \"../../../init_data/glass_types_codes.js\";\n\nconst ProfileModule = {\n state: () => ({\n\t\tprofile_params: undefined,\n\t\tnext_profile_params: undefined\n }),\n mutations: {\n SET_PROFILE_PARAMS(state, param) {\n state.profile_params = new ProfileParam(param)\n },\n SET_NEXT_PROFILE_PARAMS(state, param) {\n state.next_profile_params = param\n },\n DEL_NEXT_PROFILE_PARAMS(state) {\n state.next_profile_params = undefined\n },\n },\n actions: {\n setNextParamsByWidthRanges({state,commit,dispatch,getters}, current_index) {\n\t\t\tconst type_param = 'profile_width_ranges';\n dispatch('setNextParams', { type_param, current_index });\n\t\t},\n setNextParamsByProfileCameraRanges({state,commit,dispatch,getters}, current_index) {\n\t\t\tconst type_param = 'profile_camera_ranges';\n dispatch('setNextParams', { type_param, current_index });\n\t\t},\n setNextParamsByCameraTypes({state,commit,dispatch,getters}, current_index) {\n\t\t\tconst type_param = 'camera_types';\n dispatch('setNextParams', { type_param, current_index});\n\t\t},\n setNextParamsByGlassTypes({state,commit,dispatch,getters}, current_index) {\n\t\t\tconst type_param = 'glass_types';\n dispatch('setNextParams', { type_param, current_index});\n\t\t},\n setNextParamsByHeatSavingLevel({state,commit,dispatch,getters}, current_index) {\n\t\t\tconst type_param = 'heat_saving_levels';\n dispatch('setNextParams', { type_param, current_index});\n\t\t},\n\n setNextParams({state,commit,dispatch,getters}, {type_param, current_index}) {\n\t\t\ttry {\n\t\t\t\tconst new_params = new ProfileParam(state.profile_params.params);\n\t\t\t\tconst type_param_value = new_params[type_param];\n\t\t\t\tif (type_param_value.includes(current_index)) {\n\t\t\t\t\tnew_params[type_param] = type_param_value.filter(index => index!= current_index)\n\t\t\t\t} else {\n\t\t\t\t\tnew_params[type_param] = [current_index, ...type_param_value]\n\t\t\t\t}\n\t\t\t\tcommit(\"SET_NEXT_PROFILE_PARAMS\", new_params);\n\t\t\t} catch {\n\t\t\t}\n\t\t},\n delNextParams({commit}) {\n commit(\"SET_NEXT_PROFILE_PARAMS\", undefined);\n\t\t},\n },\n getters: {\n\t\tdiff_profile_width_ranges: state => {\n\t\t\tif (!state.next_profile_params) return []\n\t\t\treturn ArrayDiff(state.next_profile_params.profile_width_ranges, state.profile_params.profile_width_ranges)\n\t\t},\n\t\tdiff_profile_camera_ranges: state => {\n\t\t\tif (!state.next_profile_params) return []\n\t\t\treturn ArrayDiff(state.next_profile_params.profile_camera_ranges, state.profile_params.profile_camera_ranges)\n\t\t},\n\t\tdiff_camera_types: state => {\n\t\t\tif (!state.next_profile_params) return []\n\t\t\treturn ArrayDiff(state.next_profile_params.camera_types, state.profile_params.camera_types)\n\t\t},\n\t\tdiff_glass_types: state => {\n\t\t\tif (!state.next_profile_params) return []\n\t\t\treturn ArrayDiff(state.next_profile_params.glass_types, state.profile_params.glass_types)\n\t\t},\n\t\tdiff_heat_saving_levels: state => {\n\t\t\tif (!state.next_profile_params) return []\n\t\t\treturn ArrayDiff(state.next_profile_params.heat_saving_levels, state.profile_params.heat_saving_levels)\n\t\t},\n }\n}\n\nconst profileCameraRanges = {\n 1: [3, 3],\n 2: [4, 4],\n 3: [5, 5],\n 4: [6, 8]\n}\n\nconst checkIntersect = (r1, r2) => {\n const [r_min_start, r_max_start]= (r1[0] <= r2[0] ? [r1,r2] : [r2,r1])\n return r_min_start[1] >= r_max_start[0]\n}\n\nconst ArrayDiff = (ar1, ar2) => {\n\treturn [...ar1.filter(el => !ar2.includes(el)), ...ar2.filter(el => !ar1.includes(el))]\n}\n\nconst CameraTypesHeatSaving = {\n 14: {\n level: 'low',\n add_level: 'medium',\n glass_codes_for_add: [[lowEmissionCode],[sunprotectionCode]],\n },\n 11: {\n level: 'medium',\n add_level: 'high',\n glass_codes_for_add: [[doubleLowEmissionCode], [lowEmissionCode, sunprotectionCode]],\n },\n 12: {\n level: 'high',\n }\n}\n\nconst CameraTypesGlassNotValid = {\n 14: [[doubleLowEmissionCode], [lowEmissionCode, sunprotectionCode], [doubleLowEmissionCode, sunprotectionCode]],\n 11: [[doubleLowEmissionCode, sunprotectionCode]],\n 12: []\n}\n\nconst widthRanges = {\n\t1: {\n\t\twidth_range: [1, 62],\n\t\tcamera_types: [14,11],\n\t\tcamera_range: [3, 4]\n\t},\n\t2: {\n\t\twidth_range: [70,75],\n\t\tcamera_types: [14,11,12],\n\t\tcamera_range: [3, 5]\n\t},\n\t3: {\n\t\twidth_range: [76,127],\n\t\tcamera_types: [14,11,12],\n\t\tcamera_range: [6, 8]\n\t},\n};\n\nclass ProfileParam {\n constructor({profile_width, profile_camera_range, camera_types, glass_types}) {\n this._profile_width = profile_width;\n this._profile_camera_range = profile_camera_range;\n this._camera_types = camera_types;\n this._glass_types = glass_types;\n }\n\n get params() {\n\t\treturn {\n\t\t\tprofile_width: \tthis._profile_width,\n\t\t\tprofile_camera_range: this._profile_camera_range,\n\t\t\tcamera_types: \tthis._camera_types,\n\t\t\tglass_types: \t\tthis._glass_types\n\t\t}\n }\n\n\t/**\n\t * -----------------------------------\n \t GETTERS SETTERS FOR CHECKBOXES\n\t *\n\t**/\n get profile_width_ranges() {\n return this.widthRangeIndexes.filter((range_index) => {\n const range = widthRanges[range_index].width_range;\n return this._profile_width[0] <= range[0] && range[1] <= this._profile_width[1]\n });\n }\n set profile_width_ranges(ranges) {\n\t\tconst added = ranges.length > this.profile_width_ranges.length;\n\t\tconst err_mes = this.validateRanges(ranges, added);\n\t\tif (err_mes) throw new ValidationError(err_mes, ArrayDiff(ranges, this.profile_width_ranges))\n\n\t\tthis._profile_width = this.getWidthByRanges(ranges);\n\t\tthis.validateProfileCameraRangeByWidthRanges(added);\n\t\tthis.validateCameraTypesByWidthRanges(added);\n }\n\n get profile_camera_ranges() {\n return this.cameraRangeIndexes.filter((range_index) => {\n const range = profileCameraRanges[range_index];\n return this._profile_camera_range[0] <= range[0] && range[1] <= this._profile_camera_range[1]\n });\n }\n set profile_camera_ranges(ranges) {\n\t\tconst added = ranges.length > this.profile_camera_ranges.length;\n\t\tconst err_mes = this.validateRanges(ranges, added);\n\t\tif (err_mes) throw new ValidationError(err_mes, ArrayDiff(ranges, this.profile_camera_ranges))\n\n\t\tthis._profile_camera_range = this.getProfileCameraByRanges(ranges);\n\t\tthis.validateWidthByProfileCameraRange(added);\n }\n\n get camera_types() {\n return this._camera_types\n }\n set camera_types(types) {\n\t\tconst old_types = this.camera_types;\n\t\tconst added = types.length > old_types.length;\n\t\tconst err_mes = this.validateCameraTypes(types, added);\n\t\tif (err_mes) throw new ValidationError(err_mes, ArrayDiff(types, old_types))\n\n if (types.length === 2 && !types.includes(11)) types.push(11)\n\t\tthis._camera_types = types;\n\t\tthis.validateWidthByCameraTypes(added);\n\t\tif (added) {\n\t\t\tconst added_types = types.filter(type => !old_types.includes(type));\n\t\t\tthis.validateGlassTypesByCameraTypes(added_types)\n\t\t}\n }\n\n get glass_types() {\n return this._glass_types\n }\n\n set glass_types(types) {\n\t\tconst err_mes = this.validateGlassTypes(types, this.glass_types);\n\t\tif (err_mes) throw new ValidationError(err_mes, ArrayDiff(types, this.glass_types))\n\n\t\tthis._glass_types = types;\n\t\tthis.validateCameraTypesByGlassTypes()\n }\n\n\tget heat_saving_levels() {\n\t\treturn [...new Set(\n\t\t\tthis.camera_types.map((type) => {\n\t\t\t\tconst heat_saving = CameraTypesHeatSaving[type];\n\t\t\t\tif (heat_saving.add_level) {\n\t\t\t\t\tfor (const codes of heat_saving.glass_codes_for_add) {\n\t\t\t\t\t\tconst every = codes.every(code => this.glass_types.includes(code));\n\t\t\t\t\t\tif (every) return heat_saving.add_level\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn heat_saving.level\n\t\t\t})\n\t\t)]\n\t}\n\tset heat_saving_levels(levels) {\n\t\tconst old_leves = this.heat_saving_levels;\n\t\tif (levels.length === 0)\n\t\t\tthrow new ValidationError('Фильтр не может быть пустым', old_leves)\n\t\tconst old_camera_types = [...this.camera_types];\n\t\tconst added = old_leves.length < levels.length;\n\t\tif (added) {\n\t\t\tconst added_levels = levels.filter(level => !old_leves.includes(level));\n\t\t\tadded_levels.forEach((heat_saving_level) => {\n\t\t\t\tconst type_with_level = this.findCameraTypeByHeatSavingLevel(heat_saving_level);\n\t\t\t\tconst glass_codes_for_add = CameraTypesHeatSaving[type_with_level].glass_codes_for_add;\n\t\t\t\tif (glass_codes_for_add) {\n\t\t\t\t\tfor (const codes of glass_codes_for_add) {\n\t\t\t\t\t\tconst every = codes.every(code => this.glass_types.includes(code));\n\t\t\t\t\t\tif (every) this._glass_types = this.glass_types.filter(code => !codes.includes(code));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (!old_camera_types.includes(type_with_level)) {\n\t\t\t\t\tthis.camera_types = [type_with_level, ...old_camera_types]\n\t\t\t\t}\n\t\t\t})\n\t\t} else {\n\t\t\tconst deleted_levels = old_leves.filter(level => !levels.includes(level));\n\t\t\tdeleted_levels.forEach((heat_saving_level) => {\n\t\t\t\tconst level_index = this.getHeatSavingLevelIndex(heat_saving_level);\n\t\t\t\tconst new_leves_indexes = levels.map(level => this.getHeatSavingLevelIndex(level))\n\t\t\t\tconst type_with_level = this.findCameraTypeByHeatSavingLevel(heat_saving_level);\n\t\t\t\tif (new_leves_indexes.every(index => index > level_index)) { // UP heat saving\n\t\t\t\t\tconst new_types = old_camera_types.filter(camera_type => {\n\t\t\t\t\t\tconst camera_type_heat_level = CameraTypesHeatSaving[camera_type].level;\n\t\t\t\t\t\tconst camera_type_heat_index = this.getHeatSavingLevelIndex(camera_type_heat_level);\n\t\t\t\t\t\treturn camera_type_heat_index > level_index\n\t\t\t\t\t});\n\t\t\t\t\tthis.camera_types = new_types\n\t\t\t\t} else if (new_leves_indexes.every(index => index < level_index)) { // DOWN heat saving\n\t\t\t\t\tif (old_camera_types.includes(type_with_level)) {\n\t\t\t\t\t\tthis.camera_types = old_camera_types.filter(type => type != type_with_level)\n\t\t\t\t\t}\n\t\t\t\t\tconst type_with_add_level = this.findCameraAddTypeByHeatSavingLevel(heat_saving_level);\n\t\t\t\t\tif (old_camera_types.includes(type_with_add_level)) {\n\t\t\t\t\t\tconst glass_codes_for_add = CameraTypesHeatSaving[type_with_add_level].glass_codes_for_add;\n\t\t\t\t\t\tfor (const codes of glass_codes_for_add) {\n\t\t\t\t\t\t\tconst every = codes.every(code => this.glass_types.includes(code));\n\t\t\t\t\t\t\tif (every) this._glass_types = this.glass_types.filter(code => !codes.includes(code));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else { //disable midium\n\t\t\t\t\tthrow new ValidationError('Невозможно отключить среднее значение, при включенных крайних', ArrayDiff(levels, old_leves))\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\t}\n\t//---------------------------------------------------------------------------------------\n\t/**\n\t * -----------------------------------\n \t VALIDATION\n\t *\n\t**/\n\tvalidateCameraTypes(types, added) {\n \tif (types.length === 0) return 'Фильтр не может быть пустым'\n\t\tif (!added) {\n\t\t\tif (types.length === 2 && !types.includes(11)) return 'Невозможно отключить среднее значение, при включенных крайних'\n\t\t}\n\t}\n\tvalidateRanges(ranges, added) {\n \tif (ranges.length === 0) return 'Фильтр не может быть пустым'\n\t\tif (!added) {\n\t\t\tif (this.checkRangesSpacing(ranges)) return 'Невозможно отключить среднее значение, при включенных крайних'\n\t\t}\n\t}\n\tvalidateGlassTypes(types) {\n\t\tif (types.includes(lowEmissionCode) && types.includes(doubleLowEmissionCode)) {\n\t\t\treturn \"Фильтр Защита и безопасность: Невозможно выбрать одновременно Двойное низкоэмиссионное стекло и Низкоэмиссионное стекло\"\n\t\t}\n\t\tif (types.includes(sunprotectionCode) && types.includes(viewprotectionCode)) {\n\t\t\treturn \"Фильтр Защита и безопасность: Невозможно выбрать одновременно Мультистекло и Тонированное или зеркальное стекло от посторонних взглядов\";\n\t\t}\n\t\tlet selected_one = this.camera_types.length === 1 && this.camera_types.includes(14); // выбрана только одна камера\n\t\tif (selected_one) {\n\t\t\tlet without_anti_bulgary = types.filter(type_code => type_code !== antiBurglaryCode);\n\t\t\tif (without_anti_bulgary.length > 2) {\n\t\t\t\treturn \"Фильтр Защита и безопасность: Невозможно выбрать больше 2-х типов стекла при 1 камере в СП\"\n\t\t\t}\n\t\t\tif (types.includes(doubleLowEmissionCode)) {\n\t\t\t\treturn \"Фильтр Защита и безопасность: Невозможно выбрать Низкоэмиссионное двойное стекло при 1 камере в СП\"\n\t\t\t}\n\t\t\tif (types.includes(lowEmissionCode) && types.includes(sunprotectionCode)) {\n\t\t\t\treturn \"Фильтр Защита и безопасность: Невозможно выбрать одновременно Мультистекло и Низкоэмиссионное стекло при 1 камере в СП\"\n\t\t\t}\n\t\t}\n\t\tif (!this.camera_types.includes(12)) {\n\t\t\tif (types.includes(doubleLowEmissionCode) && types.includes(sunprotectionCode)) {\n\t\t\t\treturn \"Фильтр Защита и безопасность: Невозможно выбрать одновременно Двойное низкоэмиссионное стекло и Мультистекло при 2-х камерах в СП\"\n\t\t\t}\n\t\t}\n\t}\n\t//---------------------------------------------------------------------------------------\n\t/**\n\t * -----------------------------------\n \t RECALCULATION\n\t *\n\t**/\n\tvalidateCameraTypesByGlassTypes() {\n\t\tlet valid_camera_types = this.camera_types.filter(type => {\n\t\t\tlet valid = true;\n\t\t\tconst not_valid_glass_sets_codes = CameraTypesGlassNotValid[type];\n\t\t\tnot_valid_glass_sets_codes.forEach(codes => {\n\t\t\t\tconst every = codes.every(code => this.glass_types.includes(code));\n\t\t\t\tif (every) valid = false\n\t\t\t})\n\t\t\treturn valid\n\t\t})\n\n\t\tconst without_anti_bulgary = this.glass_types.filter(type_code => type_code !== antiBurglaryCode);\n\t\tif (without_anti_bulgary.length > 2) {\n\t\t\tvalid_camera_types = valid_camera_types.filter(type => type != 14)\n\t\t}\n\t\tif (valid_camera_types.length < this.camera_types.length) this.camera_types = valid_camera_types\n\t}\n\tvalidateGlassTypesByCameraTypes(added_types) {\n\t\tlet new_glass_types = [...this.glass_types];\n\t\tadded_types.forEach((type) => {\n\t\t\tconst not_valid_glass_sets_codes = CameraTypesGlassNotValid[type];\n\t\t\tnot_valid_glass_sets_codes.forEach(codes => {\n\t\t\t\tconst every = codes.every(code => new_glass_types.includes(code));\n\t\t\t\tif (every) new_glass_types = new_glass_types.filter(type => !codes.includes(type))\n\t\t\t})\n\t\t})\n\t\tif (added_types.includes(14)) {\n\t\t\tconst without_anti_bulgary = new_glass_types.filter(type_code => type_code !== antiBurglaryCode);\n\t\t\tif (without_anti_bulgary.length > 2) {\n\t\t\t\tnew_glass_types = [...new_glass_types.slice(0,2), antiBurglaryCode]\n\t\t\t}\n\t\t}\n\t\tif (new_glass_types.length != this.glass_types.length) this._glass_types = new_glass_types\n\t}\n\tvalidateWidthByCameraTypes(added) {\n\t\tconst old_width_ranges = this.profile_width_ranges;\n\t\tif (added) {\n\t\t\tthis.camera_types.forEach(type => {\n\t\t\t\tconst some_include = old_width_ranges.some(range_index => widthRanges[range_index].camera_types.includes(type))\n\t\t\t\tif (!some_include) {\n\t\t\t\t\tconst new_width_ranges = this.widthRangeIndexes.filter((range_index) => {\n\t\t\t\t\t\tif (old_width_ranges.includes(range_index)) return true\n\t\t\t\t\t\tconst types = widthRanges[range_index].camera_types;\n\t\t\t\t\t\tif (types.includes(type)) return true\n\t\t\t\t\t});\n\t\t\t\t\tif (new_width_ranges.length != old_width_ranges.length) this.profile_width_ranges = new_width_ranges\n\t\t\t\t}\n\t\t\t})\n\t\t} else {\n\t\t\tconst valid_ranges = old_width_ranges.filter((range_index) => {\n\t\t\t\tconst types = widthRanges[range_index].camera_types;\n\t\t\t\treturn types.some(type => this.camera_types.includes(type))\n\t\t\t})\n\t\t\tif (valid_ranges.length < old_width_ranges.length) this.profile_width_ranges = valid_ranges\n\t\t}\n\t}\n\tvalidateWidthByProfileCameraRange(added) {\n\t\tconst old_width_ranges = this.profile_width_ranges;\n\t\tlet new_width_ranges = [...old_width_ranges];\n\n\t\tif (added) {\n\t\t\tfor (const camera_range_index of this.profile_camera_ranges) {\n\t\t\t\tconst camera_range = profileCameraRanges[camera_range_index];\n\n\t\t\t\tconst some_width_range_intersect = old_width_ranges.some(width_range_index => {\n\t\t\t\t\tconst camera_range_by_width = widthRanges[width_range_index].camera_range;\n\t\t\t\t\treturn checkIntersect(camera_range, camera_range_by_width);\n\t\t\t\t})\n\n\t\t\t\tif (some_width_range_intersect) continue\n\n\t\t\t\tfor (const width_range_index of this.widthRangeIndexes) {\n\t\t\t\t\tif (new_width_ranges.includes(width_range_index)) continue\n\t\t\t\t\tconst camera_range_by_width = widthRanges[width_range_index].camera_range;\n\t\t\t\t\tif (checkIntersect(camera_range, camera_range_by_width)) new_width_ranges.push(width_range_index)\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tnew_width_ranges = old_width_ranges.filter((width_range_index) => {\n\t\t\t\tconst camera_range_by_width = widthRanges[width_range_index].camera_range;\n\t\t\t\treturn this.profile_camera_ranges.some(camera_range_index => {\n\t\t\t\t\tconst camera_range = profileCameraRanges[camera_range_index];\n\t\t\t\t\treturn checkIntersect(camera_range_by_width, camera_range);\n\t\t\t\t})\n\t\t\t})\n\t\t}\n\t\tif (old_width_ranges.length != new_width_ranges.length) this.profile_width_ranges = new_width_ranges\n\t}\n\tvalidateCameraTypesByWidthRanges(added) {\n\t\tlet new_types = [...this.camera_types];\n\t\tif (added) {\n\t\t\tthis.profile_width_ranges.forEach((range_index) => {\n\t\t\t\tconst types = widthRanges[range_index].camera_types;\n\t\t\t\tconst all_uniqs = types.every(type => !new_types.includes(type))\n\t\t\t\tif (all_uniqs) new_types = [...new_types, ...types]\n\t\t\t})\n\t\t} else {\n\t\t\tconst valid_types = this.getTypesByWidthRanges(this.profile_width_ranges);\n\t\t\tnew_types = valid_types.filter(type => new_types.includes(type));\n\t\t}\n\t\tif (this.camera_types.length != new_types.length) this.camera_types = new_types\n\t}\n\tvalidateProfileCameraRangeByWidthRanges(added) {\n\t\tif (added) {\n\t\t\tthis.profile_width_ranges.forEach((range_index) => {\n\t\t\t\tconst range = widthRanges[range_index].camera_range;\n\t\t\t\tconst intersect = checkIntersect(this._profile_camera_range, range);\n\t\t\t\tif (!intersect) {\n\t\t\t\t\tconst new_camera_range = [...this._profile_camera_range];\n\t\t\t\t\tif (range[0] < this._profile_camera_range[0]) new_camera_range[0] = range[0]\n\t\t\t\t\tif (range[1] > this._profile_camera_range[1]) new_camera_range[1] = range[1]\n\t\t\t\t\tthis._profile_camera_range = new_camera_range\n\t\t\t\t}\n\t\t\t})\n\t\t} else {\n\t\t\tconst valid_range = this.getCameraRangeByWidthRanges(this.profile_width_ranges);\n\t\t\tconst new_camera_range = [...this._profile_camera_range];\n\t\t\tif (this._profile_camera_range[0] < valid_range[0]) new_camera_range[0] = valid_range[0]\n\t\t\tif (this._profile_camera_range[1] > valid_range[1]) new_camera_range[1] = valid_range[1]\n\t\t\tthis._profile_camera_range = new_camera_range\n\t\t}\n\t}\n\t//---------------------------------------------------------------------------------------\n\t/**\n\t * -----------------------------------\n \t HELPER METHODS\n\t *\n\t**/\n\tfindCameraTypeByHeatSavingLevel(heat_saving_level) {\n\t\treturn Object.keys(CameraTypesHeatSaving).map(type => Number(type)).find((type) => {\n\t\t\treturn CameraTypesHeatSaving[type].level === heat_saving_level\n\t\t});\n\t}\n\tfindCameraAddTypeByHeatSavingLevel(heat_saving_level) {\n\t\treturn Object.keys(CameraTypesHeatSaving).map(type => Number(type)).find((type) => {\n\t\t\treturn CameraTypesHeatSaving[type].add_level === heat_saving_level\n\t\t});\n\t}\n\tgetHeatSavingLevelIndex(heat_saving_level) {\n\t\treturn ['low','medium','high'].indexOf(heat_saving_level)\n\t}\n\tcheckRangesSpacing(range) {\n\t\tconst sorted_ranges = range.sort();\n\t\treturn sorted_ranges[sorted_ranges.length - 1] - sorted_ranges[0] !== sorted_ranges.length - 1\n\t}\n\tgetWidthByRanges(value) {\n\t\tconst sorted_ranges = value.sort();\n\t\tconst min = widthRanges[sorted_ranges[0]].width_range;\n\t\tconst max = widthRanges[sorted_ranges[sorted_ranges.length - 1]].width_range;\n\t\treturn [min[0], max[1]]\n\t}\n\tgetProfileCameraByRanges(value) {\n\t\tconst sorted_ranges = value.sort();\n\t\tlet min = profileCameraRanges[sorted_ranges[0]];\n\t\tlet max = profileCameraRanges[sorted_ranges[sorted_ranges.length - 1]];\n\t\treturn [min[0], max[1]]\n\t}\n\tgetTypesByWidthRanges(ranges) {\n\t\treturn [...new Set(\n\t\t\tranges.map((range_index) => widthRanges[range_index].camera_types).flat()\n\t\t)]\n\t}\n\tgetCameraRangeByWidthRanges(value) {\n\t\tconst sorted_ranges = value.sort();\n\t\tconst min = widthRanges[sorted_ranges[0]].camera_range;\n\t\tconst max = widthRanges[sorted_ranges[sorted_ranges.length - 1]].camera_range;\n\t\treturn [min[0], max[1]]\n\t}\n get widthRangeIndexes() {\n return Object.keys(widthRanges).map(range_index => Number(range_index))\n }\n get cameraRangeIndexes() {\n return Object.keys(profileCameraRanges).map(range_index => Number(range_index))\n }\n}\n\nclass ValidationError extends Error {\n constructor(message, not_valid, ...params) {\n\t\tsuper(...params);\n this.name = 'ValidationError';\n this.message = message;\n this.not_valid = not_valid;\n }\n}\n\nexport default ProfileModule;\n","const ProfileModelModule = {\n state: () => ({\n selected_profiles: [],\n }),\n mutations: {\n SET_SELECTED_PROFILES(state, profiles) {\n state.selected_profiles = profiles\n },\n },\n actions: {\n setSelectedProfiles({ dispatch, commit }, profiles) {\n commit('SET_SELECTED_PROFILES', profiles)\n dispatch('getTimeoutFiltersOffers')\n },\n }\n}\n\n\nexport default ProfileModelModule;","const PriceModule = {\n state: () => ({\n prices: [0, 3000000],\n price_type: \"per_window\",\n }),\n mutations: {\n SET_PRICES(state, prices) {\n state.prices = prices\n },\n SET_PRICES_TYPE(state, price_type) {\n state.price_type = price_type\n },\n },\n actions: {\n setPrices({ commit, dispatch }, prices) {\n commit('SET_PRICES', prices)\n dispatch('getOffers')\n },\n setPriceType({ commit, dispatch }, price_type) {\n commit('SET_PRICES_TYPE', price_type)\n dispatch('getOffers')\n }\n }\n}\n\nexport default PriceModule;","const PriceModule = {\n state: () => ({\n sorting: null,\n filters : { \n min_price: null,\n max_price: null,\n window_height: null,\n window_width: null,\n door_height: null,\n door_width: null,\n casements_types: [],\n casements_count: [],\n camera_count: [],\n profiles: [],\n }\n }),\n mutations: {\n SET_CATALOGUE_PAGES_SORTING(state, value) {\n state.sorting = value\n },\n },\n}\n\nexport default PriceModule;","import {createRouter, createWebHistory} from 'vue-router'\n\nconst Home = () => import(/* webpackPrefetch: true */ '../views/landing/Home.vue');\nconst WithStatic = () => import(/* webpackPrefetch: true */ '../views/landing/WithStatic.vue');\n\nconst routes = [\n {\n path:'/:city_slug?',\n component: Home,\n name: \"Home\",\n },\n {\n path:'/:city_slug?/:sp_slug',\n component: WithStatic,\n name: \"WithStatic\",\n },\n]\n\nconst router = createRouter({\n history: createWebHistory(), // <-- this is a new property and it is mandatory!\n routes,\n})\n\nexport default router\n","import axios from 'axios'\nimport store from \"../../../store\";\nimport router_landing from '../../../router_landing'\nimport { railsData } from \"../../../init_data/rails_data.js\";\n\nconst LandingModule = {\n state: () => ({\n page_params: {},\n page_name: '',\n common_params: {},\n city_name: '',\n text: '',\n header_h1: '',\n header_h2: '',\n reviews: [],\n coords: [],\n map_position: [],\n last_calcs: [],\n header_menu: [],\n saved_offers: [],\n }),\n mutations: {\n SET_PAGE_PARAMS_AND_DATA(state, params) {\n state.page_params = params.page_params;\n state.page_name = params.page_name;\n state.city_name = params.city_name;\n state.last_calcs = params.last_calcs;\n if (params.reviews) {\n state.reviews = JSON.parse(params.reviews);\n state.reviews.forEach ((rev) => {\n rev.isActive = true\n })\n }\n state.coords = params.coords;\n state.saved_offers = params.saved_offers;\n state.map_position = params.map_position;\n },\n SET_COMMON_PARAMS(state, params) {\n state.common_params = params\n },\n },\n actions: {\n select_one_city({commit, dispatch}) {\n\t\t\tcommit(\"OPEN_SELECT_CITY_DIALOG\");\n const unwatch_selected_cities = store.watch((state) => state.citiesM.selected_cities, (selected) => {\n if (selected.length > 1) {\n commit(\"SET_SELECTED_CITIES\", [selected.pop()]);\n return\n }\n commit(\"CLOZE_SELECT_CITY_DIALOG\");\n let city_slug;\n if (selected.length === 1) {\n city_slug = selected[0].slug\n }\n\t\t\t router_landing.push({ name: 'Home', params: { city_slug }});\n });\n const unwatch_city_dialog = store.watch((state) => state.citiesM.city_select_dialog, () => {\n unwatch_selected_cities()\n unwatch_city_dialog()\n });\n },\n setInitData({ commit }) {\n commit(\"SET_COMMON_PARAMS\", railsData.common_params);\n },\n getPageParams({ commit }, page_url) {\n if (page_url === railsData.first_request_url) {\n commit(\"SET_PAGE_PARAMS_AND_DATA\", railsData.page_data);\n commit(\"SET_OFFERS_COUNT\", railsData.page_data.company_count);\n if (railsData.city) commit(\"SET_SELECTED_CITIES\", [railsData.city])\n else commit(\"SET_SELECTED_CITIES\", [])\n } else {\n if (page_url === '/') page_url = '/home'\n axios.get(`${page_url}.json`).then(res => {\n commit(\"SET_PAGE_PARAMS_AND_DATA\", res.data)\n commit(\"SET_OFFERS_COUNT\", res.data.company_count);\n })\n }\n },\n }\n}\n\nexport default LandingModule;\n","import GTService from '../../../services/GlassTypeService.js';\n\nconst GlassTypeModule = {\n state: () => ({\n // для full_search-запроса\n selected_glass_types: [],\n }),\n mutations: {\n SET_SELECTED_GLASS_TYPES(state, ids) {\n state.selected_glass_types = ids\n }\n },\n}\n\nexport default GlassTypeModule;","const AdditionalServicesModule = {\n state: () => ({\n selectedAS: [], // selected additional services\n delivery_distance: '',\n sill_inside_depth: undefined,\n sill_inside_color: undefined,\n sill_outside_depth: 130,\n jambs_depth: 200,\n }),\n mutations: {\n SET_SELECTED_ADDITIONAL_SERVICES(state, value) {\n state.selectedAS = value\n },\n SET_SILL_INSIDE_DEPTH(state, value) {\n state.sill_inside_depth = value\n },\n SET_SILL_OUTSIDE_DEPTH(state, value) {\n state.sill_outside_depth = value\n },\n SET_JAMBS_DEPTH(state, value) {\n state.jambs_depth = value\n },\n SET_SILL_INSIDE_COLOR(state, value) {\n state.sill_inside_color = value\n },\n SET_DELIVERY_DISTANCE(state, value) {\n state.delivery_distance = value\n },\n TOGGLE_ADDITIONAL_SERVICES(state, [code, toAdditionalServices]) {\n // toAdditionalServices - флаг для добавления code в AS\n let new_as_codes = [...state.selectedAS];\n if (toAdditionalServices) new_as_codes.push(code)\n else new_as_codes = new_as_codes.filter(item => item != code);\n state.selectedAS = new_as_codes\n },\n },\n}\n\nexport default AdditionalServicesModule;\n","const FurnitureModelModule = {\n state: () => ({\n selected_furnitures: [],\n }),\n mutations: {\n SET_SELECTED_FURNITURES(state, value) {\n state.selected_furnitures = value\n },\n },\n actions: {\n setSelectedFurnitures({ dispatch, commit }, value) {\n commit('SET_SELECTED_FURNITURES', value)\n dispatch('getTimeoutFiltersOffers')\n },\n }\n}\n\n\nexport default FurnitureModelModule;","import axios from 'axios'\nconst CompanyModel = {\n state: () => ({\n selected_companies: [],\n all_companies: [],\n companies_in_selected_cities: [],\n }),\n mutations: {\n SET_ALL_COMPANY_LIST(state, all_companies) {\n state.all_companies = all_companies\n },\n SET_COMPANIES_IN_SELECTED_CITIES(state, companies) {\n state.companies_in_selected_cities = companies\n },\n SET_SELECTED_COMPANIES(state, value) {\n state.selected_companies = value\n },\n },\n actions: {\n setSelectedCompanies({ dispatch, commit }, value) {\n commit('SET_SELECTED_COMPANIES', value)\n dispatch('getTimeoutFiltersOffers')\n },\n setCompaniesByCities({ commit, state }, cities) {\n let cities_ids = cities.map(item => item.id);\n axios.post('/api/calculator/get_window_companies_list.json',{cities_ids}).then(response => {\n commit('SET_COMPANIES_IN_SELECTED_CITIES', response.data.companies)\n }).catch(function (error) {\n let parsed = JSON.parse(error.request.response)\n console.error(\"get_window_companies_list error\", error, parsed);\n })\n },\n removeCompanyFromSelectedList({commit, state, dispatch}, rItem) {\n let companies = state.selected_companies.filter(item => item != rItem.id);\n commit('SET_SELECTED_COMPANIES', companies);\n dispatch('getTimeoutFiltersOffers');\n }\n },\n}\n\n\nexport default CompanyModel;","import axios from 'axios'\n\nimport { railsData } from \"../../../init_data/rails_data.js\";\n\nconst CitiesModule = {\n state: () => ({\n cities: [],\n all_cities: [],\n top_cities: [],\n selected_cities: [],\n\t\tuser_geo: undefined,\n\t\tuser_city_cookies_empty: undefined,\n\t\t// DIALOGS\n city_confirm_dialog: false,\n city_select_dialog: false,\n\t\t// and user_geo in cookies\n\t\t// or user select city\n user_confirm_city: undefined,\n show_empty_cities_dialog: false\n }),\n mutations: {\n OPEN_CONFIRM_CITY_DIALOG(state) {\n state.city_confirm_dialog = true\n },\n CLOZE_CONFIRM_CITY_DIALOG(state) {\n state.city_confirm_dialog = false\n },\n OPEN_SELECT_CITY_DIALOG(state) {\n state.city_select_dialog = true\n },\n CLOZE_SELECT_CITY_DIALOG(state) {\n state.city_select_dialog = false\n },\n SET_INITIAL_CITIES_DATA(state, data) {\n state.cities = data.cities;\n state.top_cities = data.topCities;\n },\n SET_SELECTED_CITIES(state, selected) {\n state.selected_cities = selected\n },\n SET_CONFIRM_CITY(state, c_city) {\n state.user_confirm_city = c_city;\n },\n SET_USER_GEO(state, geo) {\n state.user_geo = geo;\n },\n SET_SHOW_EMPTY_CITIES_DIALOG(state, show) {\n state.show_empty_cities_dialog = show\n }\n },\n actions: {\n setSelectedCities({ commit, dispatch }, cities) {\n commit('SET_SELECTED_CITIES', cities);\n },\n\t\tsaveCitiesToCookie({state}) {\n\t\t\t$cookies.set('selected_cities_ko', JSON.stringify(state.selected_cities), \"24h\", \"/\", \".\" + main_domain);\n\t\t},\n getCitiesList({ commit }) {\n axios.get(\"/api/calculator/cities\").then(res => {\n commit('SET_INITIAL_CITIES_DATA', res.data);\n }).catch(error => {\n console.error(\"CitiesModule getCitiesList error:\", error);\n })\n },\n\t\tsearchCity({ dispatch }) {\n\t\t\tif (navigator.geolocation) {\n\t\t\t\tnavigator.geolocation.getCurrentPosition(\n\t\t\t\t\t(position) => {\n\t\t\t\t\t\tlet coords = {latitude: position.coords.latitude, longitude: position.coords.longitude }\n\t\t\t\t\t\tdispatch(\"getCityByApi\", {coords});\n\t\t\t\t\t},\n\t\t\t\t\t(error) => {\n\t\t\t\t\t\tconsole.error(\"GEOLOCATION ERROR\", error.message);\n\t\t\t\t\t\tdispatch(\"getCityByApi\",{ coords: { latitude: null, longitude: null } });\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tenableHighAccuracy: true,\n\t\t\t\t\t\ttimeout: 5000\n\t\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tdispatch(\"getCityByApi\",{ coords: { latitude: null, longitude: null } });\n\t\t\t}\n\t\t},\n getCityFromCookie({state, dispatch }) {\n if ($cookies.isKey('selected_cities_ko')) {\n\t\t\t\tstate.user_city_cookies_empty = false;\n \tlet cookies_cities = $cookies.get('selected_cities_ko');\n\t\t\t dispatch('setSelectedCities', cookies_cities);\n } else {\n\t\t\t dispatch('setSelectedCities', []);\n\t\t\t\tstate.user_city_cookies_empty = true;\n\t\t\t}\n },\n getCityByApi({rootState, commit, state, dispatch }, coords) {\n axios.post('/api/calculator/get_city.json', coords).then(res => {\n let userGeo = res.data;\n\t\t\t\tif (userGeo) {\n commit('SET_USER_GEO', [userGeo]);\n\t\t\t\t\tif (state.user_city_cookies_empty && !railsData.current_company) {\n\t\t\t\t\t\t// set city\n \tcommit('SET_CONFIRM_CITY', false);\n \tdispatch('setSelectedCities', state.user_geo);\n\t\t\t\t\t\tdispatch('getOffers');\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// or check user geo city == (cookies city)\n\t\t\t\t\t\tlet selected_ids = state.selected_cities.map(item => item.id);\n\t\t\t\t\t\tlet location_id = state.user_geo.id\n\t\t\t\t\t\tlet user_geo_in_cookies = selected_ids.includes(location_id);\n \tcommit('SET_CONFIRM_CITY', user_geo_in_cookies);\n\t\t\t\t\t}\n\t\t\t\t} else {\n let cookies_cities = $cookies.isKey('selected_cities_ko') ? !!JSON.parse($cookies.get('selected_cities_ko')).length : null\n\t\t\t\t\tif (!cookies_cities && rootState.first_page_load && !railsData.current_company) {\n commit('SET_SHOW_EMPTY_CITIES_DIALOG', true);\n }\n }\n }).catch(error => {\n console.error(\"ERROR IN Api GET_CITY\", error);\n })\n },\n }\n}\n\n\nexport default CitiesModule;\n","const slider_types = [ \n \"one_casement\",\n \"two_casements\",\n \"three_casements\",\n \"four_casements\",\n \"horizontal_one_casements\",\n \"horizontal_two_casements\",\n \"horizontal_three_casements\",\n [\"door\", \"half_sandwich_door\"],\n [\"two_casements_with_left_door\", \"two_casements_with_rigth_door\",\n \"two_casements_with_left_half_sandwich_door\",\"two_casements_with_rigth_half_sandwich_door\"],\n [\"one_casement_with_left_door\", \"one_casement_with_rigth_door\",\n \"one_casement_with_left_half_sandwich_door\", \"one_casement_with_rigth_half_sandwich_door\"]\n];\n\nconst values_for_slider_types = { \n \"one_casement\" : { window_type: 'one_casement', door_type: null },\n \"two_casements\" : { window_type: 'two_casements', door_type: null },\n \"three_casements\" : { window_type: 'three_casements', door_type: null },\n \"four_casements\" : { window_type: 'four_casements', door_type: null },\n \"horizontal_one_casements\" : { window_type: 'horizontal_one_casements', door_type: null },\n \"horizontal_two_casements\" : { window_type: 'horizontal_two_casements', door_type: null },\n \"horizontal_three_casements\" : { window_type: 'horizontal_three_casements', door_type: null },\n \"door\" : { window_type: null, door_type: 'rigth'},\n \"half_sandwich_door\" : { window_type: null, door_type: 'rigth_with_half_sandwich'},\n \"one_casement_with_left_door\" : { window_type: 'one_casement', door_type: 'left' },\n \"one_casement_with_left_half_sandwich_door\" : { window_type: 'one_casement', door_type: 'left_with_half_sandwich' },\n \"one_casement_with_rigth_door\" : { window_type: 'one_casement', door_type: 'rigth'},\n \"one_casement_with_rigth_half_sandwich_door\" : { window_type: 'one_casement', door_type: 'rigth_with_half_sandwich'},\n \"two_casements_with_left_door\" : { window_type: 'two_casements', door_type: 'left' },\n \"two_casements_with_left_half_sandwich_door\" : { window_type: 'two_casements', door_type: 'left_with_half_sandwich' },\n \"two_casements_with_rigth_door\" : { window_type: 'two_casements', door_type: 'rigth'},\n \"two_casements_with_rigth_half_sandwich_door\" : { window_type: 'two_casements', door_type: 'rigth_with_half_sandwich'},\n};\n\nconst desctiptions_for_slider_types = { \n \"one_casement\" : 'одностворчатое окно ПВХ',\n \"two_casements\" : 'двухстворчатое окно ПВХ',\n \"three_casements\" : 'трехстворчатое окно ПВХ',\n \"four_casements\" : 'четырехстворчатое окно ПВХ',\n \"horizontal_one_casements\" : 'одностворчатое с фрамугой окно ПВХ',\n \"horizontal_two_casements\" : 'двухстворчатое окно с фрамугой ПВХ',\n \"horizontal_three_casements\" : 'трехстворчатое окно с фрамугой ПВХ',\n \"door\" : 'дверь ПВХ',\n \"half_sandwich_door\" : 'дверь ПВХ',\n \"one_casement_with_left_door\" : 'балконный блок с одностворчатым окном ПВХ',\n \"one_casement_with_left_half_sandwich_door\" : 'балконный блок с одностворчатым окном ПВХ',\n \"one_casement_with_rigth_door\" : 'балконный блок с одностворчатым окном ПВХ',\n \"one_casement_with_rigth_half_sandwich_door\" : 'балконный блок с одностворчатым окном ПВХ',\n \"two_casements_with_left_door\" : 'балконный блок с двухстворчатым окном ПВХ',\n \"two_casements_with_left_half_sandwich_door\" : 'балконный блок с двухстворчатым окном ПВХ',\n \"two_casements_with_rigth_door\" : 'балконный блок с двухстворчатым окном ПВХ',\n \"two_casements_with_rigth_half_sandwich_door\" : 'балконный блок с двухстворчатым окном ПВХ',\n};\n\nconst casements_for_window_types = { \n one_casement: [{width: 87, height: 130, type: \"swing_out\", name: 'Центральная'}],\n\n two_casements: [{width: 73, height: 130, type: \"swing_out\", name: 'Левая'},\n {width: 72, height: 130, type: \"dead_window\", name: 'Правая'}],\n\n three_casements: [{width: 60, height: 130, type: \"swing_out\", name: 'Левая'},\n {width: 60, height: 130, type: \"dead_window\", name: 'Центральная'},\n {width: 60, height: 130, type: \"rotary\", name: 'Правая'}],\n\n four_casements: [{width: 60, height: 130, type: \"dead_window\", name: 'Левая'},\n {width: 60, height: 130, type: \"swing_out\", name: 'Центральная Левая'},\n {width: 60, height: 130, type: \"rotary\", name: 'Центральная Правая'},\n {width: 60, height: 130, type: \"dead_window\", name: 'Правая'}],\n\n horizontal_one_casements: [{width: 70, height: 85, type: \"dead_window\", name: 'Фрамуга'},\n {width: 70, height: 85, type: \"swing_out\", name: 'Центральная'}],\n\n horizontal_two_casements: [{width: 140, height: 60, type: \"dead_window\", name: 'Фрамуга'},\n {width: 70, height: 140, type: \"swing_out\", name: 'Левая'},\n {width: 70, height: 140, type: \"rotary\", name: 'Правая'}],\n\n horizontal_three_casements: [{width: 160, height: 54,type: \"dead_window\", name: 'Фрамуга'},\n {width: 53, height: 146, type: \"swing_out\", name: 'Левая'},\n {width: 54, height: 146, type: \"dead_window\", name: 'Центральная'},\n {width: 53, height: 146, type: \"rotary\", name: 'Правая'}],\n};\n\nconst casement_for_door_types = {\n left: { width: 75, height: 220, type: \"swing_out\", name: 'Дверь', side: 'left' },\n rigth: { width: 75, height: 220, type: \"swing_out\", name: 'Дверь', side: 'rigth'},\n left_with_half_sandwich: { width: 75, height: 220, type: \"swing_out\", name: 'Дверь', side: 'left', glass_type: 'half_sandwich' },\n rigth_with_half_sandwich: { width: 75, height: 220, type: \"swing_out\", name: 'Дверь', side: 'rigth', glass_type: 'half_sandwich' }\n};\n\n\nexport { slider_types, values_for_slider_types, desctiptions_for_slider_types, casements_for_window_types, casement_for_door_types }\n","import { values_for_slider_types, casements_for_window_types, casement_for_door_types } from \"../../../init_data/window_type_slider.js\";\n\nconst AllCasementTypes = {\n\tdead_window: { name: 'Глухая', short_name: 'Г' },\n\trotary: { name: 'Поворотная', short_name: 'П' },\n\tswing_out: { name: 'Поворотно-откидная', short_name: 'ПО' }\n};\n\nconst CurrentWindowModule = {\n state: () => ({\n\t\tall_casement_types: AllCasementTypes,\n window_casements: undefined,\n door_casement: undefined,\n quantity: 1,\n window_color_inside: { name: 'нет', rgb: '#00000000' },\n window_color_outside: { name: 'нет', rgb: '#00000000' },\n window_color_solid: { name: 'Белая', rgb: '#FFFFFFFF' },\n // количество не глухих створок текущего окна (для детского замка)\n window_full_name: '',\n\t\t// ***** MosquitoFilter *****\n window_parts_generated: [],\n\t\tas_mosquitoscreen: [],\n\t\tas_petscreen: [],\n\t\tas_dustscreen: [],\n\t\t// --------------------------\n }),\n mutations: {\n SET_CASEMENTS(state, casements) {\n state.casements = casements\n },\n SET_WINDOW_CASEMENTS(state, casements) {\n state.window_casements = casements\n },\n SET_DOOR_CASEMENT(state, casement) {\n state.door_casement = casement\n },\n SET_DOOR(state, door) {\n if (door) {\n state.door = door;\n state.door_side = door.side;\n let door_image_code = door.side + '/';\n if (door.glass_type === 'half_sandwich') door_image_code += 'half_sandwich/'\n if (door.type === 'swing_out') door_image_code += '2.webp'\n if (door.type === 'rotary') door_image_code += '1.webp'\n state.door_image_code = door_image_code\n } else {\n state.door = null;\n state.door_side = null;\n }\n },\n SET_PARTS_FOR_GRID(state, [window_parts_generated,avalibl_parts_for_grid]) {\n state.window_parts_generated = window_parts_generated;\n state.avalibl_parts_for_grid = avalibl_parts_for_grid;\n },\n SET_GRID(state,[type, selected]) {\n\t\t\tstate[type] = selected;\n },\n SET_WINDOW_FULL_NAME(state, name) {\n state.window_full_name = name\n },\n SET_CASEMENT_TYPE(state, casement_type) {\n state.casement_type = parseInt(casement_type);\n },\n SET_CASEMENTS_COUNT(state, count) {\n state.casements_count = count\n },\n SET_WITH_FRAMUGA(state, with_framuga) {\n state.with_framuga = with_framuga\n },\n SET_QUANTITY(state, quantity) {\n state.quantity = quantity;\n },\n SET_WINDOW_COLOR_INSIDE(state, window_color_inside) {\n state.window_color_inside = window_color_inside;\n },\n SET_WINDOW_COLOR_OUTSIDE(state, window_color_outside) {\n state.window_color_outside = window_color_outside;\n },\n SET_WINDOW_COLOR_SOLID(state, window_color_solid) {\n state.window_color_solid = window_color_solid;\n },\n },\n actions: {\n\t\tsetCasements({state,commit,dispatch}, casements) {\n\t\t\tcommit('SET_CASEMENTS', casements);\n if (!casements) return\n let all_count = Object.values(casements).length; // casements + framuga\n let casements_count = Object.values(casements).filter(cas => cas.casement).length;\n\t\t\tcommit('SET_CASEMENTS_COUNT', casements_count);\n\t\t\tcommit('SET_WITH_FRAMUGA', (all_count !== casements_count));\n\t\t\t// set window_parts and avalibl_parts for grid\n\t\t\t//FOR MOSQ GRID\n\t\t\tlet window_parts_generated = [];\n\t\t\tlet avalibl_parts_for_grid = [];\n\n\t\t\tlet wd_part_names = state.all_window_types[state.window_type];\n\t\t\twd_part_names.forEach((name,index) => {\n\t\t\t\tlet casement = casements[index];\n\t\t\t\tlet width = casement['width'];\n\t\t\t\tlet height = casement['height'];\n\t\t\t\tlet size = `${width}*${height}`;\n\t\t\t\tlet type = state.all_casement_types[casement['type']];\n\t\t\t\twindow_parts_generated.push({ name, size, type, width, height})\n\n\t\t\t\tif (name !== 'Фрамуга' && casement['type'] !== 'dead_window') {\n\t\t\t\t\tavalibl_parts_for_grid.push(name)\n\t\t\t\t}\n\t\t\t})\n\t\t\tcommit('SET_PARTS_FOR_GRID', [window_parts_generated, avalibl_parts_for_grid]);\n // если скроем фильтр, то обнулим выбранную до этого фурнитуру\n if (avalibl_parts_for_grid.length === 0) {\n commit('SET_SELECTED_FURNITURES', [])\n }\n\t\t\t// FIlters for delete invalid grid\n\t\t\tdispatch('setGrid',['as_mosquitoscreen',state.selectedMosq.filter((name) => avalibl_parts_for_grid.includes(name))]);\n\t\t\tdispatch('setGrid',['as_petscreen',state.selectedPet.filter((name) => avalibl_parts_for_grid.includes(name))]);\n\t\t\tdispatch('setGrid',['as_dustscreen',state.selectedDust.filter((name) => avalibl_parts_for_grid.includes(name))]);\n\t\t\t//---------------\n\t\t},\n\t\tsetGrid({ state,commit,dispatch },[type,selected]) {\n\t\t\tcommit('SET_GRID',[type, selected]);\n let add;\n\t\t\tif (selected.length === 0) add = false\n else add = true\n\t\t\tcommit('TOGGLE_ADDITIONAL_SERVICES',[type, add])\n\t\t},\n setDfDoorType({state, commit}, type) {\n let df_value = casement_for_door_types[type];\n\t\t\tcommit('SET_DOOR', df_value.door);\n },\n deleteDoorCasement({commit}) {\n\t\t\tcommit('SET_DOOR', null);\n },\n setSliderTypesDfCasements({state, commit, dispatch, rootState}, type) {\n\t\t\tlet slider_type_value = values_for_slider_types[type];\n let window_type = slider_type_value.window_type;\n if (window_type) {\n let casements = casements_for_window_types[window_type];\n commit('SET_WINDOW_CASEMENTS', casements)\n } else {\n commit('SET_WINDOW_CASEMENTS', null)\n }\n let door_type = slider_type_value.door_type;\n if (door_type) {\n let casement = casement_for_door_types[door_type];\n commit('SET_DOOR_CASEMENT', casement)\n } else {\n commit('SET_DOOR_CASEMENT', null)\n }\n\t\t\t//\n\t\t\t// IF THE MOBILE AGGREGATOR PAGE WAS LOADED THEN DO NOT getOFFERS\n\t\t\t//\n\t\t\tif (!(rootState.aggregator_page_load && rootState.isMobile)) { \n\t\t\t\tdispatch('getOffers')\n }\n },\n setInitialWindowColor({ commit }, [\n color_inside,\n color_outside,\n color_solid\n ]) {\n commit(\"SET_WINDOW_COLOR_INSIDE\", JSON.parse(color_inside));\n commit(\"SET_WINDOW_COLOR_OUTSIDE\", JSON.parse(color_outside));\n commit(\"SET_WINDOW_COLOR_SOLID\", JSON.parse(color_solid));\n }\n },\n getters: {\n\t\tavalibl_parts_for_grid: state => {\n let avalibl = [];\n if (state.window_casements) {\n state.window_casements.forEach(casement => {\n if (casement.type !== 'dead_window') avalibl.push(casement.name)\n })\n }\n if (state.door_casement) {\n if (state.door_casement.type !== 'dead_window') avalibl.push(state.door_casement.name)\n }\n return avalibl\n\t\t},\n }\n}\n\n\nexport default CurrentWindowModule;\n","const SortFilterModule = {\n state: () => ({\n active_sorting: \"price\",\n sort_rating: \"desc\",\n sort_price: \"asc\",\n // флаг для показа фильтров слева на мобилке\n show_left_filters: false,\n }),\n mutations: {\n SORT_DEFAULT_CHANGED(state) {\n state.sort_default_changed = true\n },\n SET_ACTIVE_SORTING(state, active_sorting) {\n state.active_sorting = active_sorting\n },\n SET_SORT_RATING(state, sort_rating) {\n state.sort_rating = sort_rating\n },\n SET_SORT_PRICE(state, sort_price) {\n state.sort_price = sort_price\n },\n SET_SHOW_LEFT_FILTERS(state, value) {\n state.show_left_filters = value\n }\n },\n actions: {\n setActiveSorting({ commit, dispatch }, { active_sorting, upd_offers }) {\n commit('SET_ACTIVE_SORTING', active_sorting);\n commit('WITHOUT_TOPS');\n if (upd_offers) {\n dispatch('getOffers')\n }\n },\n setSortRating({ commit, dispatch }, sort_rating) {\n commit('SET_SORT_RATING', sort_rating);\n commit('WITHOUT_TOPS');\n dispatch('getOffers')\n },\n setSortPrice({ commit, dispatch }, sort_price) {\n commit('SET_SORT_PRICE', sort_price);\n commit('WITHOUT_TOPS');\n dispatch('getOffers')\n },\n }\n}\n\n\nexport default SortFilterModule;\n","import { railsData } from \"../../../init_data/rails_data.js\";\n\nconst InitialDataModule = {\n state: () => ({\n protocol: window.location.protocol,\n hostname: window.location.hostname,\n origin: window.location.origin,\n }),\n actions: {\n getInitialParams({ rootState, commit, dispatch }) {\n\t\t\tlet filters;\n\n if (railsData.init_filters) filters = JSON.parse(railsData.init_filters)\n if (railsData.filters) filters = JSON.parse(railsData.filters) // Static page\n if (filters) dispatch('setFiltersFromGon',filters);\n\n if (railsData.current_company) {\n // SHOW SELECT COMPANY OFFERS\n commit('SET_SELECTED_COMPANIES', [parseInt(railsData.current_company)]);\n } else if (railsData.bulk_discounts_city) {\n commit('SET_AREA_INPUT_DIALOG_SHOW', true);\n dispatch('setSelectedCities', JSON.parse(railsData.bulk_discounts_city));\n } else {\n\t\t\t // Static page with city or set from cookie\n if (railsData.city){\n\t\t\t dispatch('setSelectedCities', [railsData.city]);\n } else {\n dispatch('getCityFromCookie');\n }\n }\n if (railsData.offers_data) commit('SET_RESPONSE_PARAMS', railsData.offers_data)\n\t\t\t// search user geo and set city if first page and cookie empty and current_company empty\n\t\t\tdispatch(\"searchCity\");\n\t\t\t//\t if aggregator loader => do not show offers on first page\n\t\t\t//\t if first page => limit 3 offer on first page, take city GEO, and Init slider ('two casement')\n\t\t\tif (rootState.first_page_load) {\n\t\t\t\tcommit(\"SET_LIMIT\", 3);\n\t\t\t} else {\n\t\t\t\tcommit(\"SET_AGGREGATOR_LOAD\");\n\t\t\t}\n\t\t\tif (rootState.offers.length === 0) dispatch(\"getOffers\")\n\t\t},\n clearFilters({ dispatch }) {\n const filters = JSON.parse(railsData.init_filters);\n dispatch('setFiltersFromGon',filters);\n dispatch(\"getOffers\")\n },\n setFiltersFromGon({ commit, dispatch },filters) {\n if (filters.selected_cities) {\n\t\t\t commit('SET_SELECTED_CITIES', filters.selected_cities);\n }\n\t\t\tcommit('SET_SELECTED_COMPANIES', filters.companies);\n\t\t\t//*************\n\t\t\t//LIMIT OFFER AND SHOW?\n\t\t\tcommit('SET_LIMIT', filters.limit);\n\t\t\tcommit('SET_WITHOUT_WINDOW', filters.show_without_window);\n\t\t\tcommit('SET_WITHOUT_FILTERS', filters.show_without_filters);\n\t\t\tcommit('SET_WITHOUT_FILTERS_HINT', filters.show_without_filters_hint);\n\t\t\t//***********************\n\t\t\t//WINDOW COSTRUCTION PARAMS\n // commit('SET_DOOR', filters.door);\n // dispatch('setCasements', filters.casements);\n\n commit('SET_DOOR_CASEMENT', filters.door_casement);\n commit('SET_WINDOW_CASEMENTS', filters.window_casements);\n\t\t\t// *******************\n\t\t\t// ADITIONAL SERVICES\n commit(\"SET_SELECTED_ADDITIONAL_SERVICES\",filters.additional_services);\n\t\t\tif (filters.delivery_distance) {\n\t\t\t\tcommit(\"SET_DELIVERY_DISTANCE\", filters.delivery_distance)\n\t\t\t}\n commit(\"SET_SILL_INSIDE_DEPTH\", filters.sill_inside_depth)\n commit(\"SET_SILL_INSIDE_COLOR\", filters.sill_inside_color)\n commit(\"SET_SILL_OUTSIDE_DEPTH\", filters.sill_outside_depth)\n commit(\"SET_JAMBS_DEPTH\", filters.jambs_depth)\n\n // GRIDS WINDOW\n commit('SET_GRID',['as_mosquitoscreen', filters.as_mosquitoscreen]);\n commit('SET_GRID',['as_petscreen', filters.as_petscreen]);\n commit('SET_GRID',['as_dustscreen', filters.as_dustscreen]);\n\n\t\t\t//********\n\t\t\t//QUNTITY\n commit(\"SET_QUANTITY\", filters.quantity);\n\t\t\t// *******\n\t\t\t//$PRICE\n\t\t\tcommit('SET_PRICES', filters.quality)\n commit('SET_PRICES_TYPE', filters.price_type)\n\t\t\t//********\n\t\t\t//SORTING\n\t\t\tcommit('SET_ACTIVE_SORTING', filters.active_sorting)\n\t\t\tcommit('SET_SORT_PRICE', filters.sort_price);\n\t\t\tcommit('SET_SORT_RATING', filters.sort_rating);\n\t\t\t//************\n\t\t\t//SORT PANEL\n\t\t\tcommit('SET_SELECTED_FURNITURES', filters.furniture);\n\t\t\tcommit('SET_SELECTED_PROFILES', filters.profiles);\n\n\t\t\t//!!!!!!!!!!!!!!!!!!!!!!!!!!\n commit('SET_PROFILE_PARAMS', filters);\n\t\t\t//**************\n\t\t\t//WINDOW_COLOR\n commit(\"SET_WINDOW_COLOR_INSIDE\", filters.window_color_inside);\n commit(\"SET_WINDOW_COLOR_OUTSIDE\", filters.window_color_outside);\n commit(\"SET_WINDOW_COLOR_SOLID\", filters.window_color_solid);\n },\n }\n}\n\n\nexport default InitialDataModule;\n","import axios from 'axios';\n\nconst OffersCartModule = {\n state: () => ({\n in_cart: [],\n ordered: [],\n total_count: 0,\n in_cart_count: 0,\n ordered_count: 0,\n cart_sent: [],\n\n order_complite: false,\n selected_in_cart_offers: [], // ShoppingCart\n selected_ordered_offers: [],\n in_cart_offers: [], // ShoppingCart\n ordered_offers: [],\n measure_request_content: {},\n\n }),\n mutations: {\n ORDER_COMPLITE(state) {\n state.order_complite = true\n },\n OFFERS_ORDER_FORM_REFRESH(state) {\n state.order_complite = false\n },\n ADD_TO_CART(state, offer) {\n state.in_cart.push(offer)\n },\n REMOVE_FROM_CART(state, offer) {\n\t\t\t state.in_cart = state.in_cart.filter(item => item !== offer);\n },\n SET_ITEM_CART_SENT(state, offer_uniq) {\n state.cart_sent.push(offer_uniq)\n },\n REMOVE_ITEM_CART_SENT(state, offer_uniq) {\n\t\t\t state.cart_sent = state.cart_sent.filter(item => item !== offer_uniq);\n },\n FETCH_BASKET_STATUS(state, data) {\n state.total_count = data.total\n state.in_cart_count = data.incart\n state.ordered_count = data.ordered\n },\n\t\t\t\tSET_IN_CART_OFFERS(state, offers) {\n\t\t\t\t\tstate.in_cart_offers = offers\n\t\t\t\t},\n REMOVE_FROM_ORDERED_OFFERS(state, uniq) {\n let new_in_cart_offers = [];\n state.ordered_offers.forEach((company) => {\n let offers = company.offers.filter(offer => offer.uniq !== uniq);\n if (offers.length) {\n company.offers = offers;\n new_in_cart_offers.push(company)\n }\n })\n state.ordered_offers = new_in_cart_offers\n },\n\t\t\t\tSET_ORDERED_OFFERS(state, offers) {\n\t\t\t\t\tstate.ordered_offers = offers\n\t\t\t\t},\n\t\t\t\tSET_SELECTED_IN_CART_OFFERS(state, uniqs) {\n\t\t\t\t\tstate.selected_in_cart_offers = uniqs\n\t\t\t\t},\n\t\t\t\tSET_SELECTED_ORDERED_OFFERS(state, uniqs) {\n\t\t\t\t\tstate.selected_ordered_offers = uniqs\n\t\t\t\t},\n REMOVE_FROM_IN_CART_OFFERS(state,uniq) {\n let new_in_cart_offers = [];\n state.in_cart_offers.forEach((company) => {\n let offers = company.offers.filter(offer => offer.uniq !== uniq);\n if (offers.length) {\n company.offers = offers;\n new_in_cart_offers.push(company)\n }\n })\n state.in_cart_offers = new_in_cart_offers\n },\n\t\t\t\tREMOVE_FROM_SELECTED_IN_CART_OFFERS(state, uniq) {\n\t\t\t\t\tstate.selected_in_cart_offers = state.selected_in_cart_offers.filter(offer_uniq => offer_uniq !== uniq);\n\t\t\t\t},\n SET_MEASURE_REQUEST_CONTENT(state, data) {\n state.measure_request_content = data\n },\n },\n actions: {\n addOfferToCart({commit, dispatch}, offer) {\n commit('SET_ITEM_CART_SENT', offer.uniq);\n axios.post('/shopping_cart/add_to_cart', {offer: offer, offer_type: 'incart'}).then( res =>{\n commit('ADD_TO_CART', offer);\n }).catch(err => {\n console.error(\"OffersCartModule addOfferToCard\", error);\n commit(\"SET_ERROR_MESSAGE\", [\n \"Ошибка добавления в корзину\",\n \"Извините, что-то пошло не так.\",\n ]);\n }).finally(res => {\n commit('REMOVE_ITEM_CART_SENT', offer.uniq);\n dispatch('fetchBasketStatus');\n })\n\n },\n removeOfferFromCart({state, commit, dispatch}, {offer_type, offer}) {\n commit('SET_ITEM_CART_SENT', offer.uniq);\n axios.post('/shopping_cart/remove_from_cart', {offer_type, offer}).then( res =>{\n if (res.data.status === 'success') {\n if (offer_type == 'ordered') {\n if (Array.isArray(offer)) {\n offer.forEach((offer_one) => {\n commit('REMOVE_FROM_ORDERED_OFFERS', offer_one.uniq)\n commit('REMOVE_FROM_SELECTED_IN_CART_OFFERS', offer_one.uniq)\n })\n } else {\n commit('REMOVE_FROM_ORDERED_OFFERS', offer.uniq)\n commit('REMOVE_FROM_SELECTED_IN_CART_OFFERS', offer.uniq)\n }\n } else {\n commit('REMOVE_FROM_IN_CART_OFFERS', offer.uniq)\n commit('REMOVE_FROM_SELECTED_IN_CART_OFFERS', offer.uniq)\n commit('REMOVE_FROM_CART', offer);\n }\n }\n }).catch(err => {\n console.error(\"OffersCartModule removeOfferFromCart\", error);\n commit(\"SET_ERROR_MESSAGE\", [\n \"Не удалось убрать заявку\",\n \"Извините, что-то пошло не так.\",\n ]);\n }).finally(res => {\n commit('REMOVE_ITEM_CART_SENT', offer.uniq);\n dispatch('fetchBasketStatus');\n })\n },\n fetchBasketStatus({commit}) {\n axios.get('/shopping_cart/state.json').then(res => {\n commit('FETCH_BASKET_STATUS', res.data)\n }).catch(err => {\n console.error(\"OffersCartModule fetchBasketStatus\", error)\n })\n },\n getOffersInformation({state, commit, dispatch}, {guid, session_id}) {\n axios.post('/shopping_cart/measure_request_information.json', {measure_request: {guid, session_id}}).then( res => {\n if (res.data.status === 'success') {\n commit('SET_MEASURE_REQUEST_CONTENT', res.data.content)\n }\n }).catch(err => {\n commit(\"SET_ERROR_MESSAGE\", [\n \"Не удалось получить данные по заявке\",\n \"Извините, что-то пошло не так.\",\n ]);\n })\n }\n },\n }\nexport default OffersCartModule;\n","const PageModule = {\n state: () => ({\n page: 1,\n per_page: 20,\n page_with_offers: false\n }),\n mutations: {\n SET_PAGE(state, page) {\n state.page = page;\n },\n SET_PAGE_WITH_OFFERS(state, page_with_offers) {\n state.page_with_offers = page_with_offers\n }\n },\n }\n \n export default PageModule;","import axios from 'axios';\n\nconst StatisticModule = {\n state: () => ({\n clickedContactCompanies: [],\n }),\n mutations: {\n ADD_TO_CONTACT_CLICKED(state, company_id) {\n state.clickedContactCompanies.push(company_id)\n },\n REMOVE_FROM_CONTACT_CLICKED(state, company_id) {\n state.clickedContactCompanies = state.clickedContactCompanies.filter(item_company_id => item_company_id !== company_id);\n }\n },\n actions: {\n saveStats({rootState, getters}, {company_id, payment_type, fee_proposal_id}) {\n const city_id = getters.city_for_statistic;\n\t\t\t const user_city_ids = rootState.citiesM.selected_cities.map(city => city.id);\n const fee_proposal_ids = fee_proposal_id ? [fee_proposal_id] : undefined;\n axios.put('/api/payment/payment_statistic/save', {payment_type, company_id, city_id, fee_proposal_ids, user_city_ids}).then(res => {\n console.log(res);\n }).catch(err => {\n console.error(\"saveStats: \", err, company_id);\n })\n },\n },\n}\n\nexport default StatisticModule\n","import axios from 'axios';\n\nlet user_sign_in_process = false;\n\nconst LoggedModule = {\n state: () => ({\n user_signed_in: user_signed_in === 'true',\n error_message: \"\",\n reset_pwd_success: \"\",\n current_user_info_present: false,\n admin: false,\n name: undefined,\n balance: undefined,\n calculator_stoped: undefined,\n status: undefined,\n calculator_status: undefined,\n recurrent_pay: undefined,\n payture_cards: undefined,\n limit_msg_timeout_count: 0,\n trial_msg_timeout_count: 0,\n ls: null,\n trial_hours: undefined,\n qr_code: undefined,\n to_open_dialog: false,\n }),\n mutations: {\n SET_QR_CODE(state,qr_code) {\n state.qr_code = qr_code\n },\n SET_RECURRENT_PAY(state,recurrent_pay) {\n state.recurrent_pay = recurrent_pay\n },\n SET_PAYTURE_CARDS_AND_RECCURENT_PAY(state, data) {\n state.recurrent_pay = data.recurrent_pay;\n state.payture_cards = data.cards\n },\n SET_CALCULATOR_STOPED(state, calculator_stoped) {\n state.calculator_stoped = calculator_stoped\n },\n SET_USER_SIGNED_IN(state, user_signed_in) {\n state.user_signed_in = user_signed_in\n },\n SET_CURRENT_USER_INFO(state, info) {\n if (info.trial) {\n state.trial_hours = info.trial;\n }\n state.admin = info.admin;\n state.name = info.name;\n state.balance = info.balance;\n state.calculator_stoped = info.calculator_stoped;\n state.status = info.status;\n state.calculator_status = info.calculator_status;\n state.recurrent_pay = info.recurrent_pay;\n state.payture_cards = info.payture_cards;\n state.current_user_info_present = true;\n state.ls = info.ls;\n },\n CLEAR_CURRENT_USER_INFO(state) {\n state.admin = undefined;\n state.name = undefined;\n state.balance = undefined;\n state.calculator_stoped = undefined;\n state.status = undefined;\n state.calculator_status = undefined;\n state.recurrent_pay = undefined;\n state.payture_cards = undefined;\n state.current_user_info_present = false;\n },\n SET_LOGIN_ERROR_MESSAGE(state, error) {\n state.error_message = error\n },\n SET_RESET_PWD_SUCCESS(state, suc) {\n state.reset_pwd_success = suc\n },\n SET_BALANCE_INFO(state, balance) {\n state.balance = balance\n },\n SET_LIMIT_COUNT_INFO(state, timeout_count) {\n if (timeout_count > 120) {\n state.limit_msg_timeout_count = 1\n } else {\n state.limit_msg_timeout_count = timeout_count\n }\n },\n SET_TRIAL_COUNT_INFO(state, timeout_count) {\n if (timeout_count > 120) {\n state.trial_msg_timeout_count = 1\n } else {\n state.trial_msg_timeout_count = timeout_count\n }\n },\n SET_TO_OPEN_DIALOG(state, value) {\n state.to_open_dialog = value\n }\n },\n actions: {\n paytureRequest({commit,dispatch}, data_for_request) {\n axios.post(data_for_request.url, data_for_request.data).then(res => {\n if (res.data.success) {\n if (res.data.url) {\n window.open(res.data.url, '_blank').focus()\n }\n if (res.data.file) {\n const linkSource = `data:application/pdf;base64,${res.data.file.data}`;\n const downloadLink = document.createElement('a');\n document.body.appendChild(downloadLink);\n downloadLink.href = linkSource;\n downloadLink.target = '_self';\n downloadLink.download = res.data.file.name\n downloadLink.click()\n }\n if (res.data.msg) {\n if (data_for_request.log) {\n data_for_request.log.push({ type: 'success', message: res.data.msg });\n }\n }\n if (data_for_request.commit) {\n commit(data_for_request.commit, res.data.new_data)\n }\n } else {\n if (data_for_request.log) {\n data_for_request.log.push({ type: 'error', message: res.data.msg });\n }\n }\n })\n },\n checkUserLogged({state, commit, dispatch}) {\n if (state.user_signed_in) {\n dispatch('getCurrentUserInfo')\n }\n commit('SET_USER_SIGNED_IN', state.user_signed_in)\n },\n loginUser({commit, state, dispatch}, data) {\n user_sign_in_process = true;\n const config = {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded'\n }\n }\n\n const params = new URLSearchParams();\n\n params.append('user[email]', data.email);\n params.append('user[password]', data.password);\n params.append('authenticity_token', first_page_token_param);\n\n axios.post('/auth/login', params, config).then( res => {\n commit('SET_USER_SIGNED_IN', true);\n dispatch('getCurrentUserInfo');\n }).catch(error => {\n console.error(\"loginUser:\", error);\n commit(\"SET_LOGIN_ERROR_MESSAGE\", error.response.data);\n })\n },\n redirectUser({state}) {\n if (state.current_user_info_present) {\n let user_area = state.admin ? 'admin' : 'client';\n let user_subarea = state.admin ? 'companies' : 'company';\n window.location.href= `/${user_area}/${user_subarea}`;\n } else console.error(\"redirectUser: can't find current user\");\n },\n getCurrentUserInfo({commit, dispatch}) {\n axios.get('/api/calculator/current_user_info').then(res => {\n commit('SET_CURRENT_USER_INFO', res.data);\n if (user_sign_in_process) dispatch('redirectUser');\n }).catch(err => {\n console.error(\"getCurrentUserInfo:\", err);\n }).finally(res =>{\n user_sign_in_process = false;\n })\n },\n checkRecurrentPayValues({state, dispatch}, {log}) {\n dispatch('paytureRequest',{ url: '/client/payment/payture/check_recurrent_pay',\n commit: 'SET_RECURRENT_PAY',\n log })\n },\n getBalance({commit, state}) {\n axios.get('/api/calculator/company_balance').then(res => {\n commit('SET_BALANCE_INFO', res.data.balance);\n if (res.data.balance === 0 && !res.data.company_with_trial) {\n commit('SET_BALANCE_PAYTURE_MESSAGE', ['Пробный период истек, необходимо','пополнить','баланс для отображения предложений в калькуляторе.']);\n }\n commit('SET_LIMIT_COUNT_INFO', state.limit_msg_timeout_count + 1)\n commit('SET_TRIAL_COUNT_INFO', state.trial_msg_timeout_count + 1)\n if (res.data.limit_msg && state.limit_msg_timeout_count === 1) {\n setTimeout(() => commit('SET_SUCCESS_PAYTURE_MESSAGE', res.data.limit_msg), 120*60*1000);\n } else if (res.data.limit_msg && state.limit_msg_timeout_count === 120) {\n commit('SET_SUCCESS_PAYTURE_MESSAGE', res.data.limit_msg);\n }\n if (res.data.trial_msg && state.trial_msg_timeout_count === 1) {\n setTimeout(() => commit('SET_SUCCESS_PAYTURE_MESSAGE', res.data.trial_msg), 120*60*1000);\n } else if (res.data.trial_msg && state.trial_msg_timeout_count === 120) {\n commit('SET_SUCCESS_PAYTURE_MESSAGE', res.data.trial_msg);\n }\n }).catch(err => {\n console.error(\"getBalance:\", err);\n })\n },\n logoutUser({commit}) {\n axios.get('/auth/logout').then(res => {\n commit('SET_USER_SIGNED_IN', false);\n commit('CLEAR_CURRENT_USER_INFO');\n })\n },\n resetPwd({commit}, email) {\n let params = {\n email: email\n }\n commit('SET_LOGIN_ERROR_MESSAGE', \"\")\n axios.post('/api/calculator/reset_password', params).then(res => {\n if (res.data.message) commit(\"SET_RESET_PWD_SUCCESS\", res.data.message)\n }).catch(err => {\n console.error(\"reset pwd error\", err.response.data)\n if (err.response.data.message) commit('SET_LOGIN_ERROR_MESSAGE', err.response.data.message);\n })\n\n }\n },\n}\n\nexport default LoggedModule;\n","import axios from 'axios'\n\nconst CompaniesListModule = {\n state: () => ({\n companies: [],\n companies_count: 0,\n companies_loaded: false,\n pagination_companies: {\n page: 1,\n per_page: 50\n },\n reviews: [],\n reviews_count: 0,\n reviews_loaded: false,\n page_reviews: 1,\n }),\n mutations: {\n SET_COMPANIES_LIST(state, companies) {\n state.companies = companies\n },\n SET_REVIEWS(state, reviews) {\n state.reviews = reviews\n state.reviews.forEach(rev => rev.isActive = true)\n },\n SET_COMPANIES_COUNT(state, companies_count) {\n state.companies_count = companies_count\n },\n SET_REVIEWS_COUNT(state, reviews_count) {\n state.reviews_count = reviews_count\n },\n SET_REVIEWS_LIST_PAGE(state, page) {\n state.page_reviews = page\n },\n SET_COMPANIES_LIST_PAGINATION(state, pagination) {\n state.pagination_companies = pagination\n },\n SET_COMPANIES_LOADED(state) {\n state.companies_loaded = true\n },\n SET_REVIEWS_LOADED(state) {\n state.reviews_loaded = true\n }\n },\n actions: {\n getCompaniesList({ commit, state }, filters) {\n\t\t\taxios.get('/kompanii.json', { params: filters }).then(response => {\n commit('SET_COMPANIES_LOADED');\n let new_companies = JSON.parse(response.data.results)\n let companies_count = response.data.companies_count\n if (new_companies.length == 0 && companies_count !== 0) {\n let per_page = state.pagination_companies.per_page\n commit('SET_COMPANIES_LIST_PAGINATION',{page:1, per_page:per_page})\n } else {\n commit('SET_COMPANIES_LIST', new_companies)\n commit('SET_COMPANIES_COUNT', companies_count)\n }\n })\n },\n loadReviews({ commit }, data_for_request) {\n axios.get(data_for_request.url, {\n params: data_for_request.params\n }).then(res => {\n commit('SET_REVIEWS_LOADED');\n let reviews = res.data.reviews;\n let reviews_count = res.data.count;\n if (reviews.length == 0 && reviews_count !== 0) {\n commit('SET_REVIEWS_LIST_PAGE', 1);\n } else {\n commit('SET_REVIEWS', reviews)\n commit('SET_REVIEWS_COUNT', reviews_count)\n }\n })\n }\n }\n}\n\nexport default CompaniesListModule;\n","import axios from 'axios';\n\nimport router from '../../router/index';\n\nconst MeasureRequestCompaniesModule = {\n state: () => ({\n companies_list: [],\n all_cities_selected_dialog: false,\n cities_for_repair_confirmation: false\n }),\n mutations: {\n SET_MEASURE_REQUEST_COMPANIES_LIST(state, companies) {\n state.companies_list = companies\n },\n SET_ALL_SELECTED_CITIES_DIALOG(state, dialog_active) {\n state.all_cities_selected_dialog = dialog_active;\n },\n SET_CITIES_FOR_REPAIR_CONFIRMATION(state, confirmation) {\n state.cities_for_repair_confirmation = confirmation\n }\n },\n actions: {\n getRepairCompanies({getters, rootState, commit}) {\n let params = { \n cities_ids: getters.params.city_ids,\n activities: rootState.OrderFormM.activities\n }\n commit('FORM_SET_REPAIR_STATUS','load');\n axios.post('/api/calculator/get_repair_companies.json', params).then(response => {\n commit('FORM_SET_ACTIVITIES_TOUCHED',false);\n let companies_list = response.data.companies;\n commit('SET_MEASURE_REQUEST_COMPANIES_LIST',companies_list)\n let companies_list_ids = companies_list.map(company => company.id)\n let selected_companies = rootState.OrderFormM.selected_companies.filter(company_id => companies_list_ids.includes(company_id))\n commit('FORM_SET_SELECTED_COMPANIES',selected_companies)\n commit('FORM_SET_REPAIR_STATUS','send')\n }).catch(function (error) {\n let parsed = JSON.parse(error.request.response);\n console.error(\"api error\", error, parsed);\n })\n },\n }\n}\n\t\nexport default MeasureRequestCompaniesModule;\n","import axios from 'axios';\n\nimport router from '../../../router/index';\n\nconst OrderFormModule = {\n state: () => ({\n activities_touched: false,\n\t\t\trepair_status: 'send',\n\t\t\tphone_confirm: false,\n\t\t\tagreed_rules: '',\n in_cart_dialog: false,\n\t\t\tselected_companies: [],\n\t\t\tactivities: [],\n\t\t\tuser_message: '',\n\t\t\tphone: '',\n\t\t\temail: '',\n\t\t\tname: '',\n\t\t\taddress: '',\n\t\t\tphoto_ids: [],\n\t\t\tvideo_ids: [],\n\t\t\tdocument_ids: [],\n\t\t\tphone_confirm_form: undefined,\n\t\t\tmessage_form: undefined,\n\t\t\trepair_order_complite: false,\n\t\t\tquick_order_complite: false,\n }),\n mutations: {\n\t\t\t\tSET_IN_CART_DIALOG(state, value) {\n\t\t\t\t\tstate.in_cart_dialog = value\n\t\t\t\t},\n\t\t\t\tFORM_SET_photo_IDS(state, ids) {\n\t\t\t\t\tstate.photo_ids = ids\n\t\t\t\t},\n\t\t\t\tFORM_SET_video_IDS(state, ids) {\n\t\t\t\t\tstate.video_ids = ids\n\t\t\t\t},\n\t\t\t\tFORM_SET_document_IDS(state, ids) {\n\t\t\t\t\tstate.document_ids = ids\n\t\t\t\t},\n\t\t\t\tFORM_SET_SELECTED_COMPANIES(state,companies) {\n\t\t\t\t\tstate.selected_companies = companies\n\t\t\t\t},\n\t\t\t\tFORM_SET_ACTIVITIES(state,activities) {\n\t\t\t\t\tstate.activities = activities\n\t\t\t\t},\n\t\t\t\tREPAIR_FORM_REFRESH(state) {\n\t\t\t\t\tstate.repair_order_complite = false\n\t\t\t\t},\n\t\t\t\tREPAIR_ORDER_COMPLITE(state) {\n\t\t\t\t\tstate.repair_order_complite = true\n\t\t\t\t},\n\t\t\t\tQUICK_FORM_REFRESH(state) {\n\t\t\t\t\tstate.quick_order_complite = false\n\t\t\t\t},\n\t\t\t\tQUICK_ORDER_COMPLITE(state) {\n\t\t\t\t\tstate.quick_order_complite = true\n\t\t\t\t},\n\t\t\t\tSET_PHONE_CONFIRM_FORM(state,form) {\n\t\t\t\t\tstate.phone_confirm_form = form;\n\t\t\t\t},\n\t\t\t\tSET_MESSAGE_FORM(state,form) {\n\t\t\t\t\tstate.message_form = form;\n\t\t\t\t},\n\t\t\t\tFORM_SET_MESSAGE(state,message) {\n\t\t\t\t\tstate.user_message = message\n\t\t\t\t},\n FORM_SET_ACTIVITIES_TOUCHED(state, touched) {\n state.activities_touched = touched\n },\n\t\t\t\tFORM_SET_AGREE(state,value) {\n\t\t\t\t\tstate.agreed_rules = value\n\t\t\t\t},\n\t\t\t\tFORM_USER_CONFIRM_PHONE(state) {\n\t\t\t\t\tstate.phone_confirm = true\n\t\t\t\t},\n\t\t\t\tFORM_USER_UNCONFIRM_PHONE(state) {\n\t\t\t\t\tstate.phone_confirm = false\n\t\t\t\t},\n FORM_SET_REPAIR_STATUS(state, status) {\n state.repair_status = status\n },\n FORM_SET_USER_NAME(state,name) {\n\t\t\t\t\tstate.name = name\n },\n FORM_SET_USER_EMAIL(state,email) {\n\t\t\t\t\tstate.email = email\n },\n FORM_SET_USER_PHONE(state,phone) {\n\t\t\t\t\tstate.phone = phone\n },\n FORM_SET_USER_ADDRESS(state,address) {\n\t\t\t\t\tstate.address = address\n },\n },\n actions: {\n formResetAllFields({commit}) {\n commit('FORM_SET_ACTIVITIES_TOUCHED',false);\n commit('FORM_SET_ACTIVITIES',[]);\n commit('FORM_SET_MESSAGE', '');\n commit('FORM_SET_photo_IDS',[]);\n\t\t\t\tcommit('FORM_SET_video_IDS',[]);\n\t\t\t\tcommit('FORM_SET_document_IDS',[]);\n\t\t\t\tcommit('FORM_SET_USER_NAME','');\n commit('FORM_SET_USER_EMAIL','');\n\t\t\t\tcommit('FORM_USER_UNCONFIRM_PHONE');\n commit('FORM_SET_USER_PHONE','');\n },\n submitToAdmins({commit,dispatch,getters,state},recaptcha_token) {\n let measure = {\n customer_name: state.name,\n customer_phone: state.phone,\n customer_email: state.email,\n comment: state.user_message,\n }\n let data = {\n measure,\n photo_ids: state.photo_ids,\n video_ids: state.video_ids,\n document_ids: state.document_ids,\n city_id_for_measure: getters.params.city_ids,\n 'g-recaptcha-response': recaptcha_token\n }\n axios.post('/shopping_cart/submit_measure_to_admins', data).then(res=> {\n if (res.data.status == 'success') {\n commit('QUICK_ORDER_COMPLITE');\n dispatch('formResetAllFields');\n }\n }).catch(function (error) {\n let parsed = JSON.parse(error.request.response);\n console.error(\"api error\", error, parsed);\n })\n },\n\t\t\tsubmitRepair({getters,state, dispatch, commit}) {\n\t\t\t\tif (state.phone_confirm_form.validate()) {\n\t\t\t\t\tlet measure = {\n\t\t\t\t\t\tcustomer_name: state.name,\n\t\t\t\t\t\tcustomer_phone: state.phone,\n\t\t\t\t\t\tcustomer_email: state.email,\n\t\t\t\t\t\tcomment: state.user_message\n\t\t\t\t\t}\n\t\t\t\t\tlet data = {\n\t\t\t\t\t\tcity_id: getters.city_for_statistic,\n\t\t\t\t\t\tactivities: state.activities,\n\t\t\t\t\t\tcompanies: state.selected_companies,\n\t\t\t\t\t\tphoto_ids: state.photo_ids,\n\t\t\t\t\t\tvideo_ids: state.video_ids,\n\t\t\t\t\t\tdocument_ids: state.document_ids,\n city_id_for_measure: getters.params.city_ids,\n\t\t\t\t\t\tmeasure,\n\t\t\t\t\t}\n\t\t\t\t\taxios.post('/shopping_cart/create_repair_window_request', data).then(res=> {\n\t\t\t\t\t\tif (res.data.status == 'success') {\n\t\t\t\t\t\t\tcommit('REPAIR_ORDER_COMPLITE');\n\t\t\t\t\t\t\tcommit('FORM_SET_SELECTED_COMPANIES',[]);\n dispatch('formResetAllFields');\n\t\t\t\t\t\t}\n\t\t\t\t\t}).catch(function (error) {\n\t\t\t\t\t \tlet parsed = JSON.parse(error.request.response);\n\t\t\t\t\t \tconsole.error(\"api error\", error, parsed);\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t},\n\t\t\tsubmitPerformOrder({getters, rootState, dispatch, state, commit }) {\n\t\t\t\tif (state.phone_confirm_form.validate()) {\n let offers = rootState.offersCartM.in_cart_offers.map(company => company.offers).flat();\n let selected_offers = offers.filter(offer => rootState.offersCartM.selected_in_cart_offers.includes(offer.uniq));\n\n\t\t\t\t\tlet measure = {\n\t\t\t\t\t\tcustomer_name: state.name,\n\t\t\t\t\t\tcustomer_phone: state.phone,\n\t\t\t\t\t\tcustomer_email: state.email,\n\t\t\t\t\t\tcomment: state.user_message,\n\t\t\t\t\t}\n\t\t\t\t\tlet data = {\n\t\t\t\t\t\toffers: selected_offers,\n\t\t\t\t\t\tphoto_ids: state.photo_ids,\n\t\t\t\t\t\tvideo_ids: state.video_ids,\n city_id_for_measure: getters.params.city_ids,\n\t\t\t\t\t\tdocument_ids: state.document_ids,\n\t\t\t\t\t\tmeasure,\n\t\t\t\t\t}\n\t\t\t\t\taxios.post('/shopping_cart/perform_ordering', data).then(res=> {\n\t\t\t\t\t\tif (res.data.status == 'success') {\n dispatch('fetchBasketStatus');\n\t\t\t\t\t\t\tcommit('SET_SELECTED_IN_CART_OFFERS',[]);\n\t\t\t\t\t\t\tcommit('SET_IN_CART_OFFERS',[]);\n\t\t\t\t\t\t\tcommit('ORDER_COMPLITE');\n dispatch('formResetAllFields');\n\t\t\t\t\t\t}\n\t\t\t\t\t}).catch(function (error) {\n\t\t\t\t\t \tlet parsed = JSON.parse(error.request.response);\n\t\t\t\t\t \tconsole.error(\"api error\", error, parsed);\n\t\t\t\t\t})\n\t\t\t\t}\n }\n },\n}\n\nexport default OrderFormModule;\n","import axios from 'axios'\nimport { createStore } from 'vuex'\n\nimport router from '../router/index'\nimport { railsData } from \"../init_data/rails_data.js\";\n\nimport { isMobile, isIOS } from 'mobile-device-detect';\n\n/**\n * FILTERS LEFT\n */\n\nimport ProfileModule from './modules/filters/ProfileModule'\n\n\nimport ProfileModelModule from './modules/filters/ProfileModelModule'\nimport PriceModule from './modules/filters/PriceModule'\nimport CataloguePageModule from './modules/filters/CataloguePageModule'\nimport LandingModule from './modules/landing/LandingModule'\nimport GlassTypeModule from './modules/filters/GlassTypeModule'\nimport AdditionalServicesModule from './modules/filters/AdditionalServicesModule'\nimport FurnitureModelModule from './modules/filters/FurnitureModelModule'\nimport CompanyModule from './modules/filters/CompanyModule'\nimport CitiesModule from './modules/filters/CitiesModule'\n\n/**\n * FILTERS TOP\n */\nimport CurrentWindowModule from './modules/top_filters/CurrentWindowModule'\nimport SortFilterModule from './modules/top_filters/SortFilterModule'\n\n/**\n * OTHER\n */\nimport InitialDataModule from './modules/initial_data/InitialDataModule'\nimport OffersCartModule from './modules/cart/OffersCartModule'\nimport PageModule from './modules/filters/PageModule'\nimport StatisticModule from './modules/statistic/StatisticModule'\nimport LoggedModule from './modules/user/LoggedModule'\nimport CompaniesListModule from './modules/companies/CompaniesListModule'\nimport MeasureRequestCompaniesModule from './modules/MeasureRequestCompaniesModule'\n\n/**\n * FORMS\n */\n\nimport OrderFormModule from './modules/forms/OrderFormModule'\n\nconst state = {\n page_load: false,\n help_button_all_cities_selected_dialog: false,\n\t\tfirst_page_load: ([\"/\",\"/moskva\"].includes(window.location.pathname)),\n\t\taggregator_page_load: false,\n\t isMobile: isMobile,\n isIOS: isIOS,\n casement_is_load: false,\n offers: [],\n offers_count: 0,\n min_base_price: undefined,\n max_base_price: undefined,\n full_search_sent: false,\n full_search_loaded: false,\n full_search_click: false,\n error_message: '',\n full_search_error: false,\n preview_offers: {},\n limit: undefined,\n\t\ttimeout: false,\n\t\tshow_without_window: false,\n\t\tshow_without_filters: false,\n show_without_filters_hint: false,\n success_payture_message: undefined,\n balance_payture_message: undefined,\n payture_showing: false,\n prerender: navigator.userAgent.toLowerCase().includes('prerender'),\n without_advert: (railsData.without_advert),\n active_slider_tab: undefined,\n area_input_dialog_show: false,\n without_tops: false\n}\n\nconst mutations = {\n SET_PAGE_LOAD(state) {\n state.page_load = true\n },\n SET_HELP_BUTTON_ALL_SELECTED_CITIES_DIALOG(state, value) {\n state.help_button_all_cities_selected_dialog = value\n },\n SET_SLIDER_TAB(state,curr_tab) {\n state.active_slider_tab = curr_tab\n },\n SET_PAYTURE_SHOWING(state,value) {\n state.payture_showing = value\n },\n SET_AREA_INPUT_DIALOG_SHOW(state, value) {\n state.area_input_dialog_show = value\n },\n SET_SUCCESS_PAYTURE_MESSAGE(state,success_payture_msg) {\n state.success_payture_message = success_payture_msg\n },\n SET_BALANCE_PAYTURE_MESSAGE(state,balance_payture_msg) {\n state.balance_payture_message = balance_payture_msg\n },\n SET_AGGREGATOR_LOAD(state) {\n state.aggregator_page_load = true\n },\n SET_LIMIT(state,value) {\n state.limit = value\n },\n SET_TIMEOUT(state,value) {\n state.timeout = value\n },\n SET_CASEMENT_LOAD(state) {\n state.casement_is_load = true\n },\n SET_RESPONSE_PARAMS(state, resp) {\n state.offers_count = resp.add_data.count;\n state.min_base_price = resp.add_data.min;\n state.max_base_price = resp.add_data.max;\n state.offers = resp.offers\n\t\t\t\tstate.offers.forEach ((offer,index) => {\n\t\t\t\t\tif (index < 3) {\n\t\t\t\t\t\toffer.isActive = true\n\t\t\t\t\t} else {\n\t\t\t\t\t\toffer.isActive = state.prerender\n\t\t\t\t\t}\n\t\t\t\t})\n },\n SET_ERROR_MESSAGE(state, message) {\n state.error_message = message\n },\n SET_FULLSEARCH_SENT(state, fs_sent) {\n state.full_search_sent = fs_sent;\n },\n SET_FULLSEARCH_LOADED(state) {\n console.log('SET_FULLSEARCH_LOADED');\n state.full_search_loaded = true\n },\n SET_OFFERS(state, offers) {\n state.offers = offers;\n },\n SET_FULLSEARCH_CLICK(state, fs_click) {\n state.full_search_click = fs_click;\n },\n SET_FULLSEARCH_ERROR(state, error) {\n state.full_search_error = error;\n },\n SET_OFFERS_COUNT(state, offers_count) {\n state.offers_count = offers_count;\n },\n SET_PREVIEW_OFFERS(state, preview_offers) {\n state.preview_offers = preview_offers;\n },\n SET_WITHOUT_WINDOW(state, value) {\n state.show_without_window = value;\n },\n SET_WITHOUT_FILTERS(state, value) {\n state.show_without_filters = value;\n },\n SET_WITHOUT_FILTERS_HINT(state, value) {\n state.show_without_filters_hint = value;\n },\n WITHOUT_TOPS(state) {\n state.without_tops = true\n },\n}\n\nconst actions = {\n setPaytureSuccessMessage ({commit,dispatch}, msg) {\n\t\t\t\tcommit('SET_SUCCESS_PAYTURE_MESSAGE',msg);\n setTimeout(() => {\n commit(\"SET_SUCCESS_PAYTURE_MESSAGE\",'')\n }, 60000)\n },\n\t\tgetTimeoutFiltersOffers({commit,dispatch,state}, deley = 1000) {\n\t\t\tif (typeof state.timeout === 'number') {\n\t\t\t\tclearTimeout(state.timeout);\n\t\t\t\tcommit('SET_TIMEOUT',false)\n\t\t\t}\n\t\t\tlet id = setTimeout(() => {\n\t\t\t\tdispatch(\"getOffers\")\n\t\t\t},deley);\n\t\t\tcommit('SET_TIMEOUT',id)\n\t\t},\n\t\tgoToAgregator( { commit, dispatch } ) {\n\t\t\t/**\n\t\t\t/ before moving to the second page\n\t\t\t/\t> resolve full_search (didn't have time finally block)\n\t\t\t/ > call full_search\n\t\t\t**/\n\t\t\tcommit('SET_FULLSEARCH_SENT', false);\n\t\t\tcommit('SET_LIMIT', undefined);\n\t\t\tcommit('SET_AGGREGATOR_LOAD');\n\t\t\tdispatch(\"getOffers\")\n\t\t\trouter.push('calc');\n\t\t},\n\t\tsubmitForm({}, submit_params) {\n let form = document.createElement(\"form\");\n form.method = \"POST\";\n form.action = submit_params.url;\n\n let params = submit_params.params;\n\n params.authenticity_token = first_page_token_param;\n\n let element = [];\n for (let key in params) {\n element[key] = document.createElement(\"input\");\n element[key].setAttribute(\"type\", \"hidden\");\n element[key].value = params[key];\n element[key].name = key;\n form.appendChild(element[key]);\n }\n document.body.appendChild(form);\n if (submit_params.target_blank) {\n form.setAttribute(\"target\", \"_blank\");\n form.setAttribute(\"rel\", \"noopener\");\n }\n form.submit();\n\t\t},\n getOffers({ commit, getters, state, dispatch }, page) {\n\t\t\t\t// if not pagination set 1 page\n\t\t\t\tif (page) {\n\t\t\t\t\tcommit('SET_PAGE', page);\n\t\t\t\t} else {\n\t\t\t\t\tcommit('SET_PAGE', 1);\n\t\t\t\t}\n commit('SET_FULLSEARCH_ERROR', false)\n commit('SET_OFFERS_COUNT', 0)\n if (!state.full_search_sent) {\n commit('SET_FULLSEARCH_SENT', true);\n axios.post('/api/calculator/full_search.json', getters.params).then(response => {\n commit('SET_RESPONSE_PARAMS', response.data);\n }).catch(function (error) {\n let parsed = JSON.parse(error.request.response)\n console.error(\"FULLSEARCH error\", error, parsed);\n commit('SET_FULLSEARCH_ERROR', parsed.error)\n }).finally(function (res) {\n\t\t\t\t\t\t\t\tcommit('SET_FULLSEARCH_LOADED');\n commit('SET_FULLSEARCH_SENT', false);\n\t\t\t\t\t\t\t\tcommit('SET_TIMEOUT',false)\n if (state.full_search_click) {\n commit('SET_FULLSEARCH_CLICK', false);\n dispatch('getOffers')\n }\n })\n } else {\n commit('SET_FULLSEARCH_CLICK', true);\n }\n },\n}\n\nconst getters = {\n\t\toffers_patterns: state => {\n const offers_count = state.offers_count || 21;\n const min_base_price = state.min_base_price || 14391;\n const max_base_price = state.max_base_price || 48492;\n return {\n '[[company_count]]': offers_count,\n '[[offers_count]]': offers_count * 16,\n '[[min_price]]': min_base_price,\n '[[max_price]]': max_base_price,\n '[[m_price]]': min_base_price / 2,\n }\n\t\t},\n\t\tsubdomain: state => {\n\t\t\tlet selected_cities = state.citiesM.selected_cities;\n if (selected_cities.length === 1) return `${selected_cities[0].slug}.`\n else return ''\n\t\t},\n\t\tcity_for_statistic: state => {\n\t\t\tlet selected_cities = state.citiesM.selected_cities;\n\t\t\tlet user_geo = state.citiesM.user_geo;\n\t\t\tif (selected_cities.length === 1) {\n\t\t\t\treturn selected_cities[0].id\n\t\t\t}\n\t\t\tif (user_geo) {\n\t\t\t\treturn user_geo.id\n\t\t\t}\n\t\t},\n\t\tfull_construction: state => {\n\t\t\tlet codes = state.additionalServicesM.selectedAS;\n\t\t\tlet fl_codes = [\"as_sill_inside_white\", \"as_sill_outside\", \"as_delivery_in_city\", \"as_panel\", \"as_jambs\", \"as_dismantle\"];\n\t\t\treturn fl_codes.every((item) => codes.includes(item))\n\t\t},\n current_calculator_params: state => {\n let params = {\n\t\t\t\t\t\t// limit: state.limit,\n window_casements: state.currentWindowM.window_casements,\n door_casement: state.currentWindowM.door_casement,\n\t\t\t\t\t\tcompanies: state.companyM.selected_companies,\n active_sorting: state.sortFilterM.active_sorting,\n additional_services: state.additionalServicesM.selectedAS,\n furniture: state.furnitureModelM.selected_furnitures,\n profiles: state.profileModelM.selected_profiles,\n price_type: state.priceM.price_type,\n quality: state.priceM.prices,\n quantity: state.currentWindowM.quantity,\n sort_price: state.sortFilterM.sort_price,\n sort_rating: state.sortFilterM.sort_rating,\n window_color_inside: state.currentWindowM.window_color_inside,\n window_color_outside: state.currentWindowM.window_color_outside,\n window_color_solid: state.currentWindowM.window_color_solid,\n as_mosquitoscreen: state.currentWindowM.as_mosquitoscreen,\n as_petscreen: state.currentWindowM.as_petscreen,\n as_dustscreen: state.currentWindowM.as_dustscreen,\n delivery_distance: state.additionalServicesM.delivery_distance,\n sill_inside_depth: state.additionalServicesM.sill_inside_depth,\n sill_inside_color: state.additionalServicesM.sill_inside_color,\n sill_outside_depth: state.additionalServicesM.sill_outside_depth,\n jambs_depth: state.additionalServicesM.jambs_depth,\n\t\t\t\t\t\tshow_without_window: state.show_without_window,\n\t\t\t\t\t\tshow_without_filters: state.show_without_filters,\n show_without_filters_hint: state.show_without_filters_hint,\n ...state.profileM.profile_params.params\n }\n\n return params;\n },\n params: (state)=> {\n var params = {\n\t\t\t\t\t\tcity_ids: state.citiesM.selected_cities.map(item => item.id),\n window_casements: state.currentWindowM.window_casements,\n door_casement: state.currentWindowM.door_casement,\n companies: state.companyM.selected_companies,\n active_sorting: state.sortFilterM.active_sorting,\n without_tops: state.without_tops,\n additional_services: state.additionalServicesM.selectedAS,\n furniture: state.furnitureModelM.selected_furnitures,\n profiles: state.profileModelM.selected_profiles,\n price_type: state.priceM.price_type,\n quality: state.priceM.prices,\n quantity: state.currentWindowM.quantity,\n sort_price: state.sortFilterM.sort_price,\n sort_rating: state.sortFilterM.sort_rating,\n window_color_inside: state.currentWindowM.window_color_inside,\n window_color_outside: state.currentWindowM.window_color_outside,\n window_color_solid: state.currentWindowM.window_color_solid,\n as_mosquitoscreen: state.currentWindowM.as_mosquitoscreen,\n as_petscreen: state.currentWindowM.as_petscreen,\n as_dustscreen: state.currentWindowM.as_dustscreen,\n delivery_distance: state.additionalServicesM.delivery_distance,\n sill_inside_depth: state.additionalServicesM.sill_inside_depth,\n sill_inside_color: state.additionalServicesM.sill_inside_color,\n sill_outside_depth: state.additionalServicesM.sill_outside_depth,\n jambs_depth: state.additionalServicesM.jambs_depth,\n\t\t\t\t\t\tlimit: state.limit,\n page: state.pageM.page,\n per_page: state.pageM.per_page,\n ...state.profileM.profile_params.params\n }\n\n return params;\n },\n}\n\nconst store = createStore({\n state,\n getters,\n actions,\n mutations,\n modules: {\n profileM: ProfileModule,\n profileModelM: ProfileModelModule,\n LandingM: LandingModule,\n priceM: PriceModule,\n CataloguePageM: CataloguePageModule,\n currentWindowM: CurrentWindowModule,\n initialDataM: InitialDataModule,\n sortFilterM: SortFilterModule,\n glassTypeM: GlassTypeModule,\n additionalServicesM: AdditionalServicesModule,\n furnitureModelM: FurnitureModelModule,\n companyM: CompanyModule,\n offersCartM: OffersCartModule,\n citiesM: CitiesModule,\n pageM: PageModule,\n statisticM: StatisticModule,\n loggedM: LoggedModule,\n OrderFormM: OrderFormModule,\n companiesListM: CompaniesListModule,\n measureRequestCompaniesM: MeasureRequestCompaniesModule\n }\n});\n\nstore.watch((state) => store.getters.avalibl_parts_for_grid, (val) => {\n if (val.length === 0) {\n store.dispatch(\"validateGlassAllDeadCasements\");\n }\n});\n\n\nexport default store;\n","import {createRouter, createWebHistory} from 'vue-router'\nimport store from '../store';\n\nconst Home = () => import('../views/Home.vue');\nconst SetWindow = () => import('../views/SetWindow.vue');\nconst RepairWindow = () => import('../views/RepairWindow.vue');\n\nconst ShoppingCart = () => import('../views/cart/ShoppingCart.vue');\nconst InCartList = () => import('../views/cart/InCartList.vue');\nconst ShippedCartList = () => import('../views/cart/ShippedCartList.vue');\nconst QuickOrder = () => import('../views/cart/QuickOrder.vue');\nconst MeasureRequestContent = () => import('../views/cart/MeasureRequestContent.vue');\nconst MinPriceMeasure = () => import('../views/MinPriceMeasure.vue');\n\nconst SiteInfo = () => import('../views/SiteInfo.vue');\n\nconst CataloguePage = () => import('../views/CataloguePage.vue');\nconst Agregator = () => import('../views/Agregator.vue');\nconst StaticAgregator = () => import('../views/StaticAgregator.vue');\nconst MinPriceOffer = () => import('../views/MinPriceOffer.vue');\nconst CompaniesList = () => import(\"../views/CompaniesList.vue\");\nconst ReviewsList = () => import(\"../views/ReviewsList.vue\");\n\n\nconst SetAdminParams = () => import(\"../views/SetAdminParams.vue\");\nconst SetAdminFilters = () => import(\"../views/SetAdminFilters.vue\");\nconst SetAdminWindow = () => import(\"../views/SetAdminWindow.vue\");\nconst PaymentResult = () => import(\"../views/PaymentResult.vue\");\nconst CompanyPage = () => import(\"../views/CompanyPage.vue\");\n\nconst routes = [\n {\n path: '/',\n component: Home,\n name: 'Home',\n meta: {\n title: `Калькулятор Окон`,\n },\n children: [\n {\n path: '',\n component: SetWindow,\n name: 'SetWindow',\n },\n {\n path: 'repair',\n\t\t\t\tname: 'RepairWindow',\n component: RepairWindow\n }\n ]\n },\n {\n path: '/moskva',\n component: Home,\n name: 'HomeMoskva',\n meta: {\n title: `Калькулятор Окон`,\n },\n children: [\n {\n path: '',\n component: SetWindow,\n name: 'SetWindowMoskva',\n }\n ]\n },\n {\n path:'/payment_result',\n component: PaymentResult,\n name: \"payment_result\",\n meta: {\n title: `Результат оплаты`,\n }\n },\n {\n path:'/min_price_measure/:session_id/:id',\n component: MinPriceMeasure,\n name: \"min_price_measure\",\n },\n {\n path: '/cart',\n component: ShoppingCart,\n name: 'ShoppingCart',\n meta: {\n title: `Корзина`,\n noShowCartIcon: true\n },\n children: [\n {\n path: '',\n component: InCartList,\n name: 'InCartList',\n },\n {\n path: 'shipped',\n component: ShippedCartList,\n\t\t\t\tname: 'ShippedCartList',\n },\n {\n path: 'quick',\n component: QuickOrder,\n\t\t\t\tname: 'QuickOrder',\n }\n ]\n },\n {\n path: '/cart/measure_request_content/:guid',\n component: MeasureRequestContent,\n name: 'MeasureRequestContent',\n meta: {\n title: `Приложения к заявке`,\n }\n },\n {\n path: '/company/:company_slug',\n component: Agregator,\n name: \"CompanyAgregator\"\n },\n {\n path: '/otzyvy',\n component: ReviewsList,\n name: \"ReviewsList\",\n },\n {\n path: '/kompanii',\n component: CompaniesList,\n name: \"CompaniesList\",\n },\n {\n path: '/kompanii/:company_slug',\n component: CompanyPage,\n meta: { withoutScroll: true },\n name: \"CompanyPage\",\n },\n {\n path: '/calc',\n component: Agregator,\n name: 'Agregator',\n },\n {\n\t\tpath: '/calc/admin/set_filters',\n component: SetAdminParams,\n name: 'SetAdminParams',\n children: [\n {\n path: 'filters/:id',\n component: SetAdminFilters,\n name: 'SetAdminFilters',\n },\n {\n path: 'window/:id',\n component: SetAdminWindow,\n name: 'SetAdminWindow',\n }\n ]\n },\n {\n path: '/karta_saita',\n alias: ['/regions_prices','/reklama','/regiony','/o-kompanii','/oferta', '/pravila','/kontakty'],\n component: SiteInfo,\n name: \"SiteInfo\",\n },\n {\n\tpath:'/moskva/catalogue_pages/:page_slug',\n component: CataloguePage,\n name: \"catalogue_page_moskva\",\n meta: {\n title: `Catalogue Page`,\n }\n },\n {\n\tpath:'/catalogue_pages/:page_slug',\n component: CataloguePage,\n name: \"catalogue_page_others\",\n meta: {\n title: `Catalogue Page`,\n }\n },\n {\n\tpath:'/:static_proposal',\n component: StaticAgregator,\n name: \"static_agregator\",\n },\n {\n\tpath:'/moskva/:static_proposal/min_price',\n component: MinPriceOffer,\n name: \"min_price_offer_moskva\",\n },\n {\n\tpath:'/:static_proposal/min_price',\n component: MinPriceOffer,\n name: \"min_price_offer_others\",\n },\n {\n\tpath:'/:city_slug/:static_proposal',\n component: StaticAgregator,\n name: \"static_agregator_with_city\",\n },\n]\n\nconst router = createRouter({\n history: createWebHistory(), // <-- this is a new property and it is mandatory!\n routes,\n scrollBehavior(to) {\n if (to.meta.withoutScroll) return false\n return { top: 0 }\n },\n})\n\nrouter.afterEach((to) => {\n store.commit(\"SET_PAGE_LOAD\")\n});\n\n// router.afterEach((to) => {\n// nextTick(() => {\n// document.title = to.meta.title || DEFAULT_TITLE;\n// });\n// });\n\nexport default router\n"],"file":"assets/index-7f5de87e.js"}