src/cm/media/js/lib/yui/yui3-3.15.0/build/axis-time/axis-time.js
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 602 e16a97fb364a
permissions -rw-r--r--
add link to "privacy policy" in the header test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
602
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     1
YUI.add('axis-time', function (Y, NAME) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     2
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     3
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     4
 * Provides functionality for drawing a time axis for use with a chart.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     5
 *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     6
 * @module charts
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     7
 * @submodule axis-time
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     8
 */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     9
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    10
 * TimeAxis draws a time-based axis for a chart.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    11
 *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    12
 * @class TimeAxis
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    13
 * @constructor
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    14
 * @extends Axis
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    15
 * @uses TimeImpl
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    16
 * @param {Object} config (optional) Configuration parameters.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    17
 * @submodule axis-time
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    18
 */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    19
Y.TimeAxis = Y.Base.create("timeAxis", Y.Axis, [Y.TimeImpl], {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    20
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    21
     * Calculates and returns a value based on the number of labels and the index of
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    22
     * the current label.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    23
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    24
     * @method _getLabelByIndex
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    25
     * @param {Number} i Index of the label.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    26
     * @param {Number} l Total number of labels.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    27
     * @return String
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    28
     * @private
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    29
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    30
    _getLabelByIndex: function(i, l)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    31
    {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    32
        var min = this.get("minimum"),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    33
            max = this.get("maximum"),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    34
            increm,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    35
            label;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    36
            l -= 1;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    37
        increm = ((max - min)/l) * i;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    38
        label = min + increm;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    39
        return label;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    40
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    41
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    42
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    43
     * Returns an object literal containing and array of label values and an array of points.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    44
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    45
     * @method _getLabelData
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    46
     * @param {Object} startPoint An object containing x and y values.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    47
     * @param {Number} edgeOffset Distance to offset coordinates.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    48
     * @param {Number} layoutLength Distance that the axis spans.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    49
     * @param {Number} count Number of labels.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    50
     * @param {String} direction Indicates whether the axis is horizontal or vertical.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    51
     * @param {Array} Array containing values for axis labels.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    52
     * @return Array
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    53
     * @private
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    54
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    55
    _getLabelData: function(constantVal, staticCoord, dynamicCoord, min, max, edgeOffset, layoutLength, count, dataValues)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    56
    {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    57
        var dataValue,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    58
            i,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    59
            points = [],
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    60
            values = [],
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    61
            point,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    62
            offset = edgeOffset;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    63
        dataValues = dataValues || this._getDataValuesByCount(count, min, max);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    64
        for(i = 0; i < count; i = i + 1)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    65
        {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    66
            dataValue = this._getNumber(dataValues[i]);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    67
            if(dataValue <= max && dataValue >= min)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    68
            {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    69
                point = {};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    70
                point[staticCoord] = constantVal;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    71
                point[dynamicCoord] = this._getCoordFromValue(
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    72
                    min,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    73
                    max,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    74
                    layoutLength,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    75
                    dataValue,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    76
                    offset
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    77
                );
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    78
                points.push(point);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    79
                values.push(dataValue);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    80
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    81
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    82
        return {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    83
            points: points,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    84
            values: values
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    85
        };
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    86
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    87
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    88
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    89
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    90
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    91
}, '@VERSION@', {"requires": ["axis", "axis-time-base"]});