logarithmic_translator.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /**
  2. * DevExtreme (viz/translators/logarithmic_translator.js)
  3. * Version: 19.1.16
  4. * Build date: Tue Oct 18 2022
  5. *
  6. * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED
  7. * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
  8. */
  9. "use strict";
  10. var vizUtils = require("../core/utils");
  11. var isDefined = require("../../core/utils/type").isDefined;
  12. var raiseTo = vizUtils.raiseTo;
  13. var getLog = vizUtils.getLog;
  14. module.exports = {
  15. _fromValue: function(value) {
  16. return null !== value ? getLog(value, this._canvasOptions.base) : value
  17. },
  18. _toValue: function(value) {
  19. return null !== value ? raiseTo(value, this._canvasOptions.base) : value
  20. },
  21. getMinBarSize: function(minBarSize) {
  22. var visibleArea = this.getCanvasVisibleArea();
  23. var minValue = this.from(visibleArea.min + minBarSize);
  24. var canvasOptions = this._canvasOptions;
  25. return Math.pow(canvasOptions.base, canvasOptions.rangeMinVisible + this._fromValue(this.from(visibleArea.min)) - this._fromValue(!isDefined(minValue) ? this.from(visibleArea.max) : minValue))
  26. },
  27. checkMinBarSize: function(initialValue, minShownValue, stackValue) {
  28. var canvasOptions = this._canvasOptions;
  29. var prevValue = stackValue - initialValue;
  30. var baseMethod = this.constructor.prototype.checkMinBarSize;
  31. var minBarSize;
  32. var updateValue;
  33. if (isDefined(minShownValue) && prevValue > 0) {
  34. minBarSize = baseMethod(this._fromValue(stackValue / prevValue), this._fromValue(minShownValue) - canvasOptions.rangeMinVisible);
  35. updateValue = Math.pow(canvasOptions.base, this._fromValue(prevValue) + minBarSize) - prevValue
  36. } else {
  37. updateValue = baseMethod(initialValue, minShownValue)
  38. }
  39. return updateValue
  40. }
  41. };