//Ext.BLANK_IMAGE_URL = 'resources/s.gif'; var startCaseFilter; var newCaseNewTab; Ext.chart.Chart.CHART_URL = '/images/charts.swf'; Ext.FlashComponent.EXPRESS_INSTALL_URL = '/images/expressinstall.swf'; // The Quicktips are used for the toolbar and Tree mouseover tooltips! var conn = new Ext.data.Connection(); Docs = {}; var infoCase = new Ext.form.FormPanel({ xtype: 'panel', region : 'center', width : '100%', labelAlign: 'right', waitMsgTarget: true, layout:'form', bodyStyle:'padding:25px', height: 'auto', html: _('ID_CASES_NOT_START') }); Ext.onReady(function() { var newCaseTree = new Ext.ux.MaskTree({ id: 'startCaseTreePanel', region: 'center', useArrows: true, animate: true, split : true, autoScroll: true, dataUrl: 'casesStartPage_Ajax?action=getProcessList', rootVisible: false, containerScroll: true, border: false, root: { nodeType: 'async', expanded : true }, tbar : [ { xtype : 'textfield', name : 'processesFilter', id : 'processesFilter', emptyText : _('ID_FIND_A_PROCESS'), enableKeyEvents : true, listeners : { render : function(f) { startCaseFilter = new Ext.ux.tree.TreeFilterX(Ext.getCmp('startCaseTreePanel')); }, specialkey : function(f, e) { if (e.getKey() == e.ENTER) { txt = Ext.getCmp('processesFilter').getValue(); startCaseFilter.clear(); var re = new RegExp('.*' + txt + '.*', 'i'); startCaseFilter.filter(re, 'text'); } }, scope : this } }, { text : 'X', ctCls : 'pm_search_x_button', handler : function() { Ext.Ajax.request({ url : 'casesStartPage_Ajax' , params : {action : 'verifySession'}, success: function ( result, request ) { var data = Ext.util.JSON.decode(result.responseText); if( data.lostSession ) { Ext.Msg.show({ title: _('ID_ERROR'), msg: data.message, animEl: 'elId', icon: Ext.MessageBox.ERROR, buttons: Ext.MessageBox.OK, fn : function(btn) { try { prnt = parent.parent; top.location = top.location; } catch (err) { parent.location = parent.location; } } }); } else { Ext.getCmp('processesFilter').setValue(''); startCaseFilter.clear(); } }, failure: function ( result, request) { if (typeof(result.responseText) != 'undefined') { Ext.MessageBox.alert( _('ID_FAILED'), result.responseText); } } }); } }, ' ', ' ', { iconCls : 'icon-expand-all', tooltip : _('ID_EXPAND_ALL'), handler : function() { Ext.Ajax.request({ url : 'casesStartPage_Ajax' , params : {action : 'verifySession'}, success: function ( result, request ) { var data = Ext.util.JSON.decode(result.responseText); if( data.lostSession ) { Ext.Msg.show({ title: _('ID_ERROR'), msg: data.message, animEl: 'elId', icon: Ext.MessageBox.ERROR, buttons: Ext.MessageBox.OK, fn : function(btn) { try { prnt = parent.parent; top.location = top.location; } catch (err) { parent.location = parent.location; } } }); } else { Ext.getCmp("startCaseTreePanel").root.expand(true); } }, failure: function ( result, request) { if (typeof(result.responseText) != 'undefined') { Ext.MessageBox.alert( _('ID_FAILED'), result.responseText); } } }); }, scope : this }, '-', { iconCls : 'icon-collapse-all', tooltip : _('ID_COLLAPSE_ALL'), handler : function() { Ext.Ajax.request({ url : 'casesStartPage_Ajax' , params : {action : 'verifySession'}, success: function ( result, request ) { var data = Ext.util.JSON.decode(result.responseText); if( data.lostSession ) { Ext.Msg.show({ title: _('ID_ERROR'), msg: data.message, animEl: 'elId', icon: Ext.MessageBox.ERROR, buttons: Ext.MessageBox.OK, fn : function(btn) { try { prnt = parent.parent; top.location = top.location; } catch (err) { parent.location = parent.location; } } }); } else { Ext.getCmp("startCaseTreePanel").root.collapse(true); } }, failure: function ( result, request) { if (typeof(result.responseText) != 'undefined') { Ext.MessageBox.alert( _('ID_FAILED'), result.responseText); } } }); }, scope : this }, ' ', ' ', { xtype : 'tbbutton', cls : 'x-btn-icon', icon : '/images/refresh.gif', handler : function() { Ext.Ajax.request({ url : 'casesStartPage_Ajax' , params : {action : 'verifySession'}, success: function ( result, request ) { var data = Ext.util.JSON.decode(result.responseText); if( data.lostSession ) { Ext.Msg.show({ title: _('ID_ERROR'), msg: data.message, animEl: 'elId', icon: Ext.MessageBox.ERROR, buttons: Ext.MessageBox.OK, fn : function(btn) { try { prnt = parent.parent; top.location = top.location; } catch (err) { parent.location = parent.location; } } }); } else { tree = Ext.getCmp('startCaseTreePanel'); tree.getLoader().load(tree.root); } }, failure: function ( result, request) { if (typeof(result.responseText) != 'undefined') { Ext.MessageBox.alert( _('ID_FAILED'), result.responseText); } } }); } } ], listeners : { dblclick : function(n) { openCaseA(n); }, click : function(n) { Ext.Ajax.request({ url : 'casesStartPage_Ajax' , params : {action : 'verifySession'}, success: function ( result, request ) { var data = Ext.util.JSON.decode(result.responseText); if( data.lostSession ) { Ext.Msg.show({ title: _('ID_ERROR'), msg: data.message, animEl: 'elId', icon: Ext.MessageBox.ERROR, buttons: Ext.MessageBox.OK, fn : function(btn) { try { prnt = parent.parent; top.location = top.location; } catch (err) { parent.location = parent.location; } } }); } else { showDetailsA(n); } }, failure: function ( result, request) { if (typeof(result.responseText) != 'undefined') { Ext.MessageBox.alert( _('ID_FAILED'), result.responseText); } } }); }, load: function(node){ if (node.childNodes.length == 0) { infoCase.show(); } else { newCaseTree.show(); } } } }); var details = { xtype:'form', id : 'process-detail-panel', region : 'east', split : true, width : 450, style : { width : '450' }, minWidth : 250, labelAlign: 'right', labelWidth: 85, waitMsgTarget: true, title: TRANSLATIONS.ID_PROCESS_INFORMATION, layout:'form', defaults: {width: 350}, defaultType: 'displayfield', autoScroll: true, items: [{ fieldLabel: TRANSLATIONS.ID_PROCESS, name: 'processName', allowBlank:false, value: '', labelStyle : 'font-size:11px;', style : { fontSize:'11px' }, id:"processName", htmlEncode: true }, { xtype: 'compositefield', fieldLabel: TRANSLATIONS.ID_TASK, labelStyle : 'font-size:11px;', style : { fontSize:'11px' }, items: [ { xtype : 'button', id : 'starCaseButton', disabled : true, iconCls : "button_menu_ext ICON_CASES_START_CASE", text : TRANSLATIONS.ID_TITLE_START_CASE, autoWidth : true, handler : function() { tree = Ext.getCmp('startCaseTreePanel'); var selectedNode = tree.getSelectionModel().getSelectedNode(); if (selectedNode) { openCaseA(selectedNode); } } }, { xtype : 'displayfield', name: 'taskName', allowBlank:false, value: '', width:200, id:"taskName", htmlEncode: true } ]}, { xtype:'textarea', fieldLabel: TRANSLATIONS.ID_DESCRIPTION, name: 'processDescription', value: '', readOnly: true, labelStyle : 'font-size:11px;', style : { fontSize:'11px' }, id:"processDescription" },{ fieldLabel: TRANSLATIONS.ID_CATEGORY, name: 'processCategory', value: '', readOnly: true, labelStyle : 'font-size:11px;', style : { fontSize:'11px' }, id:"processCategory", htmlEncode: true }, { fieldLabel: TRANSLATIONS.ID_CALENDAR, name: 'calendarName', labelStyle : 'font-size:11px;', style : { fontSize:'11px' }, id:"calendarName" }, { xtype:'checkboxgroup', fieldLabel: TRANSLATIONS.ID_WORKING_DAYS, name: 'calendarWorkDays', disabled: true, readOnly: true, disabledClass:"", labelStyle : 'font-size:11px;', style : { fontSize:'11px' }, id:"calendarWorkDays", columns: 7, items: [ {boxLabel: TRANSLATIONS.ID_SUN, name: '0',disabledClass:""}, {boxLabel: TRANSLATIONS.ID_MON, name: '1',disabledClass:""}, {boxLabel: TRANSLATIONS.ID_TUE, name: '2',disabledClass:""}, {boxLabel: TRANSLATIONS.ID_WEN, name: '3',disabledClass:""}, {boxLabel: TRANSLATIONS.ID_THU, name: '4',disabledClass:""}, {boxLabel: TRANSLATIONS.ID_FRI, name: '5',disabledClass:""}, {boxLabel: TRANSLATIONS.ID_SAT, name: '6',disabledClass:""} ] }, { xtype:'checkbox', fieldLabel: TRANSLATIONS.ID_DEBUG_MODE, name: 'processDebug', labelStyle : 'font-size:11px;', style : { fontSize:'11px' }, disabled: true, readOnly: true, id:"processDebug", disabledClass:"" } ] } Ext.QuickTips.init(); newCaseTree.hide();infoCase.hide(); var viewport = new Ext.Viewport({ layout : 'border', items : [ infoCase , newCaseTree, details] }); //routine to hide the debug panel if it is open if( typeof parent != 'undefined' ){ if( parent.PANEL_EAST_OPEN ){ parent.PANEL_EAST_OPEN = false; parent.Ext.getCmp('debugPanel').hide(); parent.Ext.getCmp('debugPanel').ownerCt.doLayout(); } } if (FORMATS.startCaseHideProcessInf) { Ext.getCmp('process-detail-panel').hide(); Ext.getCmp('startCaseTreePanel').ownerCt.doLayout(); } }); function openCaseA(n){ if (n.attributes.optionType == "startProcess") { if(!isIE) { Ext.Msg.show({ title : '', msg : TRANSLATIONS.ID_STARTING_NEW_CASE + '

' + n.attributes.text + '', wait:true, waitConfig: {interval:500} }); } Ext.Ajax.request({ url : 'casesStartPage_Ajax.php', params : { action : 'startCase', processId : n.attributes.pro_uid, taskId : n.attributes.tas_uid }, success : function(response) { var nameTab; try { var res = Ext.util.JSON.decode(response.responseText); if (res.openCase) { if(isIE) { if(newCaseNewTab) { newCaseNewTab.close(); } nameTab = PM.Sessions.getCookie('PM-TabPrimary') + '_openCase'; newCaseNewTab = window.open(res.openCase.PAGE, nameTab); } else { window.location = res.openCase.PAGE; } try { parent.updateCasesTree(); } catch (e) { // Nothing to do } }else if (res.lostSession) { Ext.Msg.show({ title : TRANSLATIONS.ID_ERROR_CREATING_NEW_CASE, // 'Error creating a new Case', msg : res.message, icon : Ext.MessageBox.ERROR, buttons : Ext.Msg.OK, fn : function(btn) { try { prnt = parent.parent; top.location = top.location; } catch (err) { parent.location = parent.location; } } }); } else { Ext.Msg.show({ title : TRANSLATIONS.ID_ERROR_CREATING_NEW_CASE, // 'Error creating a new Case', msg : '', icon : Ext.MessageBox.ERROR, buttons : Ext.Msg.OK }); } } catch(e) { Ext.Msg.show({ title : TRANSLATIONS.ID_ERROR_CREATING_NEW_CASE, // 'Error creating a new Case', msg : 'JSON Decode Error:

Server Response
', icon : Ext.MessageBox.ERROR, buttons : Ext.Msg.OK }); } }, failure : function() { Ext.Msg.alert(TRANSLATIONS.ID_ERROR, TRANSLATIONS.ID_UNABLE_START_CASE); } }); } }; function showDetailsA(selectedNode) { // console.log(selectedNode); var detailEl = Ext.getCmp('process-detail-panel').body; if ((selectedNode)&&(selectedNode.attributes.otherAttributes)) { otherAttributes = selectedNode.attributes.otherAttributes; calendarDays=(otherAttributes.CALENDAR_WORK_DAYS).split("|"); calendarObj={0: false, 1: false, 2: false, 3: false, 4: false, 5: false, 6: false}; for(i=0;i