Commit 97800c7c6b527e5095ae0e99bf33c0cdf2920b92
1 parent
d456e365
Exists in
master
and in
7 other branches
Inclusão de parâmetro na função de criação de janelas flutuantes para executar u…
…ma função quando o usuário clica no cabeçalho da janela. Na função de fechamento da janela, foi incluida uma operação de remoção de scripts injetados.
Showing
1 changed file
with
43 additions
and
10 deletions
Show diff stats
classesjs/classe_janela.js
@@ -113,7 +113,9 @@ i3GEO.janela = { | @@ -113,7 +113,9 @@ i3GEO.janela = { | ||
113 | 113 | ||
114 | id {String} - (opcional) nome que será dado ao id que conterá a janela. Se não for definido, será usado o id="wdoca". O | 114 | id {String} - (opcional) nome que será dado ao id que conterá a janela. Se não for definido, será usado o id="wdoca". O |
115 | id do iframe interno é sempre igual ao id + a letra i. Por default, será "wdocai". | 115 | id do iframe interno é sempre igual ao id + a letra i. Por default, será "wdocai". |
116 | - O id do cabçalho será igual a id+"_cabecalho" e o id do corpo será id+"_corpo" | 116 | + O id do cabçalho será igual a id+"_cabecalho" e o id do corpo será id+"_corpo". |
117 | + O id também é utilizado na função de fechamento da janela. Quando for usada a técnica de | ||
118 | + script tag, ao fechar a janela a função de mesmo nome do id será definida como "null". | ||
117 | 119 | ||
118 | modal {Boolean} - (opcional) indica se a janela bloqueará as inferiores ou não. Por default é false | 120 | modal {Boolean} - (opcional) indica se a janela bloqueará as inferiores ou não. Por default é false |
119 | 121 | ||
@@ -123,7 +125,7 @@ i3GEO.janela = { | @@ -123,7 +125,7 @@ i3GEO.janela = { | ||
123 | 125 | ||
124 | {Array} Array contendo: objeto YAHOO.panel criado,elemento HTML com o cabecalho, elemento HTML com o corpo | 126 | {Array} Array contendo: objeto YAHOO.panel criado,elemento HTML com o cabecalho, elemento HTML com o corpo |
125 | */ | 127 | */ |
126 | - cria: function(wlargura,waltura,wsrc,nx,ny,texto,id,modal,classe){ | 128 | + cria: function(wlargura,waltura,wsrc,nx,ny,texto,id,modal,classe,funcaoCabecalho){ |
127 | if(i3GEO.janela.ANTESCRIA){ | 129 | if(i3GEO.janela.ANTESCRIA){ |
128 | for(i=0;i<i3GEO.janela.ANTESCRIA.length;i++) | 130 | for(i=0;i<i3GEO.janela.ANTESCRIA.length;i++) |
129 | {eval(i3GEO.janela.ANTESCRIA[i]);} | 131 | {eval(i3GEO.janela.ANTESCRIA[i]);} |
@@ -135,13 +137,19 @@ i3GEO.janela = { | @@ -135,13 +137,19 @@ i3GEO.janela = { | ||
135 | var id = "wdoca"; | 137 | var id = "wdoca"; |
136 | var modal = false; | 138 | var modal = false; |
137 | var classe = "hd"; | 139 | var classe = "hd"; |
140 | + var funcaoCabecalho = null; | ||
138 | } | 141 | } |
139 | if (arguments.length == 7){ | 142 | if (arguments.length == 7){ |
140 | var modal = false; | 143 | var modal = false; |
141 | var classe = "hd"; | 144 | var classe = "hd"; |
145 | + var funcaoCabecalho = null; | ||
142 | } | 146 | } |
143 | if (arguments.length == 8){ | 147 | if (arguments.length == 8){ |
144 | var classe = "hd"; | 148 | var classe = "hd"; |
149 | + var funcaoCabecalho = null; | ||
150 | + } | ||
151 | + if (arguments.length == 9){ | ||
152 | + var funcaoCabecalho = null; | ||
145 | } | 153 | } |
146 | var wlargura_ = parseInt(wlargura)+0+"px"; | 154 | var wlargura_ = parseInt(wlargura)+0+"px"; |
147 | YAHOO.namespace("janelaDoca.xp"); | 155 | YAHOO.namespace("janelaDoca.xp"); |
@@ -167,12 +175,15 @@ i3GEO.janela = { | @@ -167,12 +175,15 @@ i3GEO.janela = { | ||
167 | else | 175 | else |
168 | {document.body.appendChild(novoel);} | 176 | {document.body.appendChild(novoel);} |
169 | var wdocaiframe = $i(id+"i"); | 177 | var wdocaiframe = $i(id+"i"); |
170 | - if (wdocaiframe) | 178 | + if(wdocaiframe) |
171 | { | 179 | { |
172 | with (wdocaiframe.style){width = parseInt(wlargura)-12;height=waltura;}; | 180 | with (wdocaiframe.style){width = parseInt(wlargura)-12;height=waltura;}; |
173 | wdocaiframe.style.display = "block"; | 181 | wdocaiframe.style.display = "block"; |
174 | wdocaiframe.src = wsrc; | 182 | wdocaiframe.src = wsrc; |
175 | } | 183 | } |
184 | + else{ | ||
185 | + $i(id+'_corpo').style.height=waltura; | ||
186 | + } | ||
176 | var fix = false; | 187 | var fix = false; |
177 | if(nx == "" || nx == "center"){var fix = true;} | 188 | if(nx == "" || nx == "center"){var fix = true;} |
178 | if(waltura == "auto") | 189 | if(waltura == "auto") |
@@ -185,8 +196,11 @@ i3GEO.janela = { | @@ -185,8 +196,11 @@ i3GEO.janela = { | ||
185 | } | 196 | } |
186 | YAHOO.janelaDoca.xp.panel.render(); | 197 | YAHOO.janelaDoca.xp.panel.render(); |
187 | if(i3GEO.interface.ATUAL=="googleearth"){var classe = "bd";} | 198 | if(i3GEO.interface.ATUAL=="googleearth"){var classe = "bd";} |
188 | - $i(id+'_cabecalho').className = classe; | ||
189 | - YAHOO.util.Event.addListener(YAHOO.janelaDoca.xp.panel.close, "click", i3GEO.janela.fecha); | 199 | + var temp = $i(id+'_cabecalho'); |
200 | + temp.className = classe; | ||
201 | + if(funcaoCabecalho) | ||
202 | + {temp.onclick = funcaoCabecalho;} | ||
203 | + YAHOO.util.Event.addListener(YAHOO.janelaDoca.xp.panel.close, "click", i3GEO.janela.fecha,YAHOO.janelaDoca.xp.panel,{id:id},true); | ||
190 | return(new Array(YAHOO.janelaDoca.xp.panel,$i(id+"_cabecalho"),$i(id+"_corpo"))); | 204 | return(new Array(YAHOO.janelaDoca.xp.panel,$i(id+"_cabecalho"),$i(id+"_corpo"))); |
191 | }, | 205 | }, |
192 | /* | 206 | /* |
@@ -199,7 +213,7 @@ i3GEO.janela = { | @@ -199,7 +213,7 @@ i3GEO.janela = { | ||
199 | 213 | ||
200 | id {String} - id da janela que será fechada | 214 | id {String} - id da janela que será fechada |
201 | */ | 215 | */ |
202 | - fecha: function(id){ | 216 | + fecha: function(event){ |
203 | if(i3GEO.interface.ATUAL=="googleearth"){ | 217 | if(i3GEO.interface.ATUAL=="googleearth"){ |
204 | YAHOO.janelaDoca.xp.panel.moveTo(-2000,-2000); | 218 | YAHOO.janelaDoca.xp.panel.moveTo(-2000,-2000); |
205 | } | 219 | } |
@@ -216,10 +230,29 @@ i3GEO.janela = { | @@ -216,10 +230,29 @@ i3GEO.janela = { | ||
216 | {eval(i3GEO.janela.ANTESFECHA[i]);} | 230 | {eval(i3GEO.janela.ANTESFECHA[i]);} |
217 | } | 231 | } |
218 | YAHOO.janelaDoca.xp.panel.destroy(); | 232 | YAHOO.janelaDoca.xp.panel.destroy(); |
219 | - if($i("wdoca_c")) | ||
220 | - $i("i3geo").removeChild($i("wdoca_c")); | ||
221 | - if($i("wdoca")) | ||
222 | - $i("i3geo").removeChild($i("wdoca")); | 233 | + if($i(this.id+"_c")) |
234 | + $i("i3geo").removeChild($i(this.id+"_c")); | ||
235 | + if($i(this.id)) | ||
236 | + $i("i3geo").removeChild($i(this.id)); | ||
237 | + // | ||
238 | + //remove script tag se houver | ||
239 | + // | ||
240 | + try{ | ||
241 | + var old = $i("loadscriptI3GEO"); | ||
242 | + if (old != null) { | ||
243 | + old.parentNode.removeChild(old); | ||
244 | + delete old; | ||
245 | + if(this.id) | ||
246 | + eval(this.id+" = null;"); | ||
247 | + } | ||
248 | + var old = $i(this.id+"_script"); | ||
249 | + if (old != null) { | ||
250 | + old.parentNode.removeChild(old); | ||
251 | + delete old; | ||
252 | + eval("delete " + this.id); | ||
253 | + } | ||
254 | + } | ||
255 | + catch(erro){} | ||
223 | }, | 256 | }, |
224 | /* | 257 | /* |
225 | Function: alteraTamanho | 258 | Function: alteraTamanho |