diff --git a/workflow/engine/classes/class.processMap.php b/workflow/engine/classes/class.processMap.php
index 4c306a59f..2fe955020 100644
--- a/workflow/engine/classes/class.processMap.php
+++ b/workflow/engine/classes/class.processMap.php
@@ -5485,6 +5485,8 @@ class processMap {
{
try
{
+ $aDBList = array ();
+ //$aDBList [] = array ('STEP_TITLE' => 'char', 'STEP_UID' => 'char', 'STEP_TYPE_OBJ' => 'char', 'STEP_CONDITION' => 'char', 'STEP_POSITION' => 'integer','STEP_MODE' => 'char','STEP_UID_OBJ' => 'char' );
$sDelimiter = DBAdapter::getStringDelimiter();
$oCriteria = new Criteria('workflow');
$oCriteria->addSelectColumn(DbSourcePeer::DBS_UID);
diff --git a/workflow/engine/templates/bpmn/MyWorkflow.js b/workflow/engine/templates/bpmn/MyWorkflow.js
index 473006754..9bfe46578 100755
--- a/workflow/engine/templates/bpmn/MyWorkflow.js
+++ b/workflow/engine/templates/bpmn/MyWorkflow.js
@@ -288,6 +288,7 @@ this.canvasGateway.on('contextmenu', function(e) {
*/
MyWorkflow.prototype.AddSubProcessContextMenu=function(_4092)
{
+ var taskExtObj = new TaskContext();
this.canvasSubProcess = Ext.get(_4092.id);
this.contextSubProcessmenu = new Ext.menu.Menu({
items: [
@@ -308,7 +309,7 @@ MyWorkflow.prototype.AddSubProcessContextMenu=function(_4092)
},
{
text: 'Properties',
- handler: this.editSubProcessProperties,
+ handler: taskExtObj.editSubProcessProperties,
scope: this
}]
});
@@ -319,488 +320,6 @@ this.canvasSubProcess.on('contextmenu', function(e) {
}, this);
}
-/**
- * ExtJs Form of SubProcess Properties
- * @Param Shape Object
- * @Author Safan Maredia
- */
-MyWorkflow.prototype.editSubProcessProperties= function(_3525)
-{
- var pro_uid = workflow.getUrlVars();
- var taskId = workflow.currentSelection.id;
- //Variables Out Grid
- var subProcessFields = Ext.data.Record.create([
- {name: 'SP_UID',type: 'string'},
- {name: 'TAS_UID',type: 'string'},
- {name: 'PRO_PARENT',type: 'string'},
- {name: 'TAS_PARENT',type: 'string'},
- {name: 'SP_SYNCHRONOUS',type: 'string'},
- {name: 'SPROCESS_NAME',type: 'string'},
- {name: 'TASKS',type: 'string'},
- {name: 'TAS_TITLE',type: 'string'},
- {name: 'CON_VALUE',type: 'string'},
- {name: 'VAR_OUT1',type: 'string'},
- {name: 'VAR_OUT2',type: 'string'},
- {name: 'VAR_IN1',type: 'string'},
- {name: 'VAR_IN2',type: 'string'}
- ]);
-
- var editorOut = new Ext.ux.grid.RowEditor({
- saveText: 'Update'
- });
- var editorIn = new Ext.ux.grid.RowEditor({
- saveText: 'Update'
- });
-
- //Variable out grid configuration starts here
- var btnAddOut = new Ext.Button({
- id: 'btnAddOut',
- text: 'Assign Variables Out',
- iconCls: 'application_add',
- handler: function(){
- var e = new subProcessFields({
- SP_UID : '',
- PRO_PARENT : '',
- SP_SYNCHRONOUS : '',
- TAS_PARENT : '',
- VAR_OUT1 : '',
- VAR_OUT2 : ''
- });
-
- editorOut.stopEditing();
- variablesOutStore.insert(0, e);
- variableOutGrid.getView().refresh();
- //grid.getSelectionModel().selectRow(0);
- editorOut.startEditing(0, 0);
- }
- });
-
- var btnRemoveOut = new Ext.Button({
- id: 'btnRemoveOut',
- text: 'Remove Variables Out',
- iconCls: 'application_delete',
- handler: function (s) {
- editorOut.stopEditing();
- var s = variableOutGrid.getSelectionModel().getSelections();
- for(var i = 0, r; r = s[i]; i++){
- variablesOutStore.remove(r);
- }
- }
- });
-
- var tbOut = new Ext.Toolbar({
- items: [btnAddOut, btnRemoveOut]
- });
-
-
- //Variable out grid configuration starts here
- var btnAddIn = new Ext.Button({
- id: 'btnAddIn',
- text: 'Assign Variables In',
- iconCls: 'application_add',
- handler: function(){
- var e = new subProcessFields({
- SP_UID : '',
- PRO_PARENT : '',
- SP_SYNCHRONOUS : '',
- TAS_PARENT : '',
- VAR_IN1 : '',
- VAR_IN2 : ''
- });
-
- editorIn.stopEditing();
- variablesInStore.insert(0, e);
- variableInGrid.getView().refresh();
- editorIn.startEditing(0, 0);
- }
- });
-
- var btnRemoveIn = new Ext.Button({
- id: 'btnRemoveIn',
- text: 'Remove Variables In',
- iconCls: 'application_delete',
- handler: function (s) {
- editorIn.stopEditing();
- var s = variableInGrid.getSelectionModel().getSelections();
- for(var i = 0, r; r = s[i]; i++){
-
-
- //Secondly deleting from Grid
- variablesInStore.remove(r);
- }
- }
- });
-
- var tbIn = new Ext.Toolbar({
- items: [btnAddIn, btnRemoveIn]
- });
-
- // create the Data Store of all Variables Out
- var variablesOutStore = new Ext.data.JsonStore({
- root : 'data',
- totalProperty: 'totalCount',
- idProperty : 'gridIndex',
- remoteSort : true,
- fields : subProcessFields,
- proxy : new Ext.data.HttpProxy({
- url : 'proxySubProcessProperties?pid='+pro_uid+'&tid='+taskId+'&type=0' //type=0 specifies Variables Out (Asynchronous)
- })
- });
- variablesOutStore.load();
-
- // create the Data Store of all Variables In
- var variablesInStore = new Ext.data.JsonStore({
- root : 'data',
- totalProperty: 'totalCount',
- idProperty : 'gridIndex',
- remoteSort : true,
- fields : subProcessFields,
- proxy : new Ext.data.HttpProxy({
- url : 'proxySubProcessProperties?pid='+pro_uid+'&tid='+taskId+'&type=1' //type=1 specifies Variables In (Synchronous)
- })
- });
- //taskUsers.setDefaultSort('LABEL', 'asc');
- variablesInStore.load();
-
- var variableOutGrid = new Ext.grid.GridPanel({
- store : variablesOutStore,
- id : 'mygrid',
- loadMask : true,
- loadingText : 'Loading...',
- renderTo : 'cases-grid',
- frame : true,
- autoHeight : true,
- autoScroll : true,
- clicksToEdit: 1,
- layout : 'form',
- plugins : [editorOut],
- columns : [{
- id : 'VAR_OUT1',
- header : 'Origin',
- dataIndex: 'VAR_OUT1',
- width : 200,
- sortable : true,
- editor : new Ext.form.TextField({
- allowBlank: true
- })
- },
- {
- sortable: false,
- renderer: function()
- {
- return '';
- }
- },
- {
- id : 'VAR_OUT2',
- header : 'Target',
- dataIndex : 'VAR_OUT2',
- width : 200,
- sortable : true,
- editor : new Ext.form.TextField({
- allowBlank: true
- })
- },
- {
- sortable: false,
- renderer: function()
- {
- return '';
- }
- }
- ],
- viewConfig: {forceFit: true},
- stripeRows: true,
- tbar: tbOut
- });
-
- var variableInGrid = new Ext.grid.GridPanel({
- store : variablesInStore,
- id : 'mygrid1',
- loadMask : true,
- loadingText : 'Loading...',
- renderTo : 'cases-grid',
- frame : true,
- autoHeight : true,
- autoScroll : true,
- clicksToEdit: 1,
- layout : 'form',
- plugins : [editorIn],
- columns : [{
- id : 'VAR_IN1',
- header : 'Origin',
- dataIndex: 'VAR_IN1',
- width : 200,
- sortable : true,
- editor : new Ext.form.TextField({
- allowBlank: true
- })
- },
- {
- sortable: false,
- renderer: function()
- {
- return '';
- }
- },
- {
- id : 'VAR_IN2',
- header : 'Target',
- dataIndex : 'VAR_IN2',
- width : 200,
- sortable : true,
- editor : new Ext.form.TextField({
- allowBlank: true
- })
- },
- {
- sortable: false,
- renderer: function()
- {
- return '';
- }
- }
- ],
- viewConfig: {forceFit: true},
- stripeRows: true,
- tbar: tbIn
- });
-
-
-
- editorOut.on({
- scope: this,
- afteredit: function(roweditor, changes, record, rowIndex) {
-
-
- var sTasks = record.data.TASKS;
- var sSync = record.data.SP_SYNCHRONOUS;
- var sSP_UID = record.data.SP_UID;
- var sProcess_Parent = record.data.PRO_PARENT;
- var sTask_Parent = record.data.TAS_PARENT;
- var sVar_Out1 = record.data.VAR_OUT1;
- var sVar_Out2 = record.data.VAR_OUT2;
-
- Ext.Ajax.request({
- url : 'processes_Ajax.php',
- method: 'POST',
- params: {
- action : 'saveSubProcessDetails',
- TASKS : sTasks,
- SP_SYNCHRONOUS : sSync,
- SP_UID : sSP_UID,
- PRO_PARENT : sProcess_Parent,
- TAS_PARENT : sTask_Parent,
- VAR_OUT1 : sVar_Out1,
- VAR_OUT2 : sVar_Out2
- },
- success: function(response) {
- Ext.MessageBox.alert ('Status','Variable Out has been saved successfully.');
- }
- });
-
- }
- });
-
- editorIn.on({
- scope: this,
- afteredit: function(roweditor, changes, record, rowIndex) {
-
-
- var sTasks = record.data.TASKS;
- var sSync = record.data.SP_SYNCHRONOUS;
- var sSP_UID = record.data.SP_UID;
- var sProcess_Parent = record.data.PRO_PARENT;
- var sTask_Parent = record.data.TAS_PARENT;
- var sVar_In1 = record.data.VAR_IN1;
- var sVar_In2 = record.data.VAR_IN2;
-
- Ext.Ajax.request({
- url : 'processes_Ajax.php',
- method: 'POST',
- params: {
- action : 'saveSubProcessDetails',
- TASKS : sTasks,
- SP_SYNCHRONOUS : sSync,
- SP_UID : sSP_UID,
- PRO_PARENT : sProcess_Parent,
- TAS_PARENT : sTask_Parent,
- VAR_IN1 : sVar_In1,
- VAR_IN2 : sVar_In2
- },
- success: function(response) {
- Ext.MessageBox.alert ('Status','Variable In has been saved successfully.');
- }
- });
-
- }
- });
-
- var subProcessProperties = new Ext.FormPanel({
- labelWidth : 110, // label settings here cascade unless overridden
- //frame:true,
- bodyStyle:'padding:5px 5px 0',
- scope: _3525,
- items: [
- {
- xtype:'fieldset',
- title: 'Sub-Process',
- collapsible: false,
- autoHeight:true,
- //width: 600,
- defaultType: 'textfield',
- items:[
- {
- id: 'subProcessName',
- xtype: 'textfield',
- width: 350,
- fieldLabel: 'SubProcess name',
- name : 'SPROCESS_NAME',
- allowBlank: false
- },
- {
- width: 300,
- xtype: 'combo',
- mode: 'local',
- triggerAction: 'all',
- forceSelection: true,
- editable: false,
- fieldLabel: 'Process',
- name: 'process',
- emptyText : 'Select Process',
- displayField: 'PROCESSES',
- valueField: 'PROCESSES',
- store: variablesOutStore
- },
- {
- width: 150,
- id : 'spType',
- xtype: 'combo',
- mode: 'local',
- triggerAction: 'all',
- forceSelection: true,
- editable: false,
- fieldLabel: 'Type',
- name: 'SP_SYNCHRONOUS',
- hiddenName: 'SP_SYNCHRONOUS',
- displayField: 'name',
- valueField: 'value',
- emptyText : 'Select Type',
- store: new Ext.data.JsonStore({
- fields : ['name', 'value'],
- data : [
- {name : 'Asynchronous', value: 'Asynchronous'},
- {name : 'Synchronous', value: 'Synchronous'},
- ]
- }),
- onSelect: function(record, index){
- if(record.data.name == 'Synchronous')
- Ext.getCmp("variablein").show();
- else
- Ext.getCmp("variablein").hide();
-
- this.setValue(record.data[this.valueField || this.displayField]);
- this.collapse();
- }
- }]
- },
- {
- id :'variableout',
- xtype:'fieldset',
- title: 'Variables Out',
- collapsible: false,
- labelAlign: 'top',
- items:[variableOutGrid]
- },
- {
- id :'variablein',
- xtype:'fieldset',
- title: 'Variables In',
- //hidden: true,
- collapsible: false,
- labelAlign: 'top',
- items:[variableInGrid]
- }]
- });
-
- //Loading Task Details into the form
- subProcessProperties.form.load({
- url:'proxySubProcessProperties?pid='+pro_uid+'&tid='+taskId+'&type=2',
- method:'GET',
- //waitMsg:'Loading',
- success:function(form, action) {
- Ext.getCmp("subProcessName").setValue(action.result.data[0].TAS_TITLE);
- if(action.result.data[0].SP_SYNCHRONOUS == 0)
- {
- Ext.getCmp("variablein").hide();
- Ext.getCmp("spType").setValue("Asynchronous");
- }
- else
- {
- Ext.getCmp("variablein").show();
- Ext.getCmp("spType").setValue("Synchronous");
- }
- workflow.subProcessProperties = action.result.data[0];
- },
- failure:function(form, action) {
- Ext.MessageBox.alert('Message', 'Load failed');
- }
- });
-
- subProcessProperties.render(document.body);
- // workflow.subProcessProperties = subProcessProperties;
-
- var window = new Ext.Window({
- title: 'Task: ',
- collapsible: false,
- maximizable: false,
- width: 800,
- height: 500,
- minWidth: 300,
- minHeight: 150,
- layout: 'fit',
- plain: true,
- bodyStyle: 'padding:5px;',
- buttonAlign: 'center',
- items: subProcessProperties,
- buttons: [{
- text: 'Save',
- handler: function(){
- var getForm = subProcessProperties.getForm().getValues();
- var sTask_Parent = workflow.subProcessProperties.TAS_PARENT;
- var sSPNAME = getForm.SPROCESS_NAME;
- Ext.Ajax.request({
- url : 'processes_Ajax.php',
- method: 'POST',
- params: {
- action : 'subprocessProperties',
- TAS_PARENT : sTask_Parent,
- SPROCESS_NAME : sSPNAME
- },
- success: function(response) {
- Ext.MessageBox.alert ('Status','Sub Process Properties has been saved successfully.');
- }
- });
-
- workflow.currentSelection.bpmnNewText.clear();
- workflow.currentSelection.bpmnNewText.drawStringRect(sSPNAME,20,20,100,'left');
- workflow.currentSelection.bpmnNewText.paint();
- workflow.currentSelection.subProcessName = sSPNAME;
- //var getstore = taskPropertiesTabs.getStore();
- //var getData = getstore.data.items;
- //taskExtObj.saveTaskProperties(_5625);
- }
- },{
- text: 'Cancel',
- handler: function(){
- // when this button clicked,
- window.close();
- }
- }]
- });
- window.show();
-
-}
//Window pop up function when user clicks on Gateways properties
diff --git a/workflow/engine/templates/bpmn/ProcessOptions.js b/workflow/engine/templates/bpmn/ProcessOptions.js
index e6b002e1c..6189fd768 100755
--- a/workflow/engine/templates/bpmn/ProcessOptions.js
+++ b/workflow/engine/templates/bpmn/ProcessOptions.js
@@ -140,7 +140,7 @@ ProcessOptions.prototype.addDynaform= function(_5625)
url: 'proxyExtjs?action=getAdditionalTables'
})
});
- //additionalTables.load();
+ additionalTables.load();
//Creating store for getting list of Fields of additional PM tables
var TablesFields = Ext.data.Record.create([
@@ -224,7 +224,7 @@ ProcessOptions.prototype.addDynaform= function(_5625)
sortable: false,
renderer: function(val, meta, record)
{
- return String.format("",record.data.DYN_UID);
+ return String.format("",record.data.DYN_UID);
}
}
]
@@ -240,22 +240,18 @@ ProcessOptions.prototype.addDynaform= function(_5625)
width: 200,
editable: false,
sortable: true,
- editor: {
- xtype: 'textfield',
- //allowBlank: false,
- name : 'FLD_NAME'
- }
+ editor: new Ext.form.TextField({
+ allowBlank: false
+ })
},{
id: 'PRO_VARIABLE',
header: 'Variables',
dataIndex: 'PRO_VARIABLE',
width: 200,
sortable: true,
- editor: {
- xtype: 'textfield',
- // allowBlank: false,
- name : 'PRO_VARIABLE'
- }
+ editor: new Ext.form.TextField({
+ allowBlank: false
+ })
},{
sortable: false,
renderer: function(val){return '';}
@@ -321,13 +317,13 @@ ProcessOptions.prototype.addDynaform= function(_5625)
change: function(radiogroup, radio) {
if(radio.inputValue == 'blankDyna')
{
- Ext.get("blankDynaform").show();
- Ext.get("pmTableDynaform").hide();
+ Ext.getCmp("blankDynaform").show();
+ Ext.getCmp("pmTableDynaform").hide();
}
else
{
- Ext.get("blankDynaform").hide();
- Ext.get("pmTableDynaform").show();
+ Ext.getCmp("blankDynaform").hide();
+ Ext.getCmp("pmTableDynaform").show();
}
}
}
@@ -385,11 +381,11 @@ ProcessOptions.prototype.addDynaform= function(_5625)
width: 150,
xtype: 'combo',
mode: 'local',
- editable: false,
+ editable: true,
triggerAction: 'all',
forceSelection: true,
fieldLabel: 'Create from a PM Table',
- //name: 'ADD_TABLE',
+ emptyText : 'Select Table',
displayField: 'ADD_TAB_NAME',
valueField: 'ADD_TAB_UID',
value : '---------------------------',
@@ -426,16 +422,17 @@ ProcessOptions.prototype.addDynaform= function(_5625)
xtype: 'grid',
id:'fieldsGrid',
hidden: true,
- ds: tablesFieldsStore,
+ store: tablesFieldsStore,
cm: addTableColumns,
width: 550,
//height: 300,
autoHeight: true,
+ clicksToEdit: 1,
plugins: [editor],
//loadMask : true,
loadingText : 'Loading...',
- border: true,
- renderTo : Ext.getBody()
+ border: false
+ //renderTo : Ext.getBody()
}
]
}
@@ -554,8 +551,9 @@ ProcessOptions.prototype.dbConnection = function()
text: 'New',
iconCls: 'button_menu_ext ss_sprite ss_add',
handler: function () {
- formWindow.show();
dbconnForm.getForm().reset();
+ formWindow.show();
+
}
});
@@ -710,6 +708,7 @@ ProcessOptions.prototype.dbConnection = function()
//allowBlank:false,
width:450,
frame:true,
+ autoDestroy : true,
monitorValid : true,
plain: true,
bodyStyle: 'padding:5px;',
@@ -725,9 +724,10 @@ ProcessOptions.prototype.dbConnection = function()
forceSelection: true,
name: 'DBS_TYPE',
displayField: 'name',
- //emptyText : 'Select Format',
+ emptyText : 'Select Format',
valueField : 'value',
- value : 'Select',
+ allowBlank: false,
+ //value : 'Select',
store: new Ext.data.JsonStore({
fields : ['name', 'value'],
data : [
diff --git a/workflow/engine/templates/bpmn/TaskContext.js b/workflow/engine/templates/bpmn/TaskContext.js
index ac756c415..64bccd9b7 100755
--- a/workflow/engine/templates/bpmn/TaskContext.js
+++ b/workflow/engine/templates/bpmn/TaskContext.js
@@ -713,7 +713,7 @@ TaskContext.prototype.editTaskProperties= function()
var taskId = workflow.currentSelection.id;
// create the Data Store for processes
- var taskDetails = new Ext.data.JsonStore({
+ /*var taskDetails = new Ext.data.JsonStore({
root : 'data',
totalProperty: 'totalCount',
idProperty : 'gridIndex',
@@ -722,9 +722,9 @@ TaskContext.prototype.editTaskProperties= function()
proxy: new Ext.data.HttpProxy({
url: 'proxyExtjs?tid='+taskId+'&action=getPropertiesList'
})
- });
+ });*/
//taskUsers.setDefaultSort('LABEL', 'asc');
- taskDetails.load();
+ //taskDetails.load();
var taskPropertiesTabs = new Ext.FormPanel({
@@ -775,7 +775,7 @@ TaskContext.prototype.editTaskProperties= function()
border:false,
items: [{
xtype: 'textfield',
- id: 'priorityVariable',
+ //id: 'priorityVariable',
fieldLabel: 'Variable for Case priority',
name: 'TAS_PRIORITY_VARIABLE',
anchor:'100%'
@@ -823,7 +823,8 @@ TaskContext.prototype.editTaskProperties= function()
id: 'BALANCED',
name: 'TAS_ASSIGN_TYPE',
inputValue: 'BALANCED',
- checked: false
+ checked: false,
+ listeners: {'check':{fn: function(){Ext.getCmp("staticMI").hide();Ext.getCmp("cancelMI").hide();Ext.getCmp("evaluate").hide();}}}
},
{
@@ -831,7 +832,8 @@ TaskContext.prototype.editTaskProperties= function()
id: 'MANUAL',
name: 'TAS_ASSIGN_TYPE',
inputValue: 'MANUAL',
- checked:false
+ checked:false,
+ listeners: {'check':{fn: function(){Ext.getCmp("staticMI").hide();Ext.getCmp("cancelMI").hide();Ext.getCmp("evaluate").hide();}}}
},
{
@@ -856,14 +858,16 @@ TaskContext.prototype.editTaskProperties= function()
id:'REPORT_TO',
name: 'TAS_ASSIGN_TYPE',
inputValue: 'REPORT_TO',
- checked:false
+ checked:false,
+ listeners: {'check':{fn: function(){Ext.getCmp("staticMI").hide();Ext.getCmp("cancelMI").hide();Ext.getCmp("evaluate").hide();}}}
},
{
boxLabel: 'Self Service',
id:'SELF_SERVICE',
name: 'TAS_ASSIGN_TYPE',
inputValue: 'SELF_SERVICE',
- checked:false
+ checked:false,
+ listeners: {'check':{fn: function(){Ext.getCmp("staticMI").hide();Ext.getCmp("cancelMI").hide();Ext.getCmp("evaluate").hide();}}}
},
{
@@ -1084,12 +1088,12 @@ TaskContext.prototype.editTaskProperties= function()
data : [
{
name : 'Work Days',
- value: 'Work Days'
+ value: '1'
},
{
name : 'Calendar Days',
- value: 'Calendar Days'
+ value: '2'
},
]
})
@@ -2069,3 +2073,486 @@ TaskContext.prototype.editUsersAdHoc= function()
});
window.show();
}
+
+/**
+ * ExtJs Form of SubProcess Properties
+ * @Param Shape Object
+ * @Author Safan Maredia
+ */
+TaskContext.prototype.editSubProcessProperties= function(_3525)
+{
+ var pro_uid = workflow.getUrlVars();
+ var taskId = workflow.currentSelection.id;
+ //Variables Out Grid
+ var subProcessFields = Ext.data.Record.create([
+ {name: 'SP_UID',type: 'string'},
+ {name: 'TAS_UID',type: 'string'},
+ {name: 'PRO_PARENT',type: 'string'},
+ {name: 'TAS_PARENT',type: 'string'},
+ {name: 'SP_SYNCHRONOUS',type: 'string'},
+ {name: 'SPROCESS_NAME',type: 'string'},
+ {name: 'TASKS',type: 'string'},
+ {name: 'TAS_TITLE',type: 'string'},
+ {name: 'CON_VALUE',type: 'string'},
+ {name: 'VAR_OUT1',type: 'string'},
+ {name: 'VAR_OUT2',type: 'string'},
+ {name: 'VAR_IN1',type: 'string'},
+ {name: 'VAR_IN2',type: 'string'}
+ ]);
+
+ var editorOut = new Ext.ux.grid.RowEditor({
+ saveText: 'Update'
+ });
+ var editorIn = new Ext.ux.grid.RowEditor({
+ saveText: 'Update'
+ });
+
+ //Variable out grid configuration starts here
+ var btnAddOut = new Ext.Button({
+ id: 'btnAddOut',
+ text: 'Assign Variables Out',
+ iconCls: 'application_add',
+ handler: function(){
+ var e = new subProcessFields({
+ SP_UID : '',
+ PRO_PARENT : '',
+ SP_SYNCHRONOUS : '',
+ TAS_PARENT : '',
+ VAR_OUT1 : '',
+ VAR_OUT2 : ''
+ });
+
+ editorOut.stopEditing();
+ variablesOutStore.insert(0, e);
+ variableOutGrid.getView().refresh();
+ //grid.getSelectionModel().selectRow(0);
+ editorOut.startEditing(0, 0);
+ }
+ });
+
+ var btnRemoveOut = new Ext.Button({
+ id: 'btnRemoveOut',
+ text: 'Remove Variables Out',
+ iconCls: 'application_delete',
+ handler: function (s) {
+ editorOut.stopEditing();
+ var s = variableOutGrid.getSelectionModel().getSelections();
+ for(var i = 0, r; r = s[i]; i++){
+ variablesOutStore.remove(r);
+ }
+ }
+ });
+
+ var tbOut = new Ext.Toolbar({
+ items: [btnAddOut, btnRemoveOut]
+ });
+
+
+ //Variable out grid configuration starts here
+ var btnAddIn = new Ext.Button({
+ id: 'btnAddIn',
+ text: 'Assign Variables In',
+ iconCls: 'application_add',
+ handler: function(){
+ var e = new subProcessFields({
+ SP_UID : '',
+ PRO_PARENT : '',
+ SP_SYNCHRONOUS : '',
+ TAS_PARENT : '',
+ VAR_IN1 : '',
+ VAR_IN2 : ''
+ });
+
+ editorIn.stopEditing();
+ variablesInStore.insert(0, e);
+ variableInGrid.getView().refresh();
+ editorIn.startEditing(0, 0);
+ }
+ });
+
+ var btnRemoveIn = new Ext.Button({
+ id: 'btnRemoveIn',
+ text: 'Remove Variables In',
+ iconCls: 'application_delete',
+ handler: function (s) {
+ editorIn.stopEditing();
+ var s = variableInGrid.getSelectionModel().getSelections();
+ for(var i = 0, r; r = s[i]; i++){
+
+
+ //Secondly deleting from Grid
+ variablesInStore.remove(r);
+ }
+ }
+ });
+
+ var tbIn = new Ext.Toolbar({
+ items: [btnAddIn, btnRemoveIn]
+ });
+
+ // create the Data Store of all Variables Out
+ var variablesOutStore = new Ext.data.JsonStore({
+ root : 'data',
+ totalProperty: 'totalCount',
+ idProperty : 'gridIndex',
+ remoteSort : true,
+ fields : subProcessFields,
+ proxy : new Ext.data.HttpProxy({
+ url : 'proxySubProcessProperties?pid='+pro_uid+'&tid='+taskId+'&type=0' //type=0 specifies Variables Out (Asynchronous)
+ })
+ });
+ variablesOutStore.load();
+
+ // create the Data Store of all Variables In
+ var variablesInStore = new Ext.data.JsonStore({
+ root : 'data',
+ totalProperty: 'totalCount',
+ idProperty : 'gridIndex',
+ remoteSort : true,
+ fields : subProcessFields,
+ proxy : new Ext.data.HttpProxy({
+ url : 'proxySubProcessProperties?pid='+pro_uid+'&tid='+taskId+'&type=1' //type=1 specifies Variables In (Synchronous)
+ })
+ });
+ //taskUsers.setDefaultSort('LABEL', 'asc');
+ variablesInStore.load();
+
+ var variableOutGrid = new Ext.grid.GridPanel({
+ store : variablesOutStore,
+ id : 'mygrid',
+ loadMask : true,
+ loadingText : 'Loading...',
+ renderTo : 'cases-grid',
+ frame : true,
+ autoHeight : true,
+ autoScroll : true,
+ clicksToEdit: 1,
+ layout : 'form',
+ plugins : [editorOut],
+ columns : [{
+ id : 'VAR_OUT1',
+ header : 'Origin',
+ dataIndex: 'VAR_OUT1',
+ width : 200,
+ sortable : true,
+ editor : new Ext.form.TextField({
+ allowBlank: true
+ })
+ },
+ {
+ sortable: false,
+ renderer: function()
+ {
+ return '';
+ }
+ },
+ {
+ id : 'VAR_OUT2',
+ header : 'Target',
+ dataIndex : 'VAR_OUT2',
+ width : 200,
+ sortable : true,
+ editor : new Ext.form.TextField({
+ allowBlank: true
+ })
+ },
+ {
+ sortable: false,
+ renderer: function()
+ {
+ return '';
+ }
+ }
+ ],
+ viewConfig: {forceFit: true},
+ stripeRows: true,
+ tbar: tbOut
+ });
+
+ var variableInGrid = new Ext.grid.GridPanel({
+ store : variablesInStore,
+ id : 'mygrid1',
+ loadMask : true,
+ loadingText : 'Loading...',
+ renderTo : 'cases-grid',
+ frame : true,
+ autoHeight : true,
+ autoScroll : true,
+ clicksToEdit: 1,
+ layout : 'form',
+ plugins : [editorIn],
+ columns : [{
+ id : 'VAR_IN1',
+ header : 'Origin',
+ dataIndex: 'VAR_IN1',
+ width : 200,
+ sortable : true,
+ editor : new Ext.form.TextField({
+ allowBlank: true
+ })
+ },
+ {
+ sortable: false,
+ renderer: function()
+ {
+ return '';
+ }
+ },
+ {
+ id : 'VAR_IN2',
+ header : 'Target',
+ dataIndex : 'VAR_IN2',
+ width : 200,
+ sortable : true,
+ editor : new Ext.form.TextField({
+ allowBlank: true
+ })
+ },
+ {
+ sortable: false,
+ renderer: function()
+ {
+ return '';
+ }
+ }
+ ],
+ viewConfig: {forceFit: true},
+ stripeRows: true,
+ tbar: tbIn
+ });
+
+
+
+ editorOut.on({
+ scope: this,
+ afteredit: function(roweditor, changes, record, rowIndex) {
+
+
+ var sTasks = record.data.TASKS;
+ var sSync = record.data.SP_SYNCHRONOUS;
+ var sSP_UID = record.data.SP_UID;
+ var sProcess_Parent = record.data.PRO_PARENT;
+ var sTask_Parent = record.data.TAS_PARENT;
+ var sVar_Out1 = record.data.VAR_OUT1;
+ var sVar_Out2 = record.data.VAR_OUT2;
+
+ Ext.Ajax.request({
+ url : 'processes_Ajax.php',
+ method: 'POST',
+ params: {
+ action : 'saveSubProcessDetails',
+ TASKS : sTasks,
+ SP_SYNCHRONOUS : sSync,
+ SP_UID : sSP_UID,
+ PRO_PARENT : sProcess_Parent,
+ TAS_PARENT : sTask_Parent,
+ VAR_OUT1 : sVar_Out1,
+ VAR_OUT2 : sVar_Out2
+ },
+ success: function(response) {
+ Ext.MessageBox.alert ('Status','Variable Out has been saved successfully.');
+ }
+ });
+
+ }
+ });
+
+ editorIn.on({
+ scope: this,
+ afteredit: function(roweditor, changes, record, rowIndex) {
+
+
+ var sTasks = record.data.TASKS;
+ var sSync = record.data.SP_SYNCHRONOUS;
+ var sSP_UID = record.data.SP_UID;
+ var sProcess_Parent = record.data.PRO_PARENT;
+ var sTask_Parent = record.data.TAS_PARENT;
+ var sVar_In1 = record.data.VAR_IN1;
+ var sVar_In2 = record.data.VAR_IN2;
+
+ Ext.Ajax.request({
+ url : 'processes_Ajax.php',
+ method: 'POST',
+ params: {
+ action : 'saveSubProcessDetails',
+ TASKS : sTasks,
+ SP_SYNCHRONOUS : sSync,
+ SP_UID : sSP_UID,
+ PRO_PARENT : sProcess_Parent,
+ TAS_PARENT : sTask_Parent,
+ VAR_IN1 : sVar_In1,
+ VAR_IN2 : sVar_In2
+ },
+ success: function(response) {
+ Ext.MessageBox.alert ('Status','Variable In has been saved successfully.');
+ }
+ });
+
+ }
+ });
+
+ var subProcessProperties = new Ext.FormPanel({
+ labelWidth : 110, // label settings here cascade unless overridden
+ //frame:true,
+ bodyStyle:'padding:5px 5px 0',
+ scope: _3525,
+ items: [
+ {
+ xtype:'fieldset',
+ title: 'Sub-Process',
+ collapsible: false,
+ autoHeight:true,
+ //width: 600,
+ defaultType: 'textfield',
+ items:[
+ {
+ id: 'subProcessName',
+ xtype: 'textfield',
+ width: 350,
+ fieldLabel: 'SubProcess name',
+ name : 'SPROCESS_NAME',
+ allowBlank: false
+ },
+ {
+ width: 300,
+ xtype: 'combo',
+ mode: 'local',
+ triggerAction: 'all',
+ forceSelection: true,
+ editable: false,
+ fieldLabel: 'Process',
+ name: 'process',
+ emptyText : 'Select Process',
+ displayField: 'PROCESSES',
+ valueField: 'PROCESSES',
+ store: variablesOutStore
+ },
+ {
+ width: 150,
+ id : 'spType',
+ xtype: 'combo',
+ mode: 'local',
+ triggerAction: 'all',
+ forceSelection: true,
+ editable: false,
+ fieldLabel: 'Type',
+ name: 'SP_SYNCHRONOUS',
+ hiddenName: 'SP_SYNCHRONOUS',
+ displayField: 'name',
+ valueField: 'value',
+ emptyText : 'Select Type',
+ store: new Ext.data.JsonStore({
+ fields : ['name', 'value'],
+ data : [
+ {name : 'Asynchronous', value: 'Asynchronous'},
+ {name : 'Synchronous', value: 'Synchronous'},
+ ]
+ }),
+ onSelect: function(record, index){
+ if(record.data.name == 'Synchronous')
+ Ext.getCmp("variablein").show();
+ else
+ Ext.getCmp("variablein").hide();
+
+ this.setValue(record.data[this.valueField || this.displayField]);
+ this.collapse();
+ }
+ }]
+ },
+ {
+ id :'variableout',
+ xtype:'fieldset',
+ title: 'Variables Out',
+ collapsible: false,
+ labelAlign: 'top',
+ items:[variableOutGrid]
+ },
+ {
+ id :'variablein',
+ xtype:'fieldset',
+ title: 'Variables In',
+ //hidden: true,
+ collapsible: false,
+ labelAlign: 'top',
+ items:[variableInGrid]
+ }]
+ });
+
+ //Loading Task Details into the form
+ subProcessProperties.form.load({
+ url:'proxySubProcessProperties?pid='+pro_uid+'&tid='+taskId+'&type=2',
+ method:'GET',
+ //waitMsg:'Loading',
+ success:function(form, action) {
+ Ext.getCmp("subProcessName").setValue(action.result.data[0].TAS_TITLE);
+ if(action.result.data[0].SP_SYNCHRONOUS == 0)
+ {
+ Ext.getCmp("variablein").hide();
+ Ext.getCmp("spType").setValue("Asynchronous");
+ }
+ else
+ {
+ Ext.getCmp("variablein").show();
+ Ext.getCmp("spType").setValue("Synchronous");
+ }
+ workflow.subProcessProperties = action.result.data[0];
+ },
+ failure:function(form, action) {
+ Ext.MessageBox.alert('Message', 'Load failed');
+ }
+ });
+
+ subProcessProperties.render(document.body);
+ // workflow.subProcessProperties = subProcessProperties;
+
+ var window = new Ext.Window({
+ title: 'Task: ',
+ collapsible: false,
+ maximizable: false,
+ width: 800,
+ height: 500,
+ minWidth: 300,
+ minHeight: 150,
+ layout: 'fit',
+ plain: true,
+ bodyStyle: 'padding:5px;',
+ buttonAlign: 'center',
+ items: subProcessProperties,
+ buttons: [{
+ text: 'Save',
+ handler: function(){
+ var getForm = subProcessProperties.getForm().getValues();
+ var sTask_Parent = workflow.subProcessProperties.TAS_PARENT;
+ var sSPNAME = getForm.SPROCESS_NAME;
+ Ext.Ajax.request({
+ url : 'processes_Ajax.php',
+ method: 'POST',
+ params: {
+ action : 'subprocessProperties',
+ TAS_PARENT : sTask_Parent,
+ SPROCESS_NAME : sSPNAME
+ },
+ success: function(response) {
+ Ext.MessageBox.alert ('Status','Sub Process Properties has been saved successfully.');
+ }
+ });
+
+ workflow.currentSelection.bpmnNewText.clear();
+ workflow.currentSelection.bpmnNewText.drawStringRect(sSPNAME,20,20,100,'left');
+ workflow.currentSelection.bpmnNewText.paint();
+ workflow.currentSelection.subProcessName = sSPNAME;
+ //var getstore = taskPropertiesTabs.getStore();
+ //var getData = getstore.data.items;
+ //taskExtObj.saveTaskProperties(_5625);
+ }
+ },{
+ text: 'Cancel',
+ handler: function(){
+ // when this button clicked,
+ window.close();
+ }
+ }]
+ });
+ window.show();
+
+}
\ No newline at end of file