{"version":3,"file":"app-28c18f1a.js","sources":["../../../app/javascript/partners/js/mapMarkerWhite.svg","../../../app/javascript/partners/js/mapMarkerGreen.svg","../../../app/javascript/partners/js/app.js"],"sourcesContent":["export default \"__VITE_ASSET__fa8e973c__\"","export default \"__VITE_ASSET__f21851e7__\"","import mapMarkerWhite from './mapMarkerWhite.svg'\nimport mapMarkerGreen from './mapMarkerGreen.svg'\n// import './form'\n\nlet officeData = {\n \"features\": collectFeatures(),\n \"type\": \"FeatureCollection\",\n}\n\nymaps.ready(init);\n\nfunction collectFeatures() {\n const features = [];\n\n const sortedPartners = Array.from(document.querySelectorAll('article.partnersCard[data-location]'))\n .sort(partner => parseInt(partner.dataset.orderid));\n\n sortedPartners.forEach((partner, index) => {\n let geoLocation = JSON.parse(partner.dataset.location);\n\n features.push(\n {\n \"type\": \"Feature\",\n \"id\": index,\n \"geometry\": {\n \"type\": \"Point\",\n \"coordinates\": [\n parseFloat(geoLocation.latitude),\n parseFloat(geoLocation.longitude)\n ]\n },\n \"properties\": {\n \"hintContent\": `${partner.dataset.city}`\n },\n \"htmlData\": {\n \"city\": partner.dataset.city,\n \"h3\": partner.dataset.name,\n \"headerLinkText\": partner.dataset.telegram,\n \"headerLink\": `tg://resolve?domain=${partner.dataset.telegram.slice(1, partner.dataset.telegram.length)}`,\n \"description\": partner.dataset.description || '',\n }\n },\n );\n });\n\n return features;\n}\n\nfunction init() {\n const myMap = new ymaps.Map(\n \"partnersMap\",\n {\n center: [53.70511201272139, 70.36247812293071],\n controls: [],\n zoom: 4,\n },\n\n {\n suppressMapOpenBlock: true,\n }\n ),\n\n objectManager = new ymaps.ObjectManager({\n // Чтобы метки начали кластеризоваться, выставляем опцию.\n clusterize: true,\n // ObjectManager принимает те же опции, что и кластеризатор.\n gridSize: 32,\n clusterDisableClickZoom: false,\n });\n\n objectManager.objects.options.set(\"iconLayout\", \"default#image\");\n\n objectManager.objects.options.set(\"iconImageHref\", mapMarkerWhite);\n\n objectManager.objects.options.set(\"iconImageSize\", [35, 45]);\n\n objectManager.objects.options.set(\"iconImageOffset\", [-17.6, -44]);\n myMap.geoObjects.add(objectManager);\n\n objectManager.add(officeData);\n\n objectManager.objects.each(function (object) {\n if (object.id === 0) {\n objectManager.objects.setObjectOptions(object.id, {\n\n iconImageHref: mapMarkerGreen,\n });\n }\n });\n\n myMap.setBounds(objectManager.getBounds(), {\n checkZoomRange: true\n });\n\n objectManager.objects.events.add(\"click\", function (e) {\n objectManager.objects.options.set(\"iconImageHref\", mapMarkerWhite);\n\n let objectId = e.get(\"objectId\");\n\n objectManager.objects.each(function (object) {\n objectManager.objects.setObjectOptions(object.id, {\n iconImageHref: mapMarkerWhite,\n });\n });\n\n objectManager.objects.setObjectOptions(objectId, {\n iconImageHref: mapMarkerGreen,\n });\n\n let partnerCard = document.getElementById(\"partnerActiveCard\");\n let officeDataById = officeData[\"features\"][objectId].htmlData;\n\n partnerCard.style.visibility = \"visible\";\n partnerCard.getElementsByClassName(\"partnersCardCity active\")[0].innerHTML =\n officeDataById.city;\n partnerCard.getElementsByClassName(\"partnersCardName active\")[0].innerHTML =\n officeDataById.h3;\n partnerCard.getElementsByClassName(\"partnersCardTg active\")[0].innerHTML =\n officeDataById.headerLinkText;\n partnerCard.getElementsByClassName(\"partnersCardTg active\")[0].href =\n officeDataById.headerLink;\n partnerCard\n .getElementsByClassName(\"partnersCardBody active\")[0]\n .getElementsByTagName(\"p\")[0].innerHTML = officeDataById.description;\n });\n}\n"],"names":["mapMarkerWhite","mapMarkerGreen","officeData","collectFeatures","ymaps","ready","init","features","sortedPartners","Array","from","document","querySelectorAll","sort","partner","parseInt","dataset","orderid","forEach","index","geoLocation","JSON","parse","location","push","parseFloat","latitude","longitude","city","name","telegram","slice","length","description","myMap","Map","center","controls","zoom","suppressMapOpenBlock","objectManager","ObjectManager","clusterize","gridSize","clusterDisableClickZoom","objects","options","set","geoObjects","add","each","object","id","setObjectOptions","iconImageHref","setBounds","getBounds","checkZoomRange","events","e","objectId","get","partnerCard","getElementById","officeDataById","htmlData","style","visibility","getElementsByClassName","innerHTML","h3","headerLinkText","href","headerLink","getElementsByTagName"],"mappings":"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"}