From b53e5255f00c8911e5f994ac8026af54219f8de7 Mon Sep 17 00:00:00 2001 From: sgiehl <stefangiehl@gmail.com> Date: Mon, 7 May 2012 19:28:09 +0000 Subject: [PATCH] refs #3065 moved js code from template to additional js file git-svn-id: http://dev.piwik.org/svn/trunk@6253 59fd770c-687e-43c8-a1e3-f5a4ff64c105 --- plugins/Dashboard/Dashboard.php | 3 +- plugins/Dashboard/templates/dashboard.js | 149 ++++++++++++++++++ .../{Dashboard.js => dashboardObject.js} | 0 plugins/Dashboard/templates/index.tpl | 143 +---------------- 4 files changed, 153 insertions(+), 142 deletions(-) create mode 100644 plugins/Dashboard/templates/dashboard.js rename plugins/Dashboard/templates/{Dashboard.js => dashboardObject.js} (100%) diff --git a/plugins/Dashboard/Dashboard.php b/plugins/Dashboard/Dashboard.php index 699c210edb..cadd2d114c 100644 --- a/plugins/Dashboard/Dashboard.php +++ b/plugins/Dashboard/Dashboard.php @@ -101,8 +101,9 @@ class Piwik_Dashboard extends Piwik_Plugin $jsFiles[] = "plugins/Dashboard/templates/widgetMenu.js"; $jsFiles[] = "libs/javascript/json2.js"; - $jsFiles[] = "plugins/Dashboard/templates/Dashboard.js"; + $jsFiles[] = "plugins/Dashboard/templates/dashboardObject.js"; $jsFiles[] = "plugins/Dashboard/templates/dashboardWidget.js"; + $jsFiles[] = "plugins/Dashboard/templates/dashboard.js"; } /** diff --git a/plugins/Dashboard/templates/dashboard.js b/plugins/Dashboard/templates/dashboard.js new file mode 100644 index 0000000000..d649a92256 --- /dev/null +++ b/plugins/Dashboard/templates/dashboard.js @@ -0,0 +1,149 @@ +/*! + * Piwik - Web Analytics + * + * @link http://piwik.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ + +function initDashboard(dashboardId, dashboardLayout) { + + // Standard dashboard + if($('#periodString').length) + { + $('#periodString').after($('#dashboardSettings')); + $('#dashboardSettings').css({left:$('#periodString')[0].offsetWidth+10}); + } + // Embed dashboard + if(!$('#topBars').length) + { + $('#periodString').css({left: 10, top: 13}); + $('#dashboardSettings').css({left:$('#periodString')[0].offsetWidth+23, top:13}); + $('#dashboardSettings').after($('#Dashboard')); + $('#Dashboard').css({left: $('#periodString')[0].offsetWidth+$('#dashboardSettings')[0].offsetWidth+43, top: 13}); + $('#dashboardWidgetsArea').css({marginTop: 30}); + $('#Dashboard > ul li a').each(function(){$(this).css({width:$(this).width()+30, paddingLeft:0, paddingRight:0});}); + $('#Dashboard_embeddedIndex_'+dashboardId).addClass('sfHover'); + } + + $('#dashboardSettings').on('click', function(){ + $('#dashboardSettings').toggleClass('visible'); + if ($('#dashboardWidgetsArea').dashboard('isDefaultDashboard')) { + $('#removeDashboardLink').hide(); + } else { + $('#removeDashboardLink').show(); + } + // fix position + $('#dashboardSettings .widgetpreview-widgetlist').css('paddingTop', $('#dashboardSettings .widgetpreview-categorylist').parent('li').position().top); + }); + $('body').on('mouseup', function(e) { + if(!$(e.target).parents('#dashboardSettings').length && !$(e.target).is('#dashboardSettings')) { + $('#dashboardSettings').widgetPreview('reset'); + $('#dashboardSettings').removeClass('visible'); + } + }); + + $('#dashboardWidgetsArea').on('dashboardempty', showEmptyDashboardNotification); + + $('#dashboardWidgetsArea').dashboard({ + idDashboard: dashboardId, + layout: dashboardLayout + }); + + $('#dashboardSettings').widgetPreview({ + isWidgetAvailable: function(widgetUniqueId) { + if ($('#dashboardWidgetsArea [widgetId='+widgetUniqueId+']').length) { + return false; + } else { + return true; + } + }, + onSelect: function(widgetUniqueId) { + var widget = widgetsHelper.getWidgetObjectFromUniqueId(widgetUniqueId); + $('#dashboardWidgetsArea').dashboard('addWidget', widget.uniqueId, 1, widget.parameters, true, false); + $('#dashboardSettings').removeClass('visible'); + }, + resetOnSelect: true + }); + + $('#columnPreview>div').each(function(){ + var width = new Array(); + $('div', this).each(function(){ + width.push(this.className.replace(/width-/, '')); + }); + $(this).attr('layout', width.join('-')); + }); + + $('#columnPreview>div').on('click', function(){ + $('#columnPreview>div').removeClass('choosen'); + $(this).addClass('choosen'); + }); + + $('.submenu>li').on('mouseenter', function(event){ + if (!$('.widgetpreview-categorylist', event.target).length) { + $('#dashboardSettings').widgetPreview('reset'); + } + }); + +} + +function createDashboard() { + $('#createDashboardName').attr('value', ''); + piwikHelper.modalConfirm('#createDashboardConfirm', {yes: function(){ + var dashboardName = $('#createDashboardName').attr('value'); + var type = ($('#dashboard_type_empty:checked').length > 0) ? 'empty' : 'default'; + piwikHelper.showAjaxLoading(); + var ajaxRequest = + { + type: 'GET', + url: 'index.php?module=Dashboard&action=createNewDashboard', + dataType: 'json', + async: true, + error: piwikHelper.ajaxHandleError, + success: function(id) { + $('#dashboardWidgetsArea').dashboard('loadDashboard', id); + }, + data: { + token_auth: piwik.token_auth, + idSite: piwik.idSite, + name: encodeURIComponent(dashboardName), + type: type + } + }; + $.ajax(ajaxRequest); + }}); +} + +function resetDashboard() { + piwikHelper.modalConfirm('#resetDashboardConfirm', {yes: function(){ $('#dashboardWidgetsArea').dashboard('resetLayout'); }}); +} + +function renameDashboard() { + $('#newDashboardName').attr('value', $('#dashboardWidgetsArea').dashboard('getDashboardName')); + piwikHelper.modalConfirm('#renameDashboardConfirm', {yes: function(){ $('#dashboardWidgetsArea').dashboard('setDashboardName', $('#newDashboardName').attr('value')); }}); +} + +function removeDashboard() { + $('#removeDashboardConfirm h2 span').html($('#dashboardWidgetsArea').dashboard('getDashboardName')); + piwikHelper.modalConfirm('#removeDashboardConfirm', {yes: function(){ $('#dashboardWidgetsArea').dashboard('removeDashboard'); }}); +} + +function showChangeDashboardLayoutDialog() { + $('#columnPreview>div').removeClass('choosen'); + $('#columnPreview>div[layout='+$('#dashboardWidgetsArea').dashboard('getColumnLayout')+']').addClass('choosen'); + piwikHelper.modalConfirm('#changeDashboardLayout', {yes: function(){ + $('#dashboardWidgetsArea').dashboard('setColumnLayout', $('#changeDashboardLayout .choosen').attr('layout')); + }}); +} + +function showEmptyDashboardNotification() { + piwikHelper.modalConfirm('#dashboardEmptyNotification', { + resetDashboard: function() { $('#dashboardWidgetsArea').dashboard('resetLayout'); }, + addWidget: function(){ $('#dashboardSettings').trigger('click'); } + }); +} + +function setAsDefaultWidgets() { + piwikHelper.modalConfirm('#setAsDefaultWidgetsConfirm', { + yes: function(){ $('#dashboardWidgetsArea').dashboard('saveLayoutAsDefaultWidgetLayout'); } + }); +} diff --git a/plugins/Dashboard/templates/Dashboard.js b/plugins/Dashboard/templates/dashboardObject.js similarity index 100% rename from plugins/Dashboard/templates/Dashboard.js rename to plugins/Dashboard/templates/dashboardObject.js diff --git a/plugins/Dashboard/templates/index.tpl b/plugins/Dashboard/templates/index.tpl index ea00884489..f72cae232b 100644 --- a/plugins/Dashboard/templates/index.tpl +++ b/plugins/Dashboard/templates/index.tpl @@ -2,148 +2,9 @@ {literal} <script type="text/javascript"> -$(document).ready( function() { - // Standard dashboard - if($('#periodString').length) - { - $('#periodString').after($('#dashboardSettings')); - $('#dashboardSettings').css({left:$('#periodString')[0].offsetWidth+10}); - } - // Embed dashboard - if(!$('#topBars').length) - { - $('#periodString').css({left: 10, top: 13}); - $('#dashboardSettings').css({left:$('#periodString')[0].offsetWidth+23, top:13}); - $('#dashboardSettings').after($('#Dashboard')); - $('#Dashboard').css({left: $('#periodString')[0].offsetWidth+$('#dashboardSettings')[0].offsetWidth+43, top: 13}); - $('#dashboardWidgetsArea').css({marginTop: 30}); - $('#Dashboard > ul li a').each(function(){$(this).css({width:$(this).width()+30, paddingLeft:0, paddingRight:0});}); - $('#Dashboard_embeddedIndex_{/literal}{$dashboardId}{literal}').addClass('sfHover'); - } - - $('#dashboardSettings').on('click', function(){ - $('#dashboardSettings').toggleClass('visible'); - if ($('#dashboardWidgetsArea').dashboard('isDefaultDashboard')) { - $('#removeDashboardLink').hide(); - } else { - $('#removeDashboardLink').show(); - } - // fix position - $('#dashboardSettings .widgetpreview-widgetlist').css('paddingTop', $('#dashboardSettings .widgetpreview-categorylist').parent('li').position().top); - }); - $('body').on('mouseup', function(e) { - if(!$(e.target).parents('#dashboardSettings').length && !$(e.target).is('#dashboardSettings')) { - $('#dashboardSettings').widgetPreview('reset'); - $('#dashboardSettings').removeClass('visible'); - } - }); - - $('#dashboardWidgetsArea').on('dashboardempty', showEmptyDashboardNotification); - - $('#dashboardWidgetsArea').dashboard({ - idDashboard: {/literal}{$dashboardId}{literal}, - layout: {/literal}{$dashboardLayout}{literal} - }); - - $('#dashboardSettings').widgetPreview({ - isWidgetAvailable: function(widgetUniqueId) { - if ($('#dashboardWidgetsArea [widgetId='+widgetUniqueId+']').length) { - return false; - } else { - return true; - } - }, - onSelect: function(widgetUniqueId) { - var widget = widgetsHelper.getWidgetObjectFromUniqueId(widgetUniqueId); - $('#dashboardWidgetsArea').dashboard('addWidget', widget.uniqueId, 1, widget.parameters, true, false); - $('#dashboardSettings').removeClass('visible'); - }, - resetOnSelect: true - }); - - $('#columnPreview>div').each(function(){ - var width = new Array(); - $('div', this).each(function(){ - width.push(this.className.replace(/width-/, '')); - }); - $(this).attr('layout', width.join('-')); - }); - - $('#columnPreview>div').on('click', function(){ - $('#columnPreview>div').removeClass('choosen'); - $(this).addClass('choosen'); - }); - - $('.submenu>li').on('mouseenter', function(event){ - if (!$('.widgetpreview-categorylist', event.target).length) { - $('#dashboardSettings').widgetPreview('reset'); - } - }); - +$(document).ready(function() { + initDashboard({/literal}{$dashboardId},{$dashboardLayout}{literal}); }); - -function createDashboard() { - $('#createDashboardName').attr('value', ''); - piwikHelper.modalConfirm('#createDashboardConfirm', {yes: function(){ - var dashboardName = $('#createDashboardName').attr('value'); - var type = ($('#dashboard_type_empty:checked').length > 0) ? 'empty' : 'default'; - piwikHelper.showAjaxLoading(); - var ajaxRequest = - { - type: 'GET', - url: 'index.php?module=Dashboard&action=createNewDashboard', - dataType: 'json', - async: true, - error: piwikHelper.ajaxHandleError, - success: function(id) { - $('#dashboardWidgetsArea').dashboard('loadDashboard', id); - }, - data: { - token_auth: piwik.token_auth, - idSite: piwik.idSite, - name: encodeURIComponent(dashboardName), - type: type - } - }; - $.ajax(ajaxRequest); - }}); -} - -function resetDashboard() { - piwikHelper.modalConfirm('#resetDashboardConfirm', {yes: function(){ $('#dashboardWidgetsArea').dashboard('resetLayout'); }}); -} - -function renameDashboard() { - $('#newDashboardName').attr('value', $('#dashboardWidgetsArea').dashboard('getDashboardName')); - piwikHelper.modalConfirm('#renameDashboardConfirm', {yes: function(){ $('#dashboardWidgetsArea').dashboard('setDashboardName', $('#newDashboardName').attr('value')); }}); -} - -function removeDashboard() { - $('#removeDashboardConfirm h2 span').html($('#dashboardWidgetsArea').dashboard('getDashboardName')); - piwikHelper.modalConfirm('#removeDashboardConfirm', {yes: function(){ $('#dashboardWidgetsArea').dashboard('removeDashboard'); }}); -} - -function showChangeDashboardLayoutDialog() { - $('#columnPreview>div').removeClass('choosen'); - $('#columnPreview>div[layout='+$('#dashboardWidgetsArea').dashboard('getColumnLayout')+']').addClass('choosen'); - piwikHelper.modalConfirm('#changeDashboardLayout', {yes: function(){ - $('#dashboardWidgetsArea').dashboard('setColumnLayout', $('#changeDashboardLayout .choosen').attr('layout')); - }}); -} - -function showEmptyDashboardNotification() { - piwikHelper.modalConfirm('#dashboardEmptyNotification', { - resetDashboard: function() { $('#dashboardWidgetsArea').dashboard('resetLayout'); }, - addWidget: function(){ $('#dashboardSettings').trigger('click'); } - }); -} - -function setAsDefaultWidgets() { - piwikHelper.modalConfirm('#setAsDefaultWidgetsConfirm', { - yes: function(){ $('#dashboardWidgetsArea').dashboard('saveLayoutAsDefaultWidgetLayout'); } - }); -} - </script> {/literal} <div id="dashboard"> -- GitLab