src/cm/media/js/lib/yui/yui_3.10.3/build/series-cartesian/series-cartesian-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('series-cartesian', 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 cartesian 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-cartesian
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    15
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    16
var Y_Lang = Y.Lang;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
 * An abstract class for creating series instances with horizontal and vertical axes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
 * CartesianSeries provides the core functionality used by the following classes:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
 * <ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
 *      <li>{{#crossLink "LineSeries"}}{{/crossLink}}</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
 *      <li>{{#crossLink "MarkerSeries"}}{{/crossLink}}</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
 *      <li>{{#crossLink "AreaSeries"}}{{/crossLink}}</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
 *      <li>{{#crossLink "SplineSeries"}}{{/crossLink}}</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
 *      <li>{{#crossLink "AreaSplineSeries"}}{{/crossLink}}</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
 *      <li>{{#crossLink "ComboSeries"}}{{/crossLink}}</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
 *      <li>{{#crossLink "ComboSplineSeries"}}{{/crossLink}}</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
 *      <li>{{#crossLink "Histogram"}}{{/crossLink}}</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
 *  </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
 *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
 * @class CartesianSeries
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
 * @extends SeriesBase
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
 * @constructor
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
 * @param {Object} config (optional) Configuration parameters.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
 * @submodule series-base
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
Y.CartesianSeries = Y.Base.create("cartesianSeries", Y.SeriesBase, [], {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
     * Storage for `xDisplayName` attribute.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
     * @property _xDisplayName
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
     * @type String
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
     * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
    _xDisplayName: null,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
     * Storage for `yDisplayName` attribute.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
     * @property _yDisplayName
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
     * @type String
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
     * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
    _yDisplayName: null,
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
     * Th x-coordinate for the left edge of the series.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
     * @property _leftOrigin
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
     * @type String
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
     * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
    _leftOrigin: null,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
     * The y-coordinate for the bottom edge of the series.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
     * @property _bottomOrigin
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
     * @type String
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
     * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
    _bottomOrigin: null,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
     * Adds event listeners.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
     * @method addListeners
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
     * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
    addListeners: function()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
        var xAxis = this.get("xAxis"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
            yAxis = this.get("yAxis");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
        if(xAxis)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
            this._xDataReadyHandle = xAxis.after("dataReady", Y.bind(this._xDataChangeHandler, this));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
            this._xDataUpdateHandle = xAxis.after("dataUpdate", Y.bind(this._xDataChangeHandler, this));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
        if(yAxis)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
            this._yDataReadyHandle = yAxis.after("dataReady", Y.bind(this._yDataChangeHandler, this));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    93
            this._yDataUpdateHandle = yAxis.after("dataUpdate", Y.bind(this._yDataChangeHandler, this));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    94
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    95
        this._xAxisChangeHandle = this.after("xAxisChange", this._xAxisChangeHandler);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
        this._yAxisChangeHandle = this.after("yAxisChange", this._yAxisChangeHandler);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
        this._stylesChangeHandle = this.after("stylesChange", function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
            var axesReady = this._updateAxisBase();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
            if(axesReady)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
                this.draw();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
        });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
        this._widthChangeHandle = this.after("widthChange", function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
            var axesReady = this._updateAxisBase();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
            if(axesReady)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
                this.draw();
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._heightChangeHandle = this.after("heightChange", function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
            var axesReady = this._updateAxisBase();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
            if(axesReady)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
                this.draw();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
        });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
        this._visibleChangeHandle = this.after("visibleChange", this._handleVisibleChange);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   120
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   121
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   122
     * Event handler for the xAxisChange event.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   123
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   124
     * @method _xAxisChangeHandler
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   125
     * @param {Object} e Event object.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
     * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
    _xAxisChangeHandler: function()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
        var xAxis = this.get("xAxis");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   131
        xAxis.after("dataReady", Y.bind(this._xDataChangeHandler, this));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   132
        xAxis.after("dataUpdate", Y.bind(this._xDataChangeHandler, this));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   133
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   134
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   135
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   136
     * Event handler the yAxisChange event.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   137
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   138
     * @method _yAxisChangeHandler
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   139
     * @param {Object} e Event object.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
     * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   141
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   142
    _yAxisChangeHandler: function()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   143
    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   144
        var yAxis = this.get("yAxis");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   145
        yAxis.after("dataReady", Y.bind(this._yDataChangeHandler, this));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   146
        yAxis.after("dataUpdate", Y.bind(this._yDataChangeHandler, this));
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
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   150
     * Constant used to generate unique id.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   151
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   152
     * @property GUID
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   153
     * @type String
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   154
     * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   155
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   156
    GUID: "yuicartesianseries",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   157
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   158
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   159
     * Event handler for xDataChange event.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   160
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   161
     * @method _xDataChangeHandler
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   162
     * @param {Object} event Event object.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   163
     * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   164
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   165
    _xDataChangeHandler: function()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   166
    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   167
        var axesReady = this._updateAxisBase();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   168
        if(axesReady)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   169
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   170
            this.draw();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   171
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   172
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   173
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   174
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   175
     * Event handler for yDataChange event.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   176
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   177
     * @method _yDataChangeHandler
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   178
     * @param {Object} event Event object.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   179
     * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   180
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   181
    _yDataChangeHandler: function()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   182
    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   183
        var axesReady = this._updateAxisBase();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   184
        if(axesReady)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   185
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   186
            this.draw();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   187
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   188
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   189
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   190
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   191
     * Checks to ensure that both xAxis and yAxis data are available. If so, set the `xData` and `yData` attributes
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   192
     * and return `true`. Otherwise, return `false`.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   193
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   194
     * @method _updateAxisBase
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   195
     * @return Boolean
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   196
     * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   197
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   198
    _updateAxisBase: function()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   199
    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   200
        var xAxis = this.get("xAxis"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   201
            yAxis = this.get("yAxis"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   202
            xKey = this.get("xKey"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   203
            yKey = this.get("yKey"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   204
            yData,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   205
            xData,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   206
            xReady,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   207
            yReady,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   208
            ready;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   209
        if(!xAxis || !yAxis || !xKey || !yKey)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   210
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   211
            ready = false;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   212
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   213
        else
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   214
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   215
            xData = xAxis.getDataByKey(xKey);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   216
            yData = yAxis.getDataByKey(yKey);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   217
            if(Y_Lang.isArray(xKey))
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   218
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   219
                xReady = (xData && Y.Object.size(xData) > 0) ? this._checkForDataByKey(xData, xKey) : false;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   220
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   221
            else
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   222
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   223
                xReady = xData ? true : false;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   224
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   225
            if(Y_Lang.isArray(yKey))
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   226
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   227
                yReady = (yData && Y.Object.size(yData) > 0) ? this._checkForDataByKey(yData, yKey) : false;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   228
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   229
            else
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   230
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   231
                yReady = yData ? true : false;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   232
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   233
            ready = xReady && yReady;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   234
            if(ready)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   235
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   236
                this.set("xData", xData);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   237
                this.set("yData", yData);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   238
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   239
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   240
        return ready;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   241
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   242
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   243
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   244
     * Checks to see if all keys of a data object exist and contain data.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   245
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   246
     * @method _checkForDataByKey
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   247
     * @param {Object} obj The object to check
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   248
     * @param {Array} keys The keys to check
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   249
     * @return Boolean
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   250
     * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   251
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   252
    _checkForDataByKey: function(obj, keys)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   253
    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   254
        var i,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   255
            len = keys.length,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   256
            hasData = false;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   257
        for(i = 0; i < len; i = i + 1)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   258
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   259
            if(obj[keys[i]])
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   260
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   261
                hasData = true;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   262
                break;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   263
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   264
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   265
        return hasData;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   266
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   267
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   268
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   269
     * Draws the series is the xAxis and yAxis data are both available.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   270
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   271
     * @method validate
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   272
     * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   273
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   274
    validate: function()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   275
    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   276
        if((this.get("xData") && this.get("yData")) || this._updateAxisBase())
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   277
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   278
            this.draw();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   279
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   280
        else
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   281
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   282
            this.fire("drawingComplete");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   283
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   284
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   285
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   286
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   287
     * Calculates the coordinates for the series.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   288
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   289
     * @method setAreaData
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   290
     * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   291
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   292
    setAreaData: function()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   293
    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   294
        var w = this.get("width"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   295
            h = this.get("height"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   296
            xAxis = this.get("xAxis"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   297
            yAxis = this.get("yAxis"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   298
            xData = this._copyData(this.get("xData")),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   299
            yData = this._copyData(this.get("yData")),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   300
            direction = this.get("direction"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   301
            dataLength = direction === "vertical" ? yData.length : xData.length,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   302
            xOffset = xAxis.getEdgeOffset(xAxis.getTotalMajorUnits(), w),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   303
            yOffset = yAxis.getEdgeOffset(yAxis.getTotalMajorUnits(), h),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   304
            padding = this.get("styles").padding,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   305
			leftPadding = padding.left,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   306
			topPadding = padding.top,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   307
			dataWidth = w - (leftPadding + padding.right + xOffset * 2),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   308
			dataHeight = h - (topPadding + padding.bottom + yOffset * 2),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   309
			xMax = xAxis.get("maximum"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   310
			xMin = xAxis.get("minimum"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   311
			yMax = yAxis.get("maximum"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   312
			yMin = yAxis.get("minimum"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   313
            xScaleFactor = dataWidth / (xMax - xMin),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   314
			yScaleFactor = dataHeight / (yMax - yMin),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   315
            graphic = this.get("graphic"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   316
            xcoords,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   317
            ycoords;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   318
        graphic.set("width", w);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   319
        graphic.set("height", h);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   320
        //Assuming a vertical graph has a range/category for its vertical axis.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   321
        if(direction === "vertical")
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   322
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   323
            yData = yData.reverse();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   324
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   325
        this._leftOrigin = Math.round(((0 - xMin) * xScaleFactor) + leftPadding + xOffset);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   326
        this._bottomOrigin = Math.round((dataHeight + topPadding + yOffset));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   327
        if(yMin < 0)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   328
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   329
            this._bottomOrigin = this._bottomOrigin - ((0 - yMin) * yScaleFactor);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   330
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   331
        xcoords = this._getXCoords(xData, xMin, dataWidth, xScaleFactor, xOffset, dataLength, leftPadding);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   332
        ycoords = this._getYCoords(yData, yMin, dataHeight, yScaleFactor, yOffset, dataLength, topPadding);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   333
        this.set("xcoords", xcoords);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   334
		this.set("ycoords", ycoords);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   335
        this._dataLength = dataLength;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   336
        this._setXMarkerPlane(xcoords, dataLength);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   337
        this._setYMarkerPlane(ycoords, dataLength);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   338
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   339
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   340
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   341
     * Used to cache xData and yData in the setAreaData method. Returns a copy of an
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   342
     * array if an array is received as the param and returns an object literal of
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   343
     * array copies if an object literal is received as the param.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   344
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   345
     * @method _copyData
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   346
     * @param {Array|Object} val The object or array to be copied.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   347
     * @return Array|Object
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   348
     * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   349
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   350
    _copyData: function(val)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   351
    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   352
        var copy,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   353
            key;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   354
        if(Y_Lang.isArray(val))
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   355
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   356
            copy = val.concat();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   357
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   358
        else
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   359
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   360
            copy = {};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   361
            for(key in val)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   362
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   363
                if(val.hasOwnProperty(key))
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   364
                {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   365
                    copy[key] = val[key].concat();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   366
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   367
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   368
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   369
        return copy;
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
     * Sets the marker plane for the series when the coords argument is an array.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   374
     * If the coords argument is an object literal no marker plane is set.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   375
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   376
     * @method _setXMarkerPlane
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   377
     * @param {Array|Object} coords An array of x coordinates or an object literal
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   378
     * containing key value pairs mapped to an array of coordinates.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   379
     * @param {Number} dataLength The length of data for the series.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   380
     * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   381
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   382
    _setXMarkerPlane: function(coords, dataLength)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   383
    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   384
        var i = 0,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   385
            xMarkerPlane = [],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   386
            xMarkerPlaneOffset = this.get("xMarkerPlaneOffset"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   387
            nextX;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   388
        if(Y_Lang.isArray(coords))
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   389
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   390
            for(i = 0; i < dataLength; i = i + 1)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   391
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   392
                nextX = coords[i];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   393
                xMarkerPlane.push({start:nextX - xMarkerPlaneOffset, end: nextX + xMarkerPlaneOffset});
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.set("xMarkerPlane", xMarkerPlane);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   396
        }
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
     * Sets the marker plane for the series when the coords argument is an array.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   401
     * If the coords argument is an object literal no marker plane is set.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   402
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   403
     * @method _setYMarkerPlane
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   404
     * @param {Array|Object} coords An array of y coordinates or an object literal
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   405
     * containing key value pairs mapped to an array of coordinates.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   406
     * @param {Number} dataLength The length of data for the series.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   407
     * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   408
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   409
    _setYMarkerPlane: function(coords, dataLength)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   410
    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   411
        var i = 0,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   412
            yMarkerPlane = [],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   413
            yMarkerPlaneOffset = this.get("yMarkerPlaneOffset"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   414
            nextY;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   415
        if(Y_Lang.isArray(coords))
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   416
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   417
            for(i = 0; i < dataLength; i = i + 1)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   418
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   419
                nextY = coords[i];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   420
                yMarkerPlane.push({start:nextY - yMarkerPlaneOffset, end: nextY + yMarkerPlaneOffset});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   421
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   422
            this.set("yMarkerPlane", yMarkerPlane);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   423
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   424
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   425
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   426
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   427
     * Gets the x-coordinates for a series. Used by the setAreaData method.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   428
     * Returns an array when an array is received as the first argument.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   429
     * Returns an object literal when an object literal is received as the first argument.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   430
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   431
     * @method _getXCoords
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   432
     * @param {Array|Object} xData An array of data values mapped to the x axis or an
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   433
     * object literal containing key values pairs of data values mapped to the x axis.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   434
     * @param {Number} xMin The minimum value of the x axis.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   435
     * @param {Number} dataWidth The width used to calculate the x-coordinates.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   436
     * @param {Number} xScaleFactor The ratio used to calculate x-coordinates.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   437
     * @param {Number} xOffset The distance of the first and last x-coordinate from the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   438
     * beginning and end of the x-axis.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   439
     * @param {Number} dataLength The number of data points in the arrays.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   440
     * @param {Number} leftPadding The left padding of the series.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   441
     * @return Array|Object
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   442
     * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   443
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   444
    _getXCoords: function(xData, xMin, dataWidth, xScaleFactor, xOffset, dataLength, leftPadding)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   445
    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   446
        var isNumber = Y_Lang.isNumber,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   447
			xcoords,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   448
            xValue,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   449
            nextX,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   450
            key,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   451
            i;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   452
        if(Y_Lang.isArray(xData))
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   453
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   454
            xcoords = [];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   455
            for (i = 0; i < dataLength; ++i)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   456
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   457
                xValue = parseFloat(xData[i]);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   458
                if(isNumber(xValue))
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   459
                {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   460
                    nextX = (((xValue - xMin) * xScaleFactor) + leftPadding + xOffset);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   461
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   462
                else
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   463
                {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   464
                    nextX = NaN;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   465
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   466
                xcoords.push(nextX);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   467
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   468
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   469
        else
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   470
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   471
            xcoords = {};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   472
            for(key in xData)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   473
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   474
                if(xData.hasOwnProperty(key))
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   475
                {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   476
                    xcoords[key] = this._getXCoords.apply(
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   477
                        this,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   478
                        [xData[key], xMin, dataWidth, xScaleFactor, xOffset, dataLength, leftPadding]
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   479
                    );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   480
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   481
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   482
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   483
        return xcoords;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   484
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   485
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   486
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   487
     * Gets the y-coordinates for a series. Used by the setAreaData method.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   488
     * Returns an array when an array is received as the first argument.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   489
     * Returns an object literal when an object literal is received as the first argument.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   490
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   491
     * @method _getYCoords
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   492
     * @param {Array|Object} yData An array of data values mapped to the y axis or an
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   493
     * object literal containing key values pairs of data values mapped to the y axis.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   494
     * @param {Number} yMin The minimum value of the y axis.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   495
     * @param {Number} dataHeight The height used to calculate the y-coordinates.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   496
     * @param {Number} yScaleFactor The ratio used to calculate y-coordinates.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   497
     * @param {Number} yOffset The distance of the first and last y-coordinate from the beginning and end of the y-axis.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   498
     * @param {Number} dataLength The number of data points in the arrays.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   499
     * @param {Number} topPadding The top padding of the series.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   500
     * @return Array|Object
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   501
     * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   502
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   503
    _getYCoords: function(yData, yMin, dataHeight, yScaleFactor, yOffset, dataLength, topPadding)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   504
    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   505
        var isNumber = Y_Lang.isNumber,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   506
			ycoords,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   507
            yValue,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   508
            nextY,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   509
            key,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   510
            i;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   511
        if(Y_Lang.isArray(yData))
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   512
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   513
            ycoords = [];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   514
            for (i = 0; i < dataLength; ++i)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   515
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   516
                yValue = parseFloat(yData[i]);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   517
                if(isNumber(yValue))
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   518
                {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   519
                    nextY = ((dataHeight + topPadding + yOffset) - (yValue - yMin) * yScaleFactor);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   520
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   521
                else
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   522
                {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   523
                    nextY = NaN;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   524
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   525
                ycoords.push(nextY);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   526
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   527
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   528
        else
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   529
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   530
            ycoords = {};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   531
            for(key in yData)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   532
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   533
                if(yData.hasOwnProperty(key))
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   534
                {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   535
                    ycoords[key] = this._getYCoords.apply(
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   536
                        this,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   537
                        [yData[key], yMin, dataHeight, yScaleFactor, yOffset, dataLength, topPadding]
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   538
                    );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   539
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   540
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   541
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   542
        return ycoords;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   543
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   544
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   545
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   546
     * Finds the first valid index of an array coordinates.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   547
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   548
     * @method _getFirstValidIndex
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   549
     * @param {Array} coords An array of x or y coordinates.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   550
     * @return Number
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   551
     * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   552
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   553
    _getFirstValidIndex: function(coords)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   554
    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   555
        var coord,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   556
            i = -1,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   557
            limit = coords.length;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   558
        while(!Y_Lang.isNumber(coord) && i < limit)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   559
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   560
            i += 1;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   561
            coord = coords[i];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   562
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   563
        return i;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   564
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   565
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   566
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   567
     * Finds the last valid index of an array coordinates.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   568
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   569
     * @method _getLastValidIndex
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   570
     * @param {Array} coords An array of x or y coordinates.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   571
     * @return Number
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   572
     * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   573
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   574
    _getLastValidIndex: function(coords)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   575
    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   576
        var coord,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   577
            i = coords.length,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   578
            limit = -1;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   579
        while(!Y_Lang.isNumber(coord) && i > limit)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   580
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   581
            i -= 1;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   582
            coord = coords[i];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   583
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   584
        return i;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   585
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   586
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   587
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   588
     * Draws the series.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   589
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   590
     * @method draw
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   591
     * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   592
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   593
    draw: function()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   594
    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   595
        var w = this.get("width"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   596
            h = this.get("height"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   597
            xcoords,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   598
            ycoords;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   599
        if(this.get("rendered"))
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   600
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   601
            if((isFinite(w) && isFinite(h) && w > 0 && h > 0) &&
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   602
                ((this.get("xData") && this.get("yData")) ||
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   603
                this._updateAxisBase()))
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   604
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   605
                if(this._drawing)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   606
                {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   607
                    this._callLater = true;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   608
                    return;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   609
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   610
                this._drawing = true;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   611
                this._callLater = false;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   612
                this.setAreaData();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   613
                xcoords = this.get("xcoords");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   614
                ycoords = this.get("ycoords");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   615
                if(xcoords && ycoords && xcoords.length > 0)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   616
                {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   617
                    this.drawSeries();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   618
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   619
                this._drawing = false;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   620
                if(this._callLater)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   621
                {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   622
                    this.draw();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   623
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   624
                else
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   625
                {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   626
                    this._toggleVisible(this.get("visible"));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   627
                    this.fire("drawingComplete");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   628
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   629
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   630
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   631
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   632
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   633
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   634
     * Default value for plane offsets when the parent chart's `interactiveType` is `planar`.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   635
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   636
     * @property _defaultPlaneOffset
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   637
     * @type Number
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   638
     * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   639
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   640
    _defaultPlaneOffset: 4,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   641
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   642
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   643
     * Destructor implementation for the CartesianSeries class.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   644
     * Calls destroy on all Graphic instances.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   645
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   646
     * @method destructor
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   647
     * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   648
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   649
    destructor: function()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   650
    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   651
        if(this.get("rendered"))
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   652
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   653
            if(this._xDataReadyHandle)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   654
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   655
                this._xDataReadyHandle.detach();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   656
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   657
            if(this._xDataUpdateHandle)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   658
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   659
                this._xDataUpdateHandle.detach();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   660
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   661
            if(this._yDataReadyHandle)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   662
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   663
                this._yDataReadyHandle.detach();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   664
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   665
            if(this._yDataUpdateHandle)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   666
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   667
                this._yDataUpdateHandle.detach();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   668
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   669
            this._xAxisChangeHandle.detach();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   670
            this._yAxisChangeHandle.detach();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   671
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   672
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   673
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   674
         * Event handle for the x-axis' dataReady event.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   675
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   676
         * @property _xDataReadyHandle
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   677
         * @type {EventHandle}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   678
         * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   679
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   680
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   681
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   682
         * Event handle for the x-axis dataUpdate event.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   683
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   684
         * @property _xDataUpdateHandle
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   685
         * @type {EventHandle}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   686
         * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   687
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   688
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   689
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   690
         * Event handle for the y-axis dataReady event.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   691
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   692
         * @property _yDataReadyHandle
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   693
         * @type {EventHandle}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   694
         * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   695
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   696
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   697
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   698
         * Event handle for the y-axis dataUpdate event.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   699
         * @property _yDataUpdateHandle
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   700
         * @type {EventHandle}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   701
         * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   702
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   703
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   704
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   705
         * Event handle for the xAxisChange event.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   706
         * @property _xAxisChangeHandle
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   707
         * @type {EventHandle}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   708
         * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   709
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   710
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   711
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   712
         * Event handle for the yAxisChange event.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   713
         * @property _yAxisChangeHandle
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   714
         * @type {EventHandle}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   715
         * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   716
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   717
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   718
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   719
         * Event handle for the stylesChange event.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   720
         * @property _stylesChangeHandle
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   721
         * @type {EventHandle}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   722
         * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   723
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   724
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   725
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   726
         * Event handle for the widthChange event.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   727
         * @property _widthChangeHandle
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   728
         * @type {EventHandle}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   729
         * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   730
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   731
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   732
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   733
         * Event handle for the heightChange event.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   734
         * @property _heightChangeHandle
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   735
         * @type {EventHandle}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   736
         * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   737
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   738
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   739
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   740
         * Event handle for the visibleChange event.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   741
         * @property _visibleChangeHandle
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   742
         * @type {EventHandle}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   743
         * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   744
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   745
}, {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   746
    ATTRS: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   747
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   748
         * An array of all series of the same type used within a chart application.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   749
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   750
         * @attribute seriesTypeCollection
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   751
         * @type Array
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   752
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   753
        seriesTypeCollection: {},
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   754
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   755
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   756
         * Name used for for displaying data related to the x-coordinate.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   757
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   758
         * @attribute xDisplayName
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   759
         * @type String
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   760
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   761
        xDisplayName: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   762
            getter: function()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   763
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   764
                return this._xDisplayName || this.get("xKey");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   765
            },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   766
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   767
            setter: function(val)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   768
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   769
                this._xDisplayName = val.toString();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   770
                return val;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   771
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   772
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   773
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   774
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   775
         * Name used for for displaying data related to the y-coordinate.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   776
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   777
         * @attribute yDisplayName
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   778
         * @type String
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   779
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   780
        yDisplayName: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   781
            getter: function()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   782
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   783
                return this._yDisplayName || this.get("yKey");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   784
            },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   785
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   786
            setter: function(val)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   787
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   788
                this._yDisplayName = val.toString();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   789
                return val;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   790
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   791
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   792
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   793
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   794
         * Name used for for displaying category data
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   795
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   796
         * @attribute categoryDisplayName
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   797
         * @type String
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   798
         * @readOnly
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   799
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   800
        categoryDisplayName: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   801
            lazyAdd: false,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   802
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   803
            getter: function()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   804
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   805
                return this.get("direction") === "vertical" ? this.get("yDisplayName") : this.get("xDisplayName");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   806
            },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   807
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   808
            setter: function(val)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   809
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   810
                if(this.get("direction") === "vertical")
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   811
                {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   812
                    this._yDisplayName = val;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   813
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   814
                else
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   815
                {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   816
                    this._xDisplayName = val;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   817
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   818
                return val;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   819
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   820
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   821
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   822
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   823
         * Name used for for displaying value data
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   824
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   825
         * @attribute valueDisplayName
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   826
         * @type String
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   827
         * @readOnly
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   828
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   829
        valueDisplayName: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   830
            lazyAdd: false,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   831
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   832
            getter: function()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   833
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   834
                return this.get("direction") === "vertical" ? this.get("xDisplayName") : this.get("yDisplayName");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   835
            },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   836
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   837
            setter: function(val)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   838
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   839
                if(this.get("direction") === "vertical")
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   840
                {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   841
                    this._xDisplayName = val;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   842
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   843
                else
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   844
                {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   845
                    this._yDisplayName = val;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   846
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   847
                return val;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   848
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   849
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   850
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   851
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   852
         * Read-only attribute indicating the type of series.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   853
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   854
         * @attribute type
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   855
         * @type String
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   856
         * @default cartesian
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   857
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   858
        type: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   859
            value: "cartesian"
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   860
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   861
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   862
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   863
         * Order of this instance of this `type`.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   864
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   865
         * @attribute order
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   866
         * @type Number
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   867
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   868
        order: {},
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   869
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   870
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   871
         * Order of the instance
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   872
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   873
         * @attribute graphOrder
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   874
         * @type Number
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   875
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   876
        graphOrder: {},
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   877
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   878
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   879
         * x coordinates for the series.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   880
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   881
         * @attribute xcoords
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   882
         * @type Array
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   883
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   884
        xcoords: {},
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   885
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   886
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   887
         * y coordinates for the series
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   888
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   889
         * @attribute ycoords
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   890
         * @type Array
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   891
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   892
        ycoords: {},
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   893
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   894
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   895
         * Reference to the `Axis` instance used for assigning
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   896
         * x-values to the graph.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   897
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   898
         * @attribute xAxis
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   899
         * @type Axis
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   900
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   901
        xAxis: {},
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   902
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   903
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   904
         * Reference to the `Axis` instance used for assigning
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   905
         * y-values to the graph.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   906
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   907
         * @attribute yAxis
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   908
         * @type Axis
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   909
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   910
        yAxis: {},
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   911
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   912
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   913
         * Indicates which array to from the hash of value arrays in
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   914
         * the x-axis `Axis` instance.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   915
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   916
         * @attribute xKey
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   917
         * @type String
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   918
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   919
        xKey: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   920
            setter: function(val)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   921
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   922
                if(Y_Lang.isArray(val))
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   923
                {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   924
                    return val;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   925
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   926
                else
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   927
                {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   928
                    return val.toString();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   929
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   930
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   931
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   932
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   933
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   934
         * Indicates which array to from the hash of value arrays in
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   935
         * the y-axis `Axis` instance.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   936
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   937
         * @attribute yKey
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   938
         * @type String
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   939
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   940
        yKey: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   941
            setter: function(val)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   942
            {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   943
                if(Y_Lang.isArray(val))
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   944
                {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   945
                    return val;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   946
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   947
                else
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   948
                {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   949
                    return val.toString();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   950
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   951
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   952
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   953
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   954
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   955
         * Array of x values for the series.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   956
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   957
         * @attribute xData
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   958
         * @type Array
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   959
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   960
        xData: {},
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   961
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   962
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   963
         * Array of y values for the series.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   964
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   965
         * @attribute yData
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   966
         * @type Array
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   967
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   968
        yData: {},
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   969
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   970
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   971
         * Collection of area maps along the xAxis. Used to determine mouseover for multiple
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   972
         * series.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   973
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   974
         * @attribute xMarkerPlane
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   975
         * @type Array
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   976
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   977
        xMarkerPlane: {},
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   978
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   979
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   980
         * Collection of area maps along the yAxis. Used to determine mouseover for multiple
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   981
         * series.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   982
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   983
         * @attribute yMarkerPlane
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   984
         * @type Array
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   985
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   986
        yMarkerPlane: {},
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   987
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   988
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   989
         * Distance from a data coordinate to the left/right for setting a hotspot.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   990
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   991
         * @attribute xMarkerPlaneOffset
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   992
         * @type Number
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   993
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   994
        xMarkerPlaneOffset: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   995
            getter: function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   996
                var marker = this.get("styles").marker;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   997
                if(marker && marker.width && isFinite(marker.width))
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   998
                {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   999
                    return marker.width * 0.5;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1000
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1001
                return this._defaultPlaneOffset;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1002
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1003
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1004
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1005
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1006
         * Distance from a data coordinate to the top/bottom for setting a hotspot.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1007
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1008
         * @attribute yMarkerPlaneOffset
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1009
         * @type Number
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1010
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1011
        yMarkerPlaneOffset: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1012
            getter: function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1013
                var marker = this.get("styles").marker;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1014
                if(marker && marker.height && isFinite(marker.height))
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1015
                {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1016
                    return marker.height * 0.5;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1017
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1018
                return this._defaultPlaneOffset;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1019
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1020
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1021
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1022
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1023
         * Direction of the series
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1024
         *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1025
         * @attribute direction
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1026
         * @type String
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1027
         */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1028
        direction: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1029
            value: "horizontal"
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1030
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1031
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1032
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1033
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1034
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
  1035
}, '3.10.3', {"requires": ["series-base"]});