UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

47 lines (46 loc) 2.11 kB
/** * DevExtreme (esm/viz/translators/logarithmic_translator.js) * Version: 23.2.6 * Build date: Wed May 01 2024 * * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ import { raiseToExt as raiseTo, getLogExt as getLog } from "../core/utils"; import { isDefined } from "../../core/utils/type"; export default { fromValue: function(value) { return null !== value ? getLog(value, this._canvasOptions.base, this._businessRange.allowNegatives, this._businessRange.linearThreshold) : value }, toValue: function(value) { return null !== value ? raiseTo(value, this._canvasOptions.base, this._businessRange.allowNegatives, this._businessRange.linearThreshold) : value }, getMinBarSize: function(minBarSize) { var visibleArea = this.getCanvasVisibleArea(); var minValue = this.from(visibleArea.min + minBarSize); var canvasOptions = this._canvasOptions; var startValue = this.fromValue(this.from(visibleArea.min)); var endValue = this.fromValue(null !== minValue && void 0 !== minValue ? minValue : this.from(visibleArea.max)); var value = Math.abs(startValue - endValue); return Math.pow(canvasOptions.base, value) }, checkMinBarSize: function(initialValue, minShownValue, stackValue) { var canvasOptions = this._canvasOptions; var prevValue = stackValue ? stackValue - initialValue : 0; var baseMethod = this.constructor.prototype.checkMinBarSize; var minBarSize; var updateValue; if (isDefined(minShownValue) && prevValue > 0) { minBarSize = baseMethod(this.fromValue(stackValue / prevValue), this.fromValue(minShownValue) - canvasOptions.rangeMinVisible); updateValue = Math.pow(canvasOptions.base, this.fromValue(prevValue) + minBarSize) - prevValue } else { updateValue = baseMethod(initialValue, minShownValue) } return updateValue } };