Allow HTML in Layer Names (issue #1009)

This commit is contained in:
Alexander Parshin 2012-10-10 03:05:12 +04:00
parent c7d6812a11
commit 20915a83fa
2 changed files with 8 additions and 6 deletions

8
dist/leaflet.css vendored
View File

@ -122,7 +122,7 @@
.leaflet-control-zoom a {
background-color: rgba(255, 255, 255, 0.75);
}
.leaflet-control-zoom a, .leaflet-control-layers a {
.leaflet-control-zoom a, .leaflet-control-layers-toggle {
background-position: 50% 50%;
background-repeat: no-repeat;
display: block;
@ -156,12 +156,12 @@
-webkit-border-radius: 8px;
border-radius: 8px;
}
.leaflet-control-layers a {
.leaflet-control-layers-toggle {
background-image: url(images/layers.png);
width: 36px;
height: 36px;
}
.leaflet-touch .leaflet-control-layers a {
.leaflet-touch .leaflet-control-layers-toggle {
width: 44px;
height: 44px;
}
@ -179,7 +179,7 @@
color: #333;
background: #fff;
}
.leaflet-control-layers input {
.leaflet-control-layers-selector {
margin-top: 2px;
position: relative;
top: 1px;

View File

@ -136,7 +136,7 @@ L.Control.Layers = L.Control.extend({
// IE7 bugs out if you create a radio dynamically, so you have to do it this hacky way (see http://bit.ly/PqYLBe)
_createRadioElement: function (name, checked) {
var radioHtml = '<input type="radio" name="' + name + '"';
var radioHtml = '<input type="radio" class="leaflet-control-layers-selector" name="' + name + '"';
if (checked) {
radioHtml += ' checked="checked"';
}
@ -156,6 +156,7 @@ L.Control.Layers = L.Control.extend({
if (obj.overlay) {
input = document.createElement('input');
input.type = 'checkbox';
input.className = 'leaflet-control-layers-selector';
input.defaultChecked = checked;
} else {
input = this._createRadioElement('leaflet-base-layers', checked);
@ -165,7 +166,8 @@ L.Control.Layers = L.Control.extend({
L.DomEvent.on(input, 'click', this._onInputClick, this);
var name = document.createTextNode(' ' + obj.name);
var name = document.createElement('span');
name.innerHTML = ' ' + obj.name;
label.appendChild(input);
label.appendChild(name);