src/cm/media/js/lib/yui/yui_3.10.3/build/series-base/series-base.js
author gibus
Tue, 11 Feb 2014 12:33:25 +0100
changeset 572 93383e54e042
parent 525 89ef5ed3c48b
permissions -rw-r--r--
Font size for piwik optout iframe.
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('series-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 functionality for creating a chart series.
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 series-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
 * An abstract class for creating series instances.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
 * SeriesBase is used by the following classes:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
 * <ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
 *      <li>{{#crossLink "CartesianSeries"}}{{/crossLink}}</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
 *      <li>{{#crossLink "PieSeries"}}{{/crossLink}}</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
 *  </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
 *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
 * @class SeriesBase
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
 * @extends Base
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
 * @uses Renderer
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
 * @constructor
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
 * @param {Object} config (optional) Configuration parameters.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
 * @submodule series-base
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
Y.SeriesBase = Y.Base.create("seriesBase", Y.Base, [Y.Renderer], {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
     * @method render
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
     * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
    render: function()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
        this._setCanvas();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
        this.addListeners();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
        this.validate();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
    },
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
     * Creates a `Graphic` instance.
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 _setCanvas
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
     * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
    _setCanvas: 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 graph = this.get("graph"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
            graphic = graph.get("graphic");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
        this.set("graphic", graphic);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
     * Returns a reference to the parent container to which all chart elements are contained.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
     * When the series is bound to a `Chart` instance, the `Chart` instance is the reference.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
     * If nothing is set as the `chart` attribute, the `_getChart` method will return a reference
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
     * to the `graphic` attribute.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
     * @method _getChart
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
     * @return {Object}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
     * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
    _getChart:function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
        var chart,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
            graph = this.get("graph");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
        if(graph)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
            chart = graph.get("chart");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
        if(!chart)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
            chart = this.get("graphic");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
        return chart;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
     * Returns the sum of all values for the series.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
     * @method getTotalValues
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
     * @return Number
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
    getTotalValues: function()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
        var valueCoord = this.get("direction") === "vertical" ? "x" : "y",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
            total = this.get(valueCoord + "Axis").getTotalByKey(this.get(valueCoord + "Key"));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
        return total;
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
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    95
     * Gets the default value for the `styles` attribute. Overrides
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
     * base implementation.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
     * @method _getDefaultStyles
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
     * @return Object
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
     * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
    _getDefaultStyles: function()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
        return {padding:{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
                top: 0,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
                left: 0,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
                right: 0,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
                bottom: 0
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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
     * Shows/hides contents of the series.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
     * @method _handleVisibleChange
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
     * @param {Object} e Event object.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
     * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
    _handleVisibleChange: function()
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._toggleVisible(this.get("visible"));
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
     * Destructor implementation for the CartesianSeries class. Calls destroy on all Graphic instances.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
     * @method destructor
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
     * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
    destructor: function()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   131
    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   132
        var marker,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   133
            markers = this.get("markers");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   134
        if(this.get("rendered"))
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   135
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   136
            this._stylesChangeHandle.detach();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   137
            this._widthChangeHandle.detach();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   138
            this._heightChangeHandle.detach();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   139
            this._visibleChangeHandle.detach();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   141
        while(markers && markers.length > 0)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   142
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   143
            marker = markers.shift();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   144
            if(marker && marker instanceof Y.Shape)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   145
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   146
                marker.destroy();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   147
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   148
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   149
        if(this._path)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   150
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   151
            this._path.destroy();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   152
            this._path = null;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   153
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   154
        if(this._lineGraphic)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   155
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   156
            this._lineGraphic.destroy();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   157
            this._lineGraphic = null;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   158
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   159
        if(this._groupMarker)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   160
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   161
            this._groupMarker.destroy();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   162
            this._groupMarker = null;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   163
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   164
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   165
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   166
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   167
     * Collection of default colors used for lines in a series when not specified by user.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   168
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   169
     * @property _defaultLineColors
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   170
     * @type Array
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   171
     * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   172
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   173
    _defaultLineColors:[
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   174
        "#426ab3",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   175
        "#d09b2c",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   176
        "#000000",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   177
        "#b82837",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   178
        "#b384b5",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   179
        "#ff7200",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   180
        "#779de3",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   181
        "#cbc8ba",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   182
        "#7ed7a6",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   183
        "#007a6c"
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   184
    ],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   185
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   186
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   187
     * Collection of default colors used for marker fills in a series when not specified by user.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   188
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   189
     * @property _defaultFillColors
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   190
     * @type Array
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   191
     * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   192
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   193
    _defaultFillColors:[
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   194
        "#6084d0",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   195
        "#eeb647",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   196
        "#6c6b5f",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   197
        "#d6484f",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   198
        "#ce9ed1",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   199
        "#ff9f3b",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   200
        "#93b7ff",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   201
        "#e0ddd0",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   202
        "#94ecba",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   203
        "#309687"
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   204
    ],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   205
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   206
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   207
     * Collection of default colors used for marker borders in a series when not specified by user.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   208
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   209
     * @property _defaultBorderColors
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   210
     * @type Array
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   211
     * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   212
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   213
    _defaultBorderColors:[
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   214
        "#205096",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   215
        "#b38206",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   216
        "#000000",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   217
        "#94001e",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   218
        "#9d6fa0",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   219
        "#e55b00",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   220
        "#5e85c9",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   221
        "#adab9e",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   222
        "#6ac291",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   223
        "#006457"
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   224
    ],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   225
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   226
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   227
     * Collection of default colors used for area fills, histogram fills and pie fills in a series when not specified by user.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   228
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   229
     * @property _defaultSliceColors
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   230
     * @type Array
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   231
     * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   232
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   233
    _defaultSliceColors: [
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   234
        "#66007f",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   235
        "#a86f41",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   236
        "#295454",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   237
        "#996ab2",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   238
        "#e8cdb7",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   239
        "#90bdbd",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   240
        "#000000",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   241
        "#c3b8ca",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   242
        "#968373",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   243
        "#678585"
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   244
    ],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   245
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   246
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   247
     * Parses a color based on a series order and type.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   248
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   249
     * @method _getDefaultColor
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   250
     * @param {Number} index Index indicating the series order.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   251
     * @param {String} type Indicates which type of object needs the color.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   252
     * @return String
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   253
     * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   254
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   255
    _getDefaultColor: function(index, type)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   256
    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   257
        var colors = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   258
                line: this._defaultLineColors,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   259
                fill: this._defaultFillColors,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   260
                border: this._defaultBorderColors,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   261
                slice: this._defaultSliceColors
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   262
            },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   263
            col = colors[type] || colors.fill,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   264
            l = col.length;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   265
        index = index || 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   266
        if(index >= l)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   267
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   268
            index = index % l;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   269
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   270
        type = type || "fill";
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   271
        return colors[type][index];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   272
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   273
}, {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   274
    ATTRS: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   275
        /*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   276
         * Returns the width of the parent graph
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   277
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   278
         * @attribute width
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   279
         * @type Number
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   280
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   281
        width: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   282
            readOnly: true,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   283
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   284
            getter: function()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   285
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   286
                return this.get("graphic").get("width");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   287
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   288
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   289
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   290
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   291
         * Returns the height of the parent graph
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   292
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   293
         * @attribute height
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   294
         * @type Number
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   295
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   296
        height: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   297
            readOnly: true,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   298
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   299
            getter: function()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   300
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   301
                return this.get("graphic").get("height");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   302
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   303
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   304
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   305
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   306
         * The graphic in which drawings will be rendered.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   307
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   308
         * @attribute graphic
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   309
         * @type Graphic
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   310
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   311
        graphic: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   312
            lazyAdd: false,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   313
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   314
            setter: function(val) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   315
                //woraround for Attribute order of operations bug
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   316
                if(!this.get("rendered")) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   317
                    this.set("rendered", true);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   318
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   319
                return val;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   320
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   321
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   322
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   323
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   324
         * Reference to the `Chart` application. If no `Chart` application is present,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   325
         * a reference to the `Graphic` instance that the series is drawn into will be returned.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   326
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   327
         * @attribute chart
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   328
         * @type ChartBase
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   329
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   330
        chart: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   331
            getter: function()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   332
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   333
                var chart,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   334
                    graph = this.get("graph");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   335
                if(graph)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   336
                {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   337
                    chart = graph.get("chart");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   338
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   339
                return chart;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   340
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   341
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   342
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   343
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   344
         * Reference to the `Graph` in which the series is drawn into.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   345
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   346
         * @attribute graph
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   347
         * @type Graph
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   348
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   349
        graph: {},
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   350
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   351
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   352
         * Indicates whether the Series has been through its initial set up.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   353
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   354
         * @attribute rendered
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   355
         * @type Boolean
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   356
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   357
        rendered: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   358
            value: false
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   359
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   360
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   361
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   362
         * Indicates whether to show the series
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   363
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   364
         * @attribute visible
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   365
         * @type Boolean
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   366
         * @default true
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   367
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   368
        visible: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   369
            value: true
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   370
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   371
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   372
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   373
         * Indicates whether or not markers for a series will be grouped and rendered in a single complex shape instance.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   374
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   375
         * @attribute groupMarkers
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   376
         * @type Boolean
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   377
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   378
        groupMarkers: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   379
            getter: function()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   380
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   381
                var graph,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   382
                    groupMarkers = this._groupMarkers;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   383
                if(!groupMarkers) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   384
                    graph = this.get("graph");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   385
                    if(graph)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   386
                    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   387
                        groupMarkers = graph.get("groupMarkers");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   388
                    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   389
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   390
                return groupMarkers;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   391
            },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   392
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   393
            setter: function(val)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   394
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   395
                this._groupMarkers = val;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   396
                return val;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   397
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   398
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   399
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   400
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   401
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   402
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   403
}, '3.10.3', {"requires": ["graphics", "axis-base"]});