diff -r d334a616c023 -r e16a97fb364a src/cm/media/js/lib/yui/yui3-3.15.0/build/axis-stacked-base/axis-stacked-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-stacked-base/axis-stacked-base-debug.js Mon Mar 10 15:19:48 2014 +0100 @@ -0,0 +1,133 @@ +YUI.add('axis-stacked-base', function (Y, NAME) { + +/** + * Provides core functionality for the handling of stacked numeric axis data for a chart. + * + * @module charts + * @submodule axis-stacked-base + */ + +/** + * StackedImpl contains logic for managing stacked numeric data. StackedImpl is used by the following classes: + * + * + * @submodule axis-stacked-base + * @class StackedImpl + * @constructor + */ +function StackedImpl() +{ +} + +StackedImpl.NAME = "stackedImpl"; + +StackedImpl.prototype = { + /** + * Type of data used in `Data`. + * + * @property _type + * @readOnly + * @private + */ + _type: "stacked", + + /** + * Calculates the maximum and minimum values for the `Data`. + * + * @method _updateMinAndMax + * @private + */ + _updateMinAndMax: function() + { + var max = 0, + min = 0, + pos = 0, + neg = 0, + len = 0, + i = 0, + key, + num, + keys = this.get("keys"), + setMin = this.get("setMin"), + setMax = this.get("setMax"); + + for(key in keys) + { + if(keys.hasOwnProperty(key)) + { + len = Math.max(len, keys[key].length); + } + } + for(; i < len; ++i) + { + pos = 0; + neg = 0; + for(key in keys) + { + if(keys.hasOwnProperty(key)) + { + num = keys[key][i]; + if(isNaN(num)) + { + continue; + } + if(num >= 0) + { + pos += num; + } + else + { + neg += num; + } + } + } + if(pos > 0) + { + max = Math.max(max, pos); + } + else + { + max = Math.max(max, neg); + } + if(neg < 0) + { + min = Math.min(min, neg); + } + else + { + min = Math.min(min, pos); + } + } + this._actualMaximum = max; + this._actualMinimum = min; + if(setMax) + { + max = this._setMaximum; + } + if(setMin) + { + min = this._setMinimum; + } + this._roundMinAndMax(min, max, setMin, setMax); + } +}; + +Y.StackedImpl = StackedImpl; + +/** + * StackedAxisBase manages stacked numeric data for an axis. + * + * @class StackedAxisBase + * @constructor + * @extends AxisBase + * @uses StackedImpl + * @param {Object} config (optional) Configuration parameters. + * @submodule axis-stacked-base + */ +Y.StackedAxisBase = Y.Base.create("stackedAxisBase", Y.NumericAxisBase, [Y.StackedImpl]); + + +}, '@VERSION@', {"requires": ["axis-numeric-base"]});