src/cm/media/js/lib/yui/yui_3.10.3/build/axis-stacked-base/axis-stacked-base-debug.js
author gibus
Tue, 16 Jul 2013 14:29:46 +0200
changeset 525 89ef5ed3c48b
permissions -rw-r--r--
Upgrades to yui 3.10.3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
525
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     1
/*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     2
YUI 3.10.3 (build 2fb5187)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     3
Copyright 2013 Yahoo! Inc. All rights reserved.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     4
Licensed under the BSD License.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     5
http://yuilibrary.com/license/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     6
*/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     7
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     8
YUI.add('axis-stacked-base', function (Y, NAME) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     9
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    10
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    11
 * Provides core functionality for the handling of stacked numeric axis data for a chart.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    12
 *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    13
 * @module charts
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    14
 * @submodule axis-stacked-base
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    15
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    16
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
 * StackedImpl contains logic for managing stacked numeric data. StackedImpl is used by the following classes:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
 * <ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
 *      <li>{{#crossLink "StackedAxisBase"}}{{/crossLink}}</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
 *      <li>{{#crossLink "StackedAxis"}}{{/crossLink}}</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
 *  </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
 *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
 * @submodule axis-stacked-base
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
 * @class StackedImpl
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
 * @constructor
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
function StackedImpl()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
StackedImpl.NAME = "stackedImpl";
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
StackedImpl.prototype = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
     * Type of data used in `Data`.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
     * @property _type
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
     * @readOnly
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
     * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
    _type: "stacked",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
     * Calculates the maximum and minimum values for the `Data`.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
     * @method _updateMinAndMax
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
     * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
    _updateMinAndMax: function()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
        var max = 0,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
            min = 0,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
            pos = 0,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
            neg = 0,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
            len = 0,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
            i = 0,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
            key,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
            num,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
            keys = this.get("keys"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
            setMin = this.get("setMin"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
            setMax = this.get("setMax");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
        for(key in keys)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
            if(keys.hasOwnProperty(key))
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
                len = Math.max(len, keys[key].length);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
        for(; i < len; ++i)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
            pos = 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
            neg = 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
            for(key in keys)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
                if(keys.hasOwnProperty(key))
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
                {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
                    num = keys[key][i];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
                    if(isNaN(num))
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
                    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
                        continue;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
                    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
                    if(num >= 0)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
                    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
                        pos += num;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
                    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
                    else
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
                    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
                        neg += num;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
                    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    93
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    94
            if(pos > 0)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    95
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
                max = Math.max(max, pos);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
            else
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
                max = Math.max(max, neg);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
            if(neg < 0)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
                min = Math.min(min, neg);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
            else
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
                min = Math.min(min, pos);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   109
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   110
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   111
        this._actualMaximum = max;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
        this._actualMinimum = min;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
        if(setMax)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
            max = this._setMaximum;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
        if(setMin)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
            min = this._setMinimum;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   120
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   121
        this._roundMinAndMax(min, max, setMin, setMax);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   122
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   123
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   124
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   125
Y.StackedImpl = StackedImpl;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
 * StackedAxisBase manages stacked numeric data for an axis.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
 *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
 * @class StackedAxisBase
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   131
 * @constructor
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   132
 * @extends AxisBase
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   133
 * @uses StackedImpl
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   134
 * @param {Object} config (optional) Configuration parameters.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   135
 * @submodule axis-stacked-base
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   136
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   137
Y.StackedAxisBase = Y.Base.create("stackedAxisBase", Y.NumericAxisBase, [Y.StackedImpl]);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   138
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   139
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
}, '3.10.3', {"requires": ["axis-numeric-base"]});