src/cm/media/js/lib/yui/yui3-3.15.0/build/series-pie/series-pie-debug.js
author ymh <ymh.work@gmail.com>
Fri, 14 Mar 2014 13:16:10 +0100
changeset 611 fa66f4bb1563
parent 602 e16a97fb364a
permissions -rw-r--r--
add some more custom config and put every thing in comment in the custom.yaml template
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
602
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     1
YUI.add('series-pie', function (Y, NAME) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     2
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     3
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     4
 * Provides functionality for creating a pie series.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     5
 *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     6
 * @module charts
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     7
 * @submodule series-pie
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     8
 */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     9
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    10
 * PieSeries visualizes data as a circular chart divided into wedges which represent data as a
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    11
 * percentage of a whole.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    12
 *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    13
 * @class PieSeries
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    14
 * @constructor
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    15
 * @extends SeriesBase
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    16
 * @uses Plots
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    17
 * @param {Object} config (optional) Configuration parameters.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    18
 * @submodule series-pie
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    19
 */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    20
var CONFIG = Y.config,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    21
    DOCUMENT = CONFIG.doc,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    22
    _getClassName = Y.ClassNameManager.getClassName,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    23
    SERIES_MARKER = _getClassName("seriesmarker");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    24
Y.PieSeries = Y.Base.create("pieSeries", Y.SeriesBase, [Y.Plots], {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    25
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    26
     * Image map used for interactivity when rendered with canvas.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    27
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    28
     * @property _map
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    29
     * @type HTMLElement
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    30
     * @private
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    31
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    32
    _map: null,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    33
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    34
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    35
     * Image used for image map when rendered with canvas.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    36
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    37
     * @property _image
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    38
     * @type HTMLElement
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    39
     * @private
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    40
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    41
    _image: null,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    42
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    43
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    44
     * Creates or updates the image map when rendered with canvas.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    45
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    46
     * @method _setMap
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    47
     * @private
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    48
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    49
    _setMap: function()
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    50
    {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    51
        var id = "pieHotSpotMapi_" + Math.round(100000 * Math.random()),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    52
            graph = this.get("graph"),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    53
            graphic,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    54
            cb,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    55
            areaNode;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    56
        if(graph)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    57
        {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    58
            cb = graph.get("contentBox");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    59
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    60
        else
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    61
        {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    62
            graphic = this.get("graphic");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    63
            cb = graphic.get("node");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    64
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    65
        if(this._image)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    66
        {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    67
            cb.removeChild(this._image);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    68
            while(this._areaNodes && this._areaNodes.length > 0)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    69
            {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    70
                areaNode = this._areaNodes.shift();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    71
                this._map.removeChild(areaNode);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    72
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    73
            cb.removeChild(this._map);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    74
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    75
        this._image = DOCUMENT.createElement("img");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    76
        this._image.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAABCAYAAAD9yd/wAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSB" +
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    77
                        "JbWFnZVJlYWR5ccllPAAAABJJREFUeNpiZGBgSGPAAgACDAAIkABoFyloZQAAAABJRU5ErkJggg==";
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    78
        cb.appendChild(this._image);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    79
        this._image.style.position = "absolute";
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    80
        this._image.style.left = "0px";
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    81
        this._image.style.top = "0px";
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    82
        this._image.setAttribute("usemap", "#" + id);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    83
        this._image.style.zIndex = 3;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    84
        this._image.style.opacity = 0;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    85
        this._image.setAttribute("alt", "imagemap");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    86
        this._map = DOCUMENT.createElement("map");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    87
        cb.appendChild(this._map);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    88
        this._map.setAttribute("name", id);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    89
        this._map.setAttribute("id", id);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    90
        this._areaNodes = [];
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    91
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    92
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    93
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    94
     * Storage for `categoryDisplayName` attribute.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    95
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    96
     * @property _categoryDisplayName
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    97
     * @private
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    98
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    99
    _categoryDisplayName: null,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   100
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   101
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   102
     * Storage for `valueDisplayName` attribute.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   103
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   104
     * @property _valueDisplayName
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   105
     * @private
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   106
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   107
    _valueDisplayName: null,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   108
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   109
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   110
     * Adds event listeners.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   111
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   112
     * @method addListeners
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   113
     * @private
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   114
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   115
    addListeners: function()
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   116
    {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   117
        var categoryAxis = this.get("categoryAxis"),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   118
            valueAxis = this.get("valueAxis");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   119
        if(categoryAxis)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   120
        {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   121
            categoryAxis.after("dataReady", Y.bind(this._categoryDataChangeHandler, this));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   122
            categoryAxis.after("dataUpdate", Y.bind(this._categoryDataChangeHandler, this));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   123
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   124
        if(valueAxis)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   125
        {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   126
            valueAxis.after("dataReady", Y.bind(this._valueDataChangeHandler, this));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   127
            valueAxis.after("dataUpdate", Y.bind(this._valueDataChangeHandler, this));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   128
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   129
        this.after("categoryAxisChange", this.categoryAxisChangeHandler);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   130
        this.after("valueAxisChange", this.valueAxisChangeHandler);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   131
        this._stylesChangeHandle = this.after("stylesChange", this._updateHandler);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   132
        this._visibleChangeHandle = this.after("visibleChange", this._handleVisibleChange);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   133
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   134
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   135
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   136
     * Draws the series.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   137
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   138
     * @method validate
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   139
     * @private
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   140
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   141
    validate: function()
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   142
    {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   143
        this.draw();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   144
        this._renderered = true;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   145
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   146
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   147
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   148
     * Event handler for the categoryAxisChange event.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   149
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   150
     * @method _categoryAxisChangeHandler
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   151
     * @param {Object} e Event object.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   152
     * @private
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   153
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   154
    _categoryAxisChangeHandler: function()
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   155
    {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   156
        var categoryAxis = this.get("categoryAxis");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   157
        categoryAxis.after("dataReady", Y.bind(this._categoryDataChangeHandler, this));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   158
        categoryAxis.after("dataUpdate", Y.bind(this._categoryDataChangeHandler, this));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   159
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   160
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   161
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   162
     * Event handler for the valueAxisChange event.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   163
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   164
     * @method _valueAxisChangeHandler
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   165
     * @param {Object} e Event object.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   166
     * @private
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   167
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   168
    _valueAxisChangeHandler: function()
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   169
    {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   170
        var valueAxis = this.get("valueAxis");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   171
        valueAxis.after("dataReady", Y.bind(this._valueDataChangeHandler, this));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   172
        valueAxis.after("dataUpdate", Y.bind(this._valueDataChangeHandler, this));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   173
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   174
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   175
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   176
     * Constant used to generate unique id.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   177
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   178
     * @property GUID
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   179
     * @type String
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   180
     * @private
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   181
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   182
    GUID: "pieseries",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   183
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   184
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   185
     * Event handler for categoryDataChange event.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   186
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   187
     * @method _categoryDataChangeHandler
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   188
     * @param {Object} event Event object.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   189
     * @private
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   190
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   191
    _categoryDataChangeHandler: function()
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   192
    {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   193
       if(this._rendered && this.get("categoryKey") && this.get("valueKey"))
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   194
        {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   195
            this.draw();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   196
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   197
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   198
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   199
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   200
     * Event handler for valueDataChange event.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   201
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   202
     * @method _valueDataChangeHandler
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   203
     * @param {Object} event Event object.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   204
     * @private
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   205
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   206
    _valueDataChangeHandler: function()
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   207
    {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   208
        if(this._rendered && this.get("categoryKey") && this.get("valueKey"))
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   209
        {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   210
            this.draw();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   211
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   212
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   213
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   214
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   215
     * Returns the sum of all values for the series.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   216
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   217
     * @method getTotalValues
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   218
     * @return Number
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   219
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   220
    getTotalValues: function()
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   221
    {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   222
        var total = this.get("valueAxis").getTotalByKey(this.get("valueKey"));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   223
        return total;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   224
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   225
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   226
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   227
     * Draws the series. Overrides the base implementation.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   228
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   229
     * @method draw
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   230
     * @protected
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   231
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   232
    draw: function()
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   233
    {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   234
        var w = this.get("width"),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   235
            h = this.get("height");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   236
        if(isFinite(w) && isFinite(h) && w > 0 && h > 0)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   237
        {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   238
            this._rendered = true;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   239
            if(this._drawing)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   240
            {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   241
                this._callLater = true;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   242
                return;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   243
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   244
            this._drawing = true;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   245
            this._callLater = false;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   246
            this.drawSeries();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   247
            this._drawing = false;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   248
            if(this._callLater)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   249
            {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   250
                this.draw();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   251
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   252
            else
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   253
            {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   254
                this.fire("drawingComplete");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   255
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   256
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   257
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   258
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   259
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   260
     * Draws the markers
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   261
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   262
     * @method drawPlots
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   263
     * @protected
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   264
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   265
    drawPlots: function()
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   266
    {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   267
        var values = this.get("valueAxis").getDataByKey(this.get("valueKey")).concat(),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   268
            totalValue = 0,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   269
            itemCount = values.length,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   270
            styles = this.get("styles").marker,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   271
            fillColors = styles.fill.colors,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   272
            fillAlphas = styles.fill.alphas || ["1"],
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   273
            borderColors = styles.border.colors,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   274
            borderWeights = [styles.border.weight],
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   275
            borderAlphas = [styles.border.alpha],
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   276
            tbw = borderWeights.concat(),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   277
            tbc = borderColors.concat(),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   278
            tba = borderAlphas.concat(),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   279
            tfc,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   280
            tfa,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   281
            padding = styles.padding,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   282
            graphic = this.get("graphic"),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   283
            minDimension = Math.min(graphic.get("width"), graphic.get("height")),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   284
            w = minDimension - (padding.left + padding.right),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   285
            h = minDimension - (padding.top + padding.bottom),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   286
            startAngle = -90,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   287
            halfWidth = w / 2,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   288
            halfHeight = h / 2,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   289
            radius = Math.min(halfWidth, halfHeight),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   290
            i = 0,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   291
            value,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   292
            angle = 0,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   293
            lc,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   294
            la,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   295
            lw,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   296
            wedgeStyle,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   297
            marker,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   298
            graphOrder = this.get("graphOrder") || 0,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   299
            isCanvas = Y.Graphic.NAME === "canvasGraphic";
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   300
        for(; i < itemCount; ++i)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   301
        {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   302
            value = parseFloat(values[i]);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   303
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   304
            values.push(value);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   305
            if(!isNaN(value))
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   306
            {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   307
                totalValue += value;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   308
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   309
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   310
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   311
        tfc = fillColors ? fillColors.concat() : null;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   312
        tfa = fillAlphas ? fillAlphas.concat() : null;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   313
        this._createMarkerCache();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   314
        if(isCanvas)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   315
        {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   316
            this._setMap();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   317
            this._image.width = w;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   318
            this._image.height = h;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   319
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   320
        for(i = 0; i < itemCount; i++)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   321
        {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   322
            value = values[i];
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   323
            if(totalValue === 0)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   324
            {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   325
                angle = 360 / values.length;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   326
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   327
            else
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   328
            {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   329
                angle = 360 * (value / totalValue);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   330
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   331
            if(tfc && tfc.length < 1)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   332
            {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   333
                tfc = fillColors.concat();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   334
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   335
            if(tfa && tfa.length < 1)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   336
            {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   337
                tfa = fillAlphas.concat();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   338
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   339
            if(tbw && tbw.length < 1)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   340
            {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   341
                tbw = borderWeights.concat();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   342
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   343
            if(tbw && tbc.length < 1)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   344
            {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   345
                tbc = borderColors.concat();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   346
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   347
            if(tba && tba.length < 1)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   348
            {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   349
                tba = borderAlphas.concat();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   350
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   351
            lw = tbw ? tbw.shift() : null;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   352
            lc = tbc ? tbc.shift() : null;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   353
            la = tba ? tba.shift() : null;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   354
            startAngle += angle;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   355
            wedgeStyle = {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   356
                border: {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   357
                    color:lc,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   358
                    weight:lw,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   359
                    alpha:la
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   360
                },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   361
                fill: {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   362
                    color:tfc ? tfc.shift() : this._getDefaultColor(i, "slice"),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   363
                    alpha:tfa ? tfa.shift() : null
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   364
                },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   365
                type: "pieslice",
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   366
                arc: angle,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   367
                radius: radius,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   368
                startAngle: startAngle,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   369
                cx: halfWidth,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   370
                cy: halfHeight,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   371
                width: w,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   372
                height: h
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   373
            };
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   374
            marker = this.getMarker(wedgeStyle, graphOrder, i);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   375
            if(isCanvas)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   376
            {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   377
                this._addHotspot(wedgeStyle, graphOrder, i);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   378
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   379
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   380
        this._clearMarkerCache();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   381
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   382
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   383
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   384
     * @protected
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   385
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   386
     * Method used by `styles` setter. Overrides base implementation.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   387
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   388
     * @method _setStyles
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   389
     * @param {Object} newStyles Hash of properties to update.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   390
     * @return Object
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   391
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   392
    _setStyles: function(val)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   393
    {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   394
        if(!val.marker)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   395
        {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   396
            val = {marker:val};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   397
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   398
        val = this._parseMarkerStyles(val);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   399
        return Y.PieSeries.superclass._mergeStyles.apply(this, [val, this._getDefaultStyles()]);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   400
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   401
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   402
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   403
     *  Adds an interactive map when rendering in canvas.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   404
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   405
     *  @method _addHotspot
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   406
     *  @param {Object} cfg Object containing data used to draw the hotspot
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   407
     *  @param {Number} seriesIndex Index of series in the `seriesCollection`.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   408
     *  @param {Number} index Index of the marker using the hotspot.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   409
     *  @private
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   410
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   411
    _addHotspot: function(cfg, seriesIndex, index)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   412
    {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   413
        var areaNode = DOCUMENT.createElement("area"),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   414
            i = 1,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   415
            x = cfg.cx,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   416
            y = cfg.cy,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   417
            arc = cfg.arc,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   418
            startAngle = cfg.startAngle - arc,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   419
            endAngle = cfg.startAngle,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   420
            radius = cfg.radius,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   421
            ax = x + Math.cos(startAngle / 180 * Math.PI) * radius,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   422
            ay = y + Math.sin(startAngle / 180 * Math.PI) * radius,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   423
            bx = x + Math.cos(endAngle / 180 * Math.PI) * radius,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   424
            by = y + Math.sin(endAngle / 180 * Math.PI) * radius,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   425
            numPoints = Math.floor(arc/10) - 1,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   426
            divAngle = (arc/(Math.floor(arc/10)) / 180) * Math.PI,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   427
            angleCoord = Math.atan((ay - y)/(ax - x)),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   428
            pts = x + ", " + y + ", " + ax + ", " + ay,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   429
            cosAng,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   430
            sinAng,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   431
            multDivAng;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   432
        for(i = 1; i <= numPoints; ++i)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   433
        {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   434
            multDivAng = divAngle * i;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   435
            cosAng = Math.cos(angleCoord + multDivAng);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   436
            sinAng = Math.sin(angleCoord + multDivAng);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   437
            if(startAngle <= 90)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   438
            {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   439
                pts += ", " + (x + (radius * Math.cos(angleCoord + (divAngle * i))));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   440
                pts += ", " + (y + (radius * Math.sin(angleCoord + (divAngle * i))));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   441
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   442
            else
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   443
            {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   444
                pts += ", " + (x - (radius * Math.cos(angleCoord + (divAngle * i))));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   445
                pts += ", " + (y - (radius * Math.sin(angleCoord + (divAngle * i))));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   446
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   447
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   448
        pts += ", " + bx + ", " + by;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   449
        pts += ", " + x + ", " + y;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   450
        this._map.appendChild(areaNode);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   451
        areaNode.setAttribute("class", SERIES_MARKER);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   452
        areaNode.setAttribute("id", "hotSpot_" + seriesIndex + "_" + index);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   453
        areaNode.setAttribute("shape", "polygon");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   454
        areaNode.setAttribute("coords", pts);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   455
        this._areaNodes.push(areaNode);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   456
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   457
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   458
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   459
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   460
     * Resizes and positions markers based on a mouse interaction.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   461
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   462
     * @method updateMarkerState
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   463
     * @param {String} type state of the marker
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   464
     * @param {Number} i index of the marker
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   465
     * @protected
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   466
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   467
    updateMarkerState: function(type, i)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   468
    {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   469
        if(this._markers[i])
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   470
        {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   471
            var state = this._getState(type),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   472
                markerStyles,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   473
                indexStyles,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   474
                marker = this._markers[i],
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   475
                styles = this.get("styles").marker;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   476
            markerStyles = state === "off" || !styles[state] ? styles : styles[state];
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   477
            indexStyles = this._mergeStyles(markerStyles, {});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   478
            indexStyles.fill.color = indexStyles.fill.colors[i % indexStyles.fill.colors.length];
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   479
            indexStyles.fill.alpha = indexStyles.fill.alphas[i % indexStyles.fill.alphas.length];
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   480
            marker.set(indexStyles);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   481
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   482
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   483
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   484
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   485
     * Creates a shape to be used as a marker.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   486
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   487
     * @method _createMarker
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   488
     * @param {Object} styles Hash of style properties.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   489
     * @return Shape
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   490
     * @private
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   491
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   492
    _createMarker: function(styles)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   493
    {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   494
        var graphic = this.get("graphic"),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   495
            marker,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   496
            cfg = this._copyObject(styles);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   497
        marker = graphic.addShape(cfg);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   498
        marker.addClass(SERIES_MARKER);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   499
        return marker;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   500
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   501
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   502
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   503
     * Creates a cache of markers for reuse.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   504
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   505
     * @method _createMarkerCache
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   506
     * @private
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   507
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   508
    _clearMarkerCache: function()
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   509
    {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   510
        var len = this._markerCache.length,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   511
            i = 0,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   512
            marker;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   513
        for(; i < len; ++i)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   514
        {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   515
            marker = this._markerCache[i];
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   516
            if(marker)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   517
            {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   518
                marker.destroy();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   519
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   520
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   521
        this._markerCache = [];
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   522
    },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   523
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   524
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   525
     * Gets the default style values for the markers.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   526
     *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   527
     * @method _getPlotDefaults
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   528
     * @return Object
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   529
     * @private
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   530
     */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   531
    _getPlotDefaults: function()
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   532
    {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   533
         var defs = {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   534
            padding:{
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   535
                top: 0,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   536
                left: 0,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   537
                right: 0,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   538
                bottom: 0
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   539
            },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   540
            fill:{
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   541
                alphas:["1"]
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   542
            },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   543
            border: {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   544
                weight: 0,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   545
                alpha: 1
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   546
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   547
        };
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   548
        defs.fill.colors = this._defaultSliceColors;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   549
        defs.border.colors = this._defaultBorderColors;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   550
        return defs;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   551
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   552
}, {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   553
    ATTRS: {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   554
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   555
         * Read-only attribute indicating the type of series.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   556
         *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   557
         * @attribute type
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   558
         * @type String
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   559
         * @default pie
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   560
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   561
        type: {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   562
            value: "pie"
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   563
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   564
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   565
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   566
         * Order of this instance of this `type`.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   567
         *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   568
         * @attribute order
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   569
         * @type Number
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   570
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   571
        order: {},
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   572
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   573
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   574
         * Reference to the `Graph` in which the series is drawn into.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   575
         *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   576
         * @attribute graph
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   577
         * @type Graph
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   578
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   579
        graph: {},
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   580
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   581
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   582
         * Reference to the `Axis` instance used for assigning
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   583
         * category values to the graph.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   584
         *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   585
         * @attribute categoryAxis
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   586
         * @type Axis
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   587
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   588
        categoryAxis: {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   589
            value: null,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   590
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   591
            validator: function(value)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   592
            {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   593
                return value !== this.get("categoryAxis");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   594
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   595
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   596
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   597
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   598
         * Reference to the `Axis` instance used for assigning
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   599
         * series values to the graph.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   600
         *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   601
         * @attribute categoryAxis
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   602
         * @type Axis
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   603
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   604
        valueAxis: {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   605
            value: null,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   606
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   607
            validator: function(value)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   608
            {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   609
                return value !== this.get("valueAxis");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   610
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   611
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   612
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   613
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   614
         * Indicates which array to from the hash of value arrays in
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   615
         * the category `Axis` instance.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   616
         *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   617
         * @attribute categoryKey
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   618
         * @type String
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   619
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   620
        categoryKey: {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   621
            value: null,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   622
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   623
            validator: function(value)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   624
            {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   625
                return value !== this.get("categoryKey");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   626
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   627
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   628
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   629
         * Indicates which array to from the hash of value arrays in
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   630
         * the value `Axis` instance.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   631
         *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   632
         * @attribute valueKey
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   633
         * @type String
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   634
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   635
        valueKey: {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   636
            value: null,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   637
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   638
            validator: function(value)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   639
            {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   640
                return value !== this.get("valueKey");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   641
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   642
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   643
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   644
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   645
         * Name used for for displaying category data
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   646
         *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   647
         * @attribute categoryDisplayName
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   648
         * @type String
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   649
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   650
        categoryDisplayName: {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   651
            setter: function(val)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   652
            {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   653
                this._categoryDisplayName = val;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   654
                return val;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   655
            },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   656
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   657
            getter: function()
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   658
            {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   659
                return this._categoryDisplayName || this.get("categoryKey");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   660
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   661
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   662
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   663
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   664
         * Name used for for displaying value data
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   665
         *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   666
         * @attribute valueDisplayName
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   667
         * @type String
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   668
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   669
        valueDisplayName: {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   670
            setter: function(val)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   671
            {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   672
                this._valueDisplayName = val;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   673
                return val;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   674
            },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   675
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   676
            getter: function()
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   677
            {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   678
                return this._valueDisplayName || this.get("valueKey");
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   679
            }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   680
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   681
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   682
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   683
         * @attribute slices
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   684
         * @type Array
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   685
         * @private
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   686
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   687
        slices: null
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   688
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   689
        /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   690
         * Style properties used for drawing markers. This attribute is inherited from `MarkerSeries`. Below are  the default
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   691
         * values:
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   692
         *  <dl>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   693
         *      <dt>fill</dt><dd>A hash containing the following values:
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   694
         *          <dl>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   695
         *              <dt>colors</dt><dd>An array of colors to be used for the marker fills. The color for each marker  is
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   696
         *              retrieved from the array below:<br/>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   697
         *              `["#66007f", "#a86f41", "#295454", "#996ab2", "#e8cdb7", "#90bdbd","#000000","#c3b8ca", "#968373", "#678585"]`
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   698
         *              </dd>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   699
         *              <dt>alphas</dt><dd>An array of alpha references (Number from 0 to 1) indicating the opacity of each marker
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   700
         *              fill. The default value is [1].</dd>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   701
         *          </dl>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   702
         *      </dd>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   703
         *      <dt>border</dt><dd>A hash containing the following values:
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   704
         *          <dl>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   705
         *              <dt>color</dt><dd>An array of colors to be used for the marker borders. The color for each marker is
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   706
         *              retrieved from the array below:<br/>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   707
         *              `["#205096", "#b38206", "#000000", "#94001e", "#9d6fa0", "#e55b00", "#5e85c9", "#adab9e", "#6ac291", "#006457"]`
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   708
         *              <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.</dd>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   709
         *              <dt>weight</dt><dd>Number indicating the width of the border. The default value is 1.</dd>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   710
         *          </dl>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   711
         *      </dd>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   712
         *      <dt>over</dt><dd>hash containing styles for markers when highlighted by a `mouseover` event. The default
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   713
         *      values for each style is null. When an over style is not set, the non-over value will be used. For example,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   714
         *      the default value for `marker.over.fill.color` is equivalent to `marker.fill.color`.</dd>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   715
         *  </dl>
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   716
         *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   717
         * @attribute styles
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   718
         * @type Object
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   719
         */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   720
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   721
});
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   722
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   723
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
   724
}, '@VERSION@', {"requires": ["series-base", "series-plot-util"]});