summaryrefslogtreecommitdiff
path: root/searx/static/themes/simple/js/mapresult.min.js.map
blob: b830b46b3cea746ce5a4f51371723d31fe11c5de (plain)
1
{"version":3,"mappings":";iDAIA,EAAO,QAAS,oBAAqB,eAAmC,EAAc,CACpF,EAAM,iBACN,KAAK,UAAU,OAAO,oBAEtB,GAAM,CACJ,OACA,QACA,YACA,cACA,MACA,eACA,QACA,SACA,OACA,SACA,aACA,UACA,UACA,QACD,sBAfK,CACJ,OACA,QACA,YACA,cACA,MACA,eACA,QACA,SACA,OACA,SACA,aACA,UACA,UACA,QACD,CAAG,MAAM,OAAO,sBAdf,OACA,QACA,YACA,cACA,MACA,eACA,QACA,SACA,OACA,SACA,aACA,UACA,UACA,cAEF,yBAAO,uBAEP,GAAM,CAAE,cAAe,EAAQ,SAAQ,SAAQ,aAAY,CAAG,KAAK,QAE7D,EAAM,OAAO,WAAW,GAAU,KAClC,EAAM,OAAO,WAAW,GAAU,KAClC,EAAO,IAAI,EAAK,CAAE,QAAS,GAAI,eAAgB,GAAO,EACtD,EAAM,IAAI,EAAM,CACZ,SACR,OAAQ,CAAC,IAAI,EAAU,CAAE,OAAQ,IAAI,EAAI,CAAE,QAAS,GAAI,EAAG,EAAE,CACvD,OACP,EAED,GAAI,CACF,IAAM,EAAe,IAAI,EAAa,CACpC,SAAU,CACR,IAAI,EAAQ,CACV,SAAU,IAAI,EAAM,EAAW,CAAC,EAAK,EAAI,GAC1C,EACF,CACF,EAEK,EAAc,IAAI,EAAY,CAClC,OAAQ,EACR,MAAO,IAAI,EAAM,CACf,MAAO,IAAI,EAAO,CAChB,OAAQ,EACR,KAAM,IAAI,EAAK,CAAE,MAAO,UAAW,EACpC,EACF,EACF,EAED,EAAI,SAAS,EACd,OAAQ,EAAO,CACd,QAAQ,MAAM,iCAAkC,EACjD,CAED,GAAI,EACF,GAAI,CACF,IAAM,EAAY,IAAI,EAAa,CACjC,SAAU,IAAI,IAAU,aAAa,KAAK,MAAM,GAAa,CAC3D,eAAgB,YAChB,kBAAmB,YACpB,EACF,EAEK,EAAW,IAAI,EAAY,CAC/B,OAAQ,EACR,MAAO,IAAI,EAAM,CACf,OAAQ,IAAI,EAAO,CAAE,MAAO,UAAW,MAAO,EAAG,EACjD,KAAM,IAAI,EAAK,CAAE,MAAO,YAAa,EACtC,EACF,EAED,EAAI,SAAS,GAEb,EAAK,IAAI,EAAU,YAAa,CAAE,QAAS,CAAC,GAAI,GAAI,GAAI,GAAG,CAAE,CAC9D,OAAQ,EAAO,CACd,QAAQ,MAAM,kCAAmC,EAClD,CAEJ","names":[],"ignoreList":[],"sources":["../../../../../client/simple/src/js/main/mapresult.ts"],"sourcesContent":["// SPDX-License-Identifier: AGPL-3.0-or-later\n\nimport { listen } from \"../core/toolkit.ts\";\n\nlisten(\"click\", \".searxng_init_map\", async function (this: HTMLElement, event: Event) {\n  event.preventDefault();\n  this.classList.remove(\"searxng_init_map\");\n\n  const {\n    View,\n    OlMap,\n    TileLayer,\n    VectorLayer,\n    OSM,\n    VectorSource,\n    Style,\n    Stroke,\n    Fill,\n    Circle,\n    fromLonLat,\n    GeoJSON,\n    Feature,\n    Point\n  } = await import(\"../pkg/ol.ts\");\n  import(\"ol/ol.css\");\n\n  const { leafletTarget: target, mapLon, mapLat, mapGeojson } = this.dataset;\n\n  const lon = Number.parseFloat(mapLon || \"0\");\n  const lat = Number.parseFloat(mapLat || \"0\");\n  const view = new View({ maxZoom: 16, enableRotation: false });\n  const map = new OlMap({\n    target: target,\n    layers: [new TileLayer({ source: new OSM({ maxZoom: 16 }) })],\n    view: view\n  });\n\n  try {\n    const markerSource = new VectorSource({\n      features: [\n        new Feature({\n          geometry: new Point(fromLonLat([lon, lat]))\n        })\n      ]\n    });\n\n    const markerLayer = new VectorLayer({\n      source: markerSource,\n      style: new Style({\n        image: new Circle({\n          radius: 6,\n          fill: new Fill({ color: \"#3050ff\" })\n        })\n      })\n    });\n\n    map.addLayer(markerLayer);\n  } catch (error) {\n    console.error(\"Failed to create marker layer:\", error);\n  }\n\n  if (mapGeojson) {\n    try {\n      const geoSource = new VectorSource({\n        features: new GeoJSON().readFeatures(JSON.parse(mapGeojson), {\n          dataProjection: \"EPSG:4326\",\n          featureProjection: \"EPSG:3857\"\n        })\n      });\n\n      const geoLayer = new VectorLayer({\n        source: geoSource,\n        style: new Style({\n          stroke: new Stroke({ color: \"#3050ff\", width: 2 }),\n          fill: new Fill({ color: \"#3050ff33\" })\n        })\n      });\n\n      map.addLayer(geoLayer);\n\n      view.fit(geoSource.getExtent(), { padding: [20, 20, 20, 20] });\n    } catch (error) {\n      console.error(\"Failed to create GeoJSON layer:\", error);\n    }\n  }\n});\n"],"file":"js/mapresult.min.js"}