From 5b46d3e65a1bcfca30104bc4e5feb8b469564a1e Mon Sep 17 00:00:00 2001 From: "marcelo.cuiza" Date: Fri, 22 May 2015 16:21:55 -0400 Subject: [PATCH] PM-31 Refactor output document / 0016759: Output Document pmGrids 0016760: Output Document Variables Se agrego "Grid variables" a las opciones de Type Variable en el pmVariablePicker, que despliega los campos de las grillas que tiene en el proceso --- .../engine/classes/class.xmlfield_InputPM.php | 6 +-- workflow/engine/js/controls/variablePicker.js | 47 +++++++++++++++---- workflow/engine/methods/controls/varsAjax.php | 18 ++++++- 3 files changed, 58 insertions(+), 13 deletions(-) diff --git a/workflow/engine/classes/class.xmlfield_InputPM.php b/workflow/engine/classes/class.xmlfield_InputPM.php index 797ee68ec..1b9e334d6 100755 --- a/workflow/engine/classes/class.xmlfield_InputPM.php +++ b/workflow/engine/classes/class.xmlfield_InputPM.php @@ -414,7 +414,7 @@ function getDynaformsVars ($sProcessUID, $typeVars = 'all', $bIncMulSelFields = array_push($aFields, array( "sName" => $row["VAR_NAME"], "sType" => $row["VAR_FIELD_TYPE"], - "sLabel" => $row["VAR_NAME"] . " [" . $row["VAR_FIELD_TYPE"] . "]" + "sLabel" => $row["VAR_FIELD_TYPE"] )); } } @@ -437,8 +437,8 @@ function getDynaformsVars ($sProcessUID, $typeVars = 'all', $bIncMulSelFields = foreach($columns as $column) { array_push($aFields, array( "sName" => $column['name'], - "sType" => $column['dataType'], - "sLabel" => $column['name'] . " [" . $column['dataType']. "]" + "sType" => $column['type'], + "sLabel" => $column['type'] )); } } diff --git a/workflow/engine/js/controls/variablePicker.js b/workflow/engine/js/controls/variablePicker.js index 25d53eb50..c3b39db45 100755 --- a/workflow/engine/js/controls/variablePicker.js +++ b/workflow/engine/js/controls/variablePicker.js @@ -1,19 +1,35 @@ var setVariablePickerJS = function(){ if (document.getElementById('_Var_Form_').addEventListener) // W3C DOM document.getElementById('_Var_Form_').addEventListener('dblclick', function(){ - if (this.getAttribute('displayOption')=='event'){ - e.insertFormVar(this.value.substring(2), this.value.substring(2), 'dyn' ); + if(this.value.substring(0,5) == 'gridt') { + try { + updateEditorContent(this.value.substring(5)); + } catch(err) { + closePluginPopup(); + } } else { - insertFormVar(document.getElementById('selectedField').value, this.value); + if (this.getAttribute('displayOption')=='event'){ + e.insertFormVar(this.value.substring(2), this.value.substring(2), 'dyn' ); + } else { + insertFormVar(document.getElementById('selectedField').value, this.value); + } } }); else if (document.getElementById('selectedField').attachEvent) { // IE DOM var element = document.getElementById('_Var_Form_'); element.attachEvent("ondblclick", function(){ - if (element.displayOption=='event'){ - e.insertFormVar(element.value.substring(2), element.value.substring(2), 'dyn' ); - } else { - insertFormVar(document.getElementById('selectedField').value, element.value); + if(element.value.substring(0,5) == 'gridt') { + try { + updateEditorContent(element.value.substring(5)); + } catch(err) { + closePluginPopup(); + } + } else { + if (element.displayOption=='event'){ + e.insertFormVar(element.value.substring(2), element.value.substring(2), 'dyn' ); + } else { + insertFormVar(document.getElementById('selectedField').value, element.value); + } } }); } @@ -99,7 +115,12 @@ var setVariablePickerJS = function(){ }); leimnud.event.add(document.getElementById('_Var_Form_'), 'change', function(event) { - document.getElementById('selectedVariableLabel').textContent = document.getElementById('_Var_Form_').value + var selectElement = document.getElementById('_Var_Form_'); + if(selectElement.value.substring(0,5) == 'gridt') { + document.getElementById('selectedVariableLabel').textContent = selectElement.options[selectElement.selectedIndex].text; + } else { + document.getElementById('selectedVariableLabel').textContent = selectElement.value + } }); leimnud.event.add(document.getElementById('search'), 'keypress', function(e) { @@ -130,6 +151,7 @@ var setVariablePickerJS = function(){ var list = getVariableList(document.getElementById('search').value, document.getElementById('process').value, document.getElementById('type_variables').value); var combo = document.getElementById("_Var_Form_"); var option = document.createElement('option'); + var isBpmn = document.getElementById('isBpmn').value; for(i=(combo.length-1); i>=0; i--) { @@ -140,8 +162,15 @@ var setVariablePickerJS = function(){ if(list.length>0){ for(i=0; icolumn_name1'; + optionValue = gridValue; + } + } option = document.createElement("OPTION"); - option.value = prefix+list[i].sName; + option.value = optionValue; option.text = prefix+list[i].sName+' ('+list[i].sLabel+')'; combo.add(option); } diff --git a/workflow/engine/methods/controls/varsAjax.php b/workflow/engine/methods/controls/varsAjax.php index 96aa71c3f..8d3acc993 100755 --- a/workflow/engine/methods/controls/varsAjax.php +++ b/workflow/engine/methods/controls/varsAjax.php @@ -74,7 +74,9 @@ $oDataset = ProcessPeer::doSelectRS($oCriteria, Propel::getDbConnection('workflo $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $row = $oDataset->getRow(); +$isBpmn = false; if (isset($row["PRJ_UID"])) { + $isBpmn = true; $html .= ''; } @@ -116,7 +118,14 @@ if (isset($_REQUEST['displayOption'])){ $html .= ''; +if ($isBpmn) { + $valueBpmn = 1; +} else { + $valueBpmn = 0; +} +$html .= ''; + $html .= ''; $html .= ''; $html .= '';