BUG 13536 "Save as option inside a Dyanform is..." SOLVED

- Save as option inside a Dyanform is not working
- Problema:
  Al utilizar el Editor de Dynaform la opcion "Save as" que permite crear copias de un dynaform, dentro del mismo
  editor se visualiza en el Dropdown donde se lista los dynaforms existentes. Cuando se utiliza esta opcion "Save as" al
  crear la copia este no aparecia en el Dropdown.

  Solucion:
  Al crear la copia de un dynaform se utiliza AJAX que permite la reconstruccion del Dropdown en donde se muestra todo
  los dynaforms existentes mas la nueva copia que se crea.

  var result = ajax_post(
      frm.action,
      frm,
      "POST",
      function (responseText)
      {
         ...
         for (var i = 0; i <= dataResponse.length - 1; i++) {
             ...
         }
      }
  );
This commit is contained in:
Luis Fernando Saisa Lopez
2013-12-03 10:23:19 -04:00
parent 7516e894d6
commit 3aa82aeeac
2 changed files with 45 additions and 7 deletions

View File

@@ -37,16 +37,38 @@ function dynaformSaveas ( frm ) {
reqName=ajax_function('dynaforms_Save','lookforNameDynaform','NAMEDYNAFORM='+encodeURIComponent(nameDynaForm)+'&proUid='+encodeURIComponent(proUid),'POST') ;
if(!reqName){
msgBox('@G::LoadTranslation(ID_EXIST_DYNAFORM)','alert');
}else {
ajax_post( frm.action, frm, 'POST' );
currentPopupWindow.remove();
} else {
var result = ajax_post(
frm.action,
frm,
"POST",
function (responseText)
{
var dataResponse = eval("(" + responseText + ")"); //json
var elementSelected = document.getElementById("_dynaformsList_").value;
document.getElementById("_dynaformsList_").length = 0;
for (var i = 0; i <= dataResponse.length - 1; i++) {
var value = dataResponse.data[i].value;
var text = dataResponse.data[i].text;
if (value == elementSelected) {
document.getElementById("_dynaformsList_").options[i] = new Option(text, value, "", "selected");
} else {
document.getElementById("_dynaformsList_").options[i] = new Option(text, value);
}
}
}
);
currentPopupWindow.remove();
}
}
else {
} else {
alert(G_STRINGS.ID_TITLE_EMPTY);
return;
}
}
}
getField('DYN_TITLE').form.onsubmit = function() {return false;};
function cancel(){
@@ -55,4 +77,4 @@ function cancel(){
]]></JS>
</dynaForm>
</dynaForm>