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:
Diffstat (limited to 'plugins/CoreHome/angularjs/siteselector/siteselector-model.service.js')
-rw-r--r--plugins/CoreHome/angularjs/siteselector/siteselector-model.service.js137
1 files changed, 0 insertions, 137 deletions
diff --git a/plugins/CoreHome/angularjs/siteselector/siteselector-model.service.js b/plugins/CoreHome/angularjs/siteselector/siteselector-model.service.js
deleted file mode 100644
index 19cc732af5..0000000000
--- a/plugins/CoreHome/angularjs/siteselector/siteselector-model.service.js
+++ /dev/null
@@ -1,137 +0,0 @@
-/*!
- * 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').factory('siteSelectorModel', siteSelectorModel);
-
- siteSelectorModel.$inject = ['piwikApi', '$filter', 'piwik', '$q'];
-
- function siteSelectorModel(piwikApi, $filter, piwik, $q) {
-
- var initialSites = null;
- var limitPromise = null;
-
- var model = {
- sites : [],
- hasMultipleWebsites : false,
- isLoading : false,
- firstSiteName : '',
- onlySitesWithAdminAccess: false,
- updateWebsitesList: updateWebsitesList,
- searchSite: searchSite,
- loadSite: loadSite,
- loadInitialSites: loadInitialSites,
- hasMultipleSites: hasMultipleSites
- };
-
- return model;
-
- function updateWebsitesList(sites) {
-
- if (!sites || !sites.length) {
- model.sites = [];
- return [];
- }
-
- angular.forEach(sites, function (site) {
- if (site.group) site.name = '[' + site.group + '] ' + site.name;
- });
-
- model.sites = sortSites(sites);
-
- if (!model.firstSiteName) {
- model.firstSiteName = model.sites[0].name;
- }
-
- model.hasMultipleWebsites = model.hasMultipleWebsites || sites.length > 1;
-
- return model.sites;
- }
-
- function searchSite(term) {
-
- if (!term) {
- loadInitialSites();
- return;
- }
-
- if (model.isLoading) {
- if (model.currentRequest) {
- model.currentRequest.abort();
- } else if (limitPromise) {
- limitPromise.abort();
- limitPromise = null;
- }
- }
-
- model.isLoading = true;
-
- if (!limitPromise) {
- limitPromise = piwikApi.fetch({method: 'SitesManager.getNumWebsitesToDisplayPerPage'});
- }
-
- return limitPromise.then(function (response) {
- var limit = response.value;
-
- var methodToCall = 'SitesManager.getPatternMatchSites';
- if (model.onlySitesWithAdminAccess) {
- methodToCall = 'SitesManager.getSitesWithAdminAccess';
- }
-
- model.currentRequest = piwikApi.fetch({
- method: methodToCall,
- limit: limit,
- pattern: term
- });
-
- return model.currentRequest;
- }).then(function (response) {
- if (angular.isDefined(response)) {
- return updateWebsitesList(response);
- }
- }).finally(function () {
- model.isLoading = false;
- model.currentRequest = null;
- });
- }
-
- function loadSite(idsite) {
- if (idsite == 'all') {
- document.location.href = piwikHelper.getCurrentQueryStringWithParametersModified(piwikHelper.getQueryStringFromParameters({
- module: 'MultiSites',
- action: 'index',
- date: piwik.currentDateString,
- period: piwik.period
- }));
- } else {
- piwik.broadcast.propagateNewPage('segment=&idSite=' + idsite, false);
- }
- }
-
- function sortSites(websites)
- {
- return $filter('orderBy')(websites, '+name');
- }
-
- function loadInitialSites() {
- if (initialSites) {
- model.sites = initialSites;
- var deferred = $q.defer();
- deferred.resolve();
- return deferred.promise;
- }
-
- return searchSite('%').then(function () {
- initialSites = model.sites;
- model.isInitialized = true
- });
- }
-
- function hasMultipleSites() {
- return initialSites && initialSites.length > 1;
- }
- }
-})(); \ No newline at end of file