961842668f25432a3c4905e8df6f8b9a3163fc58
[rails.git] / app / assets / javascripts / leaflet.sidebar.js
1 L.OSM.sidebar = function(selector) {
2   var control = {},
3     sidebar = $(selector),
4     current = $(),
5     map;
6
7   control.addTo = function (_) {
8     map = _;
9     return control;
10   };
11
12   control.addPane = function(pane) {
13     pane
14       .hide()
15       .appendTo(sidebar);
16   };
17
18   control.togglePane = function(pane) {
19     current
20       .hide()
21       .trigger('hide');
22
23     if (current === pane) {
24       $(sidebar).hide();
25       current = $();
26     } else {
27       $(sidebar).show();
28       current = pane;
29     }
30
31     current
32       .show()
33       .trigger('show');
34
35     map.invalidateSize({pan: false, animate: false});
36   };
37
38   return control;
39 };