PortaleOrdiniGruppo/PortalStudio/portalstudio/parameter_edit.html
2025-03-24 15:28:26 +01:00

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>&nbsp;
<button class="bottoni" onclick="window.close();" accesskey="c"><u>C</u>ancel</button>
</td>
</tr>
</table>
</body>
</html>