Welcome to mirror list, hosted at ThFree Co, Russian Federation.

evolution.js « filters « common « angularjs « CoreHome « plugins - github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: d3ba61259b243b1c4565227ec56b1636c0d43c31 (plain)
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
/*!
 * 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.filter').filter('evolution', evolutionFilter);

    function evolutionFilter() {

        function calculateEvolution(currentValue, pastValue)
        {
            pastValue    = parseInt(pastValue, 10);
            currentValue = parseInt(currentValue, 10) - pastValue;

            var evolution;

            if (currentValue === 0 || isNaN(currentValue)) {
                evolution = 0;
            } else if (pastValue === 0 || isNaN(pastValue)) {
                evolution = 100;
            } else {
                evolution = (currentValue / pastValue) * 100;
            }

            return evolution;
        }

        function formatEvolution(evolution)
        {
            evolution = Math.round(evolution);

            if (evolution > 0) {
                evolution = '+' + evolution;
            }

            evolution += '%';

            return evolution;
        }

        return function(currentValue, pastValue) {
            var evolution = calculateEvolution(currentValue, pastValue);

            return formatEvolution(evolution);
        };
    }
})();