diff options
author | Thomas Steur <tsteur@users.noreply.github.com> | 2015-11-30 23:47:21 +0300 |
---|---|---|
committer | Thomas Steur <tsteur@users.noreply.github.com> | 2015-11-30 23:47:21 +0300 |
commit | 75a4dc36df4d36a7a3d0ee9ccabeb24097e3a925 (patch) | |
tree | 240827d7cd91e6c89ed1d6ed65ed49b29e258f8a | |
parent | 390cd897b17a79ad00f6c6d86d2289b00b9d3be3 (diff) | |
parent | f210d65cdc52ff8f472becab89f1a91d7e16572b (diff) |
Merge pull request #9301 from piwik/9256_transition
Forward selected segment to transition in overlay
-rw-r--r-- | plugins/Overlay/javascripts/Piwik_Overlay.js | 6 | ||||
-rw-r--r-- | plugins/Transitions/javascripts/transitions.js | 21 |
2 files changed, 22 insertions, 5 deletions
diff --git a/plugins/Overlay/javascripts/Piwik_Overlay.js b/plugins/Overlay/javascripts/Piwik_Overlay.js index d04f8e5fbe..4bde0ee343 100644 --- a/plugins/Overlay/javascripts/Piwik_Overlay.js +++ b/plugins/Overlay/javascripts/Piwik_Overlay.js @@ -236,7 +236,11 @@ var Piwik_Overlay = (function () { // handle transitions link $transitionsLink.click(function () { - DataTable_RowActions_Transitions.launchForUrl(iframeCurrentPageNormalized); + var unescapedSegment = null; + if (segment) { + unescapedSegment = unescape(segment); + } + DataTable_RowActions_Transitions.launchForUrl(iframeCurrentPageNormalized, unescapedSegment); return false; }); diff --git a/plugins/Transitions/javascripts/transitions.js b/plugins/Transitions/javascripts/transitions.js index 20a4e7febf..8461c89069 100644 --- a/plugins/Transitions/javascripts/transitions.js +++ b/plugins/Transitions/javascripts/transitions.js @@ -17,8 +17,12 @@ function DataTable_RowActions_Transitions(dataTable) { DataTable_RowActions_Transitions.prototype = new DataTable_RowAction; /** Static helper method to launch transitions from anywhere */ -DataTable_RowActions_Transitions.launchForUrl = function (url) { - broadcast.propagateNewPopoverParameter('RowAction', 'Transitions:url:' + url); +DataTable_RowActions_Transitions.launchForUrl = function (url, segment) { + var value = 'Transitions:url:' + url; + if (segment) { + value += ':segment:' + segment; + } + broadcast.propagateNewPopoverParameter('RowAction', value); }; DataTable_RowActions_Transitions.isPageUrlReport = function (module, action) { @@ -63,6 +67,15 @@ DataTable_RowActions_Transitions.prototype.performAction = function (label, tr, }; DataTable_RowActions_Transitions.prototype.doOpenPopover = function (link) { + var posSegment = (link+'').indexOf(':segment:'); + var segment = null; + + // handle and remove ':segment:$SEGMENT' from link + if (posSegment && posSegment > 0) { + segment = link.substring(posSegment + (':segment:'.length)); + link = link.substring(0, posSegment); + } + var parts = link.split(':'); if (parts.length < 2) { return; @@ -73,9 +86,9 @@ DataTable_RowActions_Transitions.prototype.doOpenPopover = function (link) { var actionName = parts.join(':'); if (this.transitions === null) { - this.transitions = new Piwik_Transitions(actionType, actionName, this); + this.transitions = new Piwik_Transitions(actionType, actionName, this, segment); } else { - this.transitions.reset(actionType, actionName); + this.transitions.reset(actionType, actionName, segment); } this.transitions.showPopover(); }; |