diff -r d334a616c023 -r e16a97fb364a src/cm/media/js/lib/yui/yui3-3.15.0/build/axis-time-base/axis-time-base-debug.js
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cm/media/js/lib/yui/yui3-3.15.0/build/axis-time-base/axis-time-base-debug.js Mon Mar 10 15:19:48 2014 +0100
@@ -0,0 +1,352 @@
+YUI.add('axis-time-base', function (Y, NAME) {
+
+/**
+ * Provides functionality for the handling of time axis data for a chart.
+ *
+ * @module charts
+ * @submodule axis-time-base
+ */
+var Y_Lang = Y.Lang;
+
+/**
+ * TimeImpl contains logic for time data. TimeImpl is used by the following classes:
+ *
+ * - {{#crossLink "TimeAxisBase"}}{{/crossLink}}
+ * - {{#crossLink "TimeAxis"}}{{/crossLink}}
+ *
+ *
+ * @class TimeImpl
+ * @constructor
+ * @submodule axis-time-base
+ */
+function TimeImpl()
+{
+}
+
+TimeImpl.NAME = "timeImpl";
+
+TimeImpl.ATTRS =
+{
+ /**
+ * Method used for formatting a label. This attribute allows for the default label formatting method to overridden.
+ * The method use would need to implement the arguments below and return a `String` or an `HTMLElement`. The default
+ * implementation of the method returns a `String`. The output of this method will be rendered to the DOM using
+ * `appendChild`. If you override the `labelFunction` method and return an html string, you will also need to override
+ * the Axis' `appendLabelFunction` to accept html as a `String`.
+ *
+ * - val
- Label to be formatted. (`String`)
+ * - format
- STRFTime string used to format the label. (optional)
+ *
+ *
+ * @attribute labelFunction
+ * @type Function
+ */
+
+ /**
+ * Pattern used by the `labelFunction` to format a label.
+ *
+ * @attribute labelFormat
+ * @type String
+ */
+ labelFormat: {
+ value: "%b %d, %y"
+ }
+};
+
+TimeImpl.prototype = {
+ /**
+ * Type of data used in `Data`.
+ *
+ * @property _type
+ * @readOnly
+ * @private
+ */
+ _type: "time",
+
+ /**
+ * Getter method for maximum attribute.
+ *
+ * @method _maximumGetter
+ * @return Number
+ * @private
+ */
+ _maximumGetter: function ()
+ {
+ var max = this._getNumber(this._setMaximum);
+ if(!Y_Lang.isNumber(max))
+ {
+ max = this._getNumber(this.get("dataMaximum"));
+ }
+ return parseFloat(max);
+ },
+
+ /**
+ * Setter method for maximum attribute.
+ *
+ * @method _maximumSetter
+ * @param {Object} value
+ * @private
+ */
+ _maximumSetter: function (value)
+ {
+ this._setMaximum = this._getNumber(value);
+ return value;
+ },
+
+ /**
+ * Getter method for minimum attribute.
+ *
+ * @method _minimumGetter
+ * @return Number
+ * @private
+ */
+ _minimumGetter: function ()
+ {
+ var min = this._getNumber(this._setMinimum);
+ if(!Y_Lang.isNumber(min))
+ {
+ min = this._getNumber(this.get("dataMinimum"));
+ }
+ return parseFloat(min);
+ },
+
+ /**
+ * Setter method for minimum attribute.
+ *
+ * @method _minimumSetter
+ * @param {Object} value
+ * @private
+ */
+ _minimumSetter: function (value)
+ {
+ this._setMinimum = this._getNumber(value);
+ return value;
+ },
+
+ /**
+ * Indicates whether or not the maximum attribute has been explicitly set.
+ *
+ * @method _getSetMax
+ * @return Boolean
+ * @private
+ */
+ _getSetMax: function()
+ {
+ var max = this._getNumber(this._setMaximum);
+ return (Y_Lang.isNumber(max));
+ },
+
+ /**
+ * Indicates whether or not the minimum attribute has been explicitly set.
+ *
+ * @method _getSetMin
+ * @return Boolean
+ * @private
+ */
+ _getSetMin: function()
+ {
+ var min = this._getNumber(this._setMinimum);
+ return (Y_Lang.isNumber(min));
+ },
+
+ /**
+ * Formats a label based on the axis type and optionally specified format.
+ *
+ * @method formatLabel
+ * @param {Object} value
+ * @param {Object} format Pattern used to format the value.
+ * @return String
+ */
+ formatLabel: function(val, format)
+ {
+ val = Y.DataType.Date.parse(val);
+ if(format)
+ {
+ return Y.DataType.Date.format(val, {format:format});
+ }
+ return val;
+ },
+
+ /**
+ * Constant used to generate unique id.
+ *
+ * @property GUID
+ * @type String
+ * @private
+ */
+ GUID: "yuitimeaxis",
+
+ /**
+ * Type of data used in `Axis`.
+ *
+ * @property _dataType
+ * @readOnly
+ * @private
+ */
+ _dataType: "time",
+
+ /**
+ * Gets an array of values based on a key.
+ *
+ * @method _getKeyArray
+ * @param {String} key Value key associated with the data array.
+ * @param {Array} data Array in which the data resides.
+ * @return Array
+ * @private
+ */
+ _getKeyArray: function(key, data)
+ {
+ var obj,
+ keyArray = [],
+ i = 0,
+ val,
+ len = data.length;
+ for(; i < len; ++i)
+ {
+ obj = data[i][key];
+ if(Y_Lang.isDate(obj))
+ {
+ val = obj.valueOf();
+ }
+ else
+ {
+ val = new Date(obj);
+ if(Y_Lang.isDate(val))
+ {
+ val = val.valueOf();
+ }
+ else if(!Y_Lang.isNumber(obj))
+ {
+ if(Y_Lang.isNumber(parseFloat(obj)))
+ {
+ val = parseFloat(obj);
+ }
+ else
+ {
+ if(typeof obj !== "string")
+ {
+ obj = obj;
+ }
+ val = new Date(obj).valueOf();
+ }
+ }
+ else
+ {
+ val = obj;
+ }
+ }
+ keyArray[i] = val;
+ }
+ return keyArray;
+ },
+
+ /**
+ * Calculates the maximum and minimum values for the `Axis`.
+ *
+ * @method _updateMinAndMax
+ * @private
+ */
+ _updateMinAndMax: function()
+ {
+ var data = this.get("data"),
+ max = 0,
+ min = 0,
+ len,
+ num,
+ i;
+ if(data && data.length && data.length > 0)
+ {
+ len = data.length;
+ max = min = data[0];
+ if(len > 1)
+ {
+ for(i = 1; i < len; i++)
+ {
+ num = data[i];
+ if(isNaN(num))
+ {
+ continue;
+ }
+ max = Math.max(num, max);
+ min = Math.min(num, min);
+ }
+ }
+ }
+ this._dataMaximum = max;
+ this._dataMinimum = min;
+ },
+
+ /**
+ * Returns a coordinate corresponding to a data values.
+ *
+ * @method _getCoordFromValue
+ * @param {Number} min The minimum for the axis.
+ * @param {Number} max The maximum for the axis.
+ * @param {Number} length The distance that the axis spans.
+ * @param {Number} dataValue A value used to ascertain the coordinate.
+ * @param {Number} offset Value in which to offset the coordinates.
+ * @param {Boolean} reverse Indicates whether the coordinates should start from
+ * the end of an axis. Only used in the numeric implementation.
+ * @return Number
+ * @private
+ */
+ _getCoordFromValue: function(min, max, length, dataValue, offset)
+ {
+ var range,
+ multiplier,
+ valuecoord,
+ isNumber = Y_Lang.isNumber;
+ dataValue = this._getNumber(dataValue);
+ if(isNumber(dataValue))
+ {
+ range = max - min;
+ multiplier = length/range;
+ valuecoord = (dataValue - min) * multiplier;
+ valuecoord = offset + valuecoord;
+ }
+ else
+ {
+ valuecoord = NaN;
+ }
+ return valuecoord;
+ },
+
+ /**
+ * Parses value into a number.
+ *
+ * @method _getNumber
+ * @param val {Object} Value to parse into a number
+ * @return Number
+ * @private
+ */
+ _getNumber: function(val)
+ {
+ if(Y_Lang.isDate(val))
+ {
+ val = val.valueOf();
+ }
+ else if(!Y_Lang.isNumber(val) && val)
+ {
+ val = new Date(val).valueOf();
+ }
+
+ return val;
+ }
+};
+
+Y.TimeImpl = TimeImpl;
+
+/**
+ * TimeAxisBase manages time data for an axis.
+ *
+ * @class TimeAxisBase
+ * @extends AxisBase
+ * @uses TimeImpl
+ * @constructor
+ * @param {Object} config (optional) Configuration parameters.
+ * @submodule axis-time-base
+ */
+Y.TimeAxisBase = Y.Base.create("timeAxisBase", Y.AxisBase, [Y.TimeImpl]);
+
+
+}, '@VERSION@', {"requires": ["axis-base"]});