PageSourceSearch

https://proparcel.com/static/js/initialization/toolbar_extras_toggle.js

js proparcel.com collected 2026-09-24 14:51:15 UTC 2,270 bytes, 71 lines download raw bytes

1/**
2 * Ana harita toolbar: yalnızca Ada Parsel + Tıklama modu sabit;
3 * diğer araçlar #pp-toolbar-slide-toggle ile kayarak açılır/kapanır.
4 */
5(function () {
6  /** FA6: fa-angles-left / fa-angles-right — SVG yerine sınıf uyuşmazlığı olmasın diye <i> yenilenir */
7  function setSlideIcon(btn, open) {
8    if (!btn) return;
9    var old = btn.querySelector('.pp-toolbar-slide-icon');
10    if (old) old.remove();
11    var i = document.createElement('i');
12    i.className = 'fas pp-toolbar-slide-icon ' + (open ? 'fa-angles-right' : 'fa-angles-left');
13    i.setAttribute('aria-hidden', 'true');
14    var vh = btn.querySelector('.visually-hidden');
15    if (vh) {
16      btn.insertBefore(i, vh);
17    } else {
18      btn.insertBefore(i, btn.firstChild);
19    }
20  }
21
22  function setOpen(panel, btn, open) {
23    if (!panel || !btn) return;
24    panel.classList.toggle('pp-toolbar-extras--open', open);
25    panel.setAttribute('aria-hidden', open ? 'false' : 'true');
26    btn.setAttribute('aria-expanded', open ? 'true' : 'false');
27    setSlideIcon(btn, open);
28  }
29
30  function resolveToolbarExtrasNodes() {
31    return {
32      btn: document.getElementById('pp-toolbar-slide-toggle'),
33      panel: document.getElementById('pp-toolbar-extras'),
34    };
35  }
36
37  window.ppSetToolbarExtrasOpen = function (open) {
38    var nodes = resolveToolbarExtrasNodes();
39    if (!nodes.btn || !nodes.panel) return false;
40    setOpen(nodes.panel, nodes.btn, !!open);
41    return true;
42  };
43
44  function init() {
45    var nodes = resolveToolbarExtrasNodes();
46    var btn = nodes.btn;
47    var panel = nodes.panel;
48    if (!btn || !panel) return;
49
50    setOpen(panel, btn, false);
51
52    btn.addEventListener('click', function (e) {
53      e.preventDefault();
54      e.stopPropagation();
55      var next = !panel.classList.contains('pp-toolbar-extras--open');
56      setOpen(panel, btn, next);
57    });
58
59    document.addEventListener('keydown', function (e) {
60      if (e.key === 'Escape' && panel.classList.contains('pp-toolbar-extras--open')) {
61        setOpen(panel, btn, false);
62      }
63    });
64  }
65
66  if (document.readyState === 'loading') {
67    document.addEventListener('DOMContentLoaded', init);
68  } else {
69    init();
70  }
71})();

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.