Edit C:\galaxie\deploy\Tomcat6\webapps\galaxie\admin\workflow\graph_editor.jsp
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% /****************************************************************************** * Copyright (c) 2000-2005 e-Deal * * e-Deal S.A. * 55 rue Brillat Savarin * 75013 Paris * France * * T: +33 (0)1 53 80 80 30 * F: +33 (0)1 73 01 69 77 * http://www.e-deal.com * * La diffusion de ce code source sous quelque forme que ce soit sans * l'autorisation de E-DEAL est interdite. * * Vous êtes autorisés à modifier ce code source uniquement pour votre usage * propre et sous réserve que les mentions de copyright demeurent intactes. * * Ce code est fourni en l'état. Aucune garantie d'aucune sorte, explicite ou * implicite n'est donnée. En aucun cas E-DEAL ne pourra être tenu pour * responsable des dommages pouvant résulter de l'utilisation de ce code * source. ******************************************************************************/ %> <%@page session="true" contentType="text/html; charset=UTF-8"%> <%@ page import="com.edeal.frontline.navigation.FlRequest" %> <%@ page import="com.edeal.frontline.FlContext" %> <%@ page import="com.edeal.frontline.Utils" %> <%@ page import="com.edeal.frontline.FieldNotInitializedException" %> <%@ page import="java.util.Date" %> <%@ page import="java.util.Vector" %> <%@ page import="java.util.Hashtable" %> <%@ page import="java.util.LinkedHashMap" %> <%@ page import="java.util.Iterator" %> <%@ page import="java.util.Map" %> <%@ page import="java.util.Calendar" %> <%@ page import="com.edeal.frontline.DataDictionary" %> <%@ page import="com.edeal.frontline.FlLocale" %> <%@ page import="com.edeal.frontline.ActorBean" %> <%@ page import="com.edeal.frontline.grid.functions.FaqHeaderSyntaxActions" %> <%@taglib uri="http://www.e-deal.com/taglib/fl" prefix="fl" %> <% final org.apache.commons.logging.Log logger = org.apache.commons.logging.LogFactory.getLog(getClass()); FlRequest flRequest = new FlRequest(request); FlContext context = flRequest.getContext(); String width = "750"; String node = flRequest.getRequestParameterOrAttribute("node"); DataDictionary dico = context.getDataDictionary(); Vector<Vector<String>> roles = dico.getRefCodeList("ActRoles"); Vector<Hashtable> fobFldsVector = (Vector<Hashtable>)flRequest.getAttribute("fobFldsVector"); Vector<Hashtable> fldsVector = (Vector<Hashtable>)flRequest.getAttribute("fldsVector"); Vector<Hashtable> wfasVector = (Vector<Hashtable>)flRequest.getAttribute("wfasVector"); %> <script type="text/javascript" language="javascript" src="<fl:webapp/>/js/checkFields.jsp"></script> <script type="text/javascript" language="javascript" src="<fl:webapp/>/js/utils.js"></script> <script src="<fl:webapp/>/js/json-rpc/jsonrpc.js"></script> <script type="text/javascript" language="javascript" src="<fl:webapp/>/js/edeal/libraries/json.org/json2/json2.js"></script> <link rel="stylesheet" type="text/css" href="<fl:webapp/>/css/common_css.jsp"> <style type="text/css"> .button { border-style: solid; border-width: 1px; border-color: rgb(132, 166, 174); font-weight: bold; font-size: 11px; padding: 3px; } .popup-div { /*width: 800px;*/ } .popup-header { height : 25px; } .popup-title { float : left; font-family : Arial,Verdana,sans-serif; font-size : 12px; color : #000000; font-weight : bold; padding-left: 4px; padding-right: 4px; padding-top : 2px; vertical-align: middle; letter-spacing: 1px; } .popup-header .close-link { float : right; } .popup-body { height: 100%; margin-right:210px; } .popup-content { height: 99%; margin-top: 5px; margin-bottom: 5px; } </style> <script type="text/javascript" language="javascript"> function doClosePopUp(){ $.closePopupLayer('GraphPopup'); } var jsonService = new JsonRpc.ServiceProxy("<fl:webapp/>/workflowjsonrpc", { asynchronous: true, methods: ['wkf.getTransitions', 'wkf.updateTransitions', 'wkf.getStatusField'] }); //access it asynchronously JsonRpc.setAsynchronous(jsonService, true); var json; var transitionJson; var roleJson; var roleFldJson = $.parseJSON("[]"); var mandatoryFieldsJson = $.parseJSON("[]"); var readonlyFieldsJson = $.parseJSON("[]"); var hiddenFieldsJson = $.parseJSON("[]"); var actionJson = $.parseJSON("[]"); jsonService.wkf.getTransitions({ params:["<%=node%>"], onSuccess: function(result) { json = $.parseJSON(result); jsonService.wkf.getStatusField({ onSuccess: function(result) { getLisOfStatus(result); } }); var html= ""; //alert(result); $.each(json, function(i, item) { if(item.fromState == "<%=node%>"){ html += "<div id=\""+i+"\"><p><a href=\"#\" onclick=\"removeTransition("+i+");$('#"+i+"').hide();\"><img src=\"<fl:webapp/>/icons/ico/supprimer.gif\" style=\"vertical-align:middle\"/></a> <%=node%> <img src=\"<fl:webapp/>/icons/arrow-long.gif\" style=\"vertical-align:middle\"/> "+item.label +" <img src=\"<fl:webapp/>/icons/arrow-right-long.gif\" style=\"vertical-align:middle\"/> "+ item.toState+"</p></div>"; }else{ html += "<div id=\""+i+"\"><p><a href=\"#\" onclick=\"removeTransition("+i+");$('#"+i+"').hide();\"><img src=\"<fl:webapp/>/icons/ico/supprimer.gif\" style=\"vertical-align:middle\"/></a> <%=node%> <img src=\"<fl:webapp/>/icons/arrow-left-long.gif\" style=\"vertical-align:middle\"/> "+item.label +" <img src=\"<fl:webapp/>/icons/arrow-long.gif\" style=\"vertical-align:middle\"/> "+ item.fromState+"</p></div>"; } }); $('#content_place').html(html+"<div id=\"new_transition\"></div>"); }, onException: function(e) { alert("Unable to compute because: " + e); return true; } }); var newTransitionCreation = false; function isCreatingNewTransition(val){ newTransitionCreation = val; } var canContinue = true; function addTransition(){ /* [ { "rights": { "role":{"code":"ADMIN"}, "field":[{"name":"SolCreID"},{"name":"SolPerID","externalfield":"PerActID"}] }, "uiFields": { "mandatoryFields":{"field":[{"name":"SolTypeDemo_","type":"db"},{"name":"SolTitle","type":"db"}]}, "readonlyFields":{"field":[{"name":"SolToken"},{"name":"SolActID"}]}, "hiddenFields":{"field":[{"name":"SolID"},{"name":"SolPerID"}]} }, "action": [ { "actionUri":[{"value":"edit_enterprise_2","type":"edit"},{"value":"save_enterprise","type":"save"}], "method":{"value": "mymethod(var)"}, "contextVariable":"action" } ], "id":"redigercotation","fromState":"D_TODO","toState":"COTA_TODO","label":"Planifier Démo","labelCode":"Fxxx" } ] */ labelOK = true; if($('#label').val() == '<label>' || $('#label').val() == ''){ $("#label").fadeIn(100).fadeOut(100).fadeIn(100).fadeOut(100).fadeIn(100); $("#label").attr("style", "border-color:red;"); labelOK = false; } toStateOK = true; if($('#toState').val() == '<toState>' || $('#toState').val() == ''){ $("#toState").fadeIn(100).fadeOut(100).fadeIn(100).fadeOut(100).fadeIn(100); $("#toState").attr("style", "border-color:red;"); toStateOK = false; } canContinue = labelOK && toStateOK; if(!canContinue){ return; } jsonStringValue = "{"; //Role jsonStringValue += ($('#role').val()!='' || roleFldJson.length > 0)? "\"rights\":{" : ""; jsonStringValue += ($('#role').val()!='')? "\"role\":{\"code\":\""+$('#role').val()+"\"}" : ""; jsonStringValue += ($('#role').val()!='' && roleFldJson.length > 0)? ", " : ""; jsonStringValue += (roleFldJson.length > 0)? "\"field\": "+JSON.stringify(roleFldJson) : ""; jsonStringValue += ($('#role').val()!='' || roleFldJson.length > 0)? "}," : ""; //UIFields jsonStringValue += (mandatoryFieldsJson.length > 0 || readonlyFieldsJson.length > 0 || hiddenFieldsJson.length >0)? " \"uiFields\":{" : ""; jsonStringValue += (mandatoryFieldsJson.length > 0)? " \"mandatoryFields\":{\"field\": "+JSON.stringify(mandatoryFieldsJson)+"}" : ""; jsonStringValue += (mandatoryFieldsJson.length > 0 && readonlyFieldsJson.length > 0)? "," : ""; jsonStringValue += (readonlyFieldsJson.length > 0)? " \"readonlyFields\":{\"field\":"+JSON.stringify(readonlyFieldsJson)+"}" : ""; jsonStringValue += (readonlyFieldsJson.length > 0 && hiddenFieldsJson.length > 0)? "," : ""; jsonStringValue += (hiddenFieldsJson.length > 0)? " \"hiddenFields\":{\"field\":"+JSON.stringify(hiddenFieldsJson)+"}" : ""; jsonStringValue += (mandatoryFieldsJson.length > 0 || readonlyFieldsJson.length > 0 || hiddenFieldsJson.length >0)? "}," : ""; //Transition id = $('#fromState').val()+$('#label').val()+$('#toState').val(); transitionJsonStringValue = "\"id\":\""+id+"\",\"fromState\":\""+$('#fromState').val()+"\",\"toState\":\""+$('#toState').val()+"\",\"label\":\""+$('#label').val()+"\",\"labelCode\":\"Fxxx\""; jsonStringValue += transitionJsonStringValue; //Action methodParameter = $('#methodParam').val(); if(methodParameter == '<param>'){ methodParameter = ''; } methodParameter = methodParameter.replace(/"/g,'\\"'); jsonStringValue += (actionJson.length > 0 || $('#methodName').val() != '')? ", \"action\":[{" : ""; jsonStringValue += (actionJson.length > 0)? " \"actionUri\":"+JSON.stringify(actionJson) : ""; jsonStringValue += ((actionJson.length > 0 && $('#methodName').val() != ''))? ", " : ""; jsonStringValue += ($('#methodName').val() != '')? " \"method\":{\"value\": \""+$('#methodName').val()+"("+methodParameter+")"+"\"}" : ""; jsonStringValue += (($('#methodName').val() != '' && $('#context-variable').val() != '<context-variable>' && $('#context-variable').val() != '') || (actionJson.length > 0 && $('#context-variable').val() != '<context-variable>' && $('#context-variable').val() != ''))? ", " : ""; jsonStringValue += ($('#context-variable').val() != '<context-variable>' && $('#context-variable').val() != '')? " \"contextVariable\":\""+$('#context-variable').val()+"\"" : ""; jsonStringValue += (actionJson.length > 0 || $('#methodName').val() != '')? "}]" : ""; jsonStringValue += "}"; //alert(jsonStringValue); jsonValue = $.parseJSON(jsonStringValue); json[json.length] = jsonValue; $('#new_transition').append("<div id=\""+id+"\"><p><a href=\"#\" onclick=\"removeTransition('#"+id+"');$('#"+id+"').hide();\"><img src=\"<fl:webapp/>/icons/ico/supprimer.gif\" style=\"vertical-align:middle\"/></a> "+$('#fromState').val()+" <img src=\"<fl:webapp/>/icons/arrow-long.gif\" style=\"vertical-align:middle\"/> "+$('#label').val()+" <img src=\"<fl:webapp/>/icons/arrow-right-long.gif\" style=\"vertical-align:middle\"/> "+$('#toState').val()+"</p></div>"); roleJson = $.parseJSON("{}"); roleFldJson = $.parseJSON("[]"); mandatoryFieldsJson = $.parseJSON("[]"); readonlyFieldsJson = $.parseJSON("[]"); actionJson = $.parseJSON("[]"); $('#new_readOnlyFld').html(""); $('#new_mandatoryFld').html(""); $('#new_hiddenFld').html(""); $('#fromState').val("<%=node%>"); $('#label').val("<label>"); $('#toState').val("<toState>"); $('#context-variable').val("<context-variable>"); $('#read_action').val("<read_action>"); $('#edit_action').val("<edit_action>"); $('#save_action').val("<save_action>"); $('#methodParam').val("<param>"); newTransitionCreation = false; } function removeTransition(i){ delete json[i]; canContinue = true; } function updateGraph(closePopup){ if(newTransitionCreation){ addTransition(); if(!canContinue){ return; } } jsonService.wkf.updateTransitions({ params:["<%=node%>", JSON.stringify(json)], onSuccess: function(result) { //alert("result is " + result); if(closePopup == true){ submitAndRefresh(1); doClosePopUp(); } }, onException: function(e) { alert("Unable to compute because: " + e); return true; } }); } function getLisOfExtFobFields(){ $.getJSON('<fl:webapp/>/workflow_list_of_ext_fob_fields.fl?FldSql='+$('#roleFld').val(), function(data) { $('#roleExtFobFld').html($('<option></option>').val('').html('<External Field>')); $.each(data.fobs, function(i, item) { $('#roleExtFobFld').append( $('<option></option>').val(item.sql).html(item.display) ); }); }); } function addRoleField(){ id = $('#roleFld').val(); //{"name":"SolPerID","externalfield":"PerActID"} jsonStringValue = "{\"name\":\""+$('#roleFld').val()+"\""; jsonStringValue += ($('#roleExtFobFld').val() != '')? ", \"externalfield\": \""+$('#roleExtFobFld').val()+"\"}" : "}"; jsonValue = $.parseJSON(jsonStringValue); roleFldJson[roleFldJson.length] = jsonValue; $('#new_roleFld').append("<div id=\""+$('#roleFld').val()+"\"><p><a href=\"#\" onclick=\"removeRoleField('#"+roleFldJson.length+"');$('#"+id+"').hide();\"><img src=\"<fl:webapp/>/icons/ico/supprimer.gif\" style=\"vertical-align:middle\"/></a> "+$('#roleFld').val()+" "+$('#roleExtFobFld').val()+"</p></div>"); } function removeRoleField(id){ delete roleFldJson[id]; } function addMandatoryField(){ id = $('#mandatoryFld').val(); //{"name":"SolTypeDemo_","type":"db"} jsonStringValue = "{\"name\":\""+$('#roleFld').val()+"\"}"; jsonValue = $.parseJSON(jsonStringValue); mandatoryFieldsJson[mandatoryFieldsJson.length] = jsonValue; $('#new_mandatoryFld').append("<div id=\""+$('#mandatoryFld').val()+"\"><p><a href=\"#\" onclick=\"removeMandatoryField('#"+mandatoryFieldsJson.length+"');$('#"+id+"').hide();\"><img src=\"<fl:webapp/>/icons/ico/supprimer.gif\" style=\"vertical-align:middle\"/></a> "+$('#mandatoryFld').val()+"</p></div>"); } function removeMandatoryField(id){ delete mandatoryFieldsJson[id]; } function addReadOnlyField(){ id = $('#readOnlyFld').val(); //{"name":"SolTypeDemo_","type":"db"} jsonStringValue = "{\"name\":\""+$('#readOnlyFld').val()+"\"}"; jsonValue = $.parseJSON(jsonStringValue); readonlyFieldsJson[readonlyFieldsJson.length] = jsonValue; $('#new_readOnlyFld').append("<div id=\""+$('#readOnlyFld').val()+"\"><p><a href=\"#\" onclick=\"removeReadonlyField('#"+readonlyFieldsJson.length+"');$('#"+id+"').hide();\"><img src=\"<fl:webapp/>/icons/ico/supprimer.gif\" style=\"vertical-align:middle\"/></a> "+$('#readOnlyFld').val()+"</p></div>"); } function removeReadonlyField(id){ delete readonlyFieldsJson[id]; } function addHiddenField(){ id = $('#hiddenFld').val(); //{"name":"SolTypeDemo_"} jsonStringValue = "{\"name\":\""+$('#hiddenFld').val()+"\"}"; jsonValue = $.parseJSON(jsonStringValue); hiddenFieldsJson[hiddenFieldsJson.length] = jsonValue; $('#new_hiddenFld').append("<div id=\""+$('#hiddenFld').val()+"\"><p><a href=\"#\" onclick=\"removeHiddenField('#"+hiddenFieldsJson.length+"');$('#"+id+"').hide();\"><img src=\"<fl:webapp/>/icons/ico/supprimer.gif\" style=\"vertical-align:middle\"/></a> "+$('#hiddenFld').val()+"</p></div>"); } function removeHiddenField(id){ delete hiddenFieldsJson[id]; } function addAction(name){ //{"value":"read_solicitation"} if($("#"+name+"_action").val() != '' && $("#"+name+"_action").val() !='<'+name+'_action>'){ jsonStringValue = "{\"value\":\""+$("#"+name+"_action").val()+"\",\"type\":\""+name+"\"}"; jsonValue = $.parseJSON(jsonStringValue); actionJson[actionJson.length] = jsonValue; } } function getLisOfStatus(statusFld){ $.getJSON('<fl:webapp/>/workflow_initializer_list_of_status.fl?FldSql='+statusFld, function(data) { $('#toState').html($('<option></option>').val('').html('<toState>')); $.each(data.refCodes, function(i, item) { if(item.code == '<%=node%>'){ $('#current_node_disp').html(item.disp+' (<%=node%>)'); } $('#toState').append( $('<option></option>').val(item.code).html(item.disp+' ('+item.code+')') ); }); }); } </script> <table cellspacing="0" border="0"> <tr class="tooltip" height="10px"> <td class="corner" id="topleft" width="19px"><img src="<fl:webapp/>/icons/tooltip/bubble-1.png"/></td> <td class="top" style="background-image:url('<fl:webapp/>/icons/tooltip/bubble-2.png'); align: center"></td> <td class="corner" id="topright"><img src="<fl:webapp/>/icons/tooltip/bubble-3.png"/></td> </tr> <tr class="tooltip"> <td class="left" style="background-image:url('<fl:webapp/>/icons/tooltip/bubble-4.png');"></td> <td style="vertical-align: top;"> <table class="data_column, innerPopup" cellspacing="0" cellpadding="0" border="0" width="100%"> <tr> <td nowrap="nowrap"> <div class="popup-div"> <div class="popup-content"> <table cellspacing="0" cellpadding="0" border="0" style="width: 500px; height: 200px"> <tr style="height: 43px;"> <td><img width="10" height="10" src="<fl:webapp/>/icons/spacer.gif"></td> <td width="98%" valign="top" colspan="3"> <table cellpadding="0" class="container" id="BTabs"> <tr> <td style="text-align: right; width: 15px;"><img style="width: 15px; height: 43px;" src="<fl:webapp/>/icons/nav/principal_onglet/ong_blanc_pos_1.gif"></td> <td class="ongletblanc"> <fl:getMessage code="L2077" alt="Edition"/> </td> <td class="actif-fin"></td> <td style="width: 90%; text-align: right; background: url("<fl:webapp/>/icons/nav/principal_onglet/fd_cell.gif") repeat scroll 0% 0% transparent;" class="tabRightSpace"></td> <td class="finTab"> </td> </tr> </table> </td> <td width="10"><img width="10" height="10" src="<fl:webapp/>/icons/spacer.gif"></td> </tr> <tr style="height: 100%;"> <td width="10"><img width="10" height="10" src="<fl:webapp/>/icons/spacer.gif"></td> <td width="15" background="<fl:webapp/>/icons/nav/principal_cadre/fd_cell_g.gif"><img width="15" height="42" src="<fl:webapp/>/icons/spacer.gif"></td> <td valign="top"> <table class="container" cellspacing="0" cellpadding="0" border="0"> <tr style="height: 100%;"> <td valign="top"><div id="content_place" style="width: 550px;height:auto;overflow: hidden; text-align: left; white-space: nowrap;"></div></td> </tr> <tr style="height: 100%;"> <td> <div class="dataLabel" id="detail_popup" style="width:auto;height:auto;overflow: hidden; text-align: left; white-space: nowrap;"> <fieldset> <legend align=top>Transition</a></legend> <p><input id="fromState" name="fromState" type="hidden" value="<%=node%>"/><span id="current_node_disp"><%=node%></span> <input id="label" name="label" type="text" value="<label>" onchange="isCreatingNewTransition(true);"/> <select id="toState" name="toState" onchange="isCreatingNewTransition(true);"></select></p> <fieldset> <legend align=top>Droits</legend> <select id="role" name="role" onchange="isCreatingNewTransition(true);"> <option selected="selected" value=""><role></option> <%for(Vector<String> role : roles){ String roleDisp = (String)dico.getRefDisp(session, "ActRoles", role.get(0)); %> <option value="<%=role.get(1) %>"><%=roleDisp %></option> <%} %> </select> <fieldset> <legend align=top>Champs acteur </legend> <table class="container" cellpadding="0"> <tr class="fieldLine"> <td colspan="2"> <div id="new_roleFld"></div> </td> </tr> <tr class="fieldLine"> <td colspan="2"> <a href="#" onclick="addRoleField();"><img src="<fl:webapp/>/icons/add.png"/></a> <select id="roleFld" name="roleFld" onchange="getLisOfExtFobFields();isCreatingNewTransition(true);"> <option selected="selected" value=""></option> <%for(Hashtable<String,String> fld : fobFldsVector){ %> <option value="<%=fld.get("FldSql") %>"><%=fld.get("FldDisplay") %></option> <%} %> </select> <select id="roleExtFobFld" name="roleExtFobFld"> <option selected="selected" value=""></option> </select> </td> </tr> </table> </fieldset> </fieldset> <fieldset> <legend align=top>Champs</legend> <fieldset> <legend align=top>Obligatoire </legend> <table class="container" cellpadding="0"> <tr class="fieldLine"> <td colspan="2"> <div id="new_mandatoryFld"></div> </td> </tr> <tr class="fieldLine"> <td colspan="2"> <a href="#" onclick="addMandatoryField();isCreatingNewTransition(true);"><img src="<fl:webapp/>/icons/add.png"/></a><select id="mandatoryFld" name="mandatoryFld"> <option selected="selected" value="" onchange="getLisOfExtFobFields();"></option> <%for(Hashtable<String,String> fld : fldsVector){ %> <option value="<%=fld.get("FldSql") %>"><%=fld.get("FldDisplay") %></option> <%} %> </select> </td> </tr> </table> </fieldset> <fieldset> <legend align=top>En lecture </legend> <table class="container" cellpadding="0"> <tr class="fieldLine"> <td colspan="2"> <div id="new_readOnlyFld"></div> </td> </tr> <tr class="fieldLine"> <td colspan="2"> <a href="#" onclick="addReadOnlyField();isCreatingNewTransition(true);"><img src="<fl:webapp/>/icons/add.png"/></a> <select id="readOnlyFld" name="readOnlyFld"> <option selected="selected" value=""></option> <%for(Hashtable<String,String> fld : fldsVector){ %> <option value="<%=fld.get("FldSql") %>"><%=fld.get("FldDisplay") %></option> <%} %> </select> </td> </tr> </table> </fieldset> <fieldset> <legend align=top>Caché </legend> <table class="container" cellpadding="0"> <tr class="fieldLine"> <td colspan="2"> <div id="new_hiddenFld"></div> </td> </tr> <tr class="fieldLine"> <td colspan="2"> <a href="#" onclick="addHiddenField();isCreatingNewTransition(true);"><img src="<fl:webapp/>/icons/add.png"/></a> <select id="hiddenFld" name="hiddenFld"> <option selected="selected" value=""></option> <%for(Hashtable<String,String> fld : fldsVector){ %> <option value="<%=fld.get("FldSql") %>"><%=fld.get("FldDisplay") %></option> <%} %> </select> </td> </tr> </table> </fieldset> </fieldset> <fieldset> <legend>Action</legend> <p><input id="context-variable" name="context-variable" type="text" value="<context-variable>"/></p> <p><input id="read_action" name="read_action" type="text" value="<read_action>" onchange="addAction('read');"/></p> <p><input id="edit_action" name="edit_action" type="text" value="<edit_action>" onchange="addAction('edit');"/></p> <p><input id="save_action" name="save_action" type="text" value="<save_action>" onchange="addAction('save');"/></p> <fieldset> <legend>Fonction dynamique</legend> <select id="methodName" name="methodName" onchange="isCreatingNewTransition(true);"> <option selected="selected" value=""></option> <%for(Hashtable<String,String> wfa : wfasVector){ %> <option value="<%=wfa.get("WfaMethod") %>"><%=wfa.get("WfaMethod") %></option> <%} %> </select> <input id="methodParam" name="methodParam" type="text" value="<param>" onchange="isCreatingNewTransition(true);"/> </fieldset> </fieldset> </fieldset> </div> </td> </tr> </table> </td> <td width="15" background="<fl:webapp/>/icons/nav/principal_cadre/fd_cell_d.gif"><img width="15" height="42" src="<fl:webapp/>/icons/spacer.gif"></td> <td width="10"><img width="10" height="10" src="<fl:webapp/>/icons/spacer.gif"></td> </tr> <tr style="height: 15px;"> <td width="10"><img width="10" height="10" src="<fl:webapp/>/icons/spacer.gif"></td> <td width="15"><img width="15" height="15" src="<fl:webapp/>/icons/nav/principal_cadre/cell_bas_g.gif"></td> <td width="98%" background="<fl:webapp/>/icons/nav/principal_cadre/fd_cell_bas_m.gif"><img width="15" height="15" src="<fl:webapp/>/icons/spacer.gif"></td> <td width="15"><img width="15" height="15" src="<fl:webapp/>/icons/nav/principal_cadre/cell_bas_d.gif"></td> <td width="10"><img width="10" height="10" src="<fl:webapp/>/icons/spacer.gif"></td> </tr> <tr style="height: 20px;"> <td colspan="5" style="text-align: center;"> <div id="popup_closer"> <a href="javascript:updateGraph(true);"><img src="<fl:webapp/>/icons/ico/valid_green_long.gif"></a> <a href="javascript:updateGraph(false);"><img src="<fl:webapp/>/icons/ico/save_all_long.gif"></a> <a title="<fl:getMessage code="A3035" alt="Fermer"/>" href="javascript:doClosePopUp();"><img src="<fl:webapp/>/icons/ico/fermer_red_long.gif" /></a> </div> </td> </tr> </table> </div> </div> </td> </tr> </table> </td> <td class="right" style="background-image:url('<fl:webapp/>/icons/tooltip/bubble-5.png')" width="19px"></td> </tr> <tr class="tooltip"> <td class="corner" id="bottomleft" style="background-image:url('<fl:webapp/>/icons/tooltip/bubble-6.png')" ></td> <td class="bottom" style="background-image:url('<fl:webapp/>/icons/tooltip/bubble-7.png')" width="30" height="20"></td> <td class="corner" id="bottomright" style="background-image:url('<fl:webapp/>/icons/tooltip/bubble-8.png')"></td> </tr> </table>
Ms-Dos/Windows
Unix
Write backup
jsp File Browser version 1.2 by
www.vonloesch.de