devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
42 lines (41 loc) • 2.04 kB
JavaScript
/**
* DevExtreme (viz/translators/logarithmic_translator.js)
* Version: 19.2.6
* Build date: Thu Jan 30 2020
*
* Copyright (c) 2012 - 2020 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
"use strict";
var vizUtils = require("../core/utils");
var isDefined = require("../../core/utils/type").isDefined;
var raiseTo = vizUtils.raiseToExt;
var getLog = vizUtils.getLogExt;
module.exports = {
_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;
return Math.pow(canvasOptions.base, canvasOptions.rangeMinVisible + this._fromValue(this.from(visibleArea.min)) - this._fromValue(!isDefined(minValue) ? this.from(visibleArea.max) : minValue))
},
checkMinBarSize: function(initialValue, minShownValue, stackValue) {
var canvasOptions = this._canvasOptions;
var prevValue = stackValue - initialValue;
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
}
};