diff --git a/workflow/engine/templates/dashboard/index.js b/workflow/engine/templates/dashboard/index.js index 832a35a4f..132cdd557 100644 --- a/workflow/engine/templates/dashboard/index.js +++ b/workflow/engine/templates/dashboard/index.js @@ -42,6 +42,52 @@ var reallocate = function (cols) { } }.defaults(3); +function dashboardSetLayout(numColumn) +{ + dashletsColumns = numColumn; + + var pd = Ext.getCmp("portalDashboard"); + + switch (numColumn) { + case 1: + reallocate(1); + + pd.items.items[0].columnWidth = 0.98; + pd.items.items[1].columnWidth = 0.01; + pd.items.items[2].columnWidth = 0.01; + + tbDashboard.items.items[0].setDisabled(false); + tbDashboard.items.items[1].setDisabled(false); + tbDashboard.items.items[2].setDisabled(true); + break; + case 2: + reallocate(2); + + pd.items.items[0].columnWidth = 0.49; + pd.items.items[1].columnWidth = 0.49; + pd.items.items[2].columnWidth = 0.01; + + tbDashboard.items.items[0].setDisabled(false); + tbDashboard.items.items[1].setDisabled(true); + tbDashboard.items.items[2].setDisabled(false); + break; + case 3: + reallocate(3); + + pd.items.items[0].columnWidth = 0.33; + pd.items.items[1].columnWidth = 0.33; + pd.items.items[2].columnWidth = 0.33; + + tbDashboard.items.items[0].setDisabled(true); + tbDashboard.items.items[1].setDisabled(false); + tbDashboard.items.items[2].setDisabled(false); + break; + } + + pd.doLayout(); +} + +var tbDashboard; Ext.onReady(function(){ @@ -60,7 +106,7 @@ Ext.onReady(function(){ } }]; - var tbDashboard = new Ext.Toolbar({ + tbDashboard = new Ext.Toolbar({ height: 30, items: [ { @@ -76,18 +122,7 @@ Ext.onReady(function(){ }); var vp = Ext.getCmp('viewportDashboard'); - var pd = Ext.getCmp('portalDashboard'); - - reallocate(3); - - pd.items.items[0].columnWidth = 0.33; - pd.items.items[1].columnWidth = 0.33; - pd.items.items[2].columnWidth = 0.33; - pd.doLayout(); - - tbDashboard.items.items[0].setDisabled(true); - tbDashboard.items.items[1].setDisabled(false); - tbDashboard.items.items[2].setDisabled(false); + dashboardSetLayout(3); var orderNow = generatedOrder(); Ext.Ajax.request({ @@ -124,9 +159,9 @@ Ext.onReady(function(){ }); var vp = Ext.getCmp('viewportDashboard'); - var pd = Ext.getCmp('portalDashboard'); - reallocate(2); + dashboardSetLayout(2); + /* var dashletMove = new Array(); for (var i = 0; i < Ext.getCmp('columnPos2').items.items.length; i++) { @@ -142,14 +177,6 @@ Ext.onReady(function(){ } }; */ - pd.items.items[0].columnWidth = 0.49; - pd.items.items[1].columnWidth = 0.49; - pd.items.items[2].columnWidth = 0.01; - pd.doLayout(); - - tbDashboard.items.items[0].setDisabled(false); - tbDashboard.items.items[1].setDisabled(true); - tbDashboard.items.items[2].setDisabled(false); var orderNow = generatedOrder(); Ext.Ajax.request({ @@ -186,18 +213,7 @@ Ext.onReady(function(){ }); var vp = Ext.getCmp('viewportDashboard'); - var pd = Ext.getCmp('portalDashboard'); - - reallocate(1); - - pd.items.items[0].columnWidth = 0.98; - pd.items.items[1].columnWidth = 0.01; - pd.items.items[2].columnWidth = 0.01; - pd.doLayout(); - - tbDashboard.items.items[0].setDisabled(false); - tbDashboard.items.items[1].setDisabled(false); - tbDashboard.items.items[2].setDisabled(true); + dashboardSetLayout(1); var orderNow = generatedOrder(); Ext.Ajax.request({ @@ -252,40 +268,45 @@ Ext.onReady(function(){ }], listeners: { 'drop': function(e) { - var orderNow = generatedOrder(); - Ext.MessageBox.show({ - msg: _('ID_LOADING'), - progressText: _('ID_SAVING'), - width:300, - wait:true, - waitConfig: {interval:200}, - animEl: 'mb7' - }); + if (e.columnIndex + 1 <= dashletsColumns) { + var orderNow = generatedOrder(); + Ext.MessageBox.show({ + msg: _("ID_LOADING"), + progressText: _("ID_SAVING"), + width:300, + wait:true, + waitConfig: {interval:200}, + animEl: "mb7" + }); - if (tbDashboard.items.items[0].disabled == true) { - var colum = 3; - } else { - var colum = 2; - } - Ext.Ajax.request({ - params: { - positionCol0: Ext.encode(orderNow[0]), - positionCol1: Ext.encode(orderNow[1]), - positionCol2: Ext.encode(orderNow[2]), - columns: colum - }, - url: 'dashboard/saveOrderDashlet', - success: function (res) { - var data = Ext.decode(res.responseText); - if (data.success) { - Ext.MessageBox.hide(); + if (tbDashboard.items.items[0].disabled == true) { + var colum = 3; + } else { + var colum = 2; + } + + Ext.Ajax.request({ + params: { + positionCol0: Ext.encode(orderNow[0]), + positionCol1: Ext.encode(orderNow[1]), + positionCol2: Ext.encode(orderNow[2]), + columns: colum + }, + url: "dashboard/saveOrderDashlet", + success: function (res) { + var data = Ext.decode(res.responseText); + if (data.success) { + Ext.MessageBox.hide(); + } + }, + failure: function () { + Ext.MessageBox.alert(_("ID_ERROR"), _("ID_IMPORTING_ERROR")); + } + }); + } else { + dashboardSetLayout(dashletsColumns); + } } - }, - failure: function () { - Ext.MessageBox.alert(_('ID_ERROR'), _('ID_IMPORTING_ERROR')); - } - }); - } } }] }); @@ -320,47 +341,7 @@ Ext.onReady(function(){ } } - pd.doLayout(); + dashboardSetLayout(dashletsColumns); - switch(dashletsColumns) { - case 1: - var pd = Ext.getCmp("portalDashboard"); - reallocate(1); - - pd.items.items[0].columnWidth = 0.98; - pd.items.items[1].columnWidth = 0.01; - pd.items.items[2].columnWidth = 0.01; - pd.doLayout(); - - tbDashboard.items.items[0].setDisabled(false); - tbDashboard.items.items[1].setDisabled(false); - tbDashboard.items.items[2].setDisabled(true); - break; - case 2: - var pd = Ext.getCmp("portalDashboard"); - reallocate(2); - - pd.items.items[0].columnWidth = 0.49; - pd.items.items[1].columnWidth = 0.49; - pd.items.items[2].columnWidth = 0.01; - pd.doLayout(); - - tbDashboard.items.items[0].setDisabled(false); - tbDashboard.items.items[1].setDisabled(true); - tbDashboard.items.items[2].setDisabled(false); - break; - case 3: - var pd = Ext.getCmp("portalDashboard"); - reallocate(3); - - pd.items.items[0].columnWidth = 0.33; - pd.items.items[1].columnWidth = 0.33; - pd.items.items[2].columnWidth = 0.33; - pd.doLayout(); - - tbDashboard.items.items[0].setDisabled(true); - tbDashboard.items.items[1].setDisabled(false); - tbDashboard.items.items[2].setDisabled(false); - break; - } }); +