L.OSM.sidebar = function (selector) { var control = {}, sidebar = $(selector), current = $(), currentButton = $(), map; control.addTo = function (_) { map = _; return control; }; control.addPane = function (pane) { pane .hide() .appendTo(sidebar); }; control.togglePane = function (pane, button) { current .hide() .trigger("hide"); currentButton .removeClass("active"); if (current === pane) { $(sidebar).hide(); current = currentButton = $(); } else { $(sidebar).show(); current = pane; currentButton = button || $(); } map.invalidateSize({ pan: false, animate: false }); current .show() .trigger("show"); currentButton .addClass("active"); }; return control; };