UNPKG

devextreme-vue

Version:

DevExtreme Vue UI and Visualization Components

591 lines (589 loc) • 18.2 kB
/*! * devextreme-vue * Version: 25.1.6 * Build date: Mon Oct 13 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 Sankey from "devextreme/viz/sankey"; import { prepareConfigurationComponentConfig } from "./core/index"; const componentConfig = { props: { adaptiveLayout: Object, alignment: [Array, String], dataSource: [Array, Object, String], disabled: Boolean, elementAttr: Object, export: Object, hoverEnabled: Boolean, label: Object, link: Object, loadingIndicator: Object, margin: Object, node: Object, onDisposing: Function, onDrawn: Function, onExported: Function, onExporting: Function, onFileSaving: Function, onIncidentOccurred: Function, onInitialized: Function, onLinkClick: Function, onLinkHoverChanged: Function, onNodeClick: Function, onNodeHoverChanged: Function, onOptionChanged: Function, palette: [Array, String], paletteExtensionMode: String, pathModified: Boolean, redrawOnResize: Boolean, rtlEnabled: Boolean, size: Object, sortData: {}, sourceField: String, targetField: String, theme: String, title: [Object, String], tooltip: Object, weightField: String }, emits: { "update:isActive": null, "update:hoveredElement": null, "update:adaptiveLayout": null, "update:alignment": null, "update:dataSource": null, "update:disabled": null, "update:elementAttr": null, "update:export": null, "update:hoverEnabled": null, "update:label": null, "update:link": null, "update:loadingIndicator": null, "update:margin": null, "update:node": null, "update:onDisposing": null, "update:onDrawn": null, "update:onExported": null, "update:onExporting": null, "update:onFileSaving": null, "update:onIncidentOccurred": null, "update:onInitialized": null, "update:onLinkClick": null, "update:onLinkHoverChanged": null, "update:onNodeClick": null, "update:onNodeHoverChanged": null, "update:onOptionChanged": null, "update:palette": null, "update:paletteExtensionMode": null, "update:pathModified": null, "update:redrawOnResize": null, "update:rtlEnabled": null, "update:size": null, "update:sortData": null, "update:sourceField": null, "update:targetField": null, "update:theme": null, "update:title": null, "update:tooltip": null, "update:weightField": null, }, computed: { instance() { return this.$_instance; } }, beforeCreate() { this.$_WidgetClass = Sankey; this.$_hasAsyncTemplate = true; this.$_expectedChildren = { adaptiveLayout: { isCollectionItem: false, optionName: "adaptiveLayout" }, export: { isCollectionItem: false, optionName: "export" }, label: { isCollectionItem: false, optionName: "label" }, link: { isCollectionItem: false, optionName: "link" }, loadingIndicator: { isCollectionItem: false, optionName: "loadingIndicator" }, margin: { isCollectionItem: false, optionName: "margin" }, node: { isCollectionItem: false, optionName: "node" }, size: { isCollectionItem: false, optionName: "size" }, title: { isCollectionItem: false, optionName: "title" }, tooltip: { isCollectionItem: false, optionName: "tooltip" } }; } }; prepareComponentConfig(componentConfig); const DxSankey = defineComponent(componentConfig); const DxAdaptiveLayoutConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:height": null, "update:keepLabels": null, "update:width": null, }, props: { height: Number, keepLabels: Boolean, width: Number } }; prepareConfigurationComponentConfig(DxAdaptiveLayoutConfig); const DxAdaptiveLayout = defineComponent(DxAdaptiveLayoutConfig); DxAdaptiveLayout.$_optionName = "adaptiveLayout"; const DxBorderConfig = { 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(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 DxHatchingConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:direction": null, "update:opacity": null, "update:step": null, "update:width": null, }, props: { direction: String, opacity: Number, step: Number, width: Number } }; prepareConfigurationComponentConfig(DxHatchingConfig); const DxHatching = defineComponent(DxHatchingConfig); DxHatching.$_optionName = "hatching"; const DxHoverStyleConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:border": null, "update:color": null, "update:hatching": null, "update:opacity": null, }, props: { border: Object, color: String, hatching: Object, opacity: Number } }; prepareConfigurationComponentConfig(DxHoverStyleConfig); const DxHoverStyle = defineComponent(DxHoverStyleConfig); DxHoverStyle.$_optionName = "hoverStyle"; DxHoverStyle.$_expectedChildren = { border: { isCollectionItem: false, optionName: "border" }, hatching: { isCollectionItem: false, optionName: "hatching" }, sankeyborder: { isCollectionItem: false, optionName: "border" } }; const DxLabelConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:border": null, "update:customizeText": null, "update:font": null, "update:horizontalOffset": null, "update:overlappingBehavior": null, "update:shadow": null, "update:useNodeColors": null, "update:verticalOffset": null, "update:visible": null, }, props: { border: Object, customizeText: Function, font: Object, horizontalOffset: Number, overlappingBehavior: String, shadow: Object, useNodeColors: Boolean, verticalOffset: Number, visible: Boolean } }; prepareConfigurationComponentConfig(DxLabelConfig); const DxLabel = defineComponent(DxLabelConfig); DxLabel.$_optionName = "label"; DxLabel.$_expectedChildren = { border: { isCollectionItem: false, optionName: "border" }, font: { isCollectionItem: false, optionName: "font" }, sankeyborder: { isCollectionItem: false, optionName: "border" }, shadow: { isCollectionItem: false, optionName: "shadow" } }; const DxLinkConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:border": null, "update:color": null, "update:colorMode": null, "update:hoverStyle": null, "update:opacity": null, }, props: { border: Object, color: String, colorMode: String, hoverStyle: Object, opacity: Number } }; prepareConfigurationComponentConfig(DxLinkConfig); const DxLink = defineComponent(DxLinkConfig); DxLink.$_optionName = "link"; DxLink.$_expectedChildren = { border: { isCollectionItem: false, optionName: "border" }, hoverStyle: { isCollectionItem: false, optionName: "hoverStyle" }, sankeyborder: { isCollectionItem: false, optionName: "border" } }; const DxLoadingIndicatorConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:backgroundColor": null, "update:enabled": null, "update:font": null, "update:show": null, "update:text": null, }, props: { backgroundColor: String, enabled: Boolean, 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 DxNodeConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:border": null, "update:color": null, "update:hoverStyle": null, "update:opacity": null, "update:padding": null, "update:width": null, }, props: { border: Object, color: String, hoverStyle: Object, opacity: Number, padding: Number, width: Number } }; prepareConfigurationComponentConfig(DxNodeConfig); const DxNode = defineComponent(DxNodeConfig); DxNode.$_optionName = "node"; DxNode.$_expectedChildren = { border: { isCollectionItem: false, optionName: "border" }, hoverStyle: { isCollectionItem: false, optionName: "hoverStyle" }, sankeyborder: { isCollectionItem: false, optionName: "border" } }; const DxSankeyborderConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:color": null, "update:visible": null, "update:width": null, }, props: { color: String, visible: Boolean, width: Number } }; prepareConfigurationComponentConfig(DxSankeyborderConfig); const DxSankeyborder = defineComponent(DxSankeyborderConfig); DxSankeyborder.$_optionName = "border"; 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: [Number, Object], placeholderSize: Number, subtitle: [Object, String], text: String, textOverflow: String, verticalAlignment: String, wordWrap: String } }; prepareConfigurationComponentConfig(DxTitleConfig); const DxTitle = defineComponent(DxTitleConfig); DxTitle.$_optionName = "title"; DxTitle.$_expectedChildren = { font: { isCollectionItem: false, optionName: "font" }, margin: { isCollectionItem: false, optionName: "margin" }, subtitle: { isCollectionItem: false, optionName: "subtitle" } }; const DxTooltipConfig = { emits: { "update:isActive": null, "update:hoveredElement": null, "update:arrowLength": null, "update:border": null, "update:color": null, "update:container": null, "update:cornerRadius": null, "update:customizeLinkTooltip": null, "update:customizeNodeTooltip": null, "update:enabled": null, "update:font": null, "update:format": null, "update:linkTooltipTemplate": null, "update:nodeTooltipTemplate": null, "update:opacity": null, "update:paddingLeftRight": null, "update:paddingTopBottom": null, "update:shadow": null, "update:zIndex": null, }, props: { arrowLength: Number, border: Object, color: String, container: {}, cornerRadius: Number, customizeLinkTooltip: Function, customizeNodeTooltip: Function, enabled: Boolean, font: Object, format: [Object, String, Function], linkTooltipTemplate: {}, nodeTooltipTemplate: {}, 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 DxSankey; export { DxSankey, DxAdaptiveLayout, DxBorder, DxExport, DxFont, DxFormat, DxHatching, DxHoverStyle, DxLabel, DxLink, DxLoadingIndicator, DxMargin, DxNode, DxSankeyborder, DxShadow, DxSize, DxSubtitle, DxTitle, DxTooltip, DxTooltipBorder };