/* exported toggleToolbarBig resetPic getInternetExplorerVersion Help toggleProjectView changeName showmenu portalStudioContainer Right showBtnText hideBtnText changePic m_nPreferredHeight GetWindowPreferredSize manageItems ImpOCopy pasteJDef jsonConfirmAccessDenied */ var deftmp=""; // usato per il Copy/Paste var opensApl=new Array(null,null); //array contenente tutte le applicazioni aperte, init con i 2 frame di partenza var currentIndex=0; //Indice applicazione corrente var is_Saving=false; // var btnTxtsLengths = {}; //Dizionario delle lunghezze dei caption dei pulsanti // var openTextTO = null; //Funzione per il timeout dell'apertura caption pulsanti // var tBarOpened = true; //Flag apertura toolbar grande var portalStudioContainer = true; //utilizzato per sapere se il frame contiene portalstudio var webAppName; var paintersMenu; window.addEventListener('beforeunload', function(e) { e.preventDefault(); var confirmationMessage = 'Uscire da Portalstudio?'; for(var i=0;i10) LibJavascript.Array.remove(recents,0); } else { recents.push(recents[found]); LibJavascript.Array.remove(recents,found); } setRecent(recents); } } function setRecentDiv() { var recents = getRecent(); var items = []; if (typeof(recents)=='undefined' || recents==null || recents.length==0){ items.push({ classname: "menu-item first-item", id: "", text: "No recent files", event: function(){}}); } for(var i=recents.length-1;i>=0;i--){ recents[i].parameters=recents[i].parameters||{}; var itm = { classname: "menu-item" }; if(i == recents.length-1) itm.classname += ' first-item'; if(i == 0) itm.classname += ' last-item'; itm.event = function() { AddRecentOpen( this.type, (this.name?this.name:""), this.parameters); newCurrentObj( this.name, this.type, this.parameters); }.bind(recents[i]); itm.text = "["+recents[i].type+"] "+recents[i].name; var parms=recents[i].parameters.custom?'custom':''; parms+=recents[i].parameters.offlinemode?((Empty(parms)?'':',')+'offline'):'' parms+=recents[i].parameters.folder_path||'' parms=Empty(parms)?'':'('+parms+')'; itm.title = recents[i].type+"/"+recents[i].name+" "+parms; items.push(itm); } paintersMenu.appendActions( items, "recent-picker" ); paintersMenu.refresh(); } function Help(){ openHelp(); } function ResizePS(){ if (getFrameObj('project_view_frame').resizeHeight){ getFrameObj('project_view_frame').resizeHeight(document.id('project_view_container').offsetHeight); } } function newCurrentObj(name,type,parms){ if(Empty(name)) name='New'; var i; if (typeof(parms)=='string'){ if (!Empty(parms)){ try{ parms=JSON.parse(parms) } catch (e){ parms={'folder_path':parms} } } else parms={} } else parms=parms||{} if (parms.custom && typeof parms.custom == 'string') parms.custom=parms.custom=='true'?true:false if (parms.offlinemode && typeof parms.offlinemode == 'string') parms.offlinemode=parms.offlinemode=='true'?true:false if (name!='New' && type!='html' && type!='templates' && !(type=='portalzoom' && Empty(name.split('[')[0]))) AddRecentOpen(type,name,parms); var curr=null for(i=0;i=0;i--) if (opensApl[i]!=null) break; if (i<0) for (i=currentIndex; i 0){ saveAction = arguments[0] } if(opensApl[currIndex]!=null){ switch(opensApl[currIndex].type){ case "portlet": case 'decorators': case "module": case 'interfaces': case "scandoc": case "pageleteditor": case "pagelet": case "maskparameters": getFrameObj("portalstudioframe"+currIndex).save(saveAction); break; case "visualquery": getFrameObj("portalstudioframe"+currIndex).Save(saveAction); break; case "menu": if(getFrameObj("portalstudioframe"+currIndex).currentname!="") getFrameObj("portalstudioframe"+currIndex).save(false,saveAction); else saveAsTool(); break; case "cssclass": if(!Empty(getFrameObj("portalstudioframe"+currIndex).cssFile)) getFrameObj("portalstudioframe"+currIndex).saveClass(); else saveAsTool(); break; case "css": case "manualjsp": if(!Empty(getFrameObj("portalstudioframe"+currIndex).fileName)) getFrameObj("portalstudioframe"+currIndex).save(saveAction); else saveAsTool(); break; case "chart": case "plan": case "report": case "smartreport": getFrameObj("portalstudioframe"+currIndex).save(saveAction); break; case "portalzoom": case "visualpivot": getFrameObj("portalstudioframe"+currIndex).save(); break; } } } function saveAll(){ for(var i=0;i-1){ openWin('../portalstudio/saveas.jsp?tool=decorators'); } else if(mode == "variant" ) { let folder_path = getFrameObj('portalstudioframe'+currentIndex).currentname; openWin('../portalstudio/saveas.jsp?tool=variant&folder_path=' + folder_path ); } else if (mode == "interfaces" || opensApl[currentIndex].type == 'interfaces' || !Empty(getFrameObj('portalstudioframe'+currentIndex).formProp.altInterfaceFor)){ let folder_path = getFrameObj('portalstudioframe'+currentIndex).formProp.altInterfaceFor; let custom = getFrameObj('portalstudioframe'+currentIndex).formProp.custom; openWin('../portalstudio/saveas.jsp?tool=interfaces&folder_path=' + folder_path + "&custom=" + custom); } else{ openWin('../portalstudio/saveas.jsp?tool=portlet'); } break; case "visualquery": getFrameObj('portalstudioframe'+currentIndex).GetFilename('saveas'); break; case "pagelet": openWin('../portalstudio/saveas.jsp?tool=pagelet'); break; case "pageleteditor": openWin('../portalstudio/saveas.jsp?tool=pageleteditor'); break; case "manualjsp": openWin('../portalstudio/saveas.jsp?tool=manualjsp'); break; case "css": openWin('../portalstudio/saveas.jsp?tool=css'); break; case "cssclass": getFrameObj('portalstudioframe'+currentIndex).saveAsLayer(); break; case "chart": getFrameObj('portalstudioframe'+currentIndex).saveAs(); break; case "plan": openWin('../portalstudio/saveas.jsp?tool=plan&mode='+mode); break; case "report": getFrameObj('portalstudioframe'+currentIndex).saveAs() break; case "scandoc": openWin('../portalstudio/saveas.jsp?tool=scandoc'); break; case "smartreport": getFrameObj('portalstudioframe'+currentIndex).reportsaveAs(); break; case "module": openWin('../portalstudio/saveas.jsp?tool=module'); break; case "menu": getFrameObj('portalstudioframe'+currentIndex).saveAs() break; case "portalzoom": case "visualpivot": getFrameObj("portalstudioframe"+currentIndex).saveAs(); break; case "maskparameters": getFrameObj("portalstudioframe"+currentIndex).saveAs(); break; } } } function preview(tmp,skinName) { if(opensApl[currentIndex]!=null){ var name=opensApl[currentIndex].name; var _path=opensApl[currentIndex].parms.folder_path; if(typeof(_path)=='undefined') _path=''; if(_path.indexOf('/')==0 && _path.length==1) _path=''; var iframe_tool=getFrameObj('portalstudioframe'+currentIndex); var saveChanges=false; if(!tmp) if(iframe_tool.m_bUpdated==true && iframe_tool.currentname!=''){ saveChanges=confirm("Do you want to save "+opensApl[currentIndex].name+"?"); if(saveChanges) saveTool(); }else if(iframe_tool.currentname==''){ saveAsTool() return } if(is_Saving==true){ window.setTimeout("preview(true);",200); return; } var url, page; switch(opensApl[currentIndex].type){ case "portlet": _path=_path=='jsp-system'?'-system':_path url='../jsp'+_path+'/'+name+'_portlet.jsp'; let param = []; skinName ? param.push('forcedSkin='+skinName) : ""; if( iframe_tool.mode == "HTML" && iframe_tool.current_variant > 0 ) { param.push("m_cVariant="+iframe_tool.variants[iframe_tool.current_variant].name); if( iframe_tool.variants[iframe_tool.current_variant].folder_path ){ param.push("m_cVariantFolder=/"+iframe_tool.variants[iframe_tool.current_variant].folder_path); } } if ( param.length ){ url += "?" + param.join("&"); } page=window.open(url,'Preview','status=yes,toolbar=no,menubar=yes,location=yes,resizable=yes,scrollbars=yes',true); if(Trim(iframe_tool.formProp.cache_time) != '') page.history.go(); break; case "pagelet": if(!EmptyString(_path)) _path=_path.substring(0,_path.lastIndexOf('/')) url='../jsp'+_path+'/'+name+'.jsp'; page=window.open(url,'Preview','status=yes,toolbar=no,menubar=yes,location=yes,resizable=yes,scrollbars=yes',true); if(Trim(iframe_tool.pageletProp[0].cache_time) != '') page.history.go(); break; case "pageleteditor": if(!EmptyString(_path)) _path=_path.substring(0,_path.lastIndexOf('/')) url='../jsp'+_path+'/'+name+'.jsp'; page=window.open(url,'Preview','status=yes,toolbar=no,menubar=yes,location=yes,resizable=yes,scrollbars=yes',true); if(Trim(iframe_tool.formProp.cache_time) != '') page.history.go(); break; case "manualjsp": if(name.indexOf('.jsp')>-1 || name.indexOf('.htm')>-1) url='../jsp'+_path+'/'+name; else url='../jsp'+_path+'/'+name+'.jsp'; page=window.open(url,'Preview','status=yes,toolbar=no,menubar=yes,location=yes,resizable=yes,scrollbars=yes',true); if(iframe_tool.PageCacheTime != 0) page.history.go(); break; case "cssclass": iframe_tool.previewCss(); break; case "visualquery": getFrameObj('portalstudioframe'+currentIndex).ExecuteSQL(); break; case "module": url='../servlet/JSPModEditorPrev?name='+name+'&m_NoCache='+LibJavascript.AlfaKeyGen(10); page=window.open(url,'Preview','status=yes,toolbar=no,menubar=yes,location=yes,resizable=yes,scrollbars=yes',true); break; case "report": url=getFrameObj('portalstudioframe'+currentIndex).createPreviewLink(); page=window.open(url,'Preview','status=yes,toolbar=no,menubar=yes,location=yes,resizable=yes,scrollbars=yes',true); break; case "scandoc": getFrameObj('portalstudioframe'+currentIndex).Preview(saveChanges); break; case "smartreport": url='../servlet/Report?ReportName='+name+'&bPreview=true&isSmartReport=true&m_NoCache='+LibJavascript.AlfaKeyGen(10); page=window.open(url,'Preview','status=yes,toolbar=no,menubar=yes,location=yes,resizable=yes,scrollbars=yes',true); break; case "maskparameters": url='../jsp/SPMaskParameters_portlet.jsp?ConfigName='+name; //+'&custom='+getFrameObj('portalstudioframe'+currentIndex).formProp.customVdm; page=window.open(url,'Preview','status=yes,toolbar=no,menubar=yes,location=yes,resizable=yes,scrollbars=yes',true); if(Trim(iframe_tool.formProp.cache_time) != '') page.history.go(); break; case "portalzoom": var zoomName=name.split('[')[0], tableName=name.split('[')[1]; tableName=tableName.substring(0,tableName.length-1); var custom=opensApl[currentIndex].parms.custom; if(!zoomName){ zoomName='default'; } //url='../jsp/SPPortalZoom.jsp?Table='+tableName+'&ConfigName='+(custom?'1/':'0/')+zoomName+'&tpl=SPPortalZoom_tpl'; url='../jsp/SPPortalZoom.jsp?Table='+tableName+'&ConfigName='+zoomName+'&tpl=SPPortalZoom_tpl'; page=window.open(url,'Preview','status=yes,toolbar=no,menubar=yes,location=yes,resizable=yes,scrollbars=yes',true); if(Trim(iframe_tool.formProp.cache_time) != '') page.history.go(); break; case "interfaces": url='../servlet/' + Trim(iframe_tool.formProp.altInterfaceFor) + '?m_cAltInterface=' + (iframe_tool.formProp.custom == 'true' ? 'custom_' + iframe_tool.currentInstance + '/' : '') + 'jsp-interfaces/' + Trim(iframe_tool.formProp.altInterfaceFor) + '/' + name + '_portlet.jsp'; page=window.open(url,'Preview','status=yes,toolbar=no,menubar=yes,location=yes,resizable=yes,scrollbars=yes',true); if(Trim(iframe_tool.formProp.cache_time) != '') page.history.go(); break; case "visualpivot": url='../jsp/SPVisualPivot.jsp?ConfigName='+/*URLenc(*/getFrameObj('portalstudioframe'+currentIndex).GetConfigName()/*)*/+'&tpl=SPVisualPivot_tpl'; page=window.open(url,'Preview','status=yes,toolbar=no,menubar=yes,location=yes,resizable=yes,scrollbars=yes',true); if(Trim(iframe_tool.formProp.cache_time) != '') page.history.go(); break; } } } function deleteFile() { if(opensApl[currentIndex]!=null){ var name = opensApl[currentIndex].name; var path = getPainterPath(opensApl[currentIndex].parms.folder_path||'',opensApl[currentIndex].type) var custom=opensApl[currentIndex].parms.custom var offline=opensApl[currentIndex].parms.offlinemode if(opensApl[currentIndex].type=="cssclass" && name.indexOf("styles/") > -1) { name = name.substring(name.indexOf("styles/")+7); } if(confirm("Are you sure to delete "+name+" ?")){ var deleteResponse; var typeError=false; getFrameObj("portalstudioframe"+currentIndex).m_bUpdated=false switch(opensApl[currentIndex].type){ case "portlet": case "decorators": case "interfaces": deleteResponse = new JSURL("../servlet/JSPDelete?name="+path+name+"_portlet.jsp"); deleteResponse = deleteResponse.Response(); break; case "plan": //estrae la lista di .jsp da cancellare var Pagelist=getFrameObj("portalstudioframe"+currentIndex).itemsHTML var DeletedList=new Array() var uu=0 for(var u=0;u= 0; i--) { // cancello tutti i fogli stile che trovo all'interno degli skin if(!Empty(skins[i])) { new JSURL("../servlet/JSPDelete?name="+skins[i]+"/styles/"+name+".ce.css").Response(); } } deleteResponse = new JSURL("../servlet/JSPDelete?name=styles/"+name+".ce.css"); deleteResponse = deleteResponse.Response(); break; case "chart":/*EGhisalberti edited*/ deleteResponse = new JSURL("../servlet/JSPDelete?name="+name+".chartdef"); deleteResponse = deleteResponse.Response(); break; case "visualquery": deleteResponse = new JSURL("../servlet/JSPDelete?name="+name+".vqr&offlinemode="+offline+"&custom="+custom); deleteResponse = deleteResponse.Response(); break; case "report": deleteResponse = new JSURL("../servlet/JSPDelete?name="+name+".vrp&custom="+custom); deleteResponse = deleteResponse.Response(); break; case "portalzoom": name=Strtran(Strtran(name,"]","_"),"[",".") deleteResponse = new JSURL("../servlet/JSPDelete?name="+name+"vzm&custom="+custom); deleteResponse = deleteResponse.Response(); break; case "scandoc": deleteResponse = new JSURL("../servlet/JSPDelete?name="+name+".sca"); deleteResponse = deleteResponse.Response(); break; case "smartreport": deleteResponse = new JSURL("../servlet/JSPDelete?name=" + name + ".svrp&custom=" + custom); deleteResponse = deleteResponse.Response(); break; case "module": deleteResponse = new JSURL("../servlet/JSPDelete?name="+name+".mrp"); deleteResponse = deleteResponse.Response(); break; case "maskparameters": deleteResponse = new JSURL("../servlet/JSPDelete?name="+name+".vdm&custom=" + (custom || '' )); deleteResponse = deleteResponse.Response(); break; case "menu": deleteResponse = new JSURL("../servlet/JSPDelete?name="+name+".vmn&custom="+custom+"&offlinemode="+offline); deleteResponse = deleteResponse.Response(); break; case "visualpivot": deleteResponse = new JSURL("../servlet/JSPDelete?name=" + name + ".vpv&custom=" + custom); deleteResponse = deleteResponse.Response(); break; default: typeError=true; break; } if(!typeError){ if(deleteResponse=="error") alert("Error deleting file..."); else { RemoveRecent(opensApl[currentIndex].type,opensApl[currentIndex],opensApl[currentIndex].parms); if (getFrameObj('project_view_frame').addRemoveFileInTreeView) getFrameObj('project_view_frame').addRemoveFileInTreeView('remove',opensApl[currentIndex]); closeCurrentObj(); } } } } } function securityAdmin() { if(opensApl[currentIndex]!=null){ var name = opensApl[currentIndex].name; switch(opensApl[currentIndex].type){ case "portlet": case "pagelet": case "pageleteditor" : var url='../servlet/SPManageProcedureSecurity?progname=ps/'+name; window.open(url,null,'width=600,height=600,top=100,left=200,status=no,toolbar=no,menubar=no,location=no'); break; case "visualquery": getFrameObj('portalstudioframe'+currentIndex).SetSecurity(); break; } } } function generatePortlets() { var mar_left = 100, width = document.getWidth() - mar_left*2; var mar_top = 75, height = document.getHeight() - mar_top*2; openSPModalLayer("../servlet/JSPGenerate", mar_top, mar_left, width, height, true, 1, false, true); } function setTitle(pageObj){ // var DocTitle = pageObj.document.title; // if (DocTitle == "") { // DocTitle = "Sitepainter Infinity PortalStudio" // Ctrl("title").removeClass('editor-open'); // }else{ // Ctrl("title").addClass('editor-open'); // } // Ctrl("title").innerHTML = DocTitle; } function changeName(name,parms,m_index){ if(m_index==null)m_index=currentIndex; if (typeof(parms)=='string') parms={folder_path:parms} else parms=parms||{} if (parms.custom && typeof parms.custom == 'string') parms.custom=parms.custom=='true'?true:false if (parms.offlinemode && typeof parms.offlinemode == 'string') parms.offlinemode=parms.offlinemode=='true'?true:false changeName2(name,parms,m_index) if (getFrameObj('project_view_frame').addRemoveFileInTreeView) getFrameObj('project_view_frame').addRemoveFileInTreeView('add',opensApl[m_index]); } function changeName2(name,parms,m_index){ if(opensApl[m_index]){ opensApl[m_index].name=name; opensApl[m_index].parms=parms; var title, _path; /*if(opensApl[currentIndex].type=='visualquery' || opensApl[currentIndex].type=='chart' || opensApl[currentIndex].type=='css' || opensApl[currentIndex].type=='portalstudio') title=name else title='jsp'+path+'/'+name*/ if(name.indexOf('/')>-1) name=name.substring(name.lastIndexOf("/")+1); else if(name.indexOf("\\")>-1) name=name.substring(name.lastIndexOf("\\")+1); if(typeof(parms.folder_path)=='undefined') _path='jsp/'; else if(opensApl[m_index].type=='visualquery' || opensApl[m_index].type=='chart' /* || opensApl[i].type=='css' */ || opensApl[m_index].type=='maskparameters' || opensApl[m_index].type=='smartreport' || opensApl[m_index].type=='visualpivot' || opensApl[m_index].type=='css') _path=parms.folder_path else if (opensApl[m_index].type=='portalzoom') _path=parms.folder_path.substring(1); else _path='jsp'+getPainterPath(parms.folder_path,opensApl[m_index].type); if(_path.lastIndexOf('/') != _path.length - 1) _path += '/' title = _path + name; $("tab_"+m_index).getElement('span').set('text',name); $("tab_"+m_index).getElement('span').set('title',title); } } function imgAdmin() { var height = 565; var mar_left = 50, width = window.getWidth() - mar_left*2; var url = "../jsp-system/SPImagesReader_portlet.jsp"; openSPModalLayer(url, null, null, width, height, true, 1, false, true); } function CopyPaste(a,b) { notimooManager.show({ title:'Notification message', message: (b) ? 'Item/s has been cutted' : ((!a) ? 'Item/s has been pasted' : 'Item/s has been copied'), sticky : false, visibleTime:1000, width:200, height:40 }); if(a){ if(getFrameObj('portalstudioframe'+currentIndex).Copy) deftmp=getFrameObj('portalstudioframe'+currentIndex).Copy(b) }else{ if(getFrameObj('portalstudioframe'+currentIndex).Paste) getFrameObj('portalstudioframe'+currentIndex).Paste(deftmp) } } function Undo() { if(getFrameObj('portalstudioframe'+currentIndex).Undo) getFrameObj('portalstudioframe'+currentIndex).Undo() notimooManager.show({ title:'Notification message', message: 'Undo action done', sticky : false, visibleTime:1000, width:200, height:40 }); } function Redo() { if(getFrameObj('portalstudioframe'+currentIndex).Redo) getFrameObj('portalstudioframe'+currentIndex).Redo() notimooManager.show({ title:'Notification message', message: 'Redo action done', sticky : false, visibleTime:1000, width:200, height:40 }); } function openHelp() { windowOpenForeground(m_cHelpUrl+'help/portalstudio/ps_urg_navigator.htm','','toolbar=0,menubar=0,directories=0,width=720,height=600,resizable=1,scrollbars=1'); } function toggleToolbarBig(){ var bd = document.body; if( bd.classList.contains("toolBig-opened")){ bd.classList.remove("toolBig-opened"); } else { bd.classList.add("toolBig-opened"); } ResizePS(); } function searchCurrentObjIndex(name,type){ for(var i=0;ilen){ btnTxt.style.width = parseInt(len+10)+"px"; return; } btnTxt.style.width = w+"px"; setTimeout("showBtnText('"+id+"',"+(w)+","+(len)+")",2); } function hideBtnText(id,w,len,elemId){ var btnTxt = document.getElementById(id); w=w-10; if(w<0){ btnTxt.style.display = "none"; btnTxt.style.width = len+"px"; document.getElementById(elemId).style.backgroundPosition = "left"; return; } btnTxt.style.width = w+"px"; setTimeout("hideBtnText('"+id+"',"+(w)+","+(len)+",'"+elemId+"')",2); } function changePic(/*elem*/){ // elem.style.backgroundPosition = "right"; // var txtBtn = document.getElementById(elem.id+"Txt"); // txtBtn.style.display = "block"; // var len = txtBtn.offsetWidth; // if(!(elem.id in btnTxtsLengths)){ // btnTxtsLengths[elem.id] = len; // } // document.getElementById(elem.id+"TxtWrapper").style.width = btnTxtsLengths[elem.id] + "px"; // txtBtn.style.width = "0px"; // openTextTO = setTimeout("showBtnText('"+txtBtn.id+"',0,"+btnTxtsLengths[elem.id]+")",300); //txtBtn.style.width = "100px"; } function resetPic(/*elem*/){ // var txtBtn = document.getElementById(elem.id+"Txt"); // clearTimeout(openTextTO); // hideBtnText(txtBtn.id,txtBtn.offsetWidth,txtBtn.offsetWidth,elem.id); //txtBtn.style.width = "100px"; } this.cancelEvent = function (e){ // blocca la propagazione e = (e) ? e : window.event; //e.cancelBubble = true; if (window.event) window.event.cancelBubble = true; else e.cancelBubble = true; if (e.stopPropagation) e.stopPropagation(); e.returnValue=false } function selecttemplate(retTo,frontendport){ window.layerOpenForeground("../portalstudio/select_template.jsp?frontendport="+frontendport,"select_template",'',620,280,true,1); } var m_nPreferredHeight=0; function GetWindowPreferredSize(){ return {'h':900,'w':1200} } function manageItems(e/*,notResize*/){ var domevt = new DOMEvent(e); var managed = false; if(domevt.control && domevt.code==86) { // CTRL-V CopyPaste(false); managed=true; } else if (domevt.control && domevt.code==83) { // CTRL-S saveTool(); managed=true; } else if (domevt.control && domevt.code==67) { // CTRL-C CopyPaste(true,false); managed=true; } else if (domevt.control && domevt.code==88) { // CTRL-X CopyPaste(true,true); managed=true; } if (managed) { domevt.stop(); } } window.addEvent('domready',function(){ notimooManager = new Notimoo({}); paintersMenu = new PaintersMenu("paintersMenu"); setRecentDiv(); /* Ex doLoad() */ document.body.onhelp=CancelHelp ResizePS(); PreloadTool(); /* End Ex doLoad()*/ }); /** * Se Cliccato nel menu laterlare Import o Export: * - Cambia CSS * - Fa parsing del Input in caso di Import * - In caso di Export richiama funzione per Ottenere JDef */ function importExport(impOexp){ if(impOexp){ jsonImportE(); document.querySelector("dialog").addEventListener("keydown", (e) => { e.stopPropagation(); }); document.getElementById("confirmIE").classList.add("notAccepted"); try { document.getElementById("inputIE").onkeyup = function () { let stringaJDef = document.getElementById("inputIE").value; let t; clearTimeout(t); // Annulla Timeout t = setTimeout(() => { try { let jsonJDef = JSON.parse(stringaJDef); document.getElementById("inputIE").readOnly = true; document.getElementById("inputIE").style.opacity = "60%"; document.getElementById("confirmIE").classList.remove("notAccepted"); document.getElementById("buttonIE").classList.add("notAccepted"); let tool = jsonJDef["tool"]; document.getElementById("testoErroreIE").classList.add("hide"); document.getElementById("testoNascostoIE").classList.remove("hide"); document.getElementById("testoNascostoIE").innerHTML = "By importing you will create a new " + tool.toUpperCase(); document.getElementById("testoErroreButtonIE").classList.add("hide"); } catch (error) { document.getElementById("testoNascostoIE").classList.add("hide"); document.getElementById("testoErroreIE").classList.remove("hide"); document.getElementById("confirmIE").classList.add("notAccepted"); document.getElementById("inputIE").readOnly = false; if(navigator.clipboard?.readText){ document.getElementById("buttonIE").classList.remove("notAccepted"); } else { document.getElementById("buttonIE").classList.add("notAccepted"); } } }, 1000); }; } catch {} } else { jsonIExport(); document.querySelector("dialog").addEventListener("keydown", (e) => { e.stopPropagation(); }); let defToExport = getFrameObj("portalstudioframe"+currentIndex).getJDEF(); document.getElementById("inputIE").value = JSON.stringify(defToExport); } } /** * Nel Dialog (portalstudio.jsp), condizione if : Import or Export, * Copia il JDef del portlet in caso di Export * Crea nuovo portlet con JDef messo in input */ function ImpOCopy(ImportOrExport) { if (!ImportOrExport) { if(navigator.clipboard?.writeText){ navigator.clipboard.writeText( document.getElementById("inputIE").value ); return true; } else { document.getElementById("inputIE").select(); document.execCommand("copy"); return true; } } else { let stringaJDef = document.getElementById("inputIE").value; let jsonJDef = JSON.parse(stringaJDef); var ifrm = newCurrentObj("New", jsonJDef["tool"]); /** * Vengono passati i def tramite elemento */ switch (opensApl[currentIndex].type) { case "cssclass": changeName(jsonJDef["nomeFile"], '', currentIndex); ifrm.jdef = JSON.stringify(jsonJDef["def"]); ifrm.nomeFile = JSON.stringify(jsonJDef["nomeFile"]); break; case "visualquery": ifrm.jdef = JSON.stringify(jsonJDef["def"]); ifrm.m_nFileVersione = JSON.stringify(jsonJDef["fileVersione"]); break; case "maskparameters": ifrm.jdef = JSON.stringify(jsonJDef["def"]); ifrm.m_nFileVersione = JSON.stringify(jsonJDef["fileVersione"]); ifrm.custom = JSON.stringify(jsonJDef["custom"]); break; default: ifrm.jdef = JSON.stringify(jsonJDef["def"]); break; } } } /** * Al click del bottone Incolla: * - Incolla = Ctrl+v * - Fa partire la OnChange del Input */ function pasteJDef() { let input = document.getElementById("inputIE"); if(navigator.clipboard?.readText){ navigator.clipboard.readText().then( (cliptext) => { input.value = cliptext; let event = new Event('keyup'); input.dispatchEvent(event); }, (err) => console.log(err) ); } else{ document.getElementById("testoErroreButtonIE").classList.remove("hide"); document.getElementById("buttonIE").classList.add("notAccepted"); input.focus(); return false; } } function jsonConfirmAccessDenied(obj){ var jsonConfirm = { modale: "true", tipologia: "alert", id: "test", title: "ACCESS DENIED", content: `The previous session has been invalidated.
Your changes were not saved.
Choose whether to keep or discard changes.
If you click "Keep" when the page reloads,
you will need to redo the save. `, button: [ { id: "confirmIE", type: "button", text: "Keep", class:"buttonIE", ctmCss:"background-color: #00A0BD; ", action: () => { let targetId = jsonConfirm.id; Ctrl("portalstudioframe"+currentIndex).contentWindow.accessDeniedStandaloneRefresh(obj); document.getElementById(targetId).remove(); }, }, { id: "cancelIE", type: "button", text: "Discard", class:"buttonIE", action: () => { let targetId = jsonConfirm.id; document.getElementById(targetId).remove(); }, }, ], }; createModal(jsonConfirm); } function jsonImportE(){ let jsonImportE = { modale: true, tipologia: "", id: "test", title: "Import", content: `Paste the Editor definition object you copied during the export into the input field to import it.

You entered the wrong JSON. Please try again and consider re-exporting it.

Unfortunately you cannot use the Paste button.
Paste in the Input the definition.

`, button: [ { id: "confirmIE", type: "button", text: "Import", class:"buttonIE", ctmCss:"background-color: #00A0BD; ", action: () => { ImpOCopy(true); let targetId = jsonImportE.id; document.getElementById(targetId).remove(); }, }, { id: "cancelIE", type: "button", text: "Cancel", class:"buttonIE", action: () => { let targetId = jsonImportE.id; document.getElementById(targetId).remove(); }, } ] } createModal(jsonImportE); } function jsonIExport(){ let jsonIExport = { modale: "true", tipologia: "", id: "test", title: "Export", content: `Click "Export" to copy into the clipboard the Editor definition you are working on.
`, button: [ { id: "confirmIE", type: "button", text: "Export", class:"buttonIE", ctmCss:"background-color: #00A0BD; ", action: () => { let copied = ImpOCopy(false); if(copied){ let targetId = jsonIExport.id; document.getElementById(targetId).remove(); } }, }, { id: "cancelIE", type: "button", text: "Cancel", class:"buttonIE", action: () => { let targetId = jsonIExport.id; document.getElementById(targetId).remove(); }, } ] } createModal(jsonIExport); }