diff -r d334a616c023 -r e16a97fb364a src/cm/media/js/lib/yui/yui3-3.15.0/build/series-range/series-range-debug.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/cm/media/js/lib/yui/yui3-3.15.0/build/series-range/series-range-debug.js Mon Mar 10 15:19:48 2014 +0100 @@ -0,0 +1,132 @@ +YUI.add('series-range', function (Y, NAME) { + +/** + * Provides functionality for creating a range series. + * + * @module charts + * @submodule series-range + */ + +/** + * An abstract class for creating range series instances. + * RangeSeries is used by the following classes: + * + * + * @class RangeSeries + * @extends CartesianSeries + * @constructor + * @param {Object} config (optional) Configuration parameters. + * @submodule series-range + */ +function RangeSeries() +{ + RangeSeries.superclass.constructor.apply(this, arguments); +} + +RangeSeries.NAME = "rangeSeries"; + +RangeSeries.ATTRS = { + /** + * Read-only attribute indicating the type of series. + * + * @attribute type + * @type String + * @default range + */ + type: { + value: "range" + }, + + /** + * Values to be used for open, high, low and close keys. + * + * @attribute ohlc + * @type Object + */ + ohlckeys: { + valueFn: function() { + return { + open: "open", + high: "high", + low: "low", + close: "close" + }; + } + } +}; + +Y.extend(RangeSeries, Y.CartesianSeries, { + /** + * Returns the width for each marker base on the width of the series + * and the length of the dataProvider. + * + * @method calculateMarkerWidth + * @param {Number} width The width, in pixels of the series. + * @param {Number} count The length of the datProvider. + * @return Number + * @private + */ + _calculateMarkerWidth: function(width, count, spacing) + { + var val = 0; + while(val < 3 && spacing > -1) + { + spacing = spacing - 1; + val = Math.round(width/count - spacing); + if(val % 2 === 0) { + val = val - 1; + } + } + return Math.max(1, val); + }, + + /** + * Draws the series. + * + * @method drawSeries + * @protected + */ + drawSeries: function() + { + var xcoords = this.get("xcoords"), + ycoords = this.get("ycoords"), + styles = this.get("styles"), + padding = styles.padding, + len = xcoords.length, + dataWidth = this.get("width") - (padding.left + padding.right), + keys = this.get("ohlckeys"), + opencoords = ycoords[keys.open], + highcoords = ycoords[keys.high], + lowcoords = ycoords[keys.low], + closecoords = ycoords[keys.close], + width = this._calculateMarkerWidth(dataWidth, len, styles.spacing), + halfwidth = width/2; + this._drawMarkers(xcoords, opencoords, highcoords, lowcoords, closecoords, len, width, halfwidth, styles); + }, + + /** + * Gets the default value for the `styles` attribute. Overrides + * base implementation. + * + * @method _getDefaultStyles + * @return Object + * @private + */ + _getDefaultStyles: function() + { + var styles = { + spacing: 3 + }; + return this._mergeStyles(styles, RangeSeries.superclass._getDefaultStyles()); + } +}); + +Y.RangeSeries = RangeSeries; + + + + +}, '@VERSION@', {"requires": ["series-cartesian"]});