1 L.OSM.sidebarPane = function (options, uiClass, buttonTitle, paneTitle) {
2 const control = L.control(options);
4 control.onAdd = function (map) {
5 const $container = $("<div>")
6 .attr("class", "control-" + uiClass);
8 const button = $("<a>")
9 .attr("class", "control-button")
11 .attr("title", OSM.i18n.t(buttonTitle))
19 const iconName = iconMap[uiClass] || uiClass;
20 $("<i>").addClass("fs-5 bi bi-" + iconName).appendTo(button);
21 button.appendTo($container);
23 const $ui = $("<div>")
24 .attr("class", `${uiClass}-ui position-relative z-n1`);
26 $("<h2 class='p-3 pb-0 pe-5 text-break'>")
27 .text(OSM.i18n.t(paneTitle))
30 options.sidebar.addPane($ui);
32 this.loadContent = () =>
33 fetch("/panes/" + uiClass)
35 .then(html => { $(html).appendTo($ui); })
36 .then(this.onContentLoaded);
38 this.onAddPane(map, button, $ui, toggle);
43 if (!button.hasClass("disabled")) {
44 options.sidebar.togglePane($ui, button);
46 $(".leaflet-control .control-button").tooltip("hide");
52 // control.onAddPane = function (map, button, $ui, toggle) {