159 lines
5.4 KiB
HTML
159 lines
5.4 KiB
HTML
<html>
|
|
<head>
|
|
<title>Edit URL Parameters</title>
|
|
<script type="text/javascript" src="../Base.js"></script>
|
|
<script type="text/javascript" src="../stdFunctions.js"></script>
|
|
<script type="text/javascript" src="../controls.js"></script>
|
|
<script type="text/javascript" src="../zdnd_commons.js"></script>
|
|
<script type="text/javascript" src="../visualweb/EditableGridCtrl.js"></script>
|
|
<script type='text/javascript' src="styleVariables.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="../filewindow.css">
|
|
|
|
<script type="text/javascript">
|
|
var GET_DATA=function(str){
|
|
var res={};
|
|
var getDataString=str||new String(window.location);
|
|
var questionMarkLocation=getDataString.search(/\?/);
|
|
if (questionMarkLocation!=-1){
|
|
getDataString=getDataString.substr(questionMarkLocation+1);
|
|
var getDataArray=getDataString.split(/&/g);
|
|
var name_val,idx_eq,p_name,p_value;
|
|
var e=Lower(document.charset|| document.characterSet)
|
|
var decodeParam = (e=='utf-8'?decodeURIComponent:unescape)
|
|
for (var i=0;i<getDataArray.length;i++){
|
|
//var nameValuePair=getDataArray[i].split(/=/);
|
|
name_val=getDataArray[i];
|
|
idx_eq=name_val.indexOf('=');
|
|
if(idx_eq>-1){
|
|
p_name=name_val.substr(0,idx_eq);
|
|
p_value=decodeParam(name_val.substr(idx_eq+1,name_val.length));
|
|
}else{
|
|
p_name=name_val
|
|
p_value=''
|
|
}
|
|
res[p_name]=p_value;
|
|
}
|
|
}
|
|
return res;
|
|
}
|
|
var returnObj= GetOpener().Ctrl(GET_DATA().idx);
|
|
var parameters={id: 'parameters',titles: [ 'Name', 'Value' ],options:[ {type:'textbox',callFunc:'SelectParameter'}, {type:'textbox'}],blank: [ '' , '']};
|
|
|
|
Z.Dict=function(){
|
|
var newkey=function(){
|
|
var res="";
|
|
for(var i=0; i++<9; res+=String.fromCharCode(Math.floor(Math.random()*26+97)));
|
|
return res;
|
|
}
|
|
var keys={};
|
|
this.Add=function(data){
|
|
var k=newkey();
|
|
while(k in this){
|
|
k=this.newkey();
|
|
}
|
|
this[k]=data;
|
|
keys[k]=null;
|
|
return k;
|
|
}
|
|
this.Remove=function(key){
|
|
return delete this[key] && delete keys[key];
|
|
}
|
|
this.Keys=function(){
|
|
return Z.Merge({}, keys);
|
|
}
|
|
}
|
|
|
|
var parametersCtrl;
|
|
var nWidth,nHeight;
|
|
var mainTable;
|
|
|
|
function DoOnload(){
|
|
var configuration={ blnPointToSelect: false };
|
|
parametersCtrl=new Z.EditableGrid(configuration, parameters);
|
|
Ctrl('parametersDiv').insertBefore(parametersCtrl.buildTable(), Ctrl('parametersDiv').firstChild);
|
|
parametersCtrl.init();
|
|
|
|
//Window size
|
|
mainTable=Ctrl('mainTable');
|
|
nWidth=600; //Max(mainTable.offsetWidth,400);
|
|
nHeight=Max(mainTable.offsetHeight,300);
|
|
window.resizeTo(nWidth,nHeight);
|
|
//window.moveTo((screen.availWidth-nWidth)/2>0 ? (screen.availWidth-nWidth)/2 : 0, (screen.availHeight-nHeight)/2>0 ? (screen.availHeight-nHeight)/2 : 0);
|
|
}
|
|
function Resize(){
|
|
if(Ctrl("parametersTd").offsetHeight<=Ctrl("parametersDiv").offsetHeight+30){
|
|
window.resizeTo(nWidth,mainTable.scrollHeight+100);
|
|
}
|
|
}
|
|
|
|
function onBtnAdd(obj){
|
|
obj.addRow();
|
|
obj.selectLastRow();
|
|
obj.editSelectedRow();
|
|
Resize();
|
|
}
|
|
|
|
//splitta i parametri che vengono letti dall'editor
|
|
parameters.rows=(function(){
|
|
var res=new Z.Dict();
|
|
var parms=returnObj.value;
|
|
if(EmptyString(parms))
|
|
return res;
|
|
parms=GET_DATA('?'+parms);
|
|
for(var p in parms){
|
|
res.Add([p,parms[p]]);
|
|
}
|
|
return res;
|
|
})();
|
|
|
|
function onOk(){
|
|
//salva eventuali righe
|
|
if(parametersCtrl.objRowSelected)
|
|
parametersCtrl.saveRow(parametersCtrl.objRowSelected, true);
|
|
|
|
//assegna i parametri
|
|
var parms='';
|
|
var row, rows=parametersCtrl.data.rows;
|
|
for(var k_row in rows.Keys()){
|
|
row = rows[k_row];
|
|
if(EmptyString(row[0]) && EmptyString(row[1]))
|
|
continue;
|
|
parms+=row[0]+'='+URLenc(row[1])+'&';
|
|
}
|
|
|
|
parms=parms.substr(0,parms.length-1);
|
|
returnObj.focus();
|
|
returnObj.value=parms;
|
|
window.close();
|
|
}
|
|
function SelectParameter(retTo){
|
|
window.layerOpenForeground("../planeditor/params_select.jsp?for="+retTo+"&name="+Strtran(GET_DATA().filename,'_portlet.jsp',''),"SelectParameters",'',300,500,true,1);
|
|
//window.open("visualweb/params_select.jsp?for="+retTo+"&name="+Strtran(GET_DATA().filename,'_portlet.jsp',''), "SelectParameters", "width=300,height=300,top=300,left=300,scroll=no,status=no,toolbar=no,resizable=yes");
|
|
}
|
|
</script>
|
|
</head>
|
|
<body style="border:0;overflow:auto;margin:0;background-color:#E4E4E4" onload="DoOnload()">
|
|
<table id="mainTable" class="contorno" style="width:100%;height:100%" valign="top">
|
|
<tr height="22">
|
|
<td class="titoli" style="width:50%" align="center"><b>Parameters</b></td>
|
|
</tr>
|
|
<tr>
|
|
<td class="tabellainteterna1" id="parametersTd" valign="top"><div id="parametersDiv"></div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="footer" height="25">
|
|
<input type="button" class="bottoni" value="+" id="btn_addParameters" title="Add parameter" onclick="onBtnAdd(parametersCtrl);" style="width:25px">
|
|
<input type="button" class="bottoni" value="-" id="btn_deleteParameters" title="Remove selected parameter" onclick="parametersCtrl.deleteRow();" style="width:25px">
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="footer" height="25" align="right" nowrap>
|
|
<button class="bottoni" onclick="onOk();" accesskey="o" style="width:40px"><u>O</u>k</button>
|
|
<button class="bottoni" onclick="window.close();" accesskey="c"><u>C</u>ancel</button>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</body>
|
|
</html>
|