--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cm/media/js/lib/yui/yui3-3.15.0/build/axis-numeric/axis-numeric.js Mon Mar 10 15:19:48 2014 +0100
@@ -0,0 +1,140 @@
+YUI.add('axis-numeric', function (Y, NAME) {
+
+/**
+ * Provides functionality for drawing a numeric axis for use with a chart.
+ *
+ * @module charts
+ * @submodule axis-numeric
+ */
+var Y_Lang = Y.Lang;
+/**
+ * NumericAxis draws a numeric axis.
+ *
+ * @class NumericAxis
+ * @constructor
+ * @extends Axis
+ * @uses NumericImpl
+ * @param {Object} config (optional) Configuration parameters.
+ * @submodule axis-numeric
+ */
+Y.NumericAxis = Y.Base.create("numericAxis", Y.Axis, [Y.NumericImpl], {
+ /**
+ * Calculates and returns a value based on the number of labels and the index of
+ * the current label.
+ *
+ * @method getLabelByIndex
+ * @param {Number} i Index of the label.
+ * @param {Number} l Total number of labels.
+ * @return String
+ * @private
+ */
+ _getLabelByIndex: function(i, l)
+ {
+ var min = this.get("minimum"),
+ max = this.get("maximum"),
+ increm = (max - min)/(l-1),
+ label,
+ roundingMethod = this.get("roundingMethod");
+ l -= 1;
+ //respect the min and max. calculate all other labels.
+ if(i === 0)
+ {
+ label = min;
+ }
+ else if(i === l)
+ {
+ label = max;
+ }
+ else
+ {
+ label = (i * increm);
+ if(roundingMethod === "niceNumber")
+ {
+ label = this._roundToNearest(label, increm);
+ }
+ label += min;
+ }
+ return parseFloat(label);
+ },
+
+ /**
+ * Returns an object literal containing and array of label values and an array of points.
+ *
+ * @method _getLabelData
+ * @param {Object} startPoint An object containing x and y values.
+ * @param {Number} edgeOffset Distance to offset coordinates.
+ * @param {Number} layoutLength Distance that the axis spans.
+ * @param {Number} count Number of labels.
+ * @param {String} direction Indicates whether the axis is horizontal or vertical.
+ * @param {Array} Array containing values for axis labels.
+ * @return Array
+ * @private
+ */
+ _getLabelData: function(constantVal, staticCoord, dynamicCoord, min, max, edgeOffset, layoutLength, count, dataValues)
+ {
+ var dataValue,
+ i,
+ points = [],
+ values = [],
+ point,
+ isVertical = staticCoord === "x",
+ offset = isVertical ? layoutLength + edgeOffset : edgeOffset;
+ dataValues = dataValues || this._getDataValuesByCount(count, min, max);
+ for(i = 0; i < count; i = i + 1)
+ {
+ dataValue = parseFloat(dataValues[i]);
+ if(dataValue <= max && dataValue >= min)
+ {
+ point = {};
+ point[staticCoord] = constantVal;
+ point[dynamicCoord] = this._getCoordFromValue(
+ min,
+ max,
+ layoutLength,
+ dataValue,
+ offset,
+ isVertical
+ );
+ points.push(point);
+ values.push(dataValue);
+ }
+ }
+ return {
+ points: points,
+ values: values
+ };
+ },
+
+ /**
+ * Checks to see if data extends beyond the range of the axis. If so,
+ * that data will need to be hidden. This method is internal, temporary and subject
+ * to removal in the future.
+ *
+ * @method _hasDataOverflow
+ * @protected
+ * @return Boolean
+ */
+ _hasDataOverflow: function()
+ {
+ var roundingMethod,
+ min,
+ max;
+ if(this.get("setMin") || this.get("setMax"))
+ {
+ return true;
+ }
+ roundingMethod = this.get("roundingMethod");
+ min = this._actualMinimum;
+ max = this._actualMaximum;
+ if(Y_Lang.isNumber(roundingMethod) &&
+ ((Y_Lang.isNumber(max) && max > this._dataMaximum) || (Y_Lang.isNumber(min) && min < this._dataMinimum)))
+ {
+ return true;
+ }
+ return false;
+ }
+});
+
+
+
+}, '@VERSION@', {"requires": ["axis", "axis-numeric-base"]});