diff -r 322d0feea350 -r 89ef5ed3c48b src/cm/media/js/lib/yui/yui_3.10.3/build/series-column/series-column-debug.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/cm/media/js/lib/yui/yui_3.10.3/build/series-column/series-column-debug.js Tue Jul 16 14:29:46 2013 +0200 @@ -0,0 +1,167 @@ +/* +YUI 3.10.3 (build 2fb5187) +Copyright 2013 Yahoo! Inc. All rights reserved. +Licensed under the BSD License. +http://yuilibrary.com/license/ +*/ + +YUI.add('series-column', function (Y, NAME) { + +/** + * Provides functionality for creating a column series. + * + * @module charts + * @submodule series-column + */ +/** + * The ColumnSeries class renders columns positioned horizontally along a category or time axis. The columns' + * lengths are proportional to the values they represent along a vertical axis. + * and the relevant data points. + * + * @class ColumnSeries + * @extends MarkerSeries + * @uses Histogram + * @constructor + * @param {Object} config (optional) Configuration parameters. + * @submodule series-column + */ +Y.ColumnSeries = Y.Base.create("columnSeries", Y.MarkerSeries, [Y.Histogram], { + /** + * Helper method for calculating the size of markers. + * + * @method _getMarkerDimensions + * @param {Number} xcoord The x-coordinate representing the data point for the marker. + * @param {Number} ycoord The y-coordinate representing the data point for the marker. + * @param {Number} calculatedSize The calculated size for the marker. For a `BarSeries` is it the width. For a `ColumnSeries` it is the height. + * @param {Number} offset Distance of position offset dictated by other marker series in the same graph. + * @return Object + * @private + */ + _getMarkerDimensions: function(xcoord, ycoord, calculatedSize, offset) + { + var config = { + left: xcoord + offset + }; + if(this._bottomOrigin >= ycoord) + { + config.top = ycoord; + config.calculatedSize = this._bottomOrigin - config.top; + } + else + { + config.top = this._bottomOrigin; + config.calculatedSize = ycoord - this._bottomOrigin; + } + return config; + }, + + /** + * Resizes and positions markers based on a mouse interaction. + * + * @method updateMarkerState + * @param {String} type state of the marker + * @param {Number} i index of the marker + * @protected + */ + updateMarkerState: function(type, i) + { + if(this._markers && this._markers[i]) + { + var styles = Y.clone(this.get("styles").marker), + markerStyles, + state = this._getState(type), + xcoords = this.get("xcoords"), + ycoords = this.get("ycoords"), + marker = this._markers[i], + markers, + seriesStyles, + seriesCollection = this.get("seriesTypeCollection"), + seriesLen = seriesCollection.length, + seriesSize = 0, + offset = 0, + renderer, + n = 0, + xs = [], + order = this.get("order"), + config; + markerStyles = state === "off" || !styles[state] ? Y.clone(styles) : Y.clone(styles[state]); + markerStyles.fill.color = this._getItemColor(markerStyles.fill.color, i); + markerStyles.border.color = this._getItemColor(markerStyles.border.color, i); + config = this._getMarkerDimensions(xcoords[i], ycoords[i], styles.width, offset); + markerStyles.height = config.calculatedSize; + markerStyles.width = Math.min(this._maxSize, markerStyles.width); + marker.set(markerStyles); + for(; n < seriesLen; ++n) + { + xs[n] = xcoords[i] + seriesSize; + seriesStyles = seriesCollection[n].get("styles").marker; + seriesSize += Math.min(this._maxSize, seriesStyles.width); + if(order > n) + { + offset = seriesSize; + } + offset -= seriesSize/2; + } + for(n = 0; n < seriesLen; ++n) + { + markers = seriesCollection[n].get("markers"); + if(markers) + { + renderer = markers[i]; + if(renderer && renderer !== undefined) + { + renderer.set("x", (xs[n] - seriesSize/2)); + } + } + } + } + } +}, { + ATTRS: { + /** + * Read-only attribute indicating the type of series. + * + * @attribute type + * @type String + * @readOnly + * @default column + */ + type: { + value: "column" + } + + /** + * Style properties used for drawing markers. This attribute is inherited from `MarkerSeries`. Below are the default values: + *