1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
/*!
* Matomo - free/libre analytics platform
*
* @link https://matomo.org
* @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
*/
(function () {
angular.module('piwikApp').controller('SiteSelectorController', SiteSelectorController);
SiteSelectorController.$inject = ['$scope', 'siteSelectorModel', 'piwik', 'AUTOCOMPLETE_MIN_SITES'];
function SiteSelectorController($scope, siteSelectorModel, piwik, AUTOCOMPLETE_MIN_SITES){
$scope.model = siteSelectorModel;
$scope.model.loadInitialSites().then(function(){
if (!$scope.selectedSite && !$scope.model.hasMultipleSites() && $scope.model.sites[0]) {
$scope.selectedSite = {id: $scope.model.sites[0].idsite, name: $scope.model.sites[0].name};
}
});
$scope.autocompleteMinSites = AUTOCOMPLETE_MIN_SITES;
$scope.activeSiteId = piwik.idSite;
$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) {
return;
}
$scope.model.loadSite(site.idsite);
};
$scope.getUrlAllSites = function () {
var newParameters = 'module=MultiSites&action=index';
return piwik.helper.getCurrentQueryStringWithParametersModified(newParameters);
};
$scope.getUrlForSiteId = function (idSite) {
var idSiteParam = 'idSite=' + idSite;
var newParameters = 'segment=&' + idSiteParam;
var hash = piwik.broadcast.isHashExists() ? piwik.broadcast.getHashFromUrl() : "";
return piwik.helper.getCurrentQueryStringWithParametersModified(newParameters) +
'#' + piwik.helper.getQueryStringWithParametersModified(hash.substring(1), newParameters);
};
piwikHelper.registerShortcut('w', _pk_translate('CoreHome_ShortcutWebsiteSelector'), function(event) {
if (event.altKey) {
return;
}
if (event.preventDefault) {
event.preventDefault();
} else {
event.returnValue = false; // IE
}
$('.siteSelector .title').trigger('click').focus();
});
}
})();
|