diff options
author | Stefan Giehl <stefan@matomo.org> | 2019-01-22 03:52:10 +0300 |
---|---|---|
committer | diosmosis <diosmosis@users.noreply.github.com> | 2019-01-22 03:52:10 +0300 |
commit | 1d6fc9406a81e1f732fc18e44ec2fd3172f971a3 (patch) | |
tree | 960153493c3ff0d82d4a44dd9babec51156c9b93 /plugins/CoreHome | |
parent | 14ccca874c4bbe2af2a3fb23f44a492a46db4fc2 (diff) |
Open site in new tab/window if ctrl key is pressed (#13960)
* Open site in new tab/window if ctrl key is pressed
* check for meta key on OS X
Diffstat (limited to 'plugins/CoreHome')
-rw-r--r-- | plugins/CoreHome/angularjs/siteselector/siteselector.controller.js | 11 | ||||
-rw-r--r-- | plugins/CoreHome/angularjs/siteselector/siteselector.directive.html | 4 |
2 files changed, 12 insertions, 3 deletions
diff --git a/plugins/CoreHome/angularjs/siteselector/siteselector.controller.js b/plugins/CoreHome/angularjs/siteselector/siteselector.controller.js index 56643c7804..d18fe195b4 100644 --- a/plugins/CoreHome/angularjs/siteselector/siteselector.controller.js +++ b/plugins/CoreHome/angularjs/siteselector/siteselector.controller.js @@ -16,7 +16,16 @@ $scope.autocompleteMinSites = AUTOCOMPLETE_MIN_SITES; $scope.activeSiteId = piwik.idSite; - $scope.switchSite = function (site) { + $scope.switchSite = function (site, $event) { + + // for Mac OS cmd key needs to be pressed, ctrl key on other systems + var controlKey = navigator.userAgent.indexOf("Mac OS X") !== -1 ? $event.metaKey : $event.ctrlKey; + + if ($event && controlKey && $event.target && $event.target.href) { + window.open($event.target.href, "_blank"); + return; + } + $scope.selectedSite = {id: site.idsite, name: site.name}; if (!$scope.switchSiteOnSelect || $scope.activeSiteId == site.idsite) { diff --git a/plugins/CoreHome/angularjs/siteselector/siteselector.directive.html b/plugins/CoreHome/angularjs/siteselector/siteselector.directive.html index c794b133e9..4cb989122b 100644 --- a/plugins/CoreHome/angularjs/siteselector/siteselector.directive.html +++ b/plugins/CoreHome/angularjs/siteselector/siteselector.directive.html @@ -3,7 +3,7 @@ ng-class="{'expanded': view.showSitesList}"> <script type="text/ng-template" id="siteselector_allsiteslink.html"> - <div ng-click="switchSite({idsite: 'all', name: allSitesText});view.showSitesList=false;" + <div ng-click="switchSite({idsite: 'all', name: allSitesText}, $event);view.showSitesList=false;" class="custom_select_all"> <a href="{{ getUrlAllSites() }}" piwik-ignore-click @@ -50,7 +50,7 @@ <div class="custom_select_container"> <ul class="custom_select_ul_list" ng-click="view.showSitesList=false;"> - <li ng-click="switchSite(site)" + <li ng-click="switchSite(site, $event)" ng-repeat="site in model.sites" ng-hide="!showSelectedSite && activeSiteId==site.idsite"> <a piwik-ignore-click href="{{ getUrlForSiteId(site.idsite) }}" |