PDF rausgenommen
This commit is contained in:
70
msd2/tracking/piwik/plugins/Dashboard/angularjs/common/services/dashboards-model.js
vendored
Normal file
70
msd2/tracking/piwik/plugins/Dashboard/angularjs/common/services/dashboards-model.js
vendored
Normal file
@ -0,0 +1,70 @@
|
||||
/*!
|
||||
* Piwik - free/libre analytics platform
|
||||
*
|
||||
* @link http://piwik.org
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
|
||||
*/
|
||||
(function () {
|
||||
angular.module('piwikApp.service').factory('dashboardsModel', dashboardsModel);
|
||||
|
||||
dashboardsModel.$inject = ['piwikApi'];
|
||||
|
||||
function dashboardsModel (piwikApi) {
|
||||
|
||||
var dashboardsPromise = null;
|
||||
|
||||
var model = {
|
||||
dashboards: [],
|
||||
getAllDashboards: getAllDashboards,
|
||||
reloadAllDashboards: reloadAllDashboards,
|
||||
getDashboard: getDashboard,
|
||||
getDashboardLayout: getDashboardLayout
|
||||
};
|
||||
|
||||
return model;
|
||||
|
||||
function getDashboard(dashboardId)
|
||||
{
|
||||
return getAllDashboards().then(function (dashboards) {
|
||||
var dashboard = null;
|
||||
angular.forEach(dashboards, function (board) {
|
||||
if (parseInt(board.id, 10) === parseInt(dashboardId, 10)) {
|
||||
dashboard = board;
|
||||
}
|
||||
});
|
||||
return dashboard;
|
||||
});
|
||||
}
|
||||
|
||||
function getDashboardLayout(dashboardId)
|
||||
{
|
||||
piwikApi.withTokenInUrl();
|
||||
|
||||
return piwikApi.fetch({module: 'Dashboard', action: 'getDashboardLayout', idDashboard: dashboardId});
|
||||
}
|
||||
|
||||
function reloadAllDashboards()
|
||||
{
|
||||
if (dashboardsPromise) {
|
||||
dashboardsPromise = null;
|
||||
}
|
||||
|
||||
return getAllDashboards();
|
||||
}
|
||||
|
||||
function getAllDashboards()
|
||||
{
|
||||
if (!dashboardsPromise) {
|
||||
dashboardsPromise = piwikApi.fetch({method: 'Dashboard.getDashboards', filter_limit: '-1'}).then(function (response) {
|
||||
if (response) {
|
||||
model.dashboards = response;
|
||||
}
|
||||
|
||||
return response;
|
||||
});
|
||||
}
|
||||
|
||||
return dashboardsPromise;
|
||||
}
|
||||
}
|
||||
})();
|
Reference in New Issue
Block a user