Skip to content
Extraits de code Groupes Projets
Valider b675ab8f rédigé par sgiehl's avatar sgiehl
Parcourir les fichiers

refs #1559 return default layout if layout in session is empty, added some docu

git-svn-id: http://dev.piwik.org/svn/trunk@5646 59fd770c-687e-43c8-a1e3-f5a4ff64c105
parent 50d926e9
Branches
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -142,7 +142,7 @@ class Piwik_Dashboard_Controller extends Piwik_Controller ...@@ -142,7 +142,7 @@ class Piwik_Dashboard_Controller extends Piwik_Controller
$session = new Piwik_Session_Namespace("Piwik_Dashboard"); $session = new Piwik_Session_Namespace("Piwik_Dashboard");
if(!isset($session->dashboardLayout)) if(!isset($session->dashboardLayout))
{ {
return false; return $this->getDefaultLayout();
} }
$layout = $session->dashboardLayout; $layout = $session->dashboardLayout;
} }
......
...@@ -31,7 +31,6 @@ dashboard.prototype = ...@@ -31,7 +31,6 @@ dashboard.prototype =
//dashboard layout //dashboard layout
this.layout = layout; this.layout = layout;
this.currentColumnLayout = layout.config.layout;
//generate dashboard layout and load every displayed widgets //generate dashboard layout and load every displayed widgets
this.generateLayout(); this.generateLayout();
...@@ -44,6 +43,13 @@ dashboard.prototype = ...@@ -44,6 +43,13 @@ dashboard.prototype =
return $('.sortable .widget', elementToSearch); return $('.sortable .widget', elementToSearch);
}, },
/**
* Adjust the dashboard columns to fit the new layout
* removes or adds new columns if needed and sets the column sizes
*
* @param layout new layout in format xx-xx-xx
* @return void
*/
adjustDashboardColumns: function(layout) adjustDashboardColumns: function(layout)
{ {
var columnWidth = layout.split('-'); var columnWidth = layout.split('-');
...@@ -83,12 +89,13 @@ dashboard.prototype = ...@@ -83,12 +89,13 @@ dashboard.prototype =
generateLayout: function() generateLayout: function()
{ {
// Handle old dashboard layout format used in piwik before 0.2.33
// A string that looks like 'Actions.getActions~Actions.getDownloads|UserCountry.getCountry|Referers.getSearchEngines';
// '|' separate columns
// '~' separate widgets
// '.' separate plugin name from action name
if(typeof this.layout == 'string') { if(typeof this.layout == 'string') {
var layout = {}; var layout = {};
//Old dashboard layout format: a string that looks like 'Actions.getActions~Actions.getDownloads|UserCountry.getCountry|Referers.getSearchEngines';
// '|' separate columns
// '~' separate widgets
// '.' separate plugin name from action name
var columns = this.layout.split('|'); var columns = this.layout.split('|');
for(var columnNumber=0; columnNumber<columns.length; columnNumber++) { for(var columnNumber=0; columnNumber<columns.length; columnNumber++) {
if(columns[columnNumber].length == 0) { if(columns[columnNumber].length == 0) {
...@@ -110,8 +117,11 @@ dashboard.prototype = ...@@ -110,8 +117,11 @@ dashboard.prototype =
} }
this.layout = layout; this.layout = layout;
} }
layout = this.layout;
var layout = this.layout;
// Handle layout array used in piwik before 1.7
// column count was always 3, so use layout 33-33-33 as default
if($.isArray(layout)) { if($.isArray(layout)) {
var layout = { var layout = {
config: {layout: '33-33-33'}, config: {layout: '33-33-33'},
...@@ -149,12 +159,25 @@ dashboard.prototype = ...@@ -149,12 +159,25 @@ dashboard.prototype =
}); });
}, },
/**
* reloads the widget inside the given dom element
*
* @param domNodeInsideWidget selector for a dom element
* @return void
*/
reloadEnclosingWidget: function(domNodeInsideWidget) reloadEnclosingWidget: function(domNodeInsideWidget)
{ {
var uniqueId = $(domNodeInsideWidget).parents('.widget').attr('id'); var uniqueId = $(domNodeInsideWidget).parents('.widget').attr('id');
this.reloadWidget(uniqueId); this.reloadWidget(uniqueId);
}, },
/**
* reloads a widget with the given uniqueId
*
* @param uniqueId id of a widget
* @param viewDataTableToRestore datatable view to restore
* @return void
*/
reloadWidget: function(uniqueId, viewDataTableToRestore) reloadWidget: function(uniqueId, viewDataTableToRestore)
{ {
function onWidgetLoadedReplaceElementWithContent(loadedContent) function onWidgetLoadedReplaceElementWithContent(loadedContent)
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter