diff --git a/workflow/engine/methods/bpmn/processmap.php b/workflow/engine/methods/bpmn/processmap.php index c43355998..10e3b85e6 100755 --- a/workflow/engine/methods/bpmn/processmap.php +++ b/workflow/engine/methods/bpmn/processmap.php @@ -16,13 +16,9 @@ $oHeadPublisher =& headPublisher::getSingleton(); $oHeadPublisher->usingExtJs('ux/miframe'); - - //$oHeadPublisher->setExtSkin( 'xtheme-gray'); - $oHeadPublisher->addExtJsScript('bpmn/processmap', true ); //adding a javascript file .js - - $oHeadPublisher->addContent( 'bpmn/processmap'); //adding a html file .html. - - + $oHeadPublisher->addExtJsScript('bpmn/ProcessOptions', true); + $oHeadPublisher->addExtJsScript('bpmn/processmap', true); + $oHeadPublisher->addContent( 'bpmn/processmap'); $oHeadPublisher->assign('pro_title', $process->getProTitle()); $oHeadPublisher->assign('pro_uid', $process->getProUid()); G::RenderPage('publish', 'extJs'); diff --git a/workflow/engine/templates/bpmn/ProcessOptions.js b/workflow/engine/templates/bpmn/ProcessOptions.js index 86e885181..6d1db820b 100755 --- a/workflow/engine/templates/bpmn/ProcessOptions.js +++ b/workflow/engine/templates/bpmn/ProcessOptions.js @@ -1,15 +1,11 @@ -ProcessOptions=function(id){ +var workflow = {}; + +var ProcessOptions = function(id){ //Workflow.call(this,id); }; -/** - * WARNING Don't use Workflow, or workflow object because this is being called out of workflow environment - * it is out the iframe that is containing designer.js and all theirs objects - */ - -ProcessOptions.prototype=new Workflow; -ProcessOptions.prototype.type="ProcessOptions"; - +//ProcessOptions.prototype=new Workflow; +//ProcessOptions.prototype.type="ProcessOptions"; /** * 'addDynaform' function that will allow adding new dynaforms and showing list of @@ -1225,7 +1221,7 @@ ProcessOptions.prototype.dbConnection = function() ProcessOptions.prototype.addInputDoc= function(_5625) { - var ProcMapObj= new ProcessMapContext(); + var inpDocFields = Ext.data.Record.create([ { name: 'INP_DOC_UID', @@ -1523,7 +1519,7 @@ ProcessOptions.prototype.addInputDoc= function(_5625) workflow.fieldName = 'INP_DOC_DESTINATION_PATH' ; workflow.variable = '@@', workflow.formSelected = inputDocForm; - var rowData = ProcMapObj.ExtVariables(); + var rowData = PMVariables(); } }] }] @@ -1557,7 +1553,7 @@ ProcessOptions.prototype.addInputDoc= function(_5625) workflow.fieldName = 'INP_DOC_TAGS' ; workflow.variable = '@@', workflow.formSelected = inputDocForm; - var rowData = ProcMapObj.ExtVariables(); + var rowData = PMVariables(); } }] }] @@ -1814,7 +1810,7 @@ var inputDocColumns = new Ext.grid.ColumnModel({ ProcessOptions.prototype.addOutputDoc= function(_5625) { - var ProcMapObj= new ProcessMapContext(); + var outputDocFields = Ext.data.Record.create([ { @@ -2255,7 +2251,7 @@ ProcessOptions.prototype.addOutputDoc= function(_5625) workflow.fieldName = 'OUT_DOC_FILENAME' ; workflow.variable = '@#', workflow.formSelected = outputDocForm; - var rowData = ProcMapObj.ExtVariables(); + var rowData = PMVariables(); console.log(rowData); } }] @@ -2403,7 +2399,7 @@ ProcessOptions.prototype.addOutputDoc= function(_5625) workflow.fieldName = 'OUT_DOC_DESTINATION_PATH' ; workflow.variable = '@@', workflow.formSelected = outputDocForm; - var rowData = ProcMapObj.ExtVariables(); + var rowData = PMVariables(); } }] }] @@ -2436,7 +2432,7 @@ ProcessOptions.prototype.addOutputDoc= function(_5625) workflow.fieldName = 'OUT_DOC_TAGS' ; workflow.variable = '@@', workflow.formSelected = outputDocForm; - var rowData = ProcMapObj.ExtVariables(); + var rowData = PMVariables(); } }] }] @@ -3078,9 +3074,10 @@ var formWindow = new Ext.Window({ } */ -ProcessOptions.prototype.addTriggers= function() + +ProcessOptions.prototype.addTriggers = function() { - var ProcMapObj= new ProcessMapContext(); + var triggerFields = Ext.data.Record.create([ {name: 'TRI_UID'}, {name: 'TRI_TITLE'}, @@ -3473,7 +3470,7 @@ var triggersForm = new Ext.FormPanel({ workflow.fieldName = 'TRI_WEBBOT' ; workflow.variable = '@@', workflow.formSelected = triggersForm; - var rowData = ProcMapObj.ExtVariables(); + var rowData = PMVariables(); } }] }] @@ -3677,3 +3674,324 @@ var triggersForm = new Ext.FormPanel({ }); gridWindow.show(); } + + +///*** from ProcessMapContext ***/// +var PMVariables = function() { + var varFields = Ext.data.Record.create( [ { + name : 'variable', + type : 'string' + }, { + name : 'type', + type : 'string' + }, { + name : 'label', + type : 'string' + } ]); + var varStore = ''; + varStore = new Ext.data.JsonStore( { + root : 'data', + totalProperty : 'totalCount', + idProperty : 'gridIndex', + remoteSort : true, + fields : varFields, + proxy : new Ext.data.HttpProxy( { + url : 'proxyExtjs?pid=' + pro_uid + '&action=getVariables&sFieldName=form[CTO_CONDITION]&sSymbol=@@' + }) + }); + //varStore.load(); + + var varColumns = new Ext.grid.ColumnModel( { + columns : [ new Ext.grid.RowNumberer(), { + id : 'FLD_NAME', + header : _('ID_VARIABLES'), + dataIndex : 'variable', + width : 170, + editable : false, + sortable : true + }, { + id : 'PRO_VARIABLE', + header : _('ID_LABEL'), + dataIndex : 'label', + width : 150, + sortable : true + } ] + }); + + var varForm = new Ext.FormPanel( { + labelWidth : 100, + monitorValid : true, + width : 400, + bodyStyle : 'padding:10px 0 0 10px;', + height : 350, + renderer : function(val) { + return '
@@ Replace the value in quotes
'; + }, + items : { + xtype : 'tabpanel', + activeTab : 0, + defaults : { + autoHeight : true + }, + items : [ { + title : _('ID_ALL_VARIABLES'), + id : 'allVar', + layout : 'form', + listeners : { + activate : function(tabPanel) { + // use {@link Ext.data.HttpProxy#setUrl setUrl} to change the URL for *just* this request. + var link = 'proxyExtjs?pid=' + pro_uid + '&action=getVariables&type=' + tabPanel.id + '&sFieldName=form[CTO_CONDITION]&sSymbol=@@'; + varStore.proxy.setUrl(link, true); + varStore.load(); + } + }, + items : [ { + xtype : 'grid', + ds : varStore, + cm : varColumns, + width : 380, + autoHeight : true, + //plugins: [editor], + //loadMask : true, + loadingText : 'Loading...', + border : false, + listeners : { + //rowdblclick: alert("ok"), + rowdblclick : function() { + var objectSelected = workflow.variablesAction; + switch (objectSelected) { + case 'grid': + var getObjectGridRow = workflow.gridObjectRowSelected; + var FieldSelected = workflow.gridField; + //getting selected row of variables + var rowSelected = this.getSelectionModel().getSelected(); + var rowLabel = rowSelected.data.variable; + + //Assigned new object with condition + if (typeof getObjectGridRow.colModel != 'undefined') + getObjectGridRow.colModel.config[3].editor.setValue(rowLabel); + //Assigning / updating Condition for a row + else + getObjectGridRow[0].set(FieldSelected, rowLabel); + + if (FieldSelected == 'CTO_CONDITION') { + Ext.Ajax.request( { + url : '../tracker/tracker_ConditionsSave.php', + method : 'POST', + params : { + PRO_UID : pro_uid, + CTO_UID : getObjectGridRow[0].data.CTO_UID, + CTO_CONDITION : getObjectGridRow[0].data.CTO_CONDITION + }, + success : function(response) { + Ext.MessageBox.alert('Status', 'Objects has been edited successfully '); + } + }) + } else if (FieldSelected == 'STEP_CONDITION') { + Ext.Ajax.request( { + url : '../steps/conditions_Save.php', + method : 'POST', + params : { + PRO_UID : pro_uid, + STEP_UID : getObjectGridRow[0].data.STEP_UID, + STEP_CONDITION : getObjectGridRow[0].data.STEP_CONDITION + }, + success : function(response) { + Ext.MessageBox.alert('Status', 'Objects has been edited successfully '); + } + }) + } else if (FieldSelected == 'ST_CONDITION') { + Ext.Ajax.request( { + url : '../steps/steps_Ajax.php', + method : 'POST', + params : { + action : 'saveTriggerCondition', + PRO_UID : pro_uid, + STEP_UID : getObjectGridRow[0].data.STEP_UID, + ST_CONDITION : getObjectGridRow[0].data.STEP_CONDITION, + TAS_UID : taskId, + TRI_UID : getObjectGridRow[0].data.TRI_UID, + ST_TYPE : getObjectGridRow[0].data.ST_TYPE + + }, + success : function(response) { + Ext.MessageBox.alert('Status', 'Objects has been edited successfully '); + } + }) + } + + window.hide(); + + break; + case 'form': + FormSelected = workflow.formSelected; + rowSelected = this.getSelectionModel().getSelected(); + FieldSelected = workflow.fieldName; + rowLabel = rowSelected.data.variable; + var value = FormSelected.getForm().findField(FieldSelected).setValue(rowLabel); + window.hide(); + break; + + } + + } + } + } ] + }, { + title : _('ID_SYSTEM'), + id : 'system', + layout : 'form', + listeners : { + activate : function(tabPanel) { + // use {@link Ext.data.HttpProxy#setUrl setUrl} to change the URL for *just* this request. + var link = 'proxyExtjs?pid=' + pro_uid + '&action=getVariables&type=' + tabPanel.id + '&sFieldName=form[CTO_CONDITION]&sSymbol=@@'; + varStore.proxy.setUrl(link, true); + varStore.load(); + } + }, + items : [ { + xtype : 'grid', + ds : varStore, + cm : varColumns, + width : 380, + autoHeight : true, + //plugins: [editor], + //loadMask : true, + loadingText : 'Loading...', + border : false, + listeners : { + //rowdblclick: alert("ok"), + rowdblclick : function() { + var objectSelected = workflow.variablesAction; + switch (objectSelected) { + case 'grid': + var getObjectGridRow = workflow.gridObjectRowSelected; + var FieldSelected = workflow.gridField; + //getting selected row of variables + var rowSelected = this.getSelectionModel().getSelected(); + var rowLabel = rowSelected.data.variable; + //Assigned new object with condition + if (typeof getObjectGridRow.colModel != 'undefined') + getObjectGridRow.colModel.config[3].editor.setValue(rowLabel); + //Assigning / updating Condition for a row + else + getObjectGridRow[0].set(FieldSelected, rowLabel); + if (CTO_UID != '') { + Ext.Ajax.request( { + url : '../tracker/tracker_ConditionsSave.php', + method : 'POST', + params : { + PRO_UID : pro_uid, + CTO_UID : getObjectGridRow[0].data.CTO_UID, + CTO_CONDITION : getObjectGridRow[0].data.CTO_CONDITION + }, + success : function(response) { + Ext.MessageBox.alert('Status', 'Objects has been edited successfully '); + } + }) + window.hide(); + } + + break; + case 'form': + FormSelected = workflow.formSelected; + rowSelected = this.getSelectionModel().getSelected(); + FieldSelected = workflow.fieldName; + rowLabel = rowSelected.data.variable; + var value = FormSelected.getForm().findField(FieldSelected).setValue(rowLabel); + window.hide(); + break; + + } + + } + } + } ] + }, { + title : _('ID_CASESLIST_APP_PRO_TITLE'), + id : 'process', + layout : 'form', + listeners : { + activate : function(tabPanel) { + // use {@link Ext.data.HttpProxy#setUrl setUrl} to change the URL for *just* this request. + var link = 'proxyExtjs?pid=' + pro_uid + '&action=getVariables&type=' + tabPanel.id + '&sFieldName=form[CTO_CONDITION]&sSymbol=@@'; + varStore.proxy.setUrl(link, true); + varStore.load(); + } + }, + items : [ { + xtype : 'grid', + ds : varStore, + cm : varColumns, + width : 380, + autoHeight : true, + //plugins: [editor], + //loadMask : true, + loadingText : 'Loading...', + border : false, + listeners : { + //rowdblclick: alert("ok"), + rowdblclick : function() { + var objectSelected = workflow.variablesAction; + switch (objectSelected) { + case 'grid': + var getObjectGridRow = workflow.gridObjectRowSelected; + var FieldSelected = workflow.gridField; + //getting selected row of variables + var rowSelected = this.getSelectionModel().getSelected(); + var rowLabel = rowSelected.data.variable; + //Assigned new object with condition + if (typeof getObjectGridRow.colModel != 'undefined') + getObjectGridRow.colModel.config[3].editor.setValue(rowLabel); + //Assigning / updating Condition for a row + else + getObjectGridRow[0].set(FieldSelected, rowLabel); + Ext.Ajax.request( { + url : '../tracker/tracker_ConditionsSave.php', + method : 'POST', + params : { + PRO_UID : pro_uid, + CTO_UID : getObjectGridRow[0].data.CTO_UID, + CTO_CONDITION : getObjectGridRow[0].data.CTO_CONDITION + }, + success : function(response) { + Ext.MessageBox.alert('Status', 'Objects has been edited successfully '); + } + }) + window.hide(); + break; + case 'form': + FormSelected = workflow.formSelected; + rowSelected = this.getSelectionModel().getSelected(); + FieldSelected = workflow.fieldName; + rowLabel = rowSelected.data.variable; + var value = FormSelected.getForm().findField(FieldSelected).setValue(rowLabel); + window.hide(); + break; + + } + + } + } + } ] + } ] + } + }); + + var window = new Ext.Window( { + title : _('ID_VARIABLES'), + collapsible : false, + maximizable : false, + scrollable : true, + width : 400, + height : 350, + minWidth : 200, + minHeight : 150, + autoScroll : true, + layout : 'fit', + plain : true, + buttonAlign : 'center', + items : [ varForm ] + }); + window.show(); +} \ No newline at end of file diff --git a/workflow/engine/templates/bpmn/processmap.js b/workflow/engine/templates/bpmn/processmap.js index 51f3280ed..55b280458 100755 --- a/workflow/engine/templates/bpmn/processmap.js +++ b/workflow/engine/templates/bpmn/processmap.js @@ -1,5 +1,5 @@ var _TAS_UID; -//var processObj; +var processObj; //var ProcessMapObj; Ext.onReady ( function() { @@ -10,7 +10,7 @@ Ext.onReady ( function() { } }); - //processObj = new ProcessOptions(); + processObj = new ProcessOptions(); //ProcessMapObj = new ProcessMapContext(); var west= {