diff options
author | Thomas Steur <tsteur@users.noreply.github.com> | 2016-11-27 22:17:55 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-27 22:17:55 +0300 |
commit | f6a67af29558eb32b500ede0bbcbeb8b139c53b2 (patch) | |
tree | 18484e791374024cf2da0bf3d61fd5e8cd71ce07 | |
parent | 5a2a0e4dd41f64a01e3427739d7594881d7ac2d7 (diff) |
Minor tweaks and events in Goals UI (#10903)
* added some goal events
* add new method to be able to add post params
* post events via angular
* make sure promo message is always shown at the end
* .travis.yml file is out of date, auto-updating .travis.yml file.
* improve sparklines view and make goals page hookable
* .travis.yml file is out of date, auto-updating .travis.yml file.
* .travis.yml file is out of date, auto-updating .travis.yml file.
* fix system tests
* make sure each goal has an id in the table so we can target them
16 files changed, 162 insertions, 76 deletions
diff --git a/plugins/CoreHome/angularjs/common/services/piwik-api.js b/plugins/CoreHome/angularjs/common/services/piwik-api.js index aeed3bfe2c..ab546a7693 100644 --- a/plugins/CoreHome/angularjs/common/services/piwik-api.js +++ b/plugins/CoreHome/angularjs/common/services/piwik-api.js @@ -252,7 +252,7 @@ var hasBlockedContent = false; getParams.format = 'JSON2'; } - addParams(getParams, 'GET'); + addParams(getParams); var promise = send(options); @@ -272,6 +272,12 @@ var hasBlockedContent = false; return fetch(getParams, options); } + function addPostParams(_postParams_) { + if (_postParams_) { + angular.merge(postParams, _postParams_); + } + } + /** * Convenience method that will perform a bulk request using Piwik's API.getBulkRequest method. * Bulk requests allow you to execute multiple Piwik requests with one HTTP request. @@ -319,6 +325,7 @@ var hasBlockedContent = false; bulkFetch: bulkFetch, post: post, fetch: fetch, + addPostParams: addPostParams, /** * @deprecated */ diff --git a/plugins/CoreHome/javascripts/broadcast.js b/plugins/CoreHome/javascripts/broadcast.js index 3ec2a0821d..eecbc79a95 100644 --- a/plugins/CoreHome/javascripts/broadcast.js +++ b/plugins/CoreHome/javascripts/broadcast.js @@ -205,7 +205,11 @@ var broadcast = { // if the module is not 'Goals', we specifically unset the 'idGoal' parameter // this is to ensure that the URLs are clean (and that clicks on graphs work as expected - they are broken with the extra parameter) var action = broadcast.getParamValue('action', currentHashStr); - if (action != 'goalReport' && action != 'ecommerceReport' && action != 'products' && action != 'sales') { + if (action != 'goalReport' + && action != 'ecommerceReport' + && action != 'products' + && action != 'sales' + && (''+ ajaxUrl).indexOf('&idGoal=') === -1) { currentHashStr = broadcast.updateParamValue('idGoal=', currentHashStr); } // unset idDashboard if use doesn't display a dashboard diff --git a/plugins/CoreHome/javascripts/sparkline.js b/plugins/CoreHome/javascripts/sparkline.js index 8f10a9f1eb..32e23a12aa 100644 --- a/plugins/CoreHome/javascripts/sparkline.js +++ b/plugins/CoreHome/javascripts/sparkline.js @@ -55,16 +55,18 @@ window.initializeSparklines = function () { return; } - var sparklines = parent.find('div.sparkline'); + var sparklines = parent.find('div.sparkline:not(.notLinkable)'); // try to find sparklines and add them clickable behaviour sparklines.each(function () { // find the sparkline and get it's src attribute var sparklineUrl = $('img', this).attr('data-src'); + var $this = $(this); + if (sparklineUrl != "") { - $(this).addClass('linked'); + $this.addClass('linked'); var params = broadcast.getValuesFromUrl(sparklineUrl); for (var i = 0; i != sparklineUrlParamsToIgnore.length; ++i) { @@ -80,8 +82,8 @@ window.initializeSparklines = function () { } // on click, reload the graph with the new url - $(this).off('click.sparkline'); - $(this).on('click.sparkline', function () { + $this.off('click.sparkline'); + $this.on('click.sparkline', function () { var reportId = graph.attr('data-report'), dataTable = graph; diff --git a/plugins/CorePluginsAdmin/angularjs/form-field/form-field.directive.js b/plugins/CorePluginsAdmin/angularjs/form-field/form-field.directive.js index 76c6ff566d..f3d9680819 100644 --- a/plugins/CorePluginsAdmin/angularjs/form-field/form-field.directive.js +++ b/plugins/CorePluginsAdmin/angularjs/form-field/form-field.directive.js @@ -83,6 +83,14 @@ } }); + scope.$watch('formField.uiControlAttributes.disabled', function (val, oldVal) { + if (val !== oldVal) { + $timeout(function () { + $select.material_select(); + }); + } + }); + } else if (hasUiControl(field, 'textarea')) { element.find('textarea').trigger('autoresize'); scope.$watch('formField.value', function (val, oldVal) { diff --git a/plugins/CoreVisualizations/Visualizations/Sparklines.php b/plugins/CoreVisualizations/Visualizations/Sparklines.php index 8ee6f60401..b0f8fbfcac 100644 --- a/plugins/CoreVisualizations/Visualizations/Sparklines.php +++ b/plugins/CoreVisualizations/Visualizations/Sparklines.php @@ -80,6 +80,8 @@ class Sparklines extends ViewDataTable $view->sparklines = $this->config->getSortedSparklines(); $view->isWidget = Common::getRequestVar('widget', 0, 'int'); $view->titleAttributes = $this->config->title_attributes; + $view->footerMessage = $this->config->show_footer_message; + $view->areSparklinesLinkable = $this->config->areSparklinesLinkable(); $view->title = ''; if ($this->config->show_title) { diff --git a/plugins/CoreVisualizations/Visualizations/Sparklines/Config.php b/plugins/CoreVisualizations/Visualizations/Sparklines/Config.php index a4dae712db..09e687fd4a 100644 --- a/plugins/CoreVisualizations/Visualizations/Sparklines/Config.php +++ b/plugins/CoreVisualizations/Visualizations/Sparklines/Config.php @@ -34,6 +34,12 @@ class Config extends \Piwik\ViewDataTable\Config private $sparklines = array(); /** + * If false, will not link them with any evolution graph + * @var bool + */ + private $evolutionGraphLinkable = true; + + /** * Adds possibility to set html attributes on the sparklines title / headline. For example can be used * to set an angular directive * @var string @@ -263,6 +269,25 @@ class Config extends \Piwik\ViewDataTable\Config } /** + * If there are sparklines and evolution graphs on one page, we try to connect them so that when you click on a + * sparkline, the evolution graph will update and show the evolution for that sparkline metric. In some cases + * we might falsely connect sparklines with an evolution graph that don't belong together. In this case you can + * mark all sparklines as "not linkable". This will prevent the sparklines being linked with an evolution graph. + */ + public function setNotLinkableWithAnyEvolutionGraph() + { + $this->evolutionGraphLinkable = false; + } + + /** + * Detect whether sparklines are linkable with an evolution graph. {@link setNotLinkableWithAnyEvolutionGraph()} + */ + public function areSparklinesLinkable() + { + return $this->evolutionGraphLinkable; + } + + /** * @return array * @ignore */ diff --git a/plugins/CoreVisualizations/templates/_dataTableViz_sparklines.twig b/plugins/CoreVisualizations/templates/_dataTableViz_sparklines.twig index b0e29cc26a..5c8390d914 100644 --- a/plugins/CoreVisualizations/templates/_dataTableViz_sparklines.twig +++ b/plugins/CoreVisualizations/templates/_dataTableViz_sparklines.twig @@ -13,7 +13,7 @@ {% for key, sparkline in sparklines %} {% if key is even %} - {{ macros.singleSparkline(sparkline, allMetricsDocumentation) }} + {{ macros.singleSparkline(sparkline, allMetricsDocumentation, areSparklinesLinkable) }} {% endif %} {% endfor %} @@ -25,7 +25,7 @@ {% for key, sparkline in sparklines %} {% if key is odd %} - {{ macros.singleSparkline(sparkline, allMetricsDocumentation) }} + {{ macros.singleSparkline(sparkline, allMetricsDocumentation, areSparklinesLinkable) }} {% endif %} {% endfor %} @@ -36,7 +36,13 @@ </div> {% endif %} - {% include "_sparklineFooter.twig" %} + {% if areSparklinesLinkable %} + {% include "_sparklineFooter.twig" %} + {% endif %} + + {% if footerMessage is not empty %} + <div class='datatableFooterMessage'>{{ footerMessage | raw }}</div> + {% endif %} {% if not isWidget %} </div></div> {% endif %}
\ No newline at end of file diff --git a/plugins/CoreVisualizations/templates/macros.twig b/plugins/CoreVisualizations/templates/macros.twig index 43d8c2158e..ad9212978a 100644 --- a/plugins/CoreVisualizations/templates/macros.twig +++ b/plugins/CoreVisualizations/templates/macros.twig @@ -1,5 +1,6 @@ -{% macro singleSparkline(sparkline, allMetricsDocumentation) %} - <div class="sparkline"> +{% macro singleSparkline(sparkline, allMetricsDocumentation, areSparklinesLinkable) %} + + <div class="sparkline {% if areSparklinesLinkable is defined and not areSparklinesLinkable %}notLinkable{% endif %}"> {% if sparkline.url %}{{ sparkline(sparkline.url)|raw }}{% endif %} {% for metric in sparkline.metrics %} <span {% if allMetricsDocumentation[metric.column] is defined and allMetricsDocumentation[metric.column] %}title="{{ allMetricsDocumentation[metric.column] }}"{% endif %}> diff --git a/plugins/CoreVisualizations/tests/Integration/SparklinesConfigTest.php b/plugins/CoreVisualizations/tests/Integration/SparklinesConfigTest.php index 49a116b5cc..f3d00bc770 100644 --- a/plugins/CoreVisualizations/tests/Integration/SparklinesConfigTest.php +++ b/plugins/CoreVisualizations/tests/Integration/SparklinesConfigTest.php @@ -47,6 +47,17 @@ class SparklinesConfigTest extends IntegrationTestCase parent::tearDown(); } + public function test_areSparklinesLinkable_byDefaultSparklinesAreLinkable() + { + $this->assertTrue($this->config->areSparklinesLinkable()); + } + + public function test_setNotLinkableWithAnyEvolutionGraph_areSparklinesLinkable_sparklinesCanBeMadeNotLinkable() + { + $this->config->setNotLinkableWithAnyEvolutionGraph(); + $this->assertFalse($this->config->areSparklinesLinkable()); + } + public function test_addSparkline_shouldAddAMinimalSparklineWithOneValueAndUseDefaultOrder() { $this->config->addSparkline($this->sparklineParams(), $value = 10, $description = 'Visits'); diff --git a/plugins/Goals/Pages.php b/plugins/Goals/Pages.php index 7366ebbd9e..7ec50e7e28 100644 --- a/plugins/Goals/Pages.php +++ b/plugins/Goals/Pages.php @@ -46,7 +46,7 @@ class Pages $config->forceViewDataTable(Evolution::ID); $config->setSubcategoryId($subcategory); $config->setAction('getEvolutionGraph'); - $config->setOrder(++$this->orderId); + $config->setOrder(5); $config->setIsNotWidgetizable(); $widgets[] = $config; @@ -54,7 +54,7 @@ class Pages $config->forceViewDataTable(Sparklines::ID); $config->setSubcategoryId($subcategory); $config->setName(''); - $config->setOrder(++$this->orderId); + $config->setOrder(15); $config->setIsNotWidgetizable(); $widgets[] = $config; @@ -67,7 +67,7 @@ class Pages $config->setSubcategoryId($subcategory); $config->forceViewDataTable(Sparklines::ID); $config->setParameters(array('idGoal' => $goal['idgoal'])); - $config->setOrder(++$this->orderId); + $config->setOrder(25); $config->setIsNotWidgetizable(); $config->addParameters(array('allow_multiple' => (int) $goal['allow_multiple'], 'only_summary' => '1')); $widgets[] = $config; @@ -78,7 +78,7 @@ class Pages $config = $this->factory->createContainerWidget('Goals'); $config->setSubcategoryId($subcategory); $config->setName('Goals_ConversionsOverviewBy'); - $config->setOrder(++$this->orderId); + $config->setOrder(35); $config->setIsNotWidgetizable(); $this->buildGoalByDimensionView('', $config); $config->setMiddlewareParameters(array( @@ -104,7 +104,7 @@ class Pages $config->setCategoryId($category); $config->setSubcategoryId($subcategory); $config->setAction('getEvolutionGraph'); - $config->setOrder(++$this->orderId); + $config->setOrder(5); $config->setIsNotWidgetizable(); $config->setParameters(array('idGoal' => $idGoal)); $widgets[] = $config; @@ -117,7 +117,7 @@ class Pages $config->setModule('Ecommerce'); $config->setAction('getSparklines'); $config->setParameters(array('idGoal' => $idGoal)); - $config->setOrder(++$this->orderId); + $config->setOrder(15); $config->setIsNotWidgetizable(); $widgets[] = $config; @@ -127,7 +127,7 @@ class Pages $config->setSubcategoryId($idGoal); $config->setName('Goals_ConversionsOverview'); $config->setParameters(array('idGoal' => $idGoal)); - $config->setOrder(++$this->orderId); + $config->setOrder(25); $config->setIsNotWidgetizable(); $config->setMiddlewareParameters(array( 'module' => 'Goals', @@ -154,7 +154,7 @@ class Pages $config->setSubcategoryId($subcategory); $config->setName(''); $config->setParameters(array('idGoal' => Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER)); - $config->setOrder(++$this->orderId); + $config->setOrder(5); $config->setIsNotWidgetizable(); $this->buildGoalByDimensionView(Piwik::LABEL_ID_GOAL_IS_ECOMMERCE_ORDER, $config); @@ -178,7 +178,7 @@ class Pages $config->forceViewDataTable(Evolution::ID); $config->setAction('getEvolutionGraph'); $config->setParameters($params); - $config->setOrder(++$this->orderId); + $config->setOrder(5); $config->setIsNotWidgetizable(); $widgets[] = $config; @@ -188,8 +188,7 @@ class Pages $config->forceViewDataTable(Sparklines::ID); $config->setParameters($params); $config->addParameters(array('allow_multiple' => (int) $goal['allow_multiple'])); - $config->setOrder(++$this->orderId); - $config->setIsNotWidgetizable(); + $config->setOrder(15); $config->setIsNotWidgetizable(); $widgets[] = $config; @@ -198,7 +197,7 @@ class Pages $config->setSubcategoryId($idGoal); $config->setName('Goals_ConversionsOverview'); $config->setParameters($params); - $config->setOrder(++$this->orderId); + $config->setOrder(25); $config->setIsNotWidgetizable(); $config->setMiddlewareParameters(array( 'module' => 'Goals', @@ -215,7 +214,7 @@ class Pages $config->setName(Piwik::translate('Goals_GoalConversionsBy', array($name))); $config->setSubcategoryId($idGoal); $config->setParameters(array()); - $config->setOrder(++$this->orderId); + $config->setOrder(35); $config->setIsNotWidgetizable(); $config->setMiddlewareParameters(array( 'module' => 'Goals', diff --git a/plugins/Goals/angularjs/manage-goals/manage-goals.controller.js b/plugins/Goals/angularjs/manage-goals/manage-goals.controller.js index 3f0c4bfa8a..c2eb80eca1 100644 --- a/plugins/Goals/angularjs/manage-goals/manage-goals.controller.js +++ b/plugins/Goals/angularjs/manage-goals/manage-goals.controller.js @@ -7,9 +7,9 @@ (function () { angular.module('piwikApp').controller('ManageGoalsController', ManageGoalsController); - ManageGoalsController.$inject = ['piwik', 'piwikApi', '$timeout', '$location', 'reportingMenuModel']; + ManageGoalsController.$inject = ['piwik', 'piwikApi', '$timeout', '$location', 'reportingMenuModel', '$rootScope']; - function ManageGoalsController(piwik, piwikApi, $timeout, $location, reportingMenuModel) { + function ManageGoalsController(piwik, piwikApi, $timeout, $location, reportingMenuModel, $rootScope) { // remember to keep controller very simple. Create a service/factory (model) if needed var self = this; @@ -29,6 +29,8 @@ function initGoalForm(goalMethodAPI, submitText, goalName, description, matchAttribute, pattern, patternType, caseSensitive, revenue, allowMultiple, goalId) { + $rootScope.$emit('Goals.beforeInitGoalForm', goalMethodAPI, goalId); + self.goal = {}; self.goal.name = goalName; self.goal.description = description; @@ -100,6 +102,19 @@ parameters.idGoal = this.goal.goalId; parameters.method = this.goal.apiMethod; + var isCreate = parameters.method === 'Goals.addGoal'; + var isUpdate = parameters.method === 'Goals.updateGoal'; + + if (isUpdate) { + $rootScope.$emit('Goals.beforeUpdateGoal', parameters, piwikApi); + } else if (isCreate) { + $rootScope.$emit('Goals.beforeAddGoal', parameters, piwikApi); + } + + if (parameters && 'undefined' !== typeof parameters.cancelRequest && parameters.cancelRequest) { + return; + } + this.isLoading = true; piwikApi.fetch(parameters).then(function () { @@ -129,6 +144,8 @@ } this.showListOfReports = function (shouldScrollToTop) { + $rootScope.$emit('Goals.cancelForm'); + this.showGoalList = true; this.showEditGoal = false; scrollToTop(); diff --git a/plugins/Goals/templates/_formAddGoal.twig b/plugins/Goals/templates/_formAddGoal.twig index 6b72514f34..9505ac1898 100644 --- a/plugins/Goals/templates/_formAddGoal.twig +++ b/plugins/Goals/templates/_formAddGoal.twig @@ -139,6 +139,8 @@ inline-help="{{ 'Goals_DefaultRevenueHelp'|translate|e('html_attr') }}"> </div> + {{ postEvent("Template.endGoalEditTable") }} + <input type="hidden" name="goalIdUpdate" value=""/> <div piwik-save-button saving="manageGoals.isLoading" diff --git a/plugins/Goals/templates/_listGoalEdit.twig b/plugins/Goals/templates/_listGoalEdit.twig index aab0b77ca0..4496f4fef6 100644 --- a/plugins/Goals/templates/_listGoalEdit.twig +++ b/plugins/Goals/templates/_listGoalEdit.twig @@ -28,6 +28,7 @@ <th>{{ 'General_Description'|translate }}</th> <th>{{ 'Goals_GoalIsTriggeredWhen'|translate }}</th> <th>{{ 'General_ColumnRevenue'|translate }}</th> + {{ postEvent("Template.beforeGoalListActionsHead") }} {% if userCanEditGoals %} <th>{{ 'General_Edit'|translate }}</th> <th>{{ 'General_Delete'|translate }}</th> @@ -44,7 +45,7 @@ </tr> {% else %} {% for goal in goals %} - <tr> + <tr id="{{ goal.idgoal }}"> <td class="first">{{ goal.idgoal }}</td> <td>{{ goal.name }}</td> <td>{{ goal.description }}</td> @@ -57,6 +58,7 @@ <td class="center"> {% if goal.revenue==0 %}-{% else %}{{ goal.revenue|money(idSite)|raw }}{% endif %} </td> + {{ postEvent("Template.beforeGoalListActionsBody", goal) }} {% if userCanEditGoals %} <td style="padding-top:2px"> <button ng-click="manageGoals.editGoal({{ goal.idgoal }})" class="table-action" title="{{ 'General_Edit'|translate }}"> diff --git a/plugins/ProfessionalServices/ProfessionalServices.php b/plugins/ProfessionalServices/ProfessionalServices.php index 442f29edfe..dab1c2af2d 100644 --- a/plugins/ProfessionalServices/ProfessionalServices.php +++ b/plugins/ProfessionalServices/ProfessionalServices.php @@ -13,14 +13,14 @@ use Piwik\Common; class ProfessionalServices extends \Piwik\Plugin { /** - * @see Piwik\Plugin::registerEvents + * @see \Piwik\Plugin::registerEvents */ public function registerEvents() { return array( 'AssetManager.getStylesheetFiles' => 'getStylesheetFiles', 'Request.getRenamedModuleAndAction' => 'renameProfessionalServicesModule', - 'Template.afterGoalConversionOverviewReport' => 'getGoalOverviewPromo', + 'Template.afterGoalConversionOverviewReport' => array('function' => 'getGoalOverviewPromo', 'after' => true), 'Template.afterEventsReport' => 'getEventsPromo', ); } diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportPagesMetadata.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportPagesMetadata.xml index 2cbc2807d4..75524fb54c 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportPagesMetadata.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getReportPagesMetadata.xml @@ -1430,7 +1430,7 @@ <name>Goal 1 - Thank you</name> <module>CoreHome</module> <action>renderWidgetContainer</action> - <order>15</order> + <order>2</order> <parameters> <module>CoreHome</module> <action>renderWidgetContainer</action> @@ -1456,7 +1456,7 @@ </subcategory> <module>Goals</module> <action>getEvolutionGraph</action> - <order>13</order> + <order>5</order> <parameters> <forceView>1</forceView> <viewDataTable>graphEvolution</viewDataTable> @@ -1484,7 +1484,7 @@ </subcategory> <module>Goals</module> <action>get</action> - <order>14</order> + <order>15</order> <parameters> <forceView>1</forceView> <viewDataTable>sparklines</viewDataTable> @@ -1513,7 +1513,7 @@ </subcategory> <module>Goals</module> <action>goalConversionsOverview</action> - <order>15</order> + <order>25</order> <parameters> <module>Goals</module> <action>goalConversionsOverview</action> @@ -1535,7 +1535,7 @@ <name>Goal Goal 1 - Thank you conversions by type of visit</name> <module>CoreHome</module> <action>renderWidgetContainer</action> - <order>17</order> + <order>35</order> <parameters> <module>CoreHome</module> <action>renderWidgetContainer</action> @@ -2037,7 +2037,7 @@ <name>Goal 2 - Hello</name> <module>CoreHome</module> <action>renderWidgetContainer</action> - <order>20</order> + <order>3</order> <parameters> <module>CoreHome</module> <action>renderWidgetContainer</action> @@ -2063,7 +2063,7 @@ </subcategory> <module>Goals</module> <action>getEvolutionGraph</action> - <order>18</order> + <order>5</order> <parameters> <forceView>1</forceView> <viewDataTable>graphEvolution</viewDataTable> @@ -2091,7 +2091,7 @@ </subcategory> <module>Goals</module> <action>get</action> - <order>19</order> + <order>15</order> <parameters> <forceView>1</forceView> <viewDataTable>sparklines</viewDataTable> @@ -2120,7 +2120,7 @@ </subcategory> <module>Goals</module> <action>goalConversionsOverview</action> - <order>20</order> + <order>25</order> <parameters> <module>Goals</module> <action>goalConversionsOverview</action> @@ -2142,7 +2142,7 @@ <name>Goal Goal 2 - Hello conversions by type of visit</name> <module>CoreHome</module> <action>renderWidgetContainer</action> - <order>22</order> + <order>35</order> <parameters> <module>CoreHome</module> <action>renderWidgetContainer</action> @@ -2644,7 +2644,7 @@ <name>triggered js</name> <module>CoreHome</module> <action>renderWidgetContainer</action> - <order>25</order> + <order>4</order> <parameters> <module>CoreHome</module> <action>renderWidgetContainer</action> @@ -2670,7 +2670,7 @@ </subcategory> <module>Goals</module> <action>getEvolutionGraph</action> - <order>23</order> + <order>5</order> <parameters> <forceView>1</forceView> <viewDataTable>graphEvolution</viewDataTable> @@ -2698,7 +2698,7 @@ </subcategory> <module>Goals</module> <action>get</action> - <order>24</order> + <order>15</order> <parameters> <forceView>1</forceView> <viewDataTable>sparklines</viewDataTable> @@ -2749,7 +2749,7 @@ <name>Goal triggered js conversions by type of visit</name> <module>CoreHome</module> <action>renderWidgetContainer</action> - <order>27</order> + <order>35</order> <parameters> <module>CoreHome</module> <action>renderWidgetContainer</action> @@ -3251,7 +3251,7 @@ <name>Overview</name> <module>CoreHome</module> <action>renderWidgetContainer</action> - <order>5</order> + <order>0</order> <parameters> <module>CoreHome</module> <action>renderWidgetContainer</action> @@ -3277,7 +3277,7 @@ </subcategory> <module>Goals</module> <action>getEvolutionGraph</action> - <order>1</order> + <order>5</order> <parameters> <forceView>1</forceView> <viewDataTable>graphEvolution</viewDataTable> @@ -3304,7 +3304,7 @@ </subcategory> <module>Goals</module> <action>get</action> - <order>2</order> + <order>15</order> <parameters> <forceView>1</forceView> <viewDataTable>sparklines</viewDataTable> @@ -3331,7 +3331,7 @@ </subcategory> <module>Goals</module> <action>get</action> - <order>3</order> + <order>25</order> <parameters> <forceView>1</forceView> <viewDataTable>sparklines</viewDataTable> @@ -3361,7 +3361,7 @@ </subcategory> <module>Goals</module> <action>get</action> - <order>4</order> + <order>25</order> <parameters> <forceView>1</forceView> <viewDataTable>sparklines</viewDataTable> @@ -3391,7 +3391,7 @@ </subcategory> <module>Goals</module> <action>get</action> - <order>5</order> + <order>25</order> <parameters> <forceView>1</forceView> <viewDataTable>sparklines</viewDataTable> @@ -3412,7 +3412,7 @@ <name>Conversions overview by type of visit</name> <module>CoreHome</module> <action>renderWidgetContainer</action> - <order>7</order> + <order>35</order> <parameters> <module>CoreHome</module> <action>renderWidgetContainer</action> @@ -3969,7 +3969,7 @@ <name>Overview</name> <module>CoreHome</module> <action>renderWidgetContainer</action> - <order>10</order> + <order>1</order> <parameters> <module>CoreHome</module> <action>renderWidgetContainer</action> @@ -3995,7 +3995,7 @@ </subcategory> <module>Goals</module> <action>getEvolutionGraph</action> - <order>8</order> + <order>5</order> <parameters> <forceView>1</forceView> <viewDataTable>graphEvolution</viewDataTable> @@ -4023,7 +4023,7 @@ </subcategory> <module>Ecommerce</module> <action>getSparklines</action> - <order>9</order> + <order>15</order> <parameters> <forceView>1</forceView> <viewDataTable>sparklines</viewDataTable> @@ -4051,7 +4051,7 @@ </subcategory> <module>Ecommerce</module> <action>getConversionsOverview</action> - <order>10</order> + <order>25</order> <parameters> <module>Ecommerce</module> <action>getConversionsOverview</action> @@ -4197,7 +4197,7 @@ <name /> <module>CoreHome</module> <action>renderWidgetContainer</action> - <order>12</order> + <order>5</order> <parameters> <module>CoreHome</module> <action>renderWidgetContainer</action> diff --git a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getWidgetMetadata.xml b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getWidgetMetadata.xml index 17adcdc0ad..2607e36f1d 100644 --- a/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getWidgetMetadata.xml +++ b/tests/PHPUnit/System/expected/test_apiGetReportMetadata__API.getWidgetMetadata.xml @@ -1740,7 +1740,7 @@ </subcategory> <module>CoreHome</module> <action>renderWidgetContainer</action> - <order>10</order> + <order>1</order> <parameters> <module>CoreHome</module> <action>renderWidgetContainer</action> @@ -1766,7 +1766,7 @@ </subcategory> <module>Goals</module> <action>getEvolutionGraph</action> - <order>8</order> + <order>5</order> <parameters> <forceView>1</forceView> <viewDataTable>graphEvolution</viewDataTable> @@ -1794,7 +1794,7 @@ </subcategory> <module>Ecommerce</module> <action>getSparklines</action> - <order>9</order> + <order>15</order> <parameters> <forceView>1</forceView> <viewDataTable>sparklines</viewDataTable> @@ -1822,7 +1822,7 @@ </subcategory> <module>Ecommerce</module> <action>getConversionsOverview</action> - <order>10</order> + <order>25</order> <parameters> <module>Ecommerce</module> <action>getConversionsOverview</action> @@ -2028,7 +2028,7 @@ </subcategory> <module>CoreHome</module> <action>renderWidgetContainer</action> - <order>5</order> + <order>0</order> <parameters> <module>CoreHome</module> <action>renderWidgetContainer</action> @@ -2054,7 +2054,7 @@ </subcategory> <module>Goals</module> <action>getEvolutionGraph</action> - <order>1</order> + <order>5</order> <parameters> <forceView>1</forceView> <viewDataTable>graphEvolution</viewDataTable> @@ -2081,7 +2081,7 @@ </subcategory> <module>Goals</module> <action>get</action> - <order>2</order> + <order>15</order> <parameters> <forceView>1</forceView> <viewDataTable>sparklines</viewDataTable> @@ -2108,7 +2108,7 @@ </subcategory> <module>Goals</module> <action>get</action> - <order>3</order> + <order>25</order> <parameters> <forceView>1</forceView> <viewDataTable>sparklines</viewDataTable> @@ -2138,7 +2138,7 @@ </subcategory> <module>Goals</module> <action>get</action> - <order>4</order> + <order>25</order> <parameters> <forceView>1</forceView> <viewDataTable>sparklines</viewDataTable> @@ -2168,7 +2168,7 @@ </subcategory> <module>Goals</module> <action>get</action> - <order>5</order> + <order>25</order> <parameters> <forceView>1</forceView> <viewDataTable>sparklines</viewDataTable> @@ -2200,7 +2200,7 @@ </subcategory> <module>CoreHome</module> <action>renderWidgetContainer</action> - <order>15</order> + <order>2</order> <parameters> <module>CoreHome</module> <action>renderWidgetContainer</action> @@ -2226,7 +2226,7 @@ </subcategory> <module>Goals</module> <action>getEvolutionGraph</action> - <order>13</order> + <order>5</order> <parameters> <forceView>1</forceView> <viewDataTable>graphEvolution</viewDataTable> @@ -2254,7 +2254,7 @@ </subcategory> <module>Goals</module> <action>get</action> - <order>14</order> + <order>15</order> <parameters> <forceView>1</forceView> <viewDataTable>sparklines</viewDataTable> @@ -2283,7 +2283,7 @@ </subcategory> <module>Goals</module> <action>goalConversionsOverview</action> - <order>15</order> + <order>25</order> <parameters> <module>Goals</module> <action>goalConversionsOverview</action> @@ -2316,7 +2316,7 @@ </subcategory> <module>CoreHome</module> <action>renderWidgetContainer</action> - <order>20</order> + <order>3</order> <parameters> <module>CoreHome</module> <action>renderWidgetContainer</action> @@ -2342,7 +2342,7 @@ </subcategory> <module>Goals</module> <action>getEvolutionGraph</action> - <order>18</order> + <order>5</order> <parameters> <forceView>1</forceView> <viewDataTable>graphEvolution</viewDataTable> @@ -2370,7 +2370,7 @@ </subcategory> <module>Goals</module> <action>get</action> - <order>19</order> + <order>15</order> <parameters> <forceView>1</forceView> <viewDataTable>sparklines</viewDataTable> @@ -2399,7 +2399,7 @@ </subcategory> <module>Goals</module> <action>goalConversionsOverview</action> - <order>20</order> + <order>25</order> <parameters> <module>Goals</module> <action>goalConversionsOverview</action> @@ -2432,7 +2432,7 @@ </subcategory> <module>CoreHome</module> <action>renderWidgetContainer</action> - <order>25</order> + <order>4</order> <parameters> <module>CoreHome</module> <action>renderWidgetContainer</action> @@ -2458,7 +2458,7 @@ </subcategory> <module>Goals</module> <action>getEvolutionGraph</action> - <order>23</order> + <order>5</order> <parameters> <forceView>1</forceView> <viewDataTable>graphEvolution</viewDataTable> @@ -2486,7 +2486,7 @@ </subcategory> <module>Goals</module> <action>get</action> - <order>24</order> + <order>15</order> <parameters> <forceView>1</forceView> <viewDataTable>sparklines</viewDataTable> |