src/cm/media/js/lib/yui/yui3-3.15.0/build/axis-numeric/axis-numeric-debug.js
changeset 602 e16a97fb364a
--- /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-debug.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"]});