rsemcs/dynmap/web/js/link.js

50 lines
1.2 KiB
JavaScript

componentconstructors['link'] = function(dynmap, configuration) {
var dynmapLink = L.Control.extend({
options: { position: 'bottomleft' },
onAdd: function(map) {
this._map = map;
this._container = L.DomUtil.create('div', 'dynmap-link');
this._linkButton = this._createButton(
'Link', 'dynmap-link-button', this._follow, this);
this._container.appendChild(this._linkButton);
return this._container;
},
getContainer: function() {
return this._container;
},
getPosition: function() {
return this.options.position;
},
_createButton: function(title, className, fn, context) {
var link = document.createElement('a');
link.href = '#';
link.title = title;
link.className = className;
link.onmouseover = function() {
link.href = dynmap.getLink();
};
L.DomEvent.disableClickPropagation(link);
L.DomEvent.addListener(link, 'click', L.DomEvent.preventDefault);
L.DomEvent.addListener(link, 'click', fn, context);
return link;
},
_follow: function() {
var url = dynmap.getLink();
window.location = url;
}
});
var link = new dynmapLink();
dynmap.map.addControl(link);
};