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 <thomas.steur@gmail.com>2015-11-25 23:12:20 +0300
committerThomas Steur <thomas.steur@gmail.com>2015-11-25 23:12:20 +0300
commit2ebe6246746356bebf75b801b6765e22b4c07919 (patch)
treed3254a60d63dea3043cedb68c4faa8874dd9001a /plugins/Actions/javascripts
parent926af9c74c67afc924e60fd6619ca499d1baab58 (diff)
make transtion and overlay row actions extendable by other plugins
Diffstat (limited to 'plugins/Actions/javascripts')
-rw-r--r--plugins/Actions/javascripts/rowactions.js65
1 files changed, 65 insertions, 0 deletions
diff --git a/plugins/Actions/javascripts/rowactions.js b/plugins/Actions/javascripts/rowactions.js
new file mode 100644
index 0000000000..33050b90ed
--- /dev/null
+++ b/plugins/Actions/javascripts/rowactions.js
@@ -0,0 +1,65 @@
+$(function () {
+
+ function isActionsModule(params)
+ {
+ return params.module == 'Actions';
+ }
+
+ function isPageUrlReport(params) {
+ var action = params.action;
+
+ return isActionsModule(params) &&
+ (action == 'getPageUrls' || action == 'getEntryPageUrls' || action == 'getExitPageUrls' || action == 'getPageUrlsFollowingSiteSearch');
+ };
+
+ function isPageTitleReport(params) {
+ var action = params.action;
+
+ return isActionsModule(params) && (action == 'getPageTitles' || action == 'getPageTitlesFollowingSiteSearch');
+ };
+
+ function getLinkForTransitionAndOverlayPopover(tr)
+ {
+ var link = tr.find('> td:first > a').attr('href');
+ link = $('<textarea>').html(link).val(); // remove html entities
+ return link;
+ }
+
+ DataTable_RowActions_Transitions.registerReport({
+ isAvailableOnReport: function (dataTableParams) {
+ return isPageUrlReport(dataTableParams);
+ },
+ isAvailableOnRow: function (dataTableParams, tr) {
+ return isPageUrlReport(dataTableParams) && tr.find('> td:first span.label').parent().is('a')
+ },
+ trigger: function (tr, e, subTableLabel) {
+ var link = getLinkForTransitionAndOverlayPopover(tr);
+ this.openPopover('url:' + link);
+ }
+ });
+
+ DataTable_RowActions_Transitions.registerReport({
+ isAvailableOnReport: function (dataTableParams) {
+ return isPageTitleReport(dataTableParams);
+ },
+ isAvailableOnRow: function (dataTableParams, tr) {
+ return isPageTitleReport(dataTableParams);
+ },
+ trigger: function (tr, e, subTableLabel) {
+ DataTable_RowAction.prototype.trigger.apply(this, [tr, e, subTableLabel]);
+ }
+ });
+
+ DataTable_RowActions_Overlay.registerReport({
+ isAvailableOnReport: function (dataTableParams) {
+ return isPageUrlReport(dataTableParams);
+ },
+ onClick: function (actionA, tr, e) {
+ return {
+ link: getLinkForTransitionAndOverlayPopover(tr),
+ segment: null
+ }
+ }
+ });
+
+}); \ No newline at end of file