[Mapbender-commits] r2936 - in branches/nimix_dev/http: img include
javascripts
svn_mapbender at osgeo.org
svn_mapbender at osgeo.org
Mon Sep 15 08:25:49 EDT 2008
Author: nimix
Date: 2008-09-15 08:25:49 -0400 (Mon, 15 Sep 2008)
New Revision: 2936
Added:
branches/nimix_dev/http/img/balloon_ll.gif
branches/nimix_dev/http/img/balloon_lr.gif
branches/nimix_dev/http/img/balloon_ul.gif
branches/nimix_dev/http/img/balloon_ur.gif
Modified:
branches/nimix_dev/http/include/dyn_js.php
branches/nimix_dev/http/javascripts/popup.js
branches/nimix_dev/http/javascripts/tooltip_wms.php
Log:
Added: branches/nimix_dev/http/img/balloon_ll.gif
===================================================================
(Binary files differ)
Property changes on: branches/nimix_dev/http/img/balloon_ll.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: branches/nimix_dev/http/img/balloon_lr.gif
===================================================================
(Binary files differ)
Property changes on: branches/nimix_dev/http/img/balloon_lr.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: branches/nimix_dev/http/img/balloon_ul.gif
===================================================================
(Binary files differ)
Property changes on: branches/nimix_dev/http/img/balloon_ul.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: branches/nimix_dev/http/img/balloon_ur.gif
===================================================================
(Binary files differ)
Property changes on: branches/nimix_dev/http/img/balloon_ur.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: branches/nimix_dev/http/include/dyn_js.php
===================================================================
--- branches/nimix_dev/http/include/dyn_js.php 2008-09-15 10:59:35 UTC (rev 2935)
+++ branches/nimix_dev/http/include/dyn_js.php 2008-09-15 12:25:49 UTC (rev 2936)
@@ -45,7 +45,7 @@
echo $row["var_name"]." = ".stripslashes($row["var_value"]).";\n";
}
else {
- echo $row["var_name"]." = '".stripslashes($row["var_value"])."';\n";
+ echo $row["var_name"]." = '".str_replace(array('"',"'", "\r", "\n", "\0"), array('\"','\\\'','\r', '\n', '\0'), stripslashes($row["var_value"]))."';\n";
}
}
}
Modified: branches/nimix_dev/http/javascripts/popup.js
===================================================================
--- branches/nimix_dev/http/javascripts/popup.js 2008-09-15 10:59:35 UTC (rev 2935)
+++ branches/nimix_dev/http/javascripts/popup.js 2008-09-15 12:25:49 UTC (rev 2936)
@@ -194,8 +194,41 @@
this.options.html=htmll;
$("#"+this.id+" .Content").html('<div class="scrollDiv">'+htmll+'</div>');
}
+/**
+ * behaves like document.open(); (clear popup)
+ */
+mb_popup.prototype.open = function(){
+ oDoc = this.getDocument();
+ if(oDoc!=null){
+ return oDoc.open();
+ }
+ this.setHtml("");
+}
/**
+ * behaves like document.write(); (appends content to the popup)
+ *
+ * @param {String} text or html to write into the document
+ */
+mb_popup.prototype.write = function(str){
+ oDoc = this.getDocument();
+ if(oDoc!=null){
+ return oDoc.write(str);
+ }
+ this.setHtml(this.options.html+str);
+}
+
+/**
+ * behaves like document.close(); (finish loading state if popup is an iframe)
+ */
+mb_popup.prototype.close = function(){
+ oDoc = this.getDocument();
+ if(oDoc!=null){
+ return oDoc.close();
+ }
+}
+
+/**
* sets the url of the content
*
* @param {String} url new url of the popup
Modified: branches/nimix_dev/http/javascripts/tooltip_wms.php
===================================================================
--- branches/nimix_dev/http/javascripts/tooltip_wms.php 2008-09-15 10:59:35 UTC (rev 2935)
+++ branches/nimix_dev/http/javascripts/tooltip_wms.php 2008-09-15 12:25:49 UTC (rev 2936)
@@ -45,6 +45,8 @@
var tooltip_timeDelay = 1000;
if(typeof(tooltip_styles)==='undefined')
var tooltip_styles = "";
+if(typeof(tooltip_styles_detail)==='undefined')
+ var tooltip_styles_detail = "";
try{
var no_result_text = eval(tooltip_noResultArray);
}catch(e){
@@ -54,7 +56,9 @@
var tooltipWin=null;
var point;
var tooltipWfsRequestCount = 0;
+var tooltipWmsRequestCount = 0;
var numberOfFinishedWfsRequests = 0;
+var numberOfFinishedWmsRequests = 0;
var TooltipMsg = {'title':"<?php echo _mb("Informations");?>"};
//buttonWfs_toDigitize_on ="0";
@@ -64,13 +68,6 @@
mod_tooltip_run();
mb_getMousePos(event,tooltipTarget);
}).mouseout(function(){mouseMoves=0;});
-
- var styleObj = new StyleTag();
- styleObj.addClass("dlist_even", tooltip_wfsStyleEven);
- styleObj.addClass("glist_even", tooltip_wfsStyleEven);
- styleObj.addClass("dlist_uneven", tooltip_wfsStyleUneven);
- styleObj.addClass("glist_uneven", tooltip_wfsStyleUneven);
- alert(tooltip_wfsStyleUneven);
}
eventInit.register(mod_tooltipInit);
@@ -88,6 +85,8 @@
//FeatureInfo requests
urls = mb_mapObj[ind].getFeatureInfoRequests(point);
+ tooltipWmsRequestCount = urls.length;
+ numberOfFinishedWmsRequests = 0;
for(var j=0;j < urls.length;j++){
mb_ajax_post("../extensions/ext_featureInfoTunnel.php?url="+escape(urls[j]), null,
checkFeatureInfoResults);
@@ -96,6 +95,7 @@
//WFS requests
requests = getWfsRequests(tooltipTarget, point_geom, true);
tooltipWfsRequestCount = requests.length;
+ numberOfFinishedWfsRequests = 0;
resultGeomArray = new GeometryArray();
for(var j=0;j< requests.length;j++){
mb_ajax_post("../" + wfsResultModulePath + wfsResultModuleFilename,requests[j],function(js_code,status){
@@ -111,6 +111,8 @@
}
function checkFeatureInfoResults(js_code,status){
+ numberOfFinishedWmsRequests++;
+
//check if there are results
if(js_code == "")
return;
@@ -132,15 +134,25 @@
resultGeomArray.union(g);
}
if (numberOfFinishedWfsRequests == tooltipWfsRequestCount) {
- numberOfFinishedWfsRequests = 0;
if(resultGeomArray.count()>0){
//generate and output result
- var html = createWfsResultHtml(resultGeomArray);
+ if(resultGeomArray.count()>1)
+ var html = createSimpleWfsResultHtml(resultGeomArray);
+ else
+ var html = createDetailedWfsResultHtml(resultGeomArray);
displayResultDoc(html);
}
}
}
+function isFirstResult(){
+ return (numberOfFinishedWfsRequests+numberOfFinishedWmsRequests) == 1;
+}
+
+function isLastResult(){
+ return (numberOfFinishedWfsRequests == tooltipWfsRequestCount && numberOfFinishedWmsRequests == tooltipWmsRequestCount);
+}
+
function displayResultDoc(html){
//test if we have a fixed destination and create popup otherwise
if(tooltip_destinationFrame=="")
@@ -152,31 +164,35 @@
if (oDoc.document) {
oDoc = oDoc.document;
}
- oDoc.open();
+ if(isFirstResult())
+ oDoc.open();
oDoc.write(html);
- oDoc.close();
+ if(isLastResult())
+ oDoc.close();
});
}
function showBalloonFrame(html){
- //claculate Position
- x=clickX+parseInt(document.getElementById(tooltipTarget).style.left);
- y=clickY+parseInt(document.getElementById(tooltipTarget).style.top);
+ if(isFirstResult()){
+ //claculate Position
+ x=clickX+parseInt(document.getElementById(tooltipTarget).style.left);
+ y=clickY+parseInt(document.getElementById(tooltipTarget).style.top);
+
+ //hide old Popup
+ if(tooltipWin&&tooltipWin.isVisible())
+ tooltipWin.destroy();
- //hide old Popup
- if(tooltipWin&&tooltipWin.isVisible())
- tooltipWin.destroy();
-
- //create Popup and append document
- tooltipWin = new mb_popup({html:'<iframe id="tooltipWin" name="tooltipWin" src="about:blank"/>',title:TooltipMsg.title,width:270,height:200,balloon:true,left:x,top:y});
- $("#"+tooltipWin.id+" iframe").each(function(){
- var oDoc = this.contentWindow || this.contentDocument;
- if (oDoc.document) {
- oDoc = oDoc.document;
- }
- oDoc.write(html);
- });
+ //create Popup and append document
+ tooltipWin = new mb_popup({html:'<iframe id="tooltipWin" name="tooltipWin" src="about:blank"/>',title:TooltipMsg.title,width:270,height:200,balloon:true,left:x,top:y});
+ //open document
+ tooltipWin.open();
+ }
+ tooltipWin.write(html);
+ if(isLastResult()){
+ tooltipWin.close();
+ }
+
//finally display popup
tooltipWin.show();
}
@@ -236,58 +252,71 @@
return requests;
}
-function createWfsResultHtml(_geomArray){
+function createSimpleWfsResultHtml(_geomArray){
var geometryIndex = 0;
wfsConf = get_complete_wfs_conf();
var html = '<html><head><style type="text/css">';
html += tooltip_styles;
html += "</style></head><body><table>\n";
- if(_geomArray.count()>1){
- for (var i = 0 ; i < _geomArray.count(); i ++) {
- if (_geomArray.get(i).get(-1).isComplete()) {
- html += "\t<tr class='glist_"+(i%2?"uneven":"even")+"'>\n\t\t<td \n";
-// html += "\t\t\t onmouseover='mb_wfs_perform(\"over\",_geomArray.get("+i+"));' ";
-// html += " onmouseout='mb_wfs_perform(\"out\",_geomArray.get("+i+"))' ";
-// html += " onclick='mb_wfs_perform(\"click\",_geomArray.get("+i+"));' ";
- var geomName = getWfsListEntry(_geomArray.get(i));
- html += ">" + geomName +"</td>";
- html += "\t\t</tr>\n";
- }
+
+ for (var i = 0 ; i < _geomArray.count(); i ++) {
+ if (_geomArray.get(i).get(-1).isComplete()) {
+ html += "\t<tr class='list_"+(i%2?"uneven":"even")+"'>\n\t\t<td \n";
+// html += "\t\t\t onmouseover='mb_wfs_perform(\"over\",_geomArray.get("+i+"));' ";
+// html += " onmouseout='mb_wfs_perform(\"out\",_geomArray.get("+i+"))' ";
+// html += " onclick='mb_wfs_perform(\"click\",_geomArray.get("+i+"));' ";
+ var geomName = getWfsListEntry(_geomArray.get(i));
+ html += ">" + geomName +"</td>";
+ html += "\t\t</tr>\n";
}
}
- else{
- var wfsConfIndex = _geomArray.get(geometryIndex).wfs_conf;
- var currentWfsConf = wfsConf[wfsConfIndex];
- for (var i = 0 ; i <currentWfsConf.element.length; i ++) {
- if(currentWfsConf.element[i].f_show_detail==1){
- if( _geomArray.get(geometryIndex).e.getElementValueByName(currentWfsConf.element[i].element_name)!=false){
- html +="<tr class='dlist_"+(i%2?"uneven":"even")+"'><td>\n";
- html += currentWfsConf.element[i].f_label;
- html +="</td>\n";
- html += "<td>\n";
- var elementVal = _geomArray.get(geometryIndex).e.getElementValueByName(currentWfsConf.element[i].element_name);
- if(currentWfsConf.element[i].f_form_element_html.indexOf("href")!=-1){
- var setUrl = currentWfsConf.element[i].f_form_element_html.replace(/href\s*=\s*['|"]\s*['|"]/, "href='"+elementVal+"' target='_blank'");
- if(setUrl.match(/><\/a>/)){
- var newLink = setUrl.replace(/><\/a>/, ">"+elementVal+"</a>");
- }
- else{
- var newLink = setUrl;
- }
- html += newLink;
+
+ html += "</table></body>\n";
+ return html;
+}
+
+function createDetailedWfsResultHtml(_geomArray){
+ var geometryIndex = 0;
+ var cnt = 0;
+ wfsConf = get_complete_wfs_conf();
+ var html = '<html><head><style type="text/css">';
+ html += tooltip_styles_detail;
+ html += "</style></head><body><table>\n";
+
+ var wfsConfIndex = _geomArray.get(geometryIndex).wfs_conf;
+ var currentWfsConf = wfsConf[wfsConfIndex];
+ for (var i = 0 ; i <currentWfsConf.element.length; i ++) {
+ if(currentWfsConf.element[i].f_show_detail==1){
+ if( _geomArray.get(geometryIndex).e.getElementValueByName(currentWfsConf.element[i].element_name)!=false){
+ html +="<tr class='list_"+(cnt%2?"uneven":"even")+"'><td>\n";
+ html += currentWfsConf.element[i].f_label;
+ html +="</td>\n";
+ html += "<td>\n";
+ var elementVal = _geomArray.get(geometryIndex).e.getElementValueByName(currentWfsConf.element[i].element_name);
+ if(currentWfsConf.element[i].f_form_element_html.indexOf("href")!=-1){
+ var setUrl = currentWfsConf.element[i].f_form_element_html.replace(/href\s*=\s*['|"]\s*['|"]/, "href='"+elementVal+"' target='_blank'");
+ if(setUrl.match(/><\/a>/)){
+ var newLink = setUrl.replace(/><\/a>/, ">"+elementVal+"</a>");
}
else{
- html += elementVal;
+ var newLink = setUrl;
}
- html += "</td></tr>\n";
+ html += newLink;
}
+ else{
+ html += elementVal;
+ }
+ html += "</td></tr>\n";
+ cnt++;
}
}
}
+
html += "</table></body>\n";
return html;
}
+
function getWfsListEntry (geom) {
wfsConfId = geom.wfs_conf;
wfsConf = window.frames["wfs_conf"].get_wfs_conf();
More information about the Mapbender_commits
mailing list