Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Steur <tsteur@users.noreply.github.com>2016-11-27 22:17:55 +0300
committerGitHub <noreply@github.com>2016-11-27 22:17:55 +0300
commitf6a67af29558eb32b500ede0bbcbeb8b139c53b2 (patch)
tree18484e791374024cf2da0bf3d61fd5e8cd71ce07 /plugins/CoreVisualizations
parent5a2a0e4dd41f64a01e3427739d7594881d7ac2d7 (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
Diffstat (limited to 'plugins/CoreVisualizations')
-rw-r--r--plugins/CoreVisualizations/Visualizations/Sparklines.php2
-rw-r--r--plugins/CoreVisualizations/Visualizations/Sparklines/Config.php25
-rw-r--r--plugins/CoreVisualizations/templates/_dataTableViz_sparklines.twig12
-rw-r--r--plugins/CoreVisualizations/templates/macros.twig5
-rw-r--r--plugins/CoreVisualizations/tests/Integration/SparklinesConfigTest.php11
5 files changed, 50 insertions, 5 deletions
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');