]> git.openstreetmap.org Git - rails.git/blob - app/assets/javascripts/leaflet.sidebar.js
Merge remote-tracking branch 'upstream/pull/2890'
[rails.git] / app / assets / javascripts / leaflet.sidebar.js
1 L.OSM.sidebar = function (selector) {
2   var control = {},
3       sidebar = $(selector),
4       current = $(),
5       currentButton = $(),
6       map;
7
8   control.addTo = function (_) {
9     map = _;
10     return control;
11   };
12
13   control.addPane = function (pane) {
14     pane
15       .hide()
16       .appendTo(sidebar);
17   };
18
19   control.togglePane = function (pane, button) {
20     current
21       .hide()
22       .trigger("hide");
23
24     currentButton
25       .removeClass("active");
26
27     if (current === pane) {
28       $(sidebar).hide();
29       current = currentButton = $();
30     } else {
31       $(sidebar).show();
32       current = pane;
33       currentButton = button || $();
34     }
35
36     map.invalidateSize({ pan: false, animate: false });
37
38     current
39       .show()
40       .trigger("show");
41
42     currentButton
43       .addClass("active");
44   };
45
46   return control;
47 };