diff --git a/workflow/engine/classes/class.processMap.php b/workflow/engine/classes/class.processMap.php index 1e69195ad..da7ec55cc 100755 --- a/workflow/engine/classes/class.processMap.php +++ b/workflow/engine/classes/class.processMap.php @@ -6905,4 +6905,18 @@ function saveExtEvents($oData) return $aIDocs; } + function getMaximunTaskX($processUid) { + $criteria = new Criteria('workflow'); + $criteria->addSelectColumn('MAX(TAS_POSX) AS MAX_X'); + $criteria->add(TaskPeer::PRO_UID, $processUid); + + $dataset = TaskPeer::doSelectRS($criteria); + $dataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $dataset->next(); + + $row = $dataset->getRow(); + + return (int)$row['MAX_X']; + } + } diff --git a/workflow/engine/js/processmap/core/processmap.js b/workflow/engine/js/processmap/core/processmap.js index 6014686a4..dec700929 100755 --- a/workflow/engine/js/processmap/core/processmap.js +++ b/workflow/engine/js/processmap/core/processmap.js @@ -855,6 +855,10 @@ var processmap=function(){ this.observers.menu.register(this.parent.closure({instance:this.menu,method:this.menu.remove}),this.menu); } this.data.render.task(); + if (maximunX > this.options.size.w && document.getElementById('pm_separator_div')) { + var pm_separator_div = document.getElementById('pm_separator_div'); + pm_separator_div.style.width = maximunX + 200; + } }, task:function() { @@ -2384,6 +2388,7 @@ processmap.prototype={ sep.className = "pm_separatorOff___"+this.options.theme; this.menuRolled=false; var dse = document.createElement("div"); + dse.id = 'pm_separator_div'; dse.className = "pm_separatorDOff___"+this.options.theme; sep.appendChild(dse); sep.onmouseup=function() @@ -2457,8 +2462,7 @@ processmap.prototype={ this.panels.editor.options={ limit:true, -// size:{w:this.options.size.w,h:this.options.size.h}, - size:{w:this.options.size.w,h:heightPanel}, + size:{w:(maximunX > this.options.size.w ? maximunX + 200 : this.options.size.w),h:heightPanel}, position:{x:200,y:0,centerX:true}, title:"", titleBar:false, diff --git a/workflow/engine/methods/processes/processes_Map.php b/workflow/engine/methods/processes/processes_Map.php index 302b32161..f4775603c 100755 --- a/workflow/engine/methods/processes/processes_Map.php +++ b/workflow/engine/methods/processes/processes_Map.php @@ -46,13 +46,11 @@ if( $access != 1 ){ } $processUID = $_GET['PRO_UID']; -//if ( isset($_SESSION['PROCESSMAP']) && $_SESSION['PROCESSMAP'] == 'BPMN' ) { -// header ( "Location: ../bpmn/processmap?PRO_UID=". $processUID ); -//} - $_SESSION['PROCESS'] = $processUID; $_SESSION['PROCESSMAP'] = 'LEIMNUD'; +G::LoadClass('processMap'); + $oTemplatePower = new TemplatePower(PATH_TPL . 'processes/processes_Map.html'); $oTemplatePower->prepare(); @@ -66,9 +64,8 @@ $G_PUBLISH->AddContent('template', '', '', '', $oTemplatePower); $oHeadPublisher =& headPublisher::getSingleton(); $oHeadPublisher->addScriptFile('/jscore/dbConnections/main.js'); - -//$oHeadPublisher->addScriptFile('/htmlarea/editor.js'); -$oHeadPublisher->addScriptCode( ' +$oHeadPublisher->addScriptCode(' + var maximunX = ' . processMap::getMaximunTaskX($processUID) . '; var leimnud = new maborak(); leimnud.make(); leimnud.Package.Load("rpc,drag,drop,panel,app,validator,fx,dom,abbr",{Instance:leimnud,Type:"module"}); @@ -91,7 +88,7 @@ $oHeadPublisher->addScriptCode( ' } Pm.make(); }); - var changesSavedLabel = "' . addslashes(G::LoadTranslation('ID_SAVED_SUCCESSFULLY')) . '";' ); + var changesSavedLabel = "' . addslashes(G::LoadTranslation('ID_SAVED_SUCCESSFULLY')) . '";'); if( ! isset($_GET['raw']) ) G::RenderPage('publish', 'green-submenu');