Add 'showlayercontrol' config setting and URL parameter, to allow hide of layer control

This commit is contained in:
Mike Primm 2011-12-15 00:01:21 +08:00 committed by mikeprimm
parent c204603537
commit c28fbf66f0
3 changed files with 29 additions and 11 deletions

View file

@ -25,6 +25,7 @@ public class ClientConfigurationComponent extends Component {
s(t, "sidebaropened", c.getString("sidebaropened", "false")); s(t, "sidebaropened", c.getString("sidebaropened", "false"));
s(t, "dynmapversion", plugin.getDescription().getVersion()); s(t, "dynmapversion", plugin.getDescription().getVersion());
s(t, "cyrillic", c.getBoolean("cyrillic-support", false)); s(t, "cyrillic", c.getBoolean("cyrillic-support", false));
s(t, "showlayercontrol", c.getBoolean("showlayercontrol", true));
String sn = plugin.getServer().getServerName(); String sn = plugin.getServer().getServerName();
if(sn.equals("Unknown Server")) if(sn.equals("Unknown Server"))
sn = "Minecraft Dynamic Map"; sn = "Minecraft Dynamic Map";

View file

@ -242,12 +242,12 @@ showplayerfacesinmenu: true
joinmessage: "%playername% joined" joinmessage: "%playername% joined"
quitmessage: "%playername% quit" quitmessage: "%playername% quit"
spammessage: "You may only chat once every %interval% seconds." spammessage: "You may only chat once every %interval% seconds."
# webprefix and websuffix support using '&color;' as escape code for color code (deprecated: use webmsgformat)
#webprefix: "&color;2[WEB] "
#websuffix: "&color;f"
# format for messages from web: %playername% substitutes sender ID (typically IP), %message% includes text # format for messages from web: %playername% substitutes sender ID (typically IP), %message% includes text
webmsgformat: "&color;2[WEB] %playername%: &color;f%message%" webmsgformat: "&color;2[WEB] %playername%: &color;f%message%"
# Control whether layer control is presented on the UI (default is true)
showlayercontrol: true
# Enable checking for banned IPs via banned-ips.txt (internal web server only) # Enable checking for banned IPs via banned-ips.txt (internal web server only)
check-banned-ips: true check-banned-ips: true
@ -257,7 +257,7 @@ defaultworld: world
defaultmap: flat defaultmap: flat
# Option to enable workaround for incorrectly encoded unicode in Cyrillic MC/Bukkit (not good for other code pages) # Option to enable workaround for incorrectly encoded unicode in Cyrillic MC/Bukkit (not good for other code pages)
#cyrillic-support: true cyrillic-support: false
# NOTE: the 'templates' section is now found in the 'templates' directory # NOTE: the 'templates' section is now found in the 'templates' directory
# Templates CAN still be defined in configuration.txt, as before 0.20 # Templates CAN still be defined in configuration.txt, as before 0.20

View file

@ -107,6 +107,10 @@ DynMap.prototype = {
var urlzoom = me.getIntParameterByName('zoom'); var urlzoom = me.getIntParameterByName('zoom');
if(urlzoom != null) if(urlzoom != null)
me.options.defaultzoom = urlzoom; me.options.defaultzoom = urlzoom;
var showlayerctl = me.getBoolParameterByName('showlayercontrol');
if(showlayerctl != null)
me.options.showlayercontrol = showlayerctl;
if(typeof me.options.defaultzoom == 'undefined') if(typeof me.options.defaultzoom == 'undefined')
me.options.defaultzoom = 1; me.options.defaultzoom = 1;
@ -756,13 +760,23 @@ DynMap.prototype = {
} }
return null; return null;
}, },
getBoolParameterByName: function(name) {
var v = this.getParameterByName(name);
if(v != "") {
if(v == "true")
return true;
else if(v == "false")
return false;
}
return null;
},
layersetlist: [], layersetlist: [],
addToLayerSelector: function(layer, name, priority) { addToLayerSelector: function(layer, name, priority) {
var me = this; var me = this;
if(!me.layercontrol) { if(me.options.showlayercontrol && (!me.layercontrol)) {
me.layercontrol = new DynmapLayerControl(); me.layercontrol = new DynmapLayerControl();
map.addControl(me.layercontrol); map.addControl(me.layercontrol);
} }
@ -784,11 +798,13 @@ DynMap.prototype = {
else else
return ((a.name < b.name) ? -1 : ((a.name > b.name) ? 1 : 0)); return ((a.name < b.name) ? -1 : ((a.name > b.name) ? 1 : 0));
}); });
for(i = 0; i < me.layersetlist.length; i++) { if(me.options.showlayercontrol) {
me.layercontrol.removeLayer(me.layersetlist[i].layer); for(i = 0; i < me.layersetlist.length; i++) {
} me.layercontrol.removeLayer(me.layersetlist[i].layer);
for(i = 0; i < me.layersetlist.length; i++) { }
me.layercontrol.addOverlay(me.layersetlist[i].layer, me.layersetlist[i].name); for(i = 0; i < me.layersetlist.length; i++) {
me.layercontrol.addOverlay(me.layersetlist[i].layer, me.layersetlist[i].name);
}
} }
}, },
removeFromLayerSelector: function(layer) { removeFromLayerSelector: function(layer) {
@ -797,7 +813,8 @@ DynMap.prototype = {
for(i = 0; i < me.layersetlist.length; i++) { for(i = 0; i < me.layersetlist.length; i++) {
if(me.layersetlist[i].layer === layer) { if(me.layersetlist[i].layer === layer) {
me.layersetlist.splice(i, 1); me.layersetlist.splice(i, 1);
me.layercontrol.removeLayer(layer); if(me.options.showlayercontrol)
me.layercontrol.removeLayer(layer);
break; break;
} }
} }