src/cm/media/js/lib/yui/yui_3.10.3/build/series-candlestick/series-candlestick.js
author gibus
Tue, 11 Feb 2014 12:33:25 +0100
changeset 572 93383e54e042
parent 525 89ef5ed3c48b
permissions -rw-r--r--
Font size for piwik optout iframe.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
525
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     1
/*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     2
YUI 3.10.3 (build 2fb5187)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     3
Copyright 2013 Yahoo! Inc. All rights reserved.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     4
Licensed under the BSD License.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     5
http://yuilibrary.com/license/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     6
*/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     7
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     8
YUI.add('series-candlestick', 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 candlestick 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-candlestick
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    15
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    16
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
 * The CandlestickSeries class renders columns (candles) and lines (wicks) representing the open, high, low and close
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
 * values for a chart.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
 *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
 * @class CandlestickSeries
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
 * @extends RangeSeries
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
 * @constructor
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
 * @param {Object} config (optional) Configuration parameters.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
 * @submodule series-candlestick
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
function CandlestickSeries()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
    CandlestickSeries.superclass.constructor.apply(this, arguments);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
CandlestickSeries.NAME = "candlestickSeries";
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
CandlestickSeries.ATTRS = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
     * Read-only attribute indicating the type of series.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
     * @attribute type
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
     * @type String
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
     * @readOnly
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
     * @default candlestick
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
    type: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
        value: "candlestick"
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
     * The graphic in which drawings will be rendered.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
     * @attribute graphic
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
     * @type Graphic
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
    graphic: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
        lazyAdd: false,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
        setter: function(val) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
            //woraround for Attribute order of operations bug
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
            if(!this.get("rendered")) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
                this.set("rendered", true);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
            this.set("upcandle", val.addShape({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
               type: "path"
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
            }));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
            this.set("downcandle", val.addShape({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
               type: "path"
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
            }));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
            this.set("wick", val.addShape({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
               type: "path"
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
            }));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
            return val;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
     * Reference to the candlestick used when the close value is higher than the open value.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
     * @attribute upcandle
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
     * @type Path
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
    upcandle: {},
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
     * Reference to the candlestick used when the open value is higher than the close value.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
     * @attribute downcandle
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
     * @type Path
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
    downcandle: {},
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
     * Reference to the line drawn between the high and low values.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
     * @attribute wick
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    93
     * @type Path
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    94
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    95
    wick: {}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
     * Style properties used for drawing candles and wicks. This attribute is inherited from `RangeSeries`. Below are the default values:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
     *  <dl>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
     *      <dt>upcandle</dt><dd>Properties for a candle representing a period that closes higher than it opens.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
     *          <dl>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
     *              <dt>fill</dt><dd>A hash containing the following values:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
     *                  <dl>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
     *                      <dt>color</dt><dd>Color of the fill. The default value is "#00aa00".</dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
     *                      </dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
     *                      <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker fill. The default value is 1.</dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
     *                  </dl>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
     *              </dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   109
     *              <dt>border</dt><dd>A hash containing the following values:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   110
     *                  <dl>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   111
     *                      <dt>color</dt><dd>Color of the border. The default value is "#000000".</dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
     *                      <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.</dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
     *                      <dt>weight</dt><dd>Number indicating the width of the border. The default value is 0.</dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
     *                  </dl>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
     *              </dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
     *          </dl>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
     *      </dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
     *      <dt>downcandle</dt><dd>Properties for a candle representing a period that opens higher than it closes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
     *          <dl>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   120
     *              <dt>fill</dt><dd>A hash containing the following values:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   121
     *                  <dl>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   122
     *                      <dt>color</dt><dd>Color of the fill. The default value is "#aa0000".</dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   123
     *                      </dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   124
     *                      <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker fill. The default value is 1.</dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   125
     *                  </dl>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
     *              </dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
     *              <dt>border</dt><dd>A hash containing the following values:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
     *                  <dl>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
     *                      <dt>color</dt><dd>Color of the border. The default value is "#000000".</dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
     *                      <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the marker border. The default value is 1.</dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   131
     *                      <dt>weight</dt><dd>Number indicating the width of the border. The default value is 0.</dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   132
     *                  </dl>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   133
     *              </dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   134
     *          </dl>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   135
     *      </dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   136
     *      <dt>wick</dt><dd>Properties for the wick, which is a line drawn from the high point of the period to the low point of the period.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   137
     *          <dl>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   138
     *              <dt>color</dt><dd>The color of the wick. The default value is "#000000".</dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   139
     *              <dt>weight</dt><dd>The weight of the wick. The default value is 1.</dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
     *              <dt>alpha</dt><dd>Number from 0 to 1 indicating the opacity of the wick. The default value is 1.</dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   141
     *          </dl>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   142
     *      </dd>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   143
     *  </dl>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   144
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   145
     * @attribute styles
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   146
     * @type Object
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
Y.extend(CandlestickSeries, Y.RangeSeries, {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   151
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   152
     * Draws markers for an Candlestick series.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   153
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   154
     * @method
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   155
     * @param {Array} xcoords The xcoordinates to be plotted.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   156
     * @param {Array} opencoords The coordinates representing the open values.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   157
     * @param {Array} highcoords The coordinates representing the high values.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   158
     * @param {Array} lowcoords The coordinates representing the low values.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   159
     * @param {Array} closecoords The coordinates representing the close values.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   160
     * @param {Number} len The number of x coordinates to plot.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   161
     * @param {Number} width The width of each candlestick marker.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   162
     * @param {Number} halfwidth Half the width of each candlestick marker.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   163
     * @param {Object} styles The styles for the series.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   164
     * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   165
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   166
    _drawMarkers: function(xcoords, opencoords, highcoords, lowcoords, closecoords, len, width, halfwidth, styles)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   167
    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   168
        var upcandle = this.get("upcandle"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   169
            downcandle = this.get("downcandle"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   170
            wick = this.get("wick"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   171
            cx,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   172
            opencoord,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   173
            highcoord,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   174
            lowcoord,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   175
            closecoord,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   176
            left,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   177
            right,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   178
            top,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   179
            bottom,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   180
            leftPadding = styles.padding.left,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   181
            up;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   182
        upcandle.set(styles.upcandle);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   183
        downcandle.set(styles.downcandle);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   184
        wick.set(styles.wick);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   185
        upcandle.clear();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   186
        downcandle.clear();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   187
        wick.clear();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   188
        for(i = 0; i < len; i = i + 1)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   189
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   190
            cx = xcoords[i] + leftPadding;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   191
            left = cx - halfwidth;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   192
            right = cx + halfwidth;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   193
            opencoord = opencoords[i];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   194
            highcoord = highcoords[i];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   195
            lowcoord = lowcoords[i];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   196
            closecoord = closecoords[i];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   197
            up = opencoord > closecoord;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   198
            top = up ? closecoord : opencoord;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   199
            bottom = up ? opencoord : closecoord;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   200
            height = bottom - top;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   201
            candle = up ? upcandle : downcandle;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   202
            candle.drawRect(left, top, width, height);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   203
            wick.moveTo(cx, highcoord);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   204
            wick.lineTo(cx, lowcoord);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   205
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   206
        upcandle.end();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   207
        downcandle.end();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   208
        wick.end();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   209
        wick.toBack();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   210
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   211
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   212
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   213
     * Toggles visibility
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   214
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   215
     * @method _toggleVisible
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   216
     * @param {Boolean} visible indicates visibilitye
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   217
     * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   218
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   219
    _toggleVisible: function(visible)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   220
    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   221
        this.get("upcandle").set("visible", visible);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   222
        this.get("downcandle").set("visible", visible);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   223
        this.get("wick").set("visible", visible);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   224
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   225
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   226
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   227
     * Destructor implementation for the CartesianSeries class. Calls destroy on all Graphic instances.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   228
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   229
     * @method destructor
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   230
     * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   231
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   232
    destructor: function()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   233
    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   234
        var upcandle = this.get("upcandle"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   235
            downcandle = this.get("downcandle"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   236
            wick = this.get("wick");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   237
        if(upcandle)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   238
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   239
            upcandle.destroy();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   240
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   241
        if(downcandle)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   242
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   243
            downcandle.destroy();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   244
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   245
        if(wick)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   246
        {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   247
            wick.destroy();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   248
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   249
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   250
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   251
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   252
     * Gets the default value for the `styles` attribute. Overrides
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   253
     * base implementation.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   254
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   255
     * @method _getDefaultStyles
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   256
     * @return Object
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   257
     * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   258
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   259
    _getDefaultStyles: function()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   260
    {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   261
        var styles = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   262
            upcandle: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   263
                fill: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   264
                    color: "#00aa00",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   265
                    alpha: 1
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   266
                },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   267
                stroke: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   268
                    color: "#000000",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   269
                    alpha: 1,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   270
                    weight: 0
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   271
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   272
            },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   273
            downcandle: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   274
                fill: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   275
                    color: "#aa0000",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   276
                    alpha: 1
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   277
                },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   278
                stroke: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   279
                    color: "#000000",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   280
                    alpha: 1,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   281
                    weight: 0
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   282
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   283
            },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   284
            wick: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   285
                stroke: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   286
                    color: "#000000",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   287
                    alpha: 1,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   288
                    weight: 1
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   289
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   290
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   291
        };
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   292
        return this._mergeStyles(styles, CandlestickSeries.superclass._getDefaultStyles());
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   293
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   294
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   295
Y.CandlestickSeries = CandlestickSeries;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   296
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   297
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   298
}, '3.10.3', {"requires": ["series-range"]});