{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./assets/components/Calculator/index.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","1","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","Calculator","orderServiceTypes","configs","useState","orderServiceType","discipline","deadline","orderLink","title","settings","setSettings","renderedOrderServiceTypes","map","item","id","selected","renderSelects","configsForCalculations","configsForProgramming","disciplines","Number","deadlines","disciplinesIds","includes","filter","defaults","disciplineId","useEffect","$settings","document","querySelector","configFromAdminPanel","JSON","parse","dataset","siteConfiguration","setTimeout","elem","style","visibility","opacity","className","data-calc-short","data-calculator-form","htmlFor","onChange","e","prevState","target","autocomplete","type","onClick","preventDefault","location","href","addEventListener","$element","render"],"mappings":"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","file":"js/calculator.min.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t1: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([31,0]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { h, render } from 'preact';\nimport { useEffect, useState } from 'preact/hooks';\nimport './index.scss';\nimport configs from './config.json';\n\nconst Calculator = () => {\n const { orderServiceTypes } = configs;\n const [settings, setSettings] = useState({\n orderServiceType: 45,\n discipline: 24,\n deadline: 25,\n orderLink: '',\n title: '',\n });\n const [defaultDiscipline, setDefaultDiscipline] = useState(24);\n\n const renderedOrderServiceTypes = orderServiceTypes.map(item => {\n return (\n \n );\n });\n\n useEffect(() => {\n const $settings = document.querySelector('[data-settings]');\n const configFromAdminPanel = JSON.parse($settings?.dataset?.settings);\n setSettings({ ...siteConfiguration, ...configFromAdminPanel });\n\n setTimeout(() => {\n const elem = document.querySelector('.calc-short');\n elem.style.visibility = 'visible';\n elem.style.opacity = '1';\n }, 400);\n }, []);\n\n function renderSelects() {\n const { configsForCalculations, configsForProgramming, disciplines } = configs;\n\n // todo: optimize\n switch (Number(settings.orderServiceType)) {\n case 45:\n return {\n deadlines: configsForCalculations.deadlines.map(deadline => {\n return (\n \n {deadline.name}\n \n );\n }),\n disciplines: disciplines.map((discipline, id) => {\n if (configsForCalculations.disciplinesIds.includes(discipline.id)) {\n return (\n \n {discipline.name}\n \n );\n }\n }),\n };\n case 46:\n return {\n deadlines: configsForProgramming.deadlines.map(deadline => {\n return (\n \n {deadline.name}\n \n );\n }),\n disciplines: disciplines\n // eslint-disable-next-line array-callback-return,consistent-return\n .filter(discipline => {\n if (configsForProgramming.disciplinesIds.includes(discipline.id)) {\n return discipline;\n }\n })\n .map(d => {\n return (\n \n {d.name}\n \n );\n }),\n };\n default:\n return {\n deadlines: configsForCalculations.deadlines.map(deadline => {\n return (\n \n {deadline.name}\n \n );\n }),\n // eslint-disable-next-line array-callback-return,consistent-return\n disciplines: disciplines.map((discipline, id) => {\n if (configsForCalculations.disciplinesIds.includes(discipline.id)) {\n return (\n \n {discipline.name}\n \n );\n }\n }),\n };\n }\n }\n\n function submitHandler() {\n window.location.href = `${settings.orderLink}?orderServiceTypeId=${settings.orderServiceType}&deadlineId=${settings.deadline}&topcatId=${settings.discipline}`;\n }\n\n return (\n
\n
\n
{settings?.title}
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n {\n e.preventDefault();\n submitHandler();\n }}\n >\n Continue to order\n \n
\n
\n
\n
\n );\n};\n\ndocument.addEventListener('DOMContentLoaded', () => {\n const $element = document.querySelector('#calculator-el .calculator');\n if ($element) render(, $element);\n});\n"],"sourceRoot":""}