UNPKG

devextreme-vue

Version:

DevExtreme Vue UI and Visualization Components

708 lines (706 loc) • 22.4 kB
/*! * devextreme-vue * Version: 25.1.5 * Build date: Wed Sep 03 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * * This software may be modified and distributed under the terms * of the MIT license. See the LICENSE file in the root of the project for details. * * https://github.com/DevExpress/devextreme-vue */ import { defineComponent } from "vue"; import { prepareComponentConfig } from "./core/index"; import BarGauge from "devextreme/viz/bar_gauge"; import { prepareConfigurationComponentConfig } from "./core/index"; const componentConfig = { props: { animation: {}, backgroundColor: String, barSpacing: Number, baseValue: Number, centerTemplate: {}, disabled: Boolean, elementAttr: Object, endValue: Number, export: Object, geometry: Object, label: Object, legend: Object, loadingIndicator: Object, margin: Object, onDisposing: Function, onDrawn: Function, onExported: Function, onExporting: Function, onFileSaving: Function, onIncidentOccurred: Function, onInitialized: Function, onOptionChanged: Function, onTooltipHidden: Function, onTooltipShown: Function, palette: [Array, String], paletteExtensionMode: String, pathModified: Boolean, redrawOnResize: Boolean, relativeInnerRadius: Number, resolveLabelOverlapping: String, rtlEnabled: Boolean, size: Object, startValue: Number, theme: String, title: [Object, String], tooltip: Object, values: Array }, emits: { "update:isActive": null, "update:hoveredElement": null, "update:animation": null, "update:backgroundColor": null, "update:barSpacing": null, "update:baseValue": null, "update:centerTemplate": null, "update:disabled": null, "update:elementAttr": null, "update:endValue": null, "update:export": null, "update:geometry": null, "update:label": null, "update:legend": null, "update:loadingIndicator": null, "update:margin": null, "update:onDisposing": null, "update:onDrawn": null, "update:onExported": null, "update:onExporting": null, "update:onFileSaving": null, "update:onIncidentOccurred": null, "update:onInitialized": null, "update:onOptionChanged": null, "update:onTooltipHidden": null, "update:onTooltipShown": null, "update:palette": null, "update:paletteExtensionMode": null, "update:pathModified": null, "update:redrawOnResize": null, "update:relativeInnerRadius": null, "update:resolveLabelOverlapping": null, "update:rtlEnabled": null, "update:size": null, "update:startValue": null, "update:theme": null, "update:title": null, "update:tooltip": null, "update:values": null, }, computed: { instance() { return this.$_instance; } }, beforeCreate() { this.$_WidgetClass = BarGauge; this.$_hasAsyncTemplate = true; this.$_expectedChildren = { animation: { isCollectionItem: false, optionName: "animation" }, barGaugeTitle: { isCollectionItem: false, optionName: "title" }, export: { isCollectionItem: false, optionName: "export" }, geometry: { isCollectionItem: false, optionName: "geometry" }, label: { isCollectionItem: false, optionName: "label" }, legend: { isCollectionItem: false, optionName: "legend" }, loadingIndicator: { isCollectionItem: false, optionName: "loadingIndicator" }, margin: { isCollectionItem: false, optionName: "margin" }, size: { isCollectionItem: false, optionName: "size" }, title: { isCollectionItem: false, optionName: "title" }, tooltip: { isCollectionItem: false, optionName: "tooltip" } }; } }; prepareComponentConfig(componentConfig); const DxBarGauge = defineComponent(componentConfig); const DxAnimationConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:duration": null, "update:easing": null, "update:enabled": null, }, props: { duration: Number, easing: String, enabled: Boolean } }; prepareConfigurationComponentConfig(DxAnimationConfig); const DxAnimation = defineComponent(DxAnimationConfig); DxAnimation.$_optionName = "animation"; const DxBarGaugeTitleConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:font": null, "update:horizontalAlignment": null, "update:margin": null, "update:placeholderSize": null, "update:subtitle": null, "update:text": null, "update:textOverflow": null, "update:verticalAlignment": null, "update:wordWrap": null, }, props: { font: Object, horizontalAlignment: String, margin: [Number, Object], placeholderSize: Number, subtitle: [Object, String], text: String, textOverflow: String, verticalAlignment: String, wordWrap: String } }; prepareConfigurationComponentConfig(DxBarGaugeTitleConfig); const DxBarGaugeTitle = defineComponent(DxBarGaugeTitleConfig); DxBarGaugeTitle.$_optionName = "title"; DxBarGaugeTitle.$_expectedChildren = { barGaugeTitleSubtitle: { isCollectionItem: false, optionName: "subtitle" }, font: { isCollectionItem: false, optionName: "font" }, margin: { isCollectionItem: false, optionName: "margin" }, subtitle: { isCollectionItem: false, optionName: "subtitle" } }; const DxBarGaugeTitleSubtitleConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:font": null, "update:offset": null, "update:text": null, "update:textOverflow": null, "update:wordWrap": null, }, props: { font: Object, offset: Number, text: String, textOverflow: String, wordWrap: String } }; prepareConfigurationComponentConfig(DxBarGaugeTitleSubtitleConfig); const DxBarGaugeTitleSubtitle = defineComponent(DxBarGaugeTitleSubtitleConfig); DxBarGaugeTitleSubtitle.$_optionName = "subtitle"; DxBarGaugeTitleSubtitle.$_expectedChildren = { font: { isCollectionItem: false, optionName: "font" } }; const DxBorderConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:color": null, "update:cornerRadius": null, "update:dashStyle": null, "update:opacity": null, "update:visible": null, "update:width": null, }, props: { color: String, cornerRadius: Number, dashStyle: String, opacity: Number, visible: Boolean, width: Number } }; prepareConfigurationComponentConfig(DxBorderConfig); const DxBorder = defineComponent(DxBorderConfig); DxBorder.$_optionName = "border"; const DxExportConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:backgroundColor": null, "update:enabled": null, "update:fileName": null, "update:formats": null, "update:margin": null, "update:printingEnabled": null, "update:svgToCanvas": null, }, props: { backgroundColor: String, enabled: Boolean, fileName: String, formats: Array, margin: Number, printingEnabled: Boolean, svgToCanvas: Function } }; prepareConfigurationComponentConfig(DxExportConfig); const DxExport = defineComponent(DxExportConfig); DxExport.$_optionName = "export"; const DxFontConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:color": null, "update:family": null, "update:opacity": null, "update:size": null, "update:weight": null, }, props: { color: String, family: String, opacity: Number, size: [Number, String], weight: Number } }; prepareConfigurationComponentConfig(DxFontConfig); const DxFont = defineComponent(DxFontConfig); DxFont.$_optionName = "font"; const DxFormatConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:currency": null, "update:formatter": null, "update:parser": null, "update:precision": null, "update:type": null, "update:useCurrencyAccountingStyle": null, }, props: { currency: String, formatter: Function, parser: Function, precision: Number, type: String, useCurrencyAccountingStyle: Boolean } }; prepareConfigurationComponentConfig(DxFormatConfig); const DxFormat = defineComponent(DxFormatConfig); DxFormat.$_optionName = "format"; const DxGeometryConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:endAngle": null, "update:startAngle": null, }, props: { endAngle: Number, startAngle: Number } }; prepareConfigurationComponentConfig(DxGeometryConfig); const DxGeometry = defineComponent(DxGeometryConfig); DxGeometry.$_optionName = "geometry"; const DxItemTextFormatConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:currency": null, "update:formatter": null, "update:parser": null, "update:precision": null, "update:type": null, "update:useCurrencyAccountingStyle": null, }, props: { currency: String, formatter: Function, parser: Function, precision: Number, type: String, useCurrencyAccountingStyle: Boolean } }; prepareConfigurationComponentConfig(DxItemTextFormatConfig); const DxItemTextFormat = defineComponent(DxItemTextFormatConfig); DxItemTextFormat.$_optionName = "itemTextFormat"; const DxLabelConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:connectorColor": null, "update:connectorWidth": null, "update:customizeText": null, "update:font": null, "update:format": null, "update:indent": null, "update:visible": null, }, props: { connectorColor: String, connectorWidth: Number, customizeText: Function, font: Object, format: [Object, String, Function], indent: Number, visible: Boolean } }; prepareConfigurationComponentConfig(DxLabelConfig); const DxLabel = defineComponent(DxLabelConfig); DxLabel.$_optionName = "label"; DxLabel.$_expectedChildren = { font: { isCollectionItem: false, optionName: "font" }, format: { isCollectionItem: false, optionName: "format" } }; const DxLegendConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:backgroundColor": null, "update:border": null, "update:columnCount": null, "update:columnItemSpacing": null, "update:customizeHint": null, "update:customizeItems": null, "update:customizeText": null, "update:font": null, "update:horizontalAlignment": null, "update:itemsAlignment": null, "update:itemTextFormat": null, "update:itemTextPosition": null, "update:margin": null, "update:markerSize": null, "update:markerTemplate": null, "update:orientation": null, "update:paddingLeftRight": null, "update:paddingTopBottom": null, "update:rowCount": null, "update:rowItemSpacing": null, "update:title": null, "update:verticalAlignment": null, "update:visible": null, }, props: { backgroundColor: String, border: Object, columnCount: Number, columnItemSpacing: Number, customizeHint: Function, customizeItems: Function, customizeText: Function, font: Object, horizontalAlignment: String, itemsAlignment: String, itemTextFormat: [Object, String, Function], itemTextPosition: String, margin: [Number, Object], markerSize: Number, markerTemplate: {}, orientation: String, paddingLeftRight: Number, paddingTopBottom: Number, rowCount: Number, rowItemSpacing: Number, title: [Object, String], verticalAlignment: String, visible: Boolean } }; prepareConfigurationComponentConfig(DxLegendConfig); const DxLegend = defineComponent(DxLegendConfig); DxLegend.$_optionName = "legend"; DxLegend.$_expectedChildren = { border: { isCollectionItem: false, optionName: "border" }, font: { isCollectionItem: false, optionName: "font" }, itemTextFormat: { isCollectionItem: false, optionName: "itemTextFormat" }, legendBorder: { isCollectionItem: false, optionName: "border" }, legendTitle: { isCollectionItem: false, optionName: "title" }, margin: { isCollectionItem: false, optionName: "margin" }, title: { isCollectionItem: false, optionName: "title" } }; const DxLegendBorderConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:color": null, "update:cornerRadius": null, "update:dashStyle": null, "update:opacity": null, "update:visible": null, "update:width": null, }, props: { color: String, cornerRadius: Number, dashStyle: String, opacity: Number, visible: Boolean, width: Number } }; prepareConfigurationComponentConfig(DxLegendBorderConfig); const DxLegendBorder = defineComponent(DxLegendBorderConfig); DxLegendBorder.$_optionName = "border"; const DxLegendTitleConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:font": null, "update:horizontalAlignment": null, "update:margin": null, "update:placeholderSize": null, "update:subtitle": null, "update:text": null, "update:verticalAlignment": null, }, props: { font: Object, horizontalAlignment: String, margin: Object, placeholderSize: Number, subtitle: [Object, String], text: String, verticalAlignment: String } }; prepareConfigurationComponentConfig(DxLegendTitleConfig); const DxLegendTitle = defineComponent(DxLegendTitleConfig); DxLegendTitle.$_optionName = "title"; DxLegendTitle.$_expectedChildren = { font: { isCollectionItem: false, optionName: "font" }, legendTitleSubtitle: { isCollectionItem: false, optionName: "subtitle" }, margin: { isCollectionItem: false, optionName: "margin" }, subtitle: { isCollectionItem: false, optionName: "subtitle" } }; const DxLegendTitleSubtitleConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:font": null, "update:offset": null, "update:text": null, }, props: { font: Object, offset: Number, text: String } }; prepareConfigurationComponentConfig(DxLegendTitleSubtitleConfig); const DxLegendTitleSubtitle = defineComponent(DxLegendTitleSubtitleConfig); DxLegendTitleSubtitle.$_optionName = "subtitle"; DxLegendTitleSubtitle.$_expectedChildren = { font: { isCollectionItem: false, optionName: "font" } }; const DxLoadingIndicatorConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:backgroundColor": null, "update:font": null, "update:show": null, "update:text": null, }, props: { backgroundColor: String, font: Object, show: Boolean, text: String } }; prepareConfigurationComponentConfig(DxLoadingIndicatorConfig); const DxLoadingIndicator = defineComponent(DxLoadingIndicatorConfig); DxLoadingIndicator.$_optionName = "loadingIndicator"; DxLoadingIndicator.$_expectedChildren = { font: { isCollectionItem: false, optionName: "font" } }; const DxMarginConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:bottom": null, "update:left": null, "update:right": null, "update:top": null, }, props: { bottom: Number, left: Number, right: Number, top: Number } }; prepareConfigurationComponentConfig(DxMarginConfig); const DxMargin = defineComponent(DxMarginConfig); DxMargin.$_optionName = "margin"; const DxShadowConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:blur": null, "update:color": null, "update:offsetX": null, "update:offsetY": null, "update:opacity": null, }, props: { blur: Number, color: String, offsetX: Number, offsetY: Number, opacity: Number } }; prepareConfigurationComponentConfig(DxShadowConfig); const DxShadow = defineComponent(DxShadowConfig); DxShadow.$_optionName = "shadow"; const DxSizeConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:height": null, "update:width": null, }, props: { height: Number, width: Number } }; prepareConfigurationComponentConfig(DxSizeConfig); const DxSize = defineComponent(DxSizeConfig); DxSize.$_optionName = "size"; const DxSubtitleConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:font": null, "update:offset": null, "update:text": null, "update:textOverflow": null, "update:wordWrap": null, }, props: { font: Object, offset: Number, text: String, textOverflow: String, wordWrap: String } }; prepareConfigurationComponentConfig(DxSubtitleConfig); const DxSubtitle = defineComponent(DxSubtitleConfig); DxSubtitle.$_optionName = "subtitle"; DxSubtitle.$_expectedChildren = { font: { isCollectionItem: false, optionName: "font" } }; const DxTitleConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:font": null, "update:horizontalAlignment": null, "update:margin": null, "update:placeholderSize": null, "update:subtitle": null, "update:text": null, "update:textOverflow": null, "update:verticalAlignment": null, "update:wordWrap": null, }, props: { font: Object, horizontalAlignment: String, margin: [Object, Number], placeholderSize: Number, subtitle: [Object, String], text: String, textOverflow: String, verticalAlignment: String, wordWrap: String } }; prepareConfigurationComponentConfig(DxTitleConfig); const DxTitle = defineComponent(DxTitleConfig); DxTitle.$_optionName = "title"; DxTitle.$_expectedChildren = { barGaugeTitleSubtitle: { isCollectionItem: false, optionName: "subtitle" }, font: { isCollectionItem: false, optionName: "font" }, legendTitleSubtitle: { isCollectionItem: false, optionName: "subtitle" }, margin: { isCollectionItem: false, optionName: "margin" } }; const DxTooltipConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:arrowLength": null, "update:border": null, "update:color": null, "update:container": null, "update:contentTemplate": null, "update:cornerRadius": null, "update:customizeTooltip": null, "update:enabled": null, "update:font": null, "update:format": null, "update:interactive": null, "update:opacity": null, "update:paddingLeftRight": null, "update:paddingTopBottom": null, "update:shadow": null, "update:zIndex": null, }, props: { arrowLength: Number, border: Object, color: String, container: {}, contentTemplate: {}, cornerRadius: Number, customizeTooltip: Function, enabled: Boolean, font: Object, format: [Object, String, Function], interactive: Boolean, opacity: Number, paddingLeftRight: Number, paddingTopBottom: Number, shadow: Object, zIndex: Number } }; prepareConfigurationComponentConfig(DxTooltipConfig); const DxTooltip = defineComponent(DxTooltipConfig); DxTooltip.$_optionName = "tooltip"; DxTooltip.$_expectedChildren = { border: { isCollectionItem: false, optionName: "border" }, font: { isCollectionItem: false, optionName: "font" }, format: { isCollectionItem: false, optionName: "format" }, shadow: { isCollectionItem: false, optionName: "shadow" }, tooltipBorder: { isCollectionItem: false, optionName: "border" } }; const DxTooltipBorderConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:color": null, "update:dashStyle": null, "update:opacity": null, "update:visible": null, "update:width": null, }, props: { color: String, dashStyle: String, opacity: Number, visible: Boolean, width: Number } }; prepareConfigurationComponentConfig(DxTooltipBorderConfig); const DxTooltipBorder = defineComponent(DxTooltipBorderConfig); DxTooltipBorder.$_optionName = "border"; export default DxBarGauge; export { DxBarGauge, DxAnimation, DxBarGaugeTitle, DxBarGaugeTitleSubtitle, DxBorder, DxExport, DxFont, DxFormat, DxGeometry, DxItemTextFormat, DxLabel, DxLegend, DxLegendBorder, DxLegendTitle, DxLegendTitleSubtitle, DxLoadingIndicator, DxMargin, DxShadow, DxSize, DxSubtitle, DxTitle, DxTooltip, DxTooltipBorder };