UNPKG

devextreme

Version:

JavaScript/TypeScript Component Suite for Responsive Web Development

51 lines (50 loc) 1.9 kB
/** * DevExtreme (esm/__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/ */ import { normalizeEnum as _normalizeEnum } from "../../viz/core/utils"; import BaseRangeContainer from "../../viz/gauges/base_range_container"; const _Number = Number; const _max = Math.max; const CircularRangeContainer = BaseRangeContainer.inherit({ _processOptions() { const that = this; that._inner = that._outer = 0; switch (_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 } } }); export default CircularRangeContainer;