PageSourceSearch

https://osm2cdr.com/js/embed_builder.js?v=20260613emb1

js osm2cdr.com collected 2026-09-25 20:40:37 UTC 2,061 bytes, 54 lines download raw bytes

1/**
2 * EmbedBuilder (главная) — тонкая обёртка над общим EmbedModal (#169.4).
3 *
4 * Раньше здесь жил отдельный модал с мёртвыми параметрами lang/theme/export
5 * (их /embed не принимает — зафиксированный баг #169.3). Теперь кнопка
6 * #embed-builder-btn открывает единый EmbedModal: bbox берётся с живой карты,
7 * style — из селектора стиля главной, title пустой. Вся генерация кода/превью
8 * /копирования — в embed_modal.js (один источник правды).
9 */
10(function () {
11  'use strict';
12
13  function _getBbox() {
14    var _map = (window.MapController && MapController.getMap()) || window.map;
15    if (_map && typeof _map.getBounds === 'function') {
16      var b = _map.getBounds();
17      return [
18        Number(b.getWest().toFixed(4)),
19        Number(b.getSouth().toFixed(4)),
20        Number(b.getEast().toFixed(4)),
21        Number(b.getNorth().toFixed(4))
22      ];
23    }
24    // Дефолт — центр Москвы (как было), если карта недоступна.
25    return [37.5, 55.7, 37.7, 55.8];
26  }
27
28  function _getStyle() {
29    var sel = document.getElementById('style-select')
30      || document.querySelector('[name="style"]');
31    return sel ? sel.value : 'standard';
32  }
33
34  function _open() {
35    if (typeof EmbedModal === 'undefined') {
36      console.error('[OSM2CDR] EmbedModal не загружен (embed_modal.js)');
37      return;
38    }
39    EmbedModal.open({
40      bbox: _getBbox(),
41      style: _getStyle(),
42      title: '',
43      source: 'home'
44    });
45  }
46
47  document.addEventListener('DOMContentLoaded', function () {
48    var btn = document.getElementById('embed-builder-btn');
49    if (btn) btn.addEventListener('click', _open);
50  });
51
52  // Сохраняем глобальную точку для обратной совместимости.
53  window.embedBuilder = { show: _open };
54})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.