Skip to content
Extraits de code Groupes Projets
manage-custom-vars.model.js 1,32 ko
Newer Older
  • Learn to ignore specific revisions
  • /*!
     * Piwik - free/libre analytics platform
     *
     * @link http://piwik.org
     * @license http://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
     */
    (function () {
        angular.module('piwikApp').factory('manageCustomVarsModel', manageCustomVarsModel);
    
        manageCustomVarsModel.$inject = ['piwikApi'];
    
        function manageCustomVarsModel(piwikApi) {
    
            var model = {
                customVariables : [],
                extractions : [],
                isLoading: false,
    
                fetchUsages: fetchUsages,
                numSlotsAvailable: 5,
    
            };
    
            return model;
    
            function fetchUsages() {
    
                model.isLoading = true;
    
                piwikApi.fetch({method: 'CustomVariables.getUsagesOfSlots'})
                    .then(function (customVariables) {
                        model.customVariables = customVariables;
    
    
                        angular.forEach(customVariables, function (customVar) {
                            if (customVar.index > model.numSlotsAvailable) {
                                model.numSlotsAvailable = customVar.index;
                            }
                        });
    
    
                    })['finally'](function () {    // .finally() is not IE8 compatible see https://github.com/angular/angular.js/commit/f078762d48d0d5d9796dcdf2cb0241198677582c
                    model.isLoading = false;
                });
            }
    
        }
    })();