devextreme
Version:
JavaScript/TypeScript Component Suite for Responsive Web Development
60 lines (58 loc) • 2.15 kB
JavaScript
/**
* DevExtreme (cjs/__internal/viz/gauges/circular_range_container.js)
* Version: 25.2.5
* Build date: Fri Feb 20 2026
*
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _utils = require("../../viz/core/utils");
var _base_range_container = _interopRequireDefault(require("../../viz/gauges/base_range_container"));
function _interopRequireDefault(e) {
return e && e.__esModule ? e : {
default: e
}
}
const _Number = Number;
const _max = Math.max;
const CircularRangeContainer = _base_range_container.default.inherit({
_processOptions() {
const that = this;
that._inner = that._outer = 0;
switch ((0, _utils.normalizeEnum)(that._options.orientation)) {
case "inside":
that._inner = 1;
break;
case "center":
that._inner = that._outer = .5;
break;
default:
that._outer = 1
}
},
_isVisible(layout) {
let width = this._options.width;
width = _Number(width) || _max(_Number(width.start), _Number(width.end));
return layout.radius - this._inner * width > 0
},
_createRange(range, layout) {
const width = (range.startWidth + range.endWidth) / 2;
return this._renderer.arc(layout.x, layout.y, layout.radius - this._inner * width, layout.radius + this._outer * width, this._translator.translate(range.end), this._translator.translate(range.start)).attr({
"stroke-linejoin": "round"
})
},
measure(layout) {
let width = this._options.width;
width = _Number(width) || _max(_Number(width.start), _Number(width.end));
return {
min: layout.radius - this._inner * width,
max: layout.radius + this._outer * width
}
}
});
var _default = exports.default = CircularRangeContainer;