diff options
author | Andre Eckardt <aeckardt@outlook.com> | 2022-05-30 06:23:37 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-30 06:23:37 +0300 |
commit | c49e44ed4c98690289e69eb69ee1fbd186e5c273 (patch) | |
tree | 73eeb9a872dcfc687361a551dcf22d97af26da11 /plugins/CoreHome/javascripts | |
parent | e18d5e0fdec4d6927a8688f6d8db49cca6360a87 (diff) |
feat: adds a refresh button (#19261)
* feat: adds a refresh button
this commit introduces a refresh button to every page in the CoreHome module. When the user clicks the button, the data of the current page is refreshed without reloading the page.
Refs #11047
* refactor: apply CR changes
Refs #11047
Diffstat (limited to 'plugins/CoreHome/javascripts')
-rw-r--r-- | plugins/CoreHome/javascripts/refresh-button.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/plugins/CoreHome/javascripts/refresh-button.js b/plugins/CoreHome/javascripts/refresh-button.js new file mode 100644 index 0000000000..96f7176d93 --- /dev/null +++ b/plugins/CoreHome/javascripts/refresh-button.js @@ -0,0 +1,43 @@ +/*! + * Matomo - free/libre analytics platform + * + * @link http://matomo.org + * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later + */ +$(function () { + var iconRefresh = $('.top_controls .icon-reload'); + + function refresh() { + var Matomo = window.CoreHome.Matomo; + var hashParsed = window.CoreHome.MatomoUrl.hashParsed.value; + + Matomo.postEvent('loadPage', hashParsed.category, hashParsed.subcategory); + } + + function isCoreHomeModuleActive() { + var search = window.CoreHome.MatomoUrl.parse(window.location.search.slice(1)); + return search.module === 'CoreHome'; + } + + if (isCoreHomeModuleActive()) { + iconRefresh.show(); + + iconRefresh.on('click', function (e) { + e.preventDefault(); + refresh(); + }); + + piwikHelper.registerShortcut('r', _pk_translate('CoreHome_ShortcutRefresh'), function (event) { + if (event.altKey) { + return; + } + if (event.preventDefault) { + event.preventDefault(); + } else { + event.returnValue = false; // IE + } + + refresh(); + }); + } +}); |