UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

109 lines (81 loc) 3.73 kB
"use strict"; function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var lineSeries = require("./line_series").chart.line, scatterSeries = require("./scatter_series").chart, areaSeries = require("./area_series").chart.area, barSeries = require("./bar_series"), chartBarSeries = barSeries.chart.bar, polarBarSeries = barSeries.polar.bar, extend = require("../../core/utils/extend").extend, each = require("../../core/utils/iterator").each, _isDefined = require("../../core/utils/type").isDefined, _extend = extend, _each = each, _noop = require("../../core/utils/common").noop; exports.chart = {}; exports.chart.bubble = _extend({}, scatterSeries, { getErrorBarRangeCorrector: _noop, _calculateErrorBars: _noop, _getMainColor: chartBarSeries._getMainColor, _createPointStyles: chartBarSeries._createPointStyles, _updatePointsVisibility: chartBarSeries._updatePointsVisibility, _getOptionsForPoint: chartBarSeries._getOptionsForPoint, _applyMarkerClipRect: lineSeries._applyElementsClipRect, _parsePointStyle: polarBarSeries._parsePointStyle, _createLegendState: areaSeries._createLegendState, _setMarkerGroupSettings: polarBarSeries._setMarkerGroupSettings, areErrorBarsVisible: _noop, _createErrorBarGroup: _noop, _checkData: function _checkData(data) { return _isDefined(data.argument) && _isDefined(data.size) && data.value !== undefined; }, _getPointDataSelector: function _getPointDataSelector(data, options) { var sizeField = this.getSizeField(); var baseGetter = scatterSeries._getPointDataSelector.call(this); return function (data) { var pointData = baseGetter(data); pointData.size = data[sizeField]; return pointData; }; }, _aggregators: { avg: function avg(_ref, series) { var _ref2; var data = _ref.data, intervalStart = _ref.intervalStart; if (!data.length) { return; } var valueField = series.getValueFields()[0]; var sizeField = series.getSizeField(); var aggregate = data.reduce(function (result, item) { result[0] += item[valueField]; result[1] += item[sizeField]; result[2]++; return result; }, [0, 0, 0]); return _ref2 = {}, _defineProperty(_ref2, valueField, aggregate[0] / aggregate[2]), _defineProperty(_ref2, sizeField, aggregate[1] / aggregate[2]), _defineProperty(_ref2, series.getArgumentField(), intervalStart), _ref2; } }, getValueFields: function getValueFields() { return [this._options.valueField || "val"]; }, getSizeField: function getSizeField() { return this._options.sizeField || "size"; }, _animate: function _animate() { var that = this, lastPointIndex = that._drawnPoints.length - 1, labelsGroup = that._labelsGroup, labelAnimFunc = function labelAnimFunc() { labelsGroup && labelsGroup.animate({ opacity: 1 }, { duration: that._defaultDuration }); }; _each(that._drawnPoints || [], function (i, p) { p.animate(i === lastPointIndex ? labelAnimFunc : undefined, { r: p.bubbleSize, translateX: p.x, translateY: p.y }); }); }, _patchMarginOptions: function _patchMarginOptions(options) { options.processBubbleSize = true; return options; } });