1 L.OSM.key = function (options) {
2 var control = L.OSM.sidebarPane(options);
4 control.onAdd = function (map) {
5 var $container = $("<div>")
6 .attr("class", "control-key");
9 .attr("class", "control-button")
11 .html("<span class=\"icon key\"></span>")
13 .appendTo($container);
15 var $ui = this.makeUI("key-ui", "javascripts.key.title", toggle);
17 var $section = $("<div>")
18 .attr("class", "section")
21 options.sidebar.addPane($ui);
27 map.on("baselayerchange", updateButton);
32 map.on("zoomend baselayerchange", update);
33 $section.load("/key", update);
37 map.off("zoomend baselayerchange", update);
43 if (!button.hasClass("disabled")) {
44 options.sidebar.togglePane($ui, button);
46 $(".leaflet-control .control-button").tooltip("hide");
49 function updateButton() {
50 var disabled = ["mapnik", "cyclemap"].indexOf(map.getMapBaseLayerId()) === -1;
52 .toggleClass("disabled", disabled)
53 .attr("data-bs-original-title",
55 "javascripts.key.tooltip_disabled" :
56 "javascripts.key.tooltip"));
60 var layer = map.getMapBaseLayerId(),
63 $(".mapkey-table-entry").each(function () {
64 var data = $(this).data();
65 if (layer === data.layer && zoom >= data.zoomMin && zoom <= data.zoomMax) {