[Mapbender-commits] r3377 - trunk/mapbender/http/javascripts
svn_mapbender at osgeo.org
svn_mapbender at osgeo.org
Fri Jan 2 04:11:18 EST 2009
Author: christoph
Date: 2009-01-02 04:11:18 -0500 (Fri, 02 Jan 2009)
New Revision: 3377
Modified:
trunk/mapbender/http/javascripts/map.php
trunk/mapbender/http/javascripts/map_obj.js
trunk/mapbender/http/javascripts/mod_back.php
trunk/mapbender/http/javascripts/mod_forward.php
trunk/mapbender/http/javascripts/mod_help.php
trunk/mapbender/http/javascripts/mod_highlightPOI.php
trunk/mapbender/http/javascripts/mod_navFrame.php
trunk/mapbender/http/javascripts/mod_tab.js
trunk/mapbender/http/javascripts/mod_zoomFull.php
trunk/mapbender/http/javascripts/mod_zoomIn1.php
Log:
http://trac.osgeo.org/mapbender/ticket/343
Modified: trunk/mapbender/http/javascripts/map.php
===================================================================
--- trunk/mapbender/http/javascripts/map.php 2009-01-02 09:09:57 UTC (rev 3376)
+++ trunk/mapbender/http/javascripts/map.php 2009-01-02 09:11:18 UTC (rev 3377)
@@ -142,8 +142,12 @@
//
// Load JavaScript files of GUI elements
//
+
+$modulesNotRelyingOnGlobalsArray = explode(",", MODULES_NOT_RELYING_ON_GLOBALS);
+
+echo "\nMapbender.Modules = {};\n";
$mb_sql = "SELECT DISTINCT e_js_file, e_id, e_src, e_target, e_pos, " .
- "e_requires FROM gui_element WHERE e_public = 1 AND " .
+ "e_url, e_left, e_top, e_width, e_height, e_requires FROM gui_element WHERE e_public = 1 AND " .
"fkey_gui_id = $1 ORDER BY e_pos";
$mb_v = array($gui_id);
$mb_t = array("s");
@@ -158,7 +162,22 @@
$e_target = explode(",",$row_js["e_target"]);
$currentFile = trim($jsArray[$i]);
if (file_exists($currentFile)) {
- require_once($currentFile);
+ if (in_array($e_id, $modulesNotRelyingOnGlobalsArray)) {
+ echo "Mapbender.Modules." . $e_id . " = {
+ init : function () {\n";
+ require_once($currentFile);
+ echo "},\n";
+ echo "id:'".$row_js["e_id"]."',";
+ echo "url:'".$row_js["e_url"]."',";
+ echo "top:'".$row_js["e_top"]."',";
+ echo "left:'".$row_js["e_left"]."',";
+ echo "width:'".$row_js["e_width"]."',";
+ echo "height:'".$row_js["e_height"]."'";
+ echo "};\n";
+ }
+ else {
+ require_once($currentFile);
+ }
}
else {
$e = new mb_exception("Javascript not found: " . $currentFile);
@@ -169,3 +188,8 @@
}
}
?>
+eventBeforeInit.register(function () {
+ for (var module in Mapbender.Modules) {
+ Mapbender.Modules[module].init();
+ }
+});
Modified: trunk/mapbender/http/javascripts/map_obj.js
===================================================================
--- trunk/mapbender/http/javascripts/map_obj.js 2009-01-02 09:09:57 UTC (rev 3376)
+++ trunk/mapbender/http/javascripts/map_obj.js 2009-01-02 09:11:18 UTC (rev 3377)
@@ -635,6 +635,33 @@
};
+ this.mb_setFutureObj = function(mod_back_cnt){
+ var cnt = this.mb_MapFutureObj.length;
+ this.mb_MapFutureObj[cnt] = {};
+ this.mb_MapFutureObj[cnt].reqCnt = mod_back_cnt;
+ this.mb_MapFutureObj[cnt].width = this.width;
+ this.mb_MapFutureObj[cnt].height = this.height;
+ this.mb_MapFutureObj[cnt].epsg = this.epsg;
+ this.mb_MapFutureObj[cnt].extent = this.extent;
+ this.mb_MapFutureObj[cnt].layers = [];
+
+ for(var i=0; i<this.layers.length;i++){
+ this.mb_MapFutureObj[cnt].layers[i] = this.layers[i];
+ }
+
+ this.mb_MapFutureObj[cnt].styles = [];
+
+ for(var i=0; i < this.styles.length;i++){
+ this.mb_MapFutureObj[cnt].styles[i] = this.styles[i];
+ }
+
+ this.mb_MapFutureObj[cnt].querylayers = [];
+
+ for(var i=0; i < this.querylayers.length; i++) {
+ this.mb_MapFutureObj[cnt].querylayers[i] = this.querylayers[i];
+ }
+ }
+
this.setMapRequest = function(){
var functionName = 'setMapRequest';
Modified: trunk/mapbender/http/javascripts/mod_back.php
===================================================================
--- trunk/mapbender/http/javascripts/mod_back.php 2009-01-02 09:09:57 UTC (rev 3376)
+++ trunk/mapbender/http/javascripts/mod_back.php 2009-01-02 09:11:18 UTC (rev 3377)
@@ -23,20 +23,34 @@
echo "var mod_back_overview = '".$e_target[1]."';";
?>
-var mb_MapHistoryObj = new Array();
-var mod_back_img_off = new Image(); mod_back_img_off.src = "<?php echo preg_replace("/_off_disabled/","_off",$e_src); ?>";
-var mod_back_img_off_disabled = new Image(); mod_back_img_off_disabled.src = "<?php echo $e_src; ?>";
-var mod_back_img_over = new Image(); mod_back_img_over.src = "<?php echo preg_replace("/_off_disabled/","_over",$e_src); ?>";
+var mod_back_img_off = new Image();
+mod_back_img_off.src = "<?php echo preg_replace("/_off_disabled/","_off",$e_src); ?>";
+var mod_back_img_off_disabled = new Image();
+mod_back_img_off_disabled.src = "<?php echo $e_src; ?>";
+var mod_back_img_over = new Image();
+mod_back_img_over.src = "<?php echo preg_replace("/_off_disabled/","_over",$e_src); ?>";
var mod_back_img_previous = null;
var mod_back_cnt = -1;
-mb_registerSubFunctions("mb_setHistoryObj(frameName)");
-mb_registerSubFunctions("mod_back_check(frameName)");
+$('#<?php echo $e_id;?>').mouseover(function () {
+ mod_back_over(this);
+}).mouseout(function() {
+ mod_back_out(this);
+}).click(function() {
+ mod_back_set();
+});
+eventAfterMapRequest.register(function (obj) {
+ mb_setHistoryObj(obj.frameName);
+ mod_back_check(obj.frameName);
+});
+
+
function mod_back_check(frameName){
if(frameName == mod_back_map){
+ var ind = getMapObjIndexByName(frameName);
mod_back_cnt++;
- if(mb_MapHistoryObj[mod_back_map].length > 1){
+ if(mb_mapObj[ind].mb_MapHistoryObj.length > 1){
document.getElementById("back").src = mod_back_img_off.src;
}
else{
@@ -58,56 +72,56 @@
function mod_back_set(){
if(mod_back_img_previous == mod_back_img_off.src){
- if(mb_MapFutureObj){
- mb_setFutureObj(mod_back_map);
+ var ind = getMapObjIndexByName(mod_back_map);
+ if(mb_mapObj[ind].mb_MapFutureObj){
+ mb_mapObj[ind].mb_setFutureObj(mod_back_cnt);
}
- var ind = getMapObjIndexByName(mod_back_map);
- var cnt = mb_MapHistoryObj[mod_back_map].length - 2;
- if(mb_mapObj[ind].epsg != mb_MapHistoryObj[mod_back_map][cnt].epsg){
+ var cnt = mb_mapObj[ind].mb_MapHistoryObj.length - 2;
+ if(mb_mapObj[ind].epsg != mb_mapObj[ind].mb_MapHistoryObj[cnt].epsg){
var oind = getMapObjIndexByName(mod_back_overview);
- for(var i=0; i < mb_MapHistoryObj[mod_back_overview].length; i++){
- if(mb_MapHistoryObj[mod_back_overview][i].epsg == mb_MapHistoryObj[mod_back_map][cnt].epsg){
- mb_mapObj[oind].epsg = mb_MapHistoryObj[mod_back_overview][i].epsg;
- mb_mapObj[oind].extent = mb_MapHistoryObj[mod_back_overview][i].extent;
+ for(var i=0; i < mb_mapObj[oind].mb_MapHistoryObj.length; i++){
+ if(mb_mapObj[oind].mb_MapHistoryObj[i].epsg == mb_mapObj[ind].mb_MapHistoryObj[cnt].epsg){
+ mb_mapObj[oind].epsg = mb_mapObj[oind].mb_MapHistoryObj[i].epsg;
+ mb_mapObj[oind].extent = mb_mapObj[oind].mb_MapHistoryObj[i].extent;
setMapRequest(mod_back_overview);
break;
}
}
}
- document.getElementById(mod_back_map).style.width = mb_MapHistoryObj[mod_back_map][cnt].width;
- document.getElementById(mod_back_map).style.height = mb_MapHistoryObj[mod_back_map][cnt].height;
- mb_mapObj[ind].width = mb_MapHistoryObj[mod_back_map][cnt].width;
- mb_mapObj[ind].height = mb_MapHistoryObj[mod_back_map][cnt].height;
- mb_mapObj[ind].epsg = mb_MapHistoryObj[mod_back_map][cnt].epsg;
- mb_mapObj[ind].extent = mb_MapHistoryObj[mod_back_map][cnt].extent;
- mb_mapObj[ind].layers = mb_MapHistoryObj[mod_back_map][cnt].layers;
- mb_mapObj[ind].styles = mb_MapHistoryObj[mod_back_map][cnt].styles;
- mb_mapObj[ind].querylayers = mb_MapHistoryObj[mod_back_map][cnt].querylayers;
- mb_MapHistoryObj[mod_back_map].length = (mb_MapHistoryObj[mod_back_map].length - 2);
+ document.getElementById(mod_back_map).style.width = mb_mapObj[ind].mb_MapHistoryObj[cnt].width;
+ document.getElementById(mod_back_map).style.height = mb_mapObj[ind].mb_MapHistoryObj[cnt].height;
+ mb_mapObj[ind].width = mb_mapObj[ind].mb_MapHistoryObj[cnt].width;
+ mb_mapObj[ind].height = mb_mapObj[ind].mb_MapHistoryObj[cnt].height;
+ mb_mapObj[ind].epsg = mb_mapObj[ind].mb_MapHistoryObj[cnt].epsg;
+ mb_mapObj[ind].extent = mb_mapObj[ind].mb_MapHistoryObj[cnt].extent;
+ mb_mapObj[ind].layers = mb_mapObj[ind].mb_MapHistoryObj[cnt].layers;
+ mb_mapObj[ind].styles = mb_mapObj[ind].mb_MapHistoryObj[cnt].styles;
+ mb_mapObj[ind].querylayers = mb_mapObj[ind].mb_MapHistoryObj[cnt].querylayers;
+ mb_mapObj[ind].mb_MapHistoryObj.length = (mb_mapObj[ind].mb_MapHistoryObj.length - 2);
setMapRequest(mod_back_map);
}
}
function mb_setHistoryObj(frameName){
- if(mb_MapHistoryObj[frameName] == null){
- mb_MapHistoryObj[frameName] = new Array();
+ var ind = getMapObjIndexByName(frameName);
+ if(mb_mapObj[ind].mb_MapHistoryObj == null){
+ mb_mapObj[ind].mb_MapHistoryObj = [];
}
- var ind = getMapObjIndexByName(frameName);
- var cnt = mb_MapHistoryObj[frameName].length;
- mb_MapHistoryObj[frameName][cnt] = new Object();
- mb_MapHistoryObj[frameName][cnt].width = mb_mapObj[ind].width;
- mb_MapHistoryObj[frameName][cnt].height = mb_mapObj[ind].height;
- mb_MapHistoryObj[frameName][cnt].epsg = mb_mapObj[ind].epsg;
- mb_MapHistoryObj[frameName][cnt].extent = mb_mapObj[ind].extent;
- mb_MapHistoryObj[frameName][cnt].layers = new Array();
+ var cnt = mb_mapObj[ind].mb_MapHistoryObj.length;
+ mb_mapObj[ind].mb_MapHistoryObj[cnt] = new Object();
+ mb_mapObj[ind].mb_MapHistoryObj[cnt].width = mb_mapObj[ind].width;
+ mb_mapObj[ind].mb_MapHistoryObj[cnt].height = mb_mapObj[ind].height;
+ mb_mapObj[ind].mb_MapHistoryObj[cnt].epsg = mb_mapObj[ind].epsg;
+ mb_mapObj[ind].mb_MapHistoryObj[cnt].extent = mb_mapObj[ind].extent;
+ mb_mapObj[ind].mb_MapHistoryObj[cnt].layers = new Array();
for(var i=0; i<mb_mapObj[ind].layers.length;i++){
- mb_MapHistoryObj[frameName][cnt].layers[i] = mb_mapObj[ind].layers[i];
+ mb_mapObj[ind].mb_MapHistoryObj[cnt].layers[i] = mb_mapObj[ind].layers[i];
}
- mb_MapHistoryObj[frameName][cnt].styles = new Array();
+ mb_mapObj[ind].mb_MapHistoryObj[cnt].styles = [];
for(var i=0; i<mb_mapObj[ind].styles.length;i++){
- mb_MapHistoryObj[frameName][cnt].styles[i] = mb_mapObj[ind].styles[i];
+ mb_mapObj[ind].mb_MapHistoryObj[cnt].styles[i] = mb_mapObj[ind].styles[i];
}
- mb_MapHistoryObj[frameName][cnt].querylayers = new Array();
+ mb_mapObj[ind].mb_MapHistoryObj[cnt].querylayers = [];
for(var i=0; i<mb_mapObj[ind].querylayers.length;i++){
- mb_MapHistoryObj[frameName][cnt].querylayers[i] = mb_mapObj[ind].querylayers[i];
+ mb_mapObj[ind].mb_MapHistoryObj[cnt].querylayers[i] = mb_mapObj[ind].querylayers[i];
}
}
Modified: trunk/mapbender/http/javascripts/mod_forward.php
===================================================================
--- trunk/mapbender/http/javascripts/mod_forward.php 2009-01-02 09:09:57 UTC (rev 3376)
+++ trunk/mapbender/http/javascripts/mod_forward.php 2009-01-02 09:11:18 UTC (rev 3377)
@@ -22,7 +22,6 @@
echo "var mod_forward_overview = '".$e_target[1]."';";
?>
-var mb_MapFutureObj = new Array();
var mod_forward_img_off = new Image();
mod_forward_img_off.src = "<?php echo preg_replace("/_off_disabled/","_off",$e_src);?>";
var mod_forward_img_off_disabled = new Image();
@@ -30,16 +29,30 @@
var mod_forward_img_over = new Image();
mod_forward_img_over.src = "<?php echo preg_replace("/_off_disabled/","_over",$e_src);?>";
var mod_forward_img_previous = mod_forward_img_off_disabled.src;
+
+eventAfterMapRequest.register(function (obj) {
+ mod_forward_check(obj.frameName);
+});
+
+$('#<?php echo $e_id;?>').mouseover(function () {
+ mod_forward_over(this);
+}).mouseout(function() {
+ mod_forward_out(this);
+}).click(function() {
+ mod_forward_set();
+});
+
var mod_forward_cnt = 0;
var mod_forward_hist_cnt = 0;
-mb_registerSubFunctions("mod_forward_check(frameName)");
function mod_forward_check(frameName){
- if(mb_MapFutureObj[frameName] == null){
- mb_MapFutureObj[frameName] = new Array();
+ var ind = getMapObjIndexByName(frameName);
+ var map = mb_mapObj[ind];
+ if(!map.mb_MapFutureObj) {
+ map.mb_MapFutureObj = [];
}
if(frameName == mod_forward_map){
- if(mb_MapFutureObj[mod_forward_map].length > 0){
+ if(map.mb_MapFutureObj.length > 0){
document.getElementById("forward").src = mod_forward_img_off.src;
}
else{
@@ -47,77 +60,63 @@
mod_forward_img_previous = document.getElementById("forward").src;
}
}
- if(mb_MapHistoryObj[mod_forward_map]){
- if(mb_MapHistoryObj[mod_forward_map].length > mod_forward_hist_cnt && mb_MapFutureObj[mod_forward_map].length == mod_forward_cnt){
+ var indForward = getMapObjIndexByName(mod_forward_map);
+ if(mb_mapObj[indForward].mb_MapHistoryObj){
+ if(mb_mapObj[indForward].mb_MapHistoryObj.length > mod_forward_hist_cnt && mb_mapObj[indForward].mb_MapFutureObj.length == mod_forward_cnt){
mod_forward_reset();
}
- mod_forward_cnt = mb_MapFutureObj[mod_forward_map].length;
- mod_forward_hist_cnt = mb_MapHistoryObj[mod_forward_map].length;
+ mod_forward_cnt = mb_mapObj[indForward].mb_MapFutureObj.length;
+ mod_forward_hist_cnt = mb_mapObj[indForward].mb_MapHistoryObj.length;
}
}
function mod_forward_reset(){
- if(mb_MapHistoryObj[mod_forward_map].length > 0){
- mb_MapFutureObj[mod_forward_map] = new Array();
- document.getElementById("forward").src = mod_forward_img_off_disabled.src;
+ var ind = getMapObjIndexByName(mod_forward_map);
+ if (mb_mapObj[ind].mb_MapFutureObj.length > 0){
+ mb_mapObj[ind].mb_MapFutureObj = [];
+ document.getElementById("forward").src = mod_forward_img_off_disabled.src;
mod_forward_img_previous = document.getElementById("forward").src;
}
}
+
function mod_forward_over(obj){
mod_forward_img_previous = document.getElementById("forward").src;
if(document.getElementById("forward").src == mod_forward_img_off.src){
document.getElementById("forward").src = mod_forward_img_over.src;
}
}
+
function mod_forward_out(obj){
document.getElementById("forward").src = mod_forward_img_previous;
}
+
function mod_forward_set(){
if(mod_forward_img_previous == mod_forward_img_off.src){
var ind = getMapObjIndexByName(mod_forward_map);
- var cnt = mb_MapFutureObj[mod_forward_map].length - 1;
- if(mb_mapObj[ind].epsg != mb_MapFutureObj[mod_forward_map][cnt].epsg){
+ var map = mb_mapObj[ind];
+ var cnt = map.mb_MapFutureObj.length - 1;
+ if(map.epsg != map.mb_MapFutureObj[cnt].epsg){
var oind = getMapObjIndexByName(mod_forward_overview);
- for(var i=0; i<mb_MapHistoryObj[mod_forward_overview].length; i++){
- if(mb_MapHistoryObj[mod_forward_overview][i].epsg == mb_MapFutureObj[mod_forward_map][cnt].epsg){
- mb_mapObj[oind].epsg = mb_MapHistoryObj[mod_forward_overview][i].epsg;
- mb_mapObj[oind].extent = mb_MapHistoryObj[mod_forward_overview][i].extent;
- setMapRequest(mod_forward_overview);
+ var ov = mb_mapObj[oind];
+ for(var i=0; i<ov.mb_MapHistoryObj.length; i++){
+ if(ov.mb_MapHistoryObj[i].epsg == map.mb_MapFutureObj[cnt].epsg){
+ ov.epsg = ov.mb_MapHistoryObj[i].epsg;
+ ov.extent = ov.mb_MapHistoryObj[i].extent;
+ ov.setMapRequest();
break;
}
}
}
- document.getElementById(mod_forward_map).style.width = mb_MapFutureObj[mod_forward_map][cnt].width;
- document.getElementById(mod_forward_map).style.height = mb_MapFutureObj[mod_forward_map][cnt].height;
- mb_mapObj[ind].width = mb_MapFutureObj[mod_forward_map][cnt].width;
- mb_mapObj[ind].height = mb_MapFutureObj[mod_forward_map][cnt].height;
- mb_mapObj[ind].epsg = mb_MapFutureObj[mod_forward_map][cnt].epsg;
- mb_mapObj[ind].extent = mb_MapFutureObj[mod_forward_map][cnt].extent;
- mb_mapObj[ind].layers = mb_MapFutureObj[mod_forward_map][cnt].layers;
- mb_mapObj[ind].styles = mb_MapFutureObj[mod_forward_map][cnt].styles;
- mb_mapObj[ind].querylayers = mb_MapFutureObj[mod_forward_map][cnt].querylayers;
- mb_MapFutureObj[mod_forward_map].length = (mb_MapFutureObj[mod_forward_map].length - 1);
- setMapRequest(mod_forward_map);
+ document.getElementById(mod_forward_map).style.width = map.mb_MapFutureObj[cnt].width;
+ document.getElementById(mod_forward_map).style.height = map.mb_MapFutureObj[cnt].height;
+ map.width = map.mb_MapFutureObj[cnt].width;
+ map.height = map.mb_MapFutureObj[cnt].height;
+ map.epsg = map.mb_MapFutureObj[cnt].epsg;
+ map.extent = map.mb_MapFutureObj[cnt].extent;
+ map.layers = map.mb_MapFutureObj[cnt].layers;
+ map.styles = map.mb_MapFutureObj[cnt].styles;
+ map.querylayers = map.mb_MapFutureObj[cnt].querylayers;
+ map.mb_MapFutureObj.length = (map.mb_MapFutureObj.length - 1);
+ map.setMapRequest();
}
}
-function mb_setFutureObj(frameName){
- var ind = getMapObjIndexByName(frameName);
- var cnt = mb_MapFutureObj[frameName].length;
- mb_MapFutureObj[frameName][cnt] = new Object();
- mb_MapFutureObj[frameName][cnt].reqCnt = mod_back_cnt;
- mb_MapFutureObj[frameName][cnt].width = mb_mapObj[ind].width;
- mb_MapFutureObj[frameName][cnt].height = mb_mapObj[ind].height;
- mb_MapFutureObj[frameName][cnt].epsg = mb_mapObj[ind].epsg;
- mb_MapFutureObj[frameName][cnt].extent = mb_mapObj[ind].extent;
- mb_MapFutureObj[frameName][cnt].layers = new Array();
- for(var i=0; i<mb_mapObj[ind].layers.length;i++){
- mb_MapFutureObj[frameName][cnt].layers[i] = mb_mapObj[ind].layers[i];
- }
- mb_MapFutureObj[frameName][cnt].styles = new Array();
- for(var i=0; i<mb_mapObj[ind].styles.length;i++){
- mb_MapFutureObj[frameName][cnt].styles[i] = mb_mapObj[ind].styles[i];
- }
- mb_MapFutureObj[frameName][cnt].querylayers = new Array();
- for(var i=0; i<mb_mapObj[ind].querylayers.length;i++){
- mb_MapFutureObj[frameName][cnt].querylayers[i] = mb_mapObj[ind].querylayers[i];
- }
-}
\ No newline at end of file
+
Modified: trunk/mapbender/http/javascripts/mod_help.php
===================================================================
--- trunk/mapbender/http/javascripts/mod_help.php 2009-01-02 09:09:57 UTC (rev 3376)
+++ trunk/mapbender/http/javascripts/mod_help.php 2009-01-02 09:11:18 UTC (rev 3377)
@@ -22,33 +22,76 @@
?>
try{if(mod_help_color){}}catch(e){mod_help_color = '#cc33cc';}
try{if(mod_help_thickness){}}catch(e){mod_help_color = 3;}
-var mod_help_elName = "help";
+try{if(mod_help_width){}}catch(e){mod_help_width = 1000;}
+try{if(mod_help_height){}}catch(e){mod_help_height = 1000;}
+try{if(mod_help_text){}}catch(e){mod_help_text = "<?php echo _mb("click highlighted elements for help");?>"}
+var mod_help_elName = "<?php echo $e_id; ?>";
var mod_help_str = "";
var mod_help_img_on = new Image(); mod_help_img_on.src = "<?php echo preg_replace("/_off/","_on",$e_src); ?>";
var mod_help_img_off = new Image(); mod_help_img_off.src ="<?php echo $e_src; ?>";
var mod_help_img_over = new Image(); mod_help_img_over.src = "<?php echo preg_replace("/_off/","_over",$e_src); ?>";
-function init_help(ind){
+mb_regButton(function (ind) {
mb_button[ind] = document.getElementById(mod_help_elName);
mb_button[ind].img_over = mod_help_img_over.src;
mb_button[ind].img_on = mod_help_img_on.src;
mb_button[ind].img_off = mod_help_img_off.src;
mb_button[ind].status = 0;
mb_button[ind].elName = mod_help_elName;
- mb_button[ind].go = new Function ("mod_help_click()");
- mb_button[ind].stop = new Function ("mod_help_disable()");
-}
+ mb_button[ind].go = function () {
+ mod_help_click();
+ };
+ mb_button[ind].stop = function () {
+ mod_help_disable();
+ };
+});
+
function mod_help_click(){
- if(!document.getElementById('mod_help_img')){
//create html tags
mod_help_set();
//request help string
- mb_ajax_post("../php/mod_help.php?gui_id=<?php echo $gui_id ?>", null, mod_help_set_str);
+ var usemapHtml = "";
+ for (var module in Mapbender.Modules) {
+ var currentModule = Mapbender.Modules[module];
+ var top = parseInt(currentModule.top) || 0;
+ var left = parseInt(currentModule.left) || 0;
+ var width = parseInt(currentModule.width) || 0;
+ var height = parseInt(currentModule.height) || 0;
+
+ usemapHtml += "<area id='helpArea_" + module + "' " +
+ "shape='rect' coords='" + left + "," +
+ top + "," + (parseInt(left + width)) + "," +
+ parseInt(top + height) + "' href='#' " +
+ "alt='" + ((currentModule.id == mod_help_elName) ? mod_help_text : "HELP: " + currentModule.url) + "' " +
+ "title='" + ((currentModule.id == mod_help_elName) ? mod_help_text : "HELP: " + currentModule.url) + "' " +
+ "nohref />";
+
+ }
+
+ var transparentImgHtml = "<img src='../img/transparent.gif' style='cursor:help' " +
+ "width='" + mod_help_width + "' height='" + mod_help_height +
+ "' usemap='#mod_help_imagemap' border='0'>";
+
+ var html = "<div id='helpMapContainer'>" + transparentImgHtml + "<map name='mod_help_imagemap'>" + usemapHtml + "</map></div>";
+
+ $('#mod_help_img').empty().html(html);
+
+ for (var module in Mapbender.Modules) {
+ (function () {
+ var currentModule = Mapbender.Modules[module];
+ $("#helpArea_" + module).click(function () {
+ mod_help_disable();
+ var w = window.open(currentModule.url, "help");
+ });
+ }());
+ }
+
+ mod_help_set_str();
return;
- }
- mod_help_set_str(mod_help_str, "success");
+ mod_help_set_str();
}
+
function mod_help_disable(){
document.getElementById('mod_help_img').innerHTML = '';
document.getElementById('mod_help_img').style.width = '0px';
@@ -79,9 +122,7 @@
return true;
}
-function mod_help_set_str(str, status){
- mod_help_str = str;
- document.getElementById('mod_help_img').innerHTML = mod_help_str;
+function mod_help_set_str(){
mod_help_update();
mod_help_draw();
}
@@ -89,14 +130,22 @@
function mod_help_update(){
//try to update tab coords
try{
- for(var j=0;j< tabs.count(); j++){
- var ta = tabs.get(j);
- var area = document.getElementById("helpArea_"+ta.module);
- if(area)
- area.coords = tabs.getCoords(ta.module);
+ for (var module in Mapbender.Modules) {
+ var tab = $("#tabs_" + module).get(0);
+ if (tab) {
+ var area = $("#helpArea_" + module).get(0);
+ var top = parseInt(tab.style.top);
+ var left = parseInt(tab.style.left);
+ var width = parseInt(tab.style.width);
+ var height = parseInt(tab.style.height);
+ var lly = parseInt(top-height);
+ var urx = parseInt(left+width);
+ area.coords = left + "," + lly + "," + urx + "," + top;
+ }
}
}
catch(e){
+ console.log(e);
}
}
Modified: trunk/mapbender/http/javascripts/mod_highlightPOI.php
===================================================================
--- trunk/mapbender/http/javascripts/mod_highlightPOI.php 2009-01-02 09:09:57 UTC (rev 3376)
+++ trunk/mapbender/http/javascripts/mod_highlightPOI.php 2009-01-02 09:11:18 UTC (rev 3377)
@@ -52,8 +52,12 @@
poi_style = 'background-color:white;font-weight: bold;color:black;font-family:Arial;';
}
-mb_registerInitFunctions('mod_highlightPOI_init()');
-mb_registerSubFunctions('mod_highlightPOI_draw()');
+eventInit.register(function () {
+ mod_highlightPOI_init();
+});
+eventAfterMapRequest.register(function () {
+ mod_highlightPOI_draw();
+});
var mod_highlightPOI_minx;
var mod_highlightPOI_miny;
@@ -135,4 +139,4 @@
tagSource += "</div>";
}
writeTag(mod_highlightPOI_target, "permanent", tagSource);
-}
\ No newline at end of file
+}
Modified: trunk/mapbender/http/javascripts/mod_navFrame.php
===================================================================
--- trunk/mapbender/http/javascripts/mod_navFrame.php 2009-01-02 09:09:57 UTC (rev 3376)
+++ trunk/mapbender/http/javascripts/mod_navFrame.php 2009-01-02 09:11:18 UTC (rev 3377)
@@ -30,8 +30,20 @@
mod_navFrame_ext = 10;
}
-mb_registerSubFunctions("mod_navFrame_arrange()");
+eventAfterMapRequest.register(function () {
+ mod_navFrame_arrange();
+});
+var directionArray = ["N", "NE", "E", "SE", "S", "SW", "W", "NW"];
+for (var i in directionArray) {
+ (function () {
+ var currentDirection = directionArray[i];
+ $("#mb"+currentDirection).click(function () {
+ mod_navFrame(currentDirection);
+ });
+ }());
+}
+
function mod_navFrame_arrange(){
var el = document.getElementById(mod_navFrame_target).style;
var ext = mod_navFrame_ext;
Modified: trunk/mapbender/http/javascripts/mod_tab.js
===================================================================
--- trunk/mapbender/http/javascripts/mod_tab.js 2009-01-02 09:09:57 UTC (rev 3376)
+++ trunk/mapbender/http/javascripts/mod_tab.js 2009-01-02 09:11:18 UTC (rev 3377)
@@ -15,14 +15,12 @@
var tabs;
-mb_registerInitFunctions('tab_init()');
-
-
eventLocalize.register(function () {
localizeTabs();
});
eventInit.register(function () {
+ tab_init();
localizeTabs();
});
@@ -166,6 +164,7 @@
this.add(tab);
document.getElementById(id).style.visibility = 'hidden';
+ document.getElementById(id).style.display = 'none';
// append the new tab
rootNode.appendChild(this.get(-1).getNode());
@@ -418,6 +417,7 @@
obj.width = tabWidth;
obj.height = (parseInt(that.get(index).height, 10) - 2);
obj.visibility = 'visible';
+ obj.display = 'block';
}
};
@@ -431,7 +431,9 @@
for (var i = 0; i < that.count(); i++) {
that.get(i).animationFinished = false;
}
- tabInterval = setInterval("tabs.animate('"+openOrClose+"')",1);
+ tabInterval = setInterval(function(){
+ tabs.animate(openOrClose);
+ },1);
};
/**
Modified: trunk/mapbender/http/javascripts/mod_zoomFull.php
===================================================================
--- trunk/mapbender/http/javascripts/mod_zoomFull.php 2009-01-02 09:09:57 UTC (rev 3376)
+++ trunk/mapbender/http/javascripts/mod_zoomFull.php 2009-01-02 09:11:18 UTC (rev 3377)
@@ -9,22 +9,25 @@
mod_zoomFull_img_over.src = "<?php echo preg_replace("/_off/","_over",$e_src); ?>";
function mod_zoomFull(){
- var ind = this.getMapObjIndexByName("<?php echo $e_target[0]; ?>");
- var arrayThemen = new Array();
- var arrayThemen = mb_mapObj[ind].wms[0].objLayer[0].layer_name;
- this.Layer0 = arrayThemen;
- //alert(mb_mapObj[ind].width + " - " + mb_mapObj[ind].height);
- this.width = mb_mapObj[ind].width;
- this.height = mb_mapObj[ind].height;
- this.epsg = wms[0].gui_wms_epsg;
- //mb_mapObj[ind].epsg = "EPSG:31493";
- //alert(Layer0);
- var arrayExt = new Array();
- var frameName = "<?php echo $e_target[0]; ?>"
- var exts = setExtent(width,height,epsg);
- arrayExt = exts.split(",");
+ var frameName = "<?php echo $e_target[0]; ?>"
+ var ind = this.getMapObjIndexByName(frameName);
+ var width = mb_mapObj[ind].width;
+ var height = mb_mapObj[ind].height;
+
+ // find bounding box of
+ // first WMS in correct crs
+ // and repaint
+ for (var i = 0; i < wms[0].gui_epsg.length; i++) {
+ if (wms[0].gui_epsg[i] == wms[0].gui_wms_epsg) {
- mb_repaint(frameName,arrayExt[0],arrayExt[1],arrayExt[2],arrayExt[3]);
+ var min = new Point(parseFloat(wms[0].gui_minx[i]), parseFloat(wms[0].gui_miny[i]));
+ var max = new Point(parseFloat(wms[0].gui_maxx[i]), parseFloat(wms[0].gui_maxy[i]));
+
+ mb_mapObj[ind].repaint(min, max)
+ return true;
+ }
+ }
+ return false;
}
function mod_zoomFull_init(obj){
Modified: trunk/mapbender/http/javascripts/mod_zoomIn1.php
===================================================================
--- trunk/mapbender/http/javascripts/mod_zoomIn1.php 2009-01-02 09:09:57 UTC (rev 3376)
+++ trunk/mapbender/http/javascripts/mod_zoomIn1.php 2009-01-02 09:11:18 UTC (rev 3377)
@@ -19,14 +19,18 @@
require_once(dirname(__FILE__)."/../php/mb_validatePermission.php");
?>
+var zoomin1Id = '<?php echo $e_id; ?>';
var mod_zoom1_img = new Image();
mod_zoom1_img.src = "<?php echo $e_src; ?>";
var mod_zoom1_img_over = new Image();
mod_zoom1_img_over.src = "<?php echo preg_replace("/_off/","_over",$e_src); ?>";
-function mod_zoomIn1(){
- zoom("<?php echo $e_target[0]; ?>", true,2.0);
-}
+var $zoomin1Button = $("#"+zoomin1Id);
+
+$zoomin1Button.click(function () {
+ zoom("<?php echo $e_target[0]; ?>", true, 2.0);
+});
+
function mod_zoomIn1_init(obj){
document.getElementById("zoomIn1").src = mod_zoom1_img_over.src;
obj.onmouseover = new Function("mod_zoomIn1_over()");
@@ -38,3 +42,4 @@
function mod_zoomIn1_out(){
document.getElementById("zoomIn1").src = mod_zoom1_img.src;
}
+
More information about the Mapbender_commits
mailing list