@splunk/visualizations 28.2.3 → 28.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Area/Area.d.ts.map +1 -0
- package/Area/areaUtils.d.ts.map +1 -0
- package/Area/config.d.ts.map +1 -0
- package/Area/index.d.ts.map +1 -0
- package/Area.config.js +0 -1
- package/Area.config.js.map +2 -2
- package/Area.js +711 -184
- package/Area.js.map +4 -4
- package/Bar/Bar.d.ts.map +1 -0
- package/Bar/barUtils.d.ts.map +1 -0
- package/Bar/config.d.ts.map +1 -0
- package/Bar/index.d.ts.map +1 -0
- package/Bar.config.js +0 -1
- package/Bar.config.js.map +2 -2
- package/Bar.js +721 -184
- package/Bar.js.map +4 -4
- package/Bubble/Bubble.d.ts.map +1 -0
- package/Bubble/bubbleUtils.d.ts.map +1 -0
- package/Bubble/config.d.ts.map +1 -0
- package/Bubble/index.d.ts.map +1 -0
- package/Bubble.config.js +0 -1
- package/Bubble.config.js.map +2 -2
- package/Bubble.js +706 -167
- package/Bubble.js.map +4 -4
- package/CHANGELOG.external.md +99 -2
- package/{dist/types/ChoroplethSvg → ChoroplethSvg}/ChoroplethSvg.d.ts +4 -3
- package/ChoroplethSvg/ChoroplethSvg.d.ts.map +1 -0
- package/ChoroplethSvg/ErrorMessage/ErrorMessage.d.ts.map +1 -0
- package/ChoroplethSvg/PureChoroplethSvg/PureChoroplethSvg.d.ts.map +1 -0
- package/ChoroplethSvg/PureChoroplethSvg/SvgChoroplethDynamic.d.ts.map +1 -0
- package/ChoroplethSvg/PureChoroplethSvg/SvgMutator.d.ts.map +1 -0
- package/ChoroplethSvg/config.d.ts.map +1 -0
- package/ChoroplethSvg/index.d.ts.map +1 -0
- package/ChoroplethSvg.config.js +1 -3
- package/ChoroplethSvg.config.js.map +2 -2
- package/ChoroplethSvg.js +661 -109
- package/ChoroplethSvg.js.map +4 -4
- package/Column/Column.d.ts.map +1 -0
- package/Column/columnUtils.d.ts.map +1 -0
- package/Column/config.d.ts.map +1 -0
- package/Column/index.d.ts.map +1 -0
- package/Column.config.js +0 -1
- package/Column.config.js.map +2 -2
- package/Column.js +711 -184
- package/Column.js.map +4 -4
- package/Ellipse/Ellipse.d.ts.map +1 -0
- package/Ellipse/config.d.ts.map +1 -0
- package/Ellipse/index.d.ts.map +1 -0
- package/Ellipse.js +649 -107
- package/Ellipse.js.map +4 -4
- package/Events/EventUtils.d.ts.map +1 -0
- package/Events/Events.d.ts.map +1 -0
- package/Events/PureEvents/FieldSummaryTooltip.d.ts.map +1 -0
- package/Events/PureEvents/PureEvents.d.ts.map +1 -0
- package/Events/PureEvents/TimeControlsPopover.d.ts.map +1 -0
- package/Events/config.d.ts.map +1 -0
- package/Events/index.d.ts.map +1 -0
- package/Events.js +780 -193
- package/Events.js.map +4 -4
- package/FillerGauge/FillerGauge.d.ts.map +1 -0
- package/FillerGauge/PureFillerGauge/FillerGauge.d.ts.map +1 -0
- package/FillerGauge/config.d.ts.map +1 -0
- package/FillerGauge/index.d.ts.map +1 -0
- package/FillerGauge.js +656 -143
- package/FillerGauge.js.map +4 -4
- package/Image/Image.d.ts.map +1 -0
- package/Image/ImageApi.d.ts.map +1 -0
- package/Image/config.d.ts.map +1 -0
- package/Image/index.d.ts.map +1 -0
- package/Image.js +687 -113
- package/Image.js.map +4 -4
- package/LICENSE.md +0 -1
- package/Line/Line.d.ts.map +1 -0
- package/Line/config.d.ts.map +1 -0
- package/Line/index.d.ts.map +1 -0
- package/Line/lineUtils.d.ts.map +1 -0
- package/{dist/types/Line → Line}/mockdata/LineData.d.ts +59 -0
- package/Line/mockdata/LineData.d.ts.map +1 -0
- package/Line.config.js +0 -1
- package/Line.config.js.map +2 -2
- package/Line.js +817 -185
- package/Line.js.map +4 -4
- package/LinkGraph/ESTestDataSources.d.ts.map +1 -0
- package/LinkGraph/ESTestTemplate.d.ts.map +1 -0
- package/LinkGraph/LinkGraph.d.ts.map +1 -0
- package/{dist/types/LinkGraph → LinkGraph}/PureLinkGraph/PureLinkGraph.d.ts +5 -0
- package/LinkGraph/PureLinkGraph/PureLinkGraph.d.ts.map +1 -0
- package/LinkGraph/PureLinkGraph/PureLinkGraphUtils.d.ts.map +1 -0
- package/LinkGraph/PureLinkGraph/components/Edges.d.ts.map +1 -0
- package/LinkGraph/PureLinkGraph/components/Field.d.ts.map +1 -0
- package/LinkGraph/PureLinkGraph/components/FieldStyles.d.ts.map +1 -0
- package/{dist/types/LinkGraph → LinkGraph}/PureLinkGraph/components/Graph.d.ts +9 -1
- package/LinkGraph/PureLinkGraph/components/Graph.d.ts.map +1 -0
- package/LinkGraph/PureLinkGraph/components/GraphStyles.d.ts.map +1 -0
- package/{dist/types/LinkGraph → LinkGraph}/PureLinkGraph/components/Node.d.ts +1 -0
- package/LinkGraph/PureLinkGraph/components/Node.d.ts.map +1 -0
- package/{dist/types/LinkGraph → LinkGraph}/PureLinkGraph/components/Nodes.d.ts +1 -0
- package/LinkGraph/PureLinkGraph/components/Nodes.d.ts.map +1 -0
- package/LinkGraph/PureLinkGraph/measurementUtils.d.ts +16 -0
- package/LinkGraph/PureLinkGraph/measurementUtils.d.ts.map +1 -0
- package/{dist/types/LinkGraph → LinkGraph}/PureLinkGraph/utils/iconLoader.d.ts.map +1 -1
- package/LinkGraph/config.d.ts.map +1 -0
- package/LinkGraph/index.d.ts.map +1 -0
- package/LinkGraph.config.js +15 -1
- package/LinkGraph.config.js.map +2 -2
- package/LinkGraph.js +1476 -657
- package/LinkGraph.js.map +4 -4
- package/{dist/types/Map → Map}/Map.d.ts +2 -2
- package/Map/Map.d.ts.map +1 -0
- package/{dist/types/Map → Map}/PureMap/BubbleLayer.d.ts +5 -0
- package/Map/PureMap/BubbleLayer.d.ts.map +1 -0
- package/Map/PureMap/ChoroplethLayer.d.ts.map +1 -0
- package/Map/PureMap/ClusterLayer.d.ts.map +1 -0
- package/Map/PureMap/LocalChoroplethLayer.d.ts.map +1 -0
- package/{dist/types/Map → Map}/PureMap/MapUtils.d.ts +10 -6
- package/Map/PureMap/MapUtils.d.ts.map +1 -0
- package/Map/PureMap/MarkerLayer.d.ts.map +1 -0
- package/Map/PureMap/MarkerWrapper.d.ts.map +1 -0
- package/Map/PureMap/PureMap.d.ts.map +1 -0
- package/Map/PureMap/PureMapContainer.d.ts.map +1 -0
- package/Map/PureMap/Tooltip.d.ts.map +1 -0
- package/{dist/types/Map → Map}/PureMap/mockdata/data.d.ts +21 -17
- package/Map/PureMap/mockdata/data.d.ts.map +1 -0
- package/Map/config.d.ts.map +1 -0
- package/Map/index.d.ts.map +1 -0
- package/Map.config.js +0 -1
- package/Map.config.js.map +2 -2
- package/Map.js +1002 -319
- package/Map.js.map +4 -4
- package/Markdown/Markdown.d.ts.map +1 -0
- package/Markdown/config.d.ts.map +1 -0
- package/Markdown/index.d.ts.map +1 -0
- package/Markdown.js +669 -98
- package/Markdown.js.map +4 -4
- package/{dist/types/MarkerGauge → MarkerGauge}/MarkerGauge.d.ts +5 -1
- package/MarkerGauge/MarkerGauge.d.ts.map +1 -0
- package/{dist/types/MarkerGauge → MarkerGauge}/PureMarkerGauge/MarkerGauge.d.ts +4 -0
- package/MarkerGauge/PureMarkerGauge/MarkerGauge.d.ts.map +1 -0
- package/MarkerGauge/config.d.ts.map +1 -0
- package/MarkerGauge/index.d.ts.map +1 -0
- package/MarkerGauge.config.js +121 -3
- package/MarkerGauge.config.js.map +3 -3
- package/MarkerGauge.js +1439 -145
- package/MarkerGauge.js.map +4 -4
- package/NetworkGraph/NetworkGraph.d.ts +22 -0
- package/NetworkGraph/NetworkGraph.d.ts.map +1 -0
- package/NetworkGraph/PureNetworkGraph/PureNetworkGraph.d.ts +60 -0
- package/NetworkGraph/PureNetworkGraph/PureNetworkGraph.d.ts.map +1 -0
- package/NetworkGraph/PureNetworkGraph/components/Link.d.ts +19 -0
- package/NetworkGraph/PureNetworkGraph/components/Link.d.ts.map +1 -0
- package/NetworkGraph/PureNetworkGraph/components/NetworkGraphSvg.d.ts +29 -0
- package/NetworkGraph/PureNetworkGraph/components/NetworkGraphSvg.d.ts.map +1 -0
- package/NetworkGraph/PureNetworkGraph/components/Node.d.ts +27 -0
- package/NetworkGraph/PureNetworkGraph/components/Node.d.ts.map +1 -0
- package/NetworkGraph/PureNetworkGraph/components/Tooltip.d.ts +12 -0
- package/NetworkGraph/PureNetworkGraph/components/Tooltip.d.ts.map +1 -0
- package/NetworkGraph/PureNetworkGraph/components/ZoomControls.d.ts +13 -0
- package/NetworkGraph/PureNetworkGraph/components/ZoomControls.d.ts.map +1 -0
- package/NetworkGraph/PureNetworkGraph/mockdata/data.d.ts +140 -0
- package/NetworkGraph/PureNetworkGraph/mockdata/data.d.ts.map +1 -0
- package/NetworkGraph/PureNetworkGraph/mockdata/datasource.d.ts +89 -0
- package/NetworkGraph/PureNetworkGraph/mockdata/datasource.d.ts.map +1 -0
- package/NetworkGraph/PureNetworkGraph/utils/forceLayout.d.ts +47 -0
- package/NetworkGraph/PureNetworkGraph/utils/forceLayout.d.ts.map +1 -0
- package/NetworkGraph/PureNetworkGraph/utils/iconLoader.d.ts +78 -0
- package/NetworkGraph/PureNetworkGraph/utils/iconLoader.d.ts.map +1 -0
- package/NetworkGraph/PureNetworkGraph/utils/networkGraphShared.d.ts +111 -0
- package/NetworkGraph/PureNetworkGraph/utils/networkGraphShared.d.ts.map +1 -0
- package/NetworkGraph/PureNetworkGraph/utils/networkGraphUtils.d.ts +123 -0
- package/NetworkGraph/PureNetworkGraph/utils/networkGraphUtils.d.ts.map +1 -0
- package/NetworkGraph/config.d.ts.map +1 -0
- package/NetworkGraph/index.d.ts +3 -0
- package/NetworkGraph/index.d.ts.map +1 -0
- package/NetworkGraph.config.js +938 -0
- package/NetworkGraph.config.js.map +7 -0
- package/NetworkGraph.js +6793 -0
- package/NetworkGraph.js.map +7 -0
- package/ParallelCoordinates/ParallelCoordinates.d.ts.map +1 -0
- package/ParallelCoordinates/PureParallelCoordinates/PureParallelCoordinates.d.ts.map +1 -0
- package/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesCanvas.d.ts.map +1 -0
- package/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesChart.d.ts.map +1 -0
- package/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesPrompt.d.ts.map +1 -0
- package/ParallelCoordinates/config.d.ts.map +1 -0
- package/ParallelCoordinates/index.d.ts.map +1 -0
- package/ParallelCoordinates/mockdata/arrayValueData.d.ts.map +1 -0
- package/ParallelCoordinates/mockdata/sampleCarData.d.ts.map +1 -0
- package/ParallelCoordinates/mockdata/sampleCarNumericalData.d.ts.map +1 -0
- package/ParallelCoordinates/mockdata/sampleFoodData.d.ts.map +1 -0
- package/ParallelCoordinates/mockdata/sampleStringNumericalData.d.ts.map +1 -0
- package/ParallelCoordinates.js +666 -99
- package/ParallelCoordinates.js.map +4 -4
- package/Pie/Pie.d.ts.map +1 -0
- package/Pie/config.d.ts.map +1 -0
- package/Pie/index.d.ts.map +1 -0
- package/Pie/pieUtils.d.ts.map +1 -0
- package/Pie.config.js +13 -0
- package/Pie.config.js.map +2 -2
- package/Pie.js +744 -188
- package/Pie.js.map +4 -4
- package/Punchcard/Punchcard.d.ts.map +1 -0
- package/Punchcard/PurePunchcard/Punchcard.d.ts.map +1 -0
- package/Punchcard/PurePunchcard/src/PunchcardAxis.d.ts.map +1 -0
- package/Punchcard/PurePunchcard/src/PunchcardBubble.d.ts.map +1 -0
- package/Punchcard/PurePunchcard/src/PunchcardChartArea.d.ts.map +1 -0
- package/Punchcard/PurePunchcard/src/PunchcardGridLines.d.ts.map +1 -0
- package/Punchcard/PurePunchcard/src/PunchcardLegend.d.ts.map +1 -0
- package/Punchcard/PurePunchcard/src/PunchcardRow.d.ts.map +1 -0
- package/Punchcard/PurePunchcard/src/utils/punchcardUtils.d.ts.map +1 -0
- package/Punchcard/config.d.ts.map +1 -0
- package/Punchcard/index.d.ts.map +1 -0
- package/Punchcard/punchcardUtils.d.ts.map +1 -0
- package/Punchcard.js +663 -109
- package/Punchcard.js.map +4 -4
- package/README.md +1 -1
- package/Rectangle/Rectangle.d.ts.map +1 -0
- package/Rectangle/config.d.ts.map +1 -0
- package/Rectangle/index.d.ts.map +1 -0
- package/Rectangle.config.js +13 -22
- package/Rectangle.config.js.map +4 -4
- package/Rectangle.js +671 -138
- package/Rectangle.js.map +4 -4
- package/Sankey/PureSankey/PureSankey.d.ts.map +1 -0
- package/Sankey/PureSankey/SankeyLink.d.ts.map +1 -0
- package/Sankey/PureSankey/SankeyModels.d.ts.map +1 -0
- package/Sankey/PureSankey/SankeyNode.d.ts.map +1 -0
- package/Sankey/PureSankey/SankeyTooltip.d.ts.map +1 -0
- package/Sankey/PureSankey/SankeyUtils.d.ts.map +1 -0
- package/Sankey/PureSankey/mockdata/data.d.ts.map +1 -0
- package/Sankey/Sankey.d.ts.map +1 -0
- package/Sankey/config.d.ts.map +1 -0
- package/Sankey/index.d.ts.map +1 -0
- package/Sankey.js +683 -114
- package/Sankey.js.map +4 -4
- package/Scatter/Scatter.d.ts.map +1 -0
- package/Scatter/config.d.ts.map +1 -0
- package/Scatter/index.d.ts.map +1 -0
- package/Scatter/mockdata/data.d.ts.map +1 -0
- package/Scatter/scatterUtils.d.ts.map +1 -0
- package/Scatter.config.js +0 -1
- package/Scatter.config.js.map +2 -2
- package/Scatter.js +721 -184
- package/Scatter.js.map +4 -4
- package/SingleValue/SingleValue.d.ts.map +1 -0
- package/SingleValue/config.d.ts.map +1 -0
- package/SingleValue/index.d.ts.map +1 -0
- package/SingleValue.config.js +15 -2
- package/SingleValue.config.js.map +2 -2
- package/SingleValue.js +864 -226
- package/SingleValue.js.map +3 -3
- package/SingleValueBasic/index.d.ts.map +1 -0
- package/SingleValueBasic.js +22 -13
- package/SingleValueBasic.js.map +2 -2
- package/SingleValueIcon/SingleValueIcon.d.ts.map +1 -0
- package/SingleValueIcon/config.d.ts.map +1 -0
- package/SingleValueIcon/index.d.ts.map +1 -0
- package/SingleValueIcon.config.js +0 -1
- package/SingleValueIcon.config.js.map +2 -2
- package/SingleValueIcon.js +661 -142
- package/SingleValueIcon.js.map +3 -3
- package/SingleValueRadial/PureSingleValueRadial/GaugeGraph.d.ts.map +1 -0
- package/{dist/types/SingleValueRadial → SingleValueRadial}/PureSingleValueRadial/utils/gaugeUtils.d.ts +0 -8
- package/SingleValueRadial/PureSingleValueRadial/utils/gaugeUtils.d.ts.map +1 -0
- package/SingleValueRadial/SingleValueRadial.d.ts.map +1 -0
- package/SingleValueRadial/config.d.ts.map +1 -0
- package/SingleValueRadial/index.d.ts.map +1 -0
- package/SingleValueRadial.config.js +0 -1
- package/SingleValueRadial.config.js.map +2 -2
- package/SingleValueRadial.js +660 -140
- package/SingleValueRadial.js.map +4 -4
- package/SparkLine/index.d.ts.map +1 -0
- package/SparkLine.js +111 -45
- package/SparkLine.js.map +2 -2
- package/{dist/types/Table → Table}/PureTable.d.ts +10 -0
- package/Table/PureTable.d.ts.map +1 -0
- package/Table/Table.d.ts +18 -0
- package/Table/Table.d.ts.map +1 -0
- package/Table/cells/ArrayCell.d.ts.map +1 -0
- package/Table/cells/SparklineCell.d.ts.map +1 -0
- package/Table/cells/SwitchTableCell.d.ts.map +1 -0
- package/Table/cells/TextCell.d.ts.map +1 -0
- package/Table/cells/index.d.ts.map +1 -0
- package/Table/config.d.ts.map +1 -0
- package/{dist/types/Table → Table}/hooks.d.ts +5 -5
- package/Table/hooks.d.ts.map +1 -0
- package/Table/index.d.ts.map +1 -0
- package/Table.config.js +1 -1
- package/Table.config.js.map +2 -2
- package/Table.js +1115 -375
- package/Table.js.map +4 -4
- package/Timeline/PureTimeline/PureTimeline.d.ts.map +1 -0
- package/Timeline/PureTimeline/src/CursorPlugin.d.ts.map +1 -0
- package/Timeline/PureTimeline/src/TimelineLegend.d.ts.map +1 -0
- package/{dist/types/Timeline → Timeline}/PureTimeline/src/TimelinePlugin.d.ts +3 -1
- package/Timeline/PureTimeline/src/TimelinePlugin.d.ts.map +1 -0
- package/Timeline/PureTimeline/src/TimelineTooltip.d.ts.map +1 -0
- package/Timeline/PureTimeline/src/TimelineUplot.d.ts.map +1 -0
- package/Timeline/PureTimeline/src/TimelineYAxis.d.ts.map +1 -0
- package/{dist/types/Timeline → Timeline}/PureTimeline/src/XAxisPlugin.d.ts +2 -1
- package/Timeline/PureTimeline/src/XAxisPlugin.d.ts.map +1 -0
- package/{dist/types/Timeline → Timeline}/PureTimeline/src/utils/timelineUtils.d.ts +26 -2
- package/Timeline/PureTimeline/src/utils/timelineUtils.d.ts.map +1 -0
- package/Timeline/Timeline.d.ts.map +1 -0
- package/Timeline/config.d.ts +4 -0
- package/Timeline/config.d.ts.map +1 -0
- package/Timeline/index.d.ts.map +1 -0
- package/Timeline/mockdata/basicTimelineData.d.ts.map +1 -0
- package/Timeline/mockdata/categoricalTimelineData.d.ts.map +1 -0
- package/Timeline/mockdata/timelineDataSource.d.ts.map +1 -0
- package/Timeline.config.js +30 -21
- package/Timeline.config.js.map +4 -4
- package/Timeline.js +1287 -467
- package/Timeline.js.map +4 -4
- package/{dist/types/common → common}/Charting.d.ts +7 -0
- package/common/Charting.d.ts.map +1 -0
- package/common/Charting.js +59 -34
- package/common/Charting.js.map +4 -4
- package/common/ChartingApi.d.ts.map +1 -0
- package/common/DocExampleWithVizSandbox.d.ts.map +1 -0
- package/common/DocExampleWithVizSandbox.js.map +1 -1
- package/common/OptionsDoc.js.map +1 -1
- package/common/OverviewDoc.d.ts.map +1 -0
- package/common/OverviewDoc.js.map +1 -1
- package/common/SplunkVisualization.d.ts.map +1 -0
- package/common/SplunkVisualizationApi.d.ts.map +1 -0
- package/common/ThemedDefaults.d.ts.map +1 -0
- package/common/ThemesDoc.js +0 -1
- package/common/ThemesDoc.js.map +2 -2
- package/common/TimeSeriesChartWrapper.d.ts +31 -0
- package/common/TimeSeriesChartWrapper.d.ts.map +1 -0
- package/common/TimeSeriesChartWrapper.js +693 -74
- package/common/TimeSeriesChartWrapper.js.map +4 -4
- package/{dist/types/common → common}/chartingUtils.d.ts +55 -5
- package/common/chartingUtils.d.ts.map +1 -0
- package/common/chartingUtils.js +120 -9
- package/common/chartingUtils.js.map +3 -3
- package/common/components/IconPlaceholder.d.ts.map +1 -0
- package/common/components/MissingPropsMessage.d.ts.map +1 -0
- package/common/components/TrellisTitle.d.ts.map +1 -0
- package/common/configContext/singleValueContext.d.ts.map +1 -0
- package/common/docUtils.d.ts.map +1 -0
- package/common/docUtils.js +1 -1
- package/common/docUtils.js.map +2 -2
- package/common/editorConfig/AxesChartColorAndStyle.d.ts.map +1 -0
- package/common/editorConfig/AxesChartDataConfig.d.ts.map +1 -0
- package/common/editorConfig/AxesChartDataDisplay.d.ts.map +1 -0
- package/common/editorConfig/AxesChartLegend.d.ts.map +1 -0
- package/common/editorConfig/AxesChartXGridAndLabels.d.ts.map +1 -0
- package/common/editorConfig/AxesChartY2GridAndLabels.d.ts.map +1 -0
- package/common/editorConfig/AxesChartYGridAndLabels.d.ts.map +1 -0
- package/common/editorConfig/BackgroundColor.d.ts.map +1 -0
- package/common/editorConfig/DynamicFillColorEditor.d.ts.map +1 -0
- package/common/editorConfig/DynamicGaugeColorEditor.d.ts.map +1 -0
- package/common/editorConfig/DynamicStrokeColorEditor.d.ts.map +1 -0
- package/common/editorConfig/Gauge.d.ts.map +1 -0
- package/common/editorConfig/Legend.d.ts.map +1 -0
- package/common/editorConfig/RadialBackgroundColor.d.ts.map +1 -0
- package/common/editorConfig/StaticFillColorEditor.d.ts.map +1 -0
- package/common/editorConfig/StaticGaugeColorEditor.d.ts.map +1 -0
- package/common/editorConfig/StaticStrokeColorEditor.d.ts.map +1 -0
- package/common/editorConfig/TrellisEditors.d.ts.map +1 -0
- package/common/gaugeUtils.d.ts.map +1 -0
- package/common/hocs/FixedSizeContainer.d.ts.map +1 -0
- package/common/hocs/mockdata/trellisData.d.ts.map +1 -0
- package/common/hocs/withEditModeCover.d.ts.map +1 -0
- package/common/hocs/withPlaceholder.d.ts.map +1 -0
- package/common/hocs/withTrellis.d.ts.map +1 -0
- package/common/hooks/useDeepMemo.d.ts.map +1 -0
- package/common/hooks/useDownsampleDataSources.d.ts.map +1 -0
- package/common/hooks/useEventCallback.d.ts.map +1 -0
- package/common/hooks/useGetXAndYFields.d.ts.map +1 -0
- package/common/hooks/usePagination.d.ts.map +1 -0
- package/common/hooks/usePrevious.d.ts.map +1 -0
- package/common/hooks/useSorting.d.ts.map +1 -0
- package/common/hooks/useTrellisEnabled.d.ts.map +1 -0
- package/common/interfaces/ChartEvent.d.ts.map +1 -0
- package/{dist/types/common → common}/interfaces/DashboardVizProps.d.ts +0 -3
- package/common/interfaces/DashboardVizProps.d.ts.map +1 -0
- package/common/interfaces/DataContract.d.ts.map +1 -0
- package/{dist/types/common → common}/interfaces/DataSource.d.ts +1 -1
- package/common/interfaces/DataSource.d.ts.map +1 -0
- package/common/interfaces/DefaultContext.d.ts.map +1 -0
- package/common/interfaces/Editor.d.ts.map +1 -0
- package/common/interfaces/ExtendedDashViz.d.ts.map +1 -0
- package/common/interfaces/Object.d.ts.map +1 -0
- package/common/interfaces/Overview.d.ts.map +1 -0
- package/common/interfaces/ThemedDefaults.d.ts.map +1 -0
- package/common/interfaces/VizActionHandler.d.ts.map +1 -0
- package/common/interfaces/VizBehavior.d.ts.map +1 -0
- package/common/interfaces/VizCategory.d.ts.map +1 -0
- package/common/interfaces/VizConfig.d.ts.map +1 -0
- package/common/interfaces/VizEvent.d.ts.map +1 -0
- package/common/interfaces/VizProps.d.ts.map +1 -0
- package/common/interfaces/VizRegistry.d.ts.map +1 -0
- package/common/interfaces/VizSize.d.ts.map +1 -0
- package/common/interfaces/VizStatus.d.ts.map +1 -0
- package/common/interfaces/index.d.ts.map +1 -0
- package/common/shapeUtils.d.ts.map +1 -0
- package/common/shapeUtils.js +5 -20
- package/common/shapeUtils.js.map +2 -2
- package/common/utils/configUtils.d.ts.map +1 -0
- package/common/utils/dataUtils.d.ts.map +1 -0
- package/common/utils/dataUtils.js +5 -4
- package/common/utils/dataUtils.js.map +2 -2
- package/common/utils/featureFlagUtils.d.ts +4 -0
- package/common/utils/featureFlagUtils.d.ts.map +1 -0
- package/common/utils/featureFlagUtils.js.map +2 -2
- package/common/utils/hocUtils.d.ts.map +1 -0
- package/common/utils/mapUtils.d.ts.map +1 -0
- package/common/utils/mapUtils.js +16 -9
- package/common/utils/mapUtils.js.map +2 -2
- package/common/utils/singleValueUtils.js +17 -18
- package/common/utils/singleValueUtils.js.map +2 -2
- package/common/utils/tableUtils.d.ts +10 -0
- package/common/utils/tableUtils.d.ts.map +1 -0
- package/common/utils/tableUtils.js +20 -8
- package/common/utils/tableUtils.js.map +2 -2
- package/common/utils/textUtils.d.ts +20 -0
- package/common/utils/textUtils.d.ts.map +1 -0
- package/common/utils/textUtils.js +76 -0
- package/common/utils/textUtils.js.map +7 -0
- package/common/utils/trellisUtils.d.ts.map +1 -0
- package/common/utils/trellisUtils.js +12 -14
- package/common/utils/trellisUtils.js.map +2 -2
- package/common/utils/urlUtils.d.ts.map +1 -0
- package/{dist/types/common → common}/withDashboardViz.d.ts +7 -0
- package/common/withDashboardViz.d.ts.map +1 -0
- package/common/withDashboardViz.js +665 -87
- package/common/withDashboardViz.js.map +4 -4
- package/package.json +35 -29
- package/common/utils/styleUtils.js +0 -30
- package/common/utils/styleUtils.js.map +0 -7
- package/dist/types/Area/Area.d.ts.map +0 -1
- package/dist/types/Area/areaUtils.d.ts.map +0 -1
- package/dist/types/Area/config.d.ts.map +0 -1
- package/dist/types/Area/index.d.ts.map +0 -1
- package/dist/types/Bar/Bar.d.ts.map +0 -1
- package/dist/types/Bar/barUtils.d.ts.map +0 -1
- package/dist/types/Bar/config.d.ts.map +0 -1
- package/dist/types/Bar/index.d.ts.map +0 -1
- package/dist/types/Bubble/Bubble.d.ts.map +0 -1
- package/dist/types/Bubble/bubbleUtils.d.ts.map +0 -1
- package/dist/types/Bubble/config.d.ts.map +0 -1
- package/dist/types/Bubble/index.d.ts.map +0 -1
- package/dist/types/ChoroplethSvg/ChoroplethSvg.d.ts.map +0 -1
- package/dist/types/ChoroplethSvg/ErrorMessage/ErrorMessage.d.ts.map +0 -1
- package/dist/types/ChoroplethSvg/PureChoroplethSvg/PureChoroplethSvg.d.ts.map +0 -1
- package/dist/types/ChoroplethSvg/PureChoroplethSvg/SvgChoroplethDynamic.d.ts.map +0 -1
- package/dist/types/ChoroplethSvg/PureChoroplethSvg/SvgMutator.d.ts.map +0 -1
- package/dist/types/ChoroplethSvg/config.d.ts.map +0 -1
- package/dist/types/ChoroplethSvg/index.d.ts.map +0 -1
- package/dist/types/Column/Column.d.ts.map +0 -1
- package/dist/types/Column/columnUtils.d.ts.map +0 -1
- package/dist/types/Column/config.d.ts.map +0 -1
- package/dist/types/Column/index.d.ts.map +0 -1
- package/dist/types/Ellipse/Ellipse.d.ts.map +0 -1
- package/dist/types/Ellipse/config.d.ts.map +0 -1
- package/dist/types/Ellipse/index.d.ts.map +0 -1
- package/dist/types/Events/EventUtils.d.ts.map +0 -1
- package/dist/types/Events/Events.d.ts.map +0 -1
- package/dist/types/Events/PureEvents/FieldSummaryTooltip.d.ts.map +0 -1
- package/dist/types/Events/PureEvents/PureEvents.d.ts.map +0 -1
- package/dist/types/Events/PureEvents/TimeControlsPopover.d.ts.map +0 -1
- package/dist/types/Events/config.d.ts.map +0 -1
- package/dist/types/Events/index.d.ts.map +0 -1
- package/dist/types/FillerGauge/FillerGauge.d.ts.map +0 -1
- package/dist/types/FillerGauge/PureFillerGauge/FillerGauge.d.ts.map +0 -1
- package/dist/types/FillerGauge/config.d.ts.map +0 -1
- package/dist/types/FillerGauge/index.d.ts.map +0 -1
- package/dist/types/Image/Image.d.ts.map +0 -1
- package/dist/types/Image/ImageApi.d.ts.map +0 -1
- package/dist/types/Image/config.d.ts.map +0 -1
- package/dist/types/Image/index.d.ts.map +0 -1
- package/dist/types/Line/Line.d.ts.map +0 -1
- package/dist/types/Line/config.d.ts.map +0 -1
- package/dist/types/Line/index.d.ts.map +0 -1
- package/dist/types/Line/lineUtils.d.ts.map +0 -1
- package/dist/types/Line/mockdata/LineData.d.ts.map +0 -1
- package/dist/types/LinkGraph/ESTestDataSources.d.ts.map +0 -1
- package/dist/types/LinkGraph/ESTestTemplate.d.ts.map +0 -1
- package/dist/types/LinkGraph/LinkGraph.d.ts.map +0 -1
- package/dist/types/LinkGraph/PureLinkGraph/PureLinkGraph.d.ts.map +0 -1
- package/dist/types/LinkGraph/PureLinkGraph/PureLinkGraphUtils.d.ts.map +0 -1
- package/dist/types/LinkGraph/PureLinkGraph/components/Edges.d.ts.map +0 -1
- package/dist/types/LinkGraph/PureLinkGraph/components/Field.d.ts.map +0 -1
- package/dist/types/LinkGraph/PureLinkGraph/components/FieldStyles.d.ts.map +0 -1
- package/dist/types/LinkGraph/PureLinkGraph/components/Graph.d.ts.map +0 -1
- package/dist/types/LinkGraph/PureLinkGraph/components/GraphStyles.d.ts.map +0 -1
- package/dist/types/LinkGraph/PureLinkGraph/components/Node.d.ts.map +0 -1
- package/dist/types/LinkGraph/PureLinkGraph/components/Nodes.d.ts.map +0 -1
- package/dist/types/LinkGraph/config.d.ts.map +0 -1
- package/dist/types/LinkGraph/index.d.ts.map +0 -1
- package/dist/types/Map/Map.d.ts.map +0 -1
- package/dist/types/Map/MapContextDefault.d.ts +0 -39
- package/dist/types/Map/MapContextDefault.d.ts.map +0 -1
- package/dist/types/Map/PureMap/BubbleLayer.d.ts.map +0 -1
- package/dist/types/Map/PureMap/ChoroplethLayer.d.ts.map +0 -1
- package/dist/types/Map/PureMap/ClusterLayer.d.ts.map +0 -1
- package/dist/types/Map/PureMap/LocalChoroplethLayer.d.ts.map +0 -1
- package/dist/types/Map/PureMap/MapUtils.d.ts.map +0 -1
- package/dist/types/Map/PureMap/MarkerLayer.d.ts.map +0 -1
- package/dist/types/Map/PureMap/MarkerWrapper.d.ts.map +0 -1
- package/dist/types/Map/PureMap/PureMap.d.ts.map +0 -1
- package/dist/types/Map/PureMap/PureMapContainer.d.ts.map +0 -1
- package/dist/types/Map/PureMap/Tooltip.d.ts.map +0 -1
- package/dist/types/Map/PureMap/mockdata/data.d.ts.map +0 -1
- package/dist/types/Map/config.d.ts.map +0 -1
- package/dist/types/Map/index.d.ts.map +0 -1
- package/dist/types/Markdown/Markdown.d.ts.map +0 -1
- package/dist/types/Markdown/config.d.ts.map +0 -1
- package/dist/types/Markdown/index.d.ts.map +0 -1
- package/dist/types/MarkerGauge/MarkerGauge.d.ts.map +0 -1
- package/dist/types/MarkerGauge/PureMarkerGauge/MarkerGauge.d.ts.map +0 -1
- package/dist/types/MarkerGauge/config.d.ts.map +0 -1
- package/dist/types/MarkerGauge/index.d.ts.map +0 -1
- package/dist/types/ParallelCoordinates/ParallelCoordinates.d.ts.map +0 -1
- package/dist/types/ParallelCoordinates/PureParallelCoordinates/PureParallelCoordinates.d.ts.map +0 -1
- package/dist/types/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesCanvas.d.ts.map +0 -1
- package/dist/types/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesChart.d.ts.map +0 -1
- package/dist/types/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesPrompt.d.ts.map +0 -1
- package/dist/types/ParallelCoordinates/config.d.ts.map +0 -1
- package/dist/types/ParallelCoordinates/index.d.ts.map +0 -1
- package/dist/types/ParallelCoordinates/mockdata/arrayValueData.d.ts.map +0 -1
- package/dist/types/ParallelCoordinates/mockdata/sampleCarData.d.ts.map +0 -1
- package/dist/types/ParallelCoordinates/mockdata/sampleCarNumericalData.d.ts.map +0 -1
- package/dist/types/ParallelCoordinates/mockdata/sampleFoodData.d.ts.map +0 -1
- package/dist/types/ParallelCoordinates/mockdata/sampleStringNumericalData.d.ts.map +0 -1
- package/dist/types/Pie/Pie.d.ts.map +0 -1
- package/dist/types/Pie/config.d.ts.map +0 -1
- package/dist/types/Pie/index.d.ts.map +0 -1
- package/dist/types/Pie/pieUtils.d.ts.map +0 -1
- package/dist/types/Punchcard/Punchcard.d.ts.map +0 -1
- package/dist/types/Punchcard/PurePunchcard/Punchcard.d.ts.map +0 -1
- package/dist/types/Punchcard/PurePunchcard/src/PunchcardAxis.d.ts.map +0 -1
- package/dist/types/Punchcard/PurePunchcard/src/PunchcardBubble.d.ts.map +0 -1
- package/dist/types/Punchcard/PurePunchcard/src/PunchcardChartArea.d.ts.map +0 -1
- package/dist/types/Punchcard/PurePunchcard/src/PunchcardGridLines.d.ts.map +0 -1
- package/dist/types/Punchcard/PurePunchcard/src/PunchcardLegend.d.ts.map +0 -1
- package/dist/types/Punchcard/PurePunchcard/src/PunchcardRow.d.ts.map +0 -1
- package/dist/types/Punchcard/PurePunchcard/src/utils/punchcardUtils.d.ts.map +0 -1
- package/dist/types/Punchcard/config.d.ts.map +0 -1
- package/dist/types/Punchcard/index.d.ts.map +0 -1
- package/dist/types/Punchcard/punchcardUtils.d.ts.map +0 -1
- package/dist/types/Rectangle/Rectangle.d.ts.map +0 -1
- package/dist/types/Rectangle/config.d.ts.map +0 -1
- package/dist/types/Rectangle/index.d.ts.map +0 -1
- package/dist/types/Sankey/PureSankey/PureSankey.d.ts.map +0 -1
- package/dist/types/Sankey/PureSankey/SankeyLink.d.ts.map +0 -1
- package/dist/types/Sankey/PureSankey/SankeyModels.d.ts.map +0 -1
- package/dist/types/Sankey/PureSankey/SankeyNode.d.ts.map +0 -1
- package/dist/types/Sankey/PureSankey/SankeyTooltip.d.ts.map +0 -1
- package/dist/types/Sankey/PureSankey/SankeyUtils.d.ts.map +0 -1
- package/dist/types/Sankey/PureSankey/mockdata/data.d.ts.map +0 -1
- package/dist/types/Sankey/Sankey.d.ts.map +0 -1
- package/dist/types/Sankey/config.d.ts.map +0 -1
- package/dist/types/Sankey/index.d.ts.map +0 -1
- package/dist/types/Scatter/Scatter.d.ts.map +0 -1
- package/dist/types/Scatter/config.d.ts.map +0 -1
- package/dist/types/Scatter/index.d.ts.map +0 -1
- package/dist/types/Scatter/mockdata/data.d.ts.map +0 -1
- package/dist/types/Scatter/scatterUtils.d.ts.map +0 -1
- package/dist/types/SingleValue/SingleValue.d.ts.map +0 -1
- package/dist/types/SingleValue/config.d.ts.map +0 -1
- package/dist/types/SingleValue/index.d.ts.map +0 -1
- package/dist/types/SingleValueBasic/index.d.ts.map +0 -1
- package/dist/types/SingleValueIcon/SingleValueIcon.d.ts.map +0 -1
- package/dist/types/SingleValueIcon/config.d.ts.map +0 -1
- package/dist/types/SingleValueIcon/index.d.ts.map +0 -1
- package/dist/types/SingleValueRadial/PureSingleValueRadial/GaugeGraph.d.ts.map +0 -1
- package/dist/types/SingleValueRadial/PureSingleValueRadial/utils/gaugeUtils.d.ts.map +0 -1
- package/dist/types/SingleValueRadial/SingleValueRadial.d.ts.map +0 -1
- package/dist/types/SingleValueRadial/config.d.ts.map +0 -1
- package/dist/types/SingleValueRadial/index.d.ts.map +0 -1
- package/dist/types/SparkLine/index.d.ts.map +0 -1
- package/dist/types/Table/PureTable.d.ts.map +0 -1
- package/dist/types/Table/Table.d.ts +0 -10
- package/dist/types/Table/Table.d.ts.map +0 -1
- package/dist/types/Table/cells/ArrayCell.d.ts.map +0 -1
- package/dist/types/Table/cells/SparklineCell.d.ts.map +0 -1
- package/dist/types/Table/cells/SwitchTableCell.d.ts.map +0 -1
- package/dist/types/Table/cells/TextCell.d.ts.map +0 -1
- package/dist/types/Table/cells/index.d.ts.map +0 -1
- package/dist/types/Table/config.d.ts.map +0 -1
- package/dist/types/Table/hooks.d.ts.map +0 -1
- package/dist/types/Table/index.d.ts.map +0 -1
- package/dist/types/Timeline/PureTimeline/PureTimeline.d.ts.map +0 -1
- package/dist/types/Timeline/PureTimeline/src/CursorPlugin.d.ts.map +0 -1
- package/dist/types/Timeline/PureTimeline/src/TimelineLegend.d.ts.map +0 -1
- package/dist/types/Timeline/PureTimeline/src/TimelinePlugin.d.ts.map +0 -1
- package/dist/types/Timeline/PureTimeline/src/TimelineTooltip.d.ts.map +0 -1
- package/dist/types/Timeline/PureTimeline/src/TimelineUplot.d.ts.map +0 -1
- package/dist/types/Timeline/PureTimeline/src/TimelineYAxis.d.ts.map +0 -1
- package/dist/types/Timeline/PureTimeline/src/XAxisPlugin.d.ts.map +0 -1
- package/dist/types/Timeline/PureTimeline/src/utils/timelineUtils.d.ts.map +0 -1
- package/dist/types/Timeline/Timeline.d.ts.map +0 -1
- package/dist/types/Timeline/config.d.ts.map +0 -1
- package/dist/types/Timeline/index.d.ts.map +0 -1
- package/dist/types/Timeline/mockdata/basicTimelineData.d.ts.map +0 -1
- package/dist/types/Timeline/mockdata/categoricalTimelineData.d.ts.map +0 -1
- package/dist/types/Timeline/mockdata/timelineDataSource.d.ts.map +0 -1
- package/dist/types/common/Charting.d.ts.map +0 -1
- package/dist/types/common/ChartingApi.d.ts.map +0 -1
- package/dist/types/common/DocExampleWithVizSandbox.d.ts.map +0 -1
- package/dist/types/common/OverviewDoc.d.ts.map +0 -1
- package/dist/types/common/SplunkVisualization.d.ts.map +0 -1
- package/dist/types/common/SplunkVisualizationApi.d.ts.map +0 -1
- package/dist/types/common/ThemedDefaults.d.ts.map +0 -1
- package/dist/types/common/TimeSeriesChartWrapper.d.ts +0 -7
- package/dist/types/common/TimeSeriesChartWrapper.d.ts.map +0 -1
- package/dist/types/common/chartingUtils.d.ts.map +0 -1
- package/dist/types/common/components/IconPlaceholder.d.ts.map +0 -1
- package/dist/types/common/components/MissingPropsMessage.d.ts.map +0 -1
- package/dist/types/common/components/TrellisTitle.d.ts.map +0 -1
- package/dist/types/common/configContext/singleValueContext.d.ts.map +0 -1
- package/dist/types/common/docUtils.d.ts.map +0 -1
- package/dist/types/common/editorConfig/AxesChartColorAndStyle.d.ts.map +0 -1
- package/dist/types/common/editorConfig/AxesChartDataConfig.d.ts.map +0 -1
- package/dist/types/common/editorConfig/AxesChartDataDisplay.d.ts.map +0 -1
- package/dist/types/common/editorConfig/AxesChartLegend.d.ts.map +0 -1
- package/dist/types/common/editorConfig/AxesChartXGridAndLabels.d.ts.map +0 -1
- package/dist/types/common/editorConfig/AxesChartY2GridAndLabels.d.ts.map +0 -1
- package/dist/types/common/editorConfig/AxesChartYGridAndLabels.d.ts.map +0 -1
- package/dist/types/common/editorConfig/BackgroundColor.d.ts.map +0 -1
- package/dist/types/common/editorConfig/DynamicFillColorEditor.d.ts.map +0 -1
- package/dist/types/common/editorConfig/DynamicGaugeColorEditor.d.ts.map +0 -1
- package/dist/types/common/editorConfig/DynamicStrokeColorEditor.d.ts.map +0 -1
- package/dist/types/common/editorConfig/Gauge.d.ts.map +0 -1
- package/dist/types/common/editorConfig/Legend.d.ts.map +0 -1
- package/dist/types/common/editorConfig/RadialBackgroundColor.d.ts.map +0 -1
- package/dist/types/common/editorConfig/StaticFillColorEditor.d.ts.map +0 -1
- package/dist/types/common/editorConfig/StaticGaugeColorEditor.d.ts.map +0 -1
- package/dist/types/common/editorConfig/StaticStrokeColorEditor.d.ts.map +0 -1
- package/dist/types/common/editorConfig/TrellisEditors.d.ts.map +0 -1
- package/dist/types/common/gaugeUtils.d.ts.map +0 -1
- package/dist/types/common/hocs/FixedSizeContainer.d.ts.map +0 -1
- package/dist/types/common/hocs/mockdata/trellisData.d.ts.map +0 -1
- package/dist/types/common/hocs/withEditModeCover.d.ts.map +0 -1
- package/dist/types/common/hocs/withPlaceholder.d.ts.map +0 -1
- package/dist/types/common/hocs/withTrellis.d.ts.map +0 -1
- package/dist/types/common/hooks/useDeepMemo.d.ts.map +0 -1
- package/dist/types/common/hooks/useDownsampleDataSources.d.ts.map +0 -1
- package/dist/types/common/hooks/useEventCallback.d.ts.map +0 -1
- package/dist/types/common/hooks/useGetXAndYFields.d.ts.map +0 -1
- package/dist/types/common/hooks/usePagination.d.ts.map +0 -1
- package/dist/types/common/hooks/usePrevious.d.ts.map +0 -1
- package/dist/types/common/hooks/useSorting.d.ts.map +0 -1
- package/dist/types/common/hooks/useTrellisEnabled.d.ts.map +0 -1
- package/dist/types/common/interfaces/ChartEvent.d.ts.map +0 -1
- package/dist/types/common/interfaces/DashboardVizProps.d.ts.map +0 -1
- package/dist/types/common/interfaces/DataContract.d.ts.map +0 -1
- package/dist/types/common/interfaces/DataSource.d.ts.map +0 -1
- package/dist/types/common/interfaces/DefaultContext.d.ts.map +0 -1
- package/dist/types/common/interfaces/Editor.d.ts.map +0 -1
- package/dist/types/common/interfaces/ExtendedDashViz.d.ts.map +0 -1
- package/dist/types/common/interfaces/Object.d.ts.map +0 -1
- package/dist/types/common/interfaces/Overview.d.ts.map +0 -1
- package/dist/types/common/interfaces/ThemedDefaults.d.ts.map +0 -1
- package/dist/types/common/interfaces/VizActionHandler.d.ts.map +0 -1
- package/dist/types/common/interfaces/VizBehavior.d.ts.map +0 -1
- package/dist/types/common/interfaces/VizCategory.d.ts.map +0 -1
- package/dist/types/common/interfaces/VizConfig.d.ts.map +0 -1
- package/dist/types/common/interfaces/VizEvent.d.ts.map +0 -1
- package/dist/types/common/interfaces/VizProps.d.ts.map +0 -1
- package/dist/types/common/interfaces/VizRegistry.d.ts.map +0 -1
- package/dist/types/common/interfaces/VizSize.d.ts.map +0 -1
- package/dist/types/common/interfaces/VizStatus.d.ts.map +0 -1
- package/dist/types/common/interfaces/index.d.ts.map +0 -1
- package/dist/types/common/shapeUtils.d.ts.map +0 -1
- package/dist/types/common/utils/configUtils.d.ts.map +0 -1
- package/dist/types/common/utils/dataUtils.d.ts.map +0 -1
- package/dist/types/common/utils/featureFlagUtils.d.ts +0 -3
- package/dist/types/common/utils/featureFlagUtils.d.ts.map +0 -1
- package/dist/types/common/utils/hocUtils.d.ts.map +0 -1
- package/dist/types/common/utils/mapUtils.d.ts.map +0 -1
- package/dist/types/common/utils/styleUtils.d.ts +0 -2
- package/dist/types/common/utils/styleUtils.d.ts.map +0 -1
- package/dist/types/common/utils/tableUtils.d.ts +0 -3
- package/dist/types/common/utils/tableUtils.d.ts.map +0 -1
- package/dist/types/common/utils/trellisUtils.d.ts.map +0 -1
- package/dist/types/common/utils/urlUtils.d.ts.map +0 -1
- package/dist/types/common/withDashboardViz.d.ts.map +0 -1
- /package/{dist/types/Area → Area}/Area.d.ts +0 -0
- /package/{dist/types/Area → Area}/areaUtils.d.ts +0 -0
- /package/{dist/types/Area → Area}/config.d.ts +0 -0
- /package/{dist/types/Area → Area}/index.d.ts +0 -0
- /package/{dist/types/Bar → Bar}/Bar.d.ts +0 -0
- /package/{dist/types/Bar → Bar}/barUtils.d.ts +0 -0
- /package/{dist/types/Bar → Bar}/config.d.ts +0 -0
- /package/{dist/types/Bar → Bar}/index.d.ts +0 -0
- /package/{dist/types/Bubble → Bubble}/Bubble.d.ts +0 -0
- /package/{dist/types/Bubble → Bubble}/bubbleUtils.d.ts +0 -0
- /package/{dist/types/Bubble → Bubble}/config.d.ts +0 -0
- /package/{dist/types/Bubble → Bubble}/index.d.ts +0 -0
- /package/{dist/types/ChoroplethSvg → ChoroplethSvg}/ErrorMessage/ErrorMessage.d.ts +0 -0
- /package/{dist/types/ChoroplethSvg → ChoroplethSvg}/PureChoroplethSvg/PureChoroplethSvg.d.ts +0 -0
- /package/{dist/types/ChoroplethSvg → ChoroplethSvg}/PureChoroplethSvg/SvgChoroplethDynamic.d.ts +0 -0
- /package/{dist/types/ChoroplethSvg → ChoroplethSvg}/PureChoroplethSvg/SvgMutator.d.ts +0 -0
- /package/{dist/types/ChoroplethSvg → ChoroplethSvg}/config.d.ts +0 -0
- /package/{dist/types/ChoroplethSvg → ChoroplethSvg}/index.d.ts +0 -0
- /package/{dist/types/Column → Column}/Column.d.ts +0 -0
- /package/{dist/types/Column → Column}/columnUtils.d.ts +0 -0
- /package/{dist/types/Column → Column}/config.d.ts +0 -0
- /package/{dist/types/Column → Column}/index.d.ts +0 -0
- /package/{dist/types/Ellipse → Ellipse}/Ellipse.d.ts +0 -0
- /package/{dist/types/Ellipse → Ellipse}/config.d.ts +0 -0
- /package/{dist/types/Ellipse → Ellipse}/index.d.ts +0 -0
- /package/{dist/types/Events → Events}/EventUtils.d.ts +0 -0
- /package/{dist/types/Events → Events}/Events.d.ts +0 -0
- /package/{dist/types/Events → Events}/PureEvents/FieldSummaryTooltip.d.ts +0 -0
- /package/{dist/types/Events → Events}/PureEvents/PureEvents.d.ts +0 -0
- /package/{dist/types/Events → Events}/PureEvents/TimeControlsPopover.d.ts +0 -0
- /package/{dist/types/Events → Events}/config.d.ts +0 -0
- /package/{dist/types/Events → Events}/index.d.ts +0 -0
- /package/{dist/types/FillerGauge → FillerGauge}/FillerGauge.d.ts +0 -0
- /package/{dist/types/FillerGauge → FillerGauge}/PureFillerGauge/FillerGauge.d.ts +0 -0
- /package/{dist/types/FillerGauge → FillerGauge}/config.d.ts +0 -0
- /package/{dist/types/FillerGauge → FillerGauge}/index.d.ts +0 -0
- /package/{dist/types/Image → Image}/Image.d.ts +0 -0
- /package/{dist/types/Image → Image}/ImageApi.d.ts +0 -0
- /package/{dist/types/Image → Image}/config.d.ts +0 -0
- /package/{dist/types/Image → Image}/index.d.ts +0 -0
- /package/{dist/types/Line → Line}/Line.d.ts +0 -0
- /package/{dist/types/Line → Line}/config.d.ts +0 -0
- /package/{dist/types/Line → Line}/index.d.ts +0 -0
- /package/{dist/types/Line → Line}/lineUtils.d.ts +0 -0
- /package/{dist/types/LinkGraph → LinkGraph}/ESTestDataSources.d.ts +0 -0
- /package/{dist/types/LinkGraph → LinkGraph}/ESTestTemplate.d.ts +0 -0
- /package/{dist/types/LinkGraph → LinkGraph}/LinkGraph.d.ts +0 -0
- /package/{dist/types/LinkGraph → LinkGraph}/PureLinkGraph/PureLinkGraphUtils.d.ts +0 -0
- /package/{dist/types/LinkGraph → LinkGraph}/PureLinkGraph/components/Edges.d.ts +0 -0
- /package/{dist/types/LinkGraph → LinkGraph}/PureLinkGraph/components/Field.d.ts +0 -0
- /package/{dist/types/LinkGraph → LinkGraph}/PureLinkGraph/components/FieldStyles.d.ts +0 -0
- /package/{dist/types/LinkGraph → LinkGraph}/PureLinkGraph/components/GraphStyles.d.ts +0 -0
- /package/{dist/types/LinkGraph → LinkGraph}/PureLinkGraph/utils/iconLoader.d.ts +0 -0
- /package/{dist/types/LinkGraph → LinkGraph}/config.d.ts +0 -0
- /package/{dist/types/LinkGraph → LinkGraph}/index.d.ts +0 -0
- /package/{dist/types/Map → Map}/PureMap/ChoroplethLayer.d.ts +0 -0
- /package/{dist/types/Map → Map}/PureMap/ClusterLayer.d.ts +0 -0
- /package/{dist/types/Map → Map}/PureMap/LocalChoroplethLayer.d.ts +0 -0
- /package/{dist/types/Map → Map}/PureMap/MarkerLayer.d.ts +0 -0
- /package/{dist/types/Map → Map}/PureMap/MarkerWrapper.d.ts +0 -0
- /package/{dist/types/Map → Map}/PureMap/PureMap.d.ts +0 -0
- /package/{dist/types/Map → Map}/PureMap/PureMapContainer.d.ts +0 -0
- /package/{dist/types/Map → Map}/PureMap/Tooltip.d.ts +0 -0
- /package/{dist/types/Map → Map}/config.d.ts +0 -0
- /package/{dist/types/Map → Map}/index.d.ts +0 -0
- /package/{dist/types/Markdown → Markdown}/Markdown.d.ts +0 -0
- /package/{dist/types/Markdown → Markdown}/config.d.ts +0 -0
- /package/{dist/types/Markdown → Markdown}/index.d.ts +0 -0
- /package/{dist/types/MarkerGauge → MarkerGauge}/config.d.ts +0 -0
- /package/{dist/types/MarkerGauge → MarkerGauge}/index.d.ts +0 -0
- /package/{dist/types/ParallelCoordinates → NetworkGraph}/config.d.ts +0 -0
- /package/{dist/types/ParallelCoordinates → ParallelCoordinates}/ParallelCoordinates.d.ts +0 -0
- /package/{dist/types/ParallelCoordinates → ParallelCoordinates}/PureParallelCoordinates/PureParallelCoordinates.d.ts +0 -0
- /package/{dist/types/ParallelCoordinates → ParallelCoordinates}/PureParallelCoordinates/src/ParallelCoordinatesCanvas.d.ts +0 -0
- /package/{dist/types/ParallelCoordinates → ParallelCoordinates}/PureParallelCoordinates/src/ParallelCoordinatesChart.d.ts +0 -0
- /package/{dist/types/ParallelCoordinates → ParallelCoordinates}/PureParallelCoordinates/src/ParallelCoordinatesPrompt.d.ts +0 -0
- /package/{dist/types/Pie → ParallelCoordinates}/config.d.ts +0 -0
- /package/{dist/types/ParallelCoordinates → ParallelCoordinates}/index.d.ts +0 -0
- /package/{dist/types/ParallelCoordinates → ParallelCoordinates}/mockdata/arrayValueData.d.ts +0 -0
- /package/{dist/types/ParallelCoordinates → ParallelCoordinates}/mockdata/sampleCarData.d.ts +0 -0
- /package/{dist/types/ParallelCoordinates → ParallelCoordinates}/mockdata/sampleCarNumericalData.d.ts +0 -0
- /package/{dist/types/ParallelCoordinates → ParallelCoordinates}/mockdata/sampleFoodData.d.ts +0 -0
- /package/{dist/types/ParallelCoordinates → ParallelCoordinates}/mockdata/sampleStringNumericalData.d.ts +0 -0
- /package/{dist/types/Pie → Pie}/Pie.d.ts +0 -0
- /package/{dist/types/Punchcard → Pie}/config.d.ts +0 -0
- /package/{dist/types/Pie → Pie}/index.d.ts +0 -0
- /package/{dist/types/Pie → Pie}/pieUtils.d.ts +0 -0
- /package/{dist/types/Punchcard → Punchcard}/Punchcard.d.ts +0 -0
- /package/{dist/types/Punchcard → Punchcard}/PurePunchcard/Punchcard.d.ts +0 -0
- /package/{dist/types/Punchcard → Punchcard}/PurePunchcard/src/PunchcardAxis.d.ts +0 -0
- /package/{dist/types/Punchcard → Punchcard}/PurePunchcard/src/PunchcardBubble.d.ts +0 -0
- /package/{dist/types/Punchcard → Punchcard}/PurePunchcard/src/PunchcardChartArea.d.ts +0 -0
- /package/{dist/types/Punchcard → Punchcard}/PurePunchcard/src/PunchcardGridLines.d.ts +0 -0
- /package/{dist/types/Punchcard → Punchcard}/PurePunchcard/src/PunchcardLegend.d.ts +0 -0
- /package/{dist/types/Punchcard → Punchcard}/PurePunchcard/src/PunchcardRow.d.ts +0 -0
- /package/{dist/types/Punchcard → Punchcard}/PurePunchcard/src/utils/punchcardUtils.d.ts +0 -0
- /package/{dist/types/Rectangle → Punchcard}/config.d.ts +0 -0
- /package/{dist/types/Punchcard → Punchcard}/index.d.ts +0 -0
- /package/{dist/types/Punchcard → Punchcard}/punchcardUtils.d.ts +0 -0
- /package/{dist/types/Rectangle → Rectangle}/Rectangle.d.ts +0 -0
- /package/{dist/types/Sankey → Rectangle}/config.d.ts +0 -0
- /package/{dist/types/Rectangle → Rectangle}/index.d.ts +0 -0
- /package/{dist/types/Sankey → Sankey}/PureSankey/PureSankey.d.ts +0 -0
- /package/{dist/types/Sankey → Sankey}/PureSankey/SankeyLink.d.ts +0 -0
- /package/{dist/types/Sankey → Sankey}/PureSankey/SankeyModels.d.ts +0 -0
- /package/{dist/types/Sankey → Sankey}/PureSankey/SankeyNode.d.ts +0 -0
- /package/{dist/types/Sankey → Sankey}/PureSankey/SankeyTooltip.d.ts +0 -0
- /package/{dist/types/Sankey → Sankey}/PureSankey/SankeyUtils.d.ts +0 -0
- /package/{dist/types/Sankey → Sankey}/PureSankey/mockdata/data.d.ts +0 -0
- /package/{dist/types/Sankey → Sankey}/Sankey.d.ts +0 -0
- /package/{dist/types/Scatter → Sankey}/config.d.ts +0 -0
- /package/{dist/types/Sankey → Sankey}/index.d.ts +0 -0
- /package/{dist/types/Scatter → Scatter}/Scatter.d.ts +0 -0
- /package/{dist/types/SingleValue → Scatter}/config.d.ts +0 -0
- /package/{dist/types/Scatter → Scatter}/index.d.ts +0 -0
- /package/{dist/types/Scatter → Scatter}/mockdata/data.d.ts +0 -0
- /package/{dist/types/Scatter → Scatter}/scatterUtils.d.ts +0 -0
- /package/{dist/types/SingleValue → SingleValue}/SingleValue.d.ts +0 -0
- /package/{dist/types/SingleValueIcon → SingleValue}/config.d.ts +0 -0
- /package/{dist/types/SingleValue → SingleValue}/index.d.ts +0 -0
- /package/{dist/types/SingleValueBasic → SingleValueBasic}/index.d.ts +0 -0
- /package/{dist/types/SingleValueIcon → SingleValueIcon}/SingleValueIcon.d.ts +0 -0
- /package/{dist/types/SingleValueRadial → SingleValueIcon}/config.d.ts +0 -0
- /package/{dist/types/SingleValueIcon → SingleValueIcon}/index.d.ts +0 -0
- /package/{dist/types/SingleValueRadial → SingleValueRadial}/PureSingleValueRadial/GaugeGraph.d.ts +0 -0
- /package/{dist/types/SingleValueRadial → SingleValueRadial}/SingleValueRadial.d.ts +0 -0
- /package/{dist/types/Table → SingleValueRadial}/config.d.ts +0 -0
- /package/{dist/types/SingleValueRadial → SingleValueRadial}/index.d.ts +0 -0
- /package/{dist/types/SparkLine → SparkLine}/index.d.ts +0 -0
- /package/{dist/types/Table → Table}/cells/ArrayCell.d.ts +0 -0
- /package/{dist/types/Table → Table}/cells/SparklineCell.d.ts +0 -0
- /package/{dist/types/Table → Table}/cells/SwitchTableCell.d.ts +0 -0
- /package/{dist/types/Table → Table}/cells/TextCell.d.ts +0 -0
- /package/{dist/types/Table → Table}/cells/index.d.ts +0 -0
- /package/{dist/types/Timeline → Table}/config.d.ts +0 -0
- /package/{dist/types/Table → Table}/index.d.ts +0 -0
- /package/{dist/types/Timeline → Timeline}/PureTimeline/PureTimeline.d.ts +0 -0
- /package/{dist/types/Timeline → Timeline}/PureTimeline/src/CursorPlugin.d.ts +0 -0
- /package/{dist/types/Timeline → Timeline}/PureTimeline/src/TimelineLegend.d.ts +0 -0
- /package/{dist/types/Timeline → Timeline}/PureTimeline/src/TimelineTooltip.d.ts +0 -0
- /package/{dist/types/Timeline → Timeline}/PureTimeline/src/TimelineUplot.d.ts +0 -0
- /package/{dist/types/Timeline → Timeline}/PureTimeline/src/TimelineYAxis.d.ts +0 -0
- /package/{dist/types/Timeline → Timeline}/Timeline.d.ts +0 -0
- /package/{dist/types/Timeline → Timeline}/index.d.ts +0 -0
- /package/{dist/types/Timeline → Timeline}/mockdata/basicTimelineData.d.ts +0 -0
- /package/{dist/types/Timeline → Timeline}/mockdata/categoricalTimelineData.d.ts +0 -0
- /package/{dist/types/Timeline → Timeline}/mockdata/timelineDataSource.d.ts +0 -0
- /package/{dist/types/common → common}/ChartingApi.d.ts +0 -0
- /package/{dist/types/common → common}/DocExampleWithVizSandbox.d.ts +0 -0
- /package/{dist/types/common → common}/OverviewDoc.d.ts +0 -0
- /package/{dist/types/common → common}/SplunkVisualization.d.ts +0 -0
- /package/{dist/types/common → common}/SplunkVisualizationApi.d.ts +0 -0
- /package/{dist/types/common → common}/ThemedDefaults.d.ts +0 -0
- /package/{dist/types/common → common}/components/IconPlaceholder.d.ts +0 -0
- /package/{dist/types/common → common}/components/MissingPropsMessage.d.ts +0 -0
- /package/{dist/types/common → common}/components/TrellisTitle.d.ts +0 -0
- /package/{dist/types/common → common}/configContext/singleValueContext.d.ts +0 -0
- /package/{dist/types/common → common}/docUtils.d.ts +0 -0
- /package/{dist/types/common → common}/editorConfig/AxesChartColorAndStyle.d.ts +0 -0
- /package/{dist/types/common → common}/editorConfig/AxesChartDataConfig.d.ts +0 -0
- /package/{dist/types/common → common}/editorConfig/AxesChartDataDisplay.d.ts +0 -0
- /package/{dist/types/common → common}/editorConfig/AxesChartLegend.d.ts +0 -0
- /package/{dist/types/common → common}/editorConfig/AxesChartXGridAndLabels.d.ts +0 -0
- /package/{dist/types/common → common}/editorConfig/AxesChartY2GridAndLabels.d.ts +0 -0
- /package/{dist/types/common → common}/editorConfig/AxesChartYGridAndLabels.d.ts +0 -0
- /package/{dist/types/common → common}/editorConfig/BackgroundColor.d.ts +0 -0
- /package/{dist/types/common → common}/editorConfig/DynamicFillColorEditor.d.ts +0 -0
- /package/{dist/types/common → common}/editorConfig/DynamicGaugeColorEditor.d.ts +0 -0
- /package/{dist/types/common → common}/editorConfig/DynamicStrokeColorEditor.d.ts +0 -0
- /package/{dist/types/common → common}/editorConfig/Gauge.d.ts +0 -0
- /package/{dist/types/common → common}/editorConfig/Legend.d.ts +0 -0
- /package/{dist/types/common → common}/editorConfig/RadialBackgroundColor.d.ts +0 -0
- /package/{dist/types/common → common}/editorConfig/StaticFillColorEditor.d.ts +0 -0
- /package/{dist/types/common → common}/editorConfig/StaticGaugeColorEditor.d.ts +0 -0
- /package/{dist/types/common → common}/editorConfig/StaticStrokeColorEditor.d.ts +0 -0
- /package/{dist/types/common → common}/editorConfig/TrellisEditors.d.ts +0 -0
- /package/{dist/types/common → common}/gaugeUtils.d.ts +0 -0
- /package/{dist/types/common → common}/hocs/FixedSizeContainer.d.ts +0 -0
- /package/{dist/types/common → common}/hocs/mockdata/trellisData.d.ts +0 -0
- /package/{dist/types/common → common}/hocs/withEditModeCover.d.ts +0 -0
- /package/{dist/types/common → common}/hocs/withPlaceholder.d.ts +0 -0
- /package/{dist/types/common → common}/hocs/withTrellis.d.ts +0 -0
- /package/{dist/types/common → common}/hooks/useDeepMemo.d.ts +0 -0
- /package/{dist/types/common → common}/hooks/useDownsampleDataSources.d.ts +0 -0
- /package/{dist/types/common → common}/hooks/useEventCallback.d.ts +0 -0
- /package/{dist/types/common → common}/hooks/useGetXAndYFields.d.ts +0 -0
- /package/{dist/types/common → common}/hooks/usePagination.d.ts +0 -0
- /package/{dist/types/common → common}/hooks/usePrevious.d.ts +0 -0
- /package/{dist/types/common → common}/hooks/useSorting.d.ts +0 -0
- /package/{dist/types/common → common}/hooks/useTrellisEnabled.d.ts +0 -0
- /package/{dist/types/common → common}/interfaces/ChartEvent.d.ts +0 -0
- /package/{dist/types/common → common}/interfaces/DataContract.d.ts +0 -0
- /package/{dist/types/common → common}/interfaces/DefaultContext.d.ts +0 -0
- /package/{dist/types/common → common}/interfaces/Editor.d.ts +0 -0
- /package/{dist/types/common → common}/interfaces/ExtendedDashViz.d.ts +0 -0
- /package/{dist/types/common → common}/interfaces/Object.d.ts +0 -0
- /package/{dist/types/common → common}/interfaces/Overview.d.ts +0 -0
- /package/{dist/types/common → common}/interfaces/ThemedDefaults.d.ts +0 -0
- /package/{dist/types/common → common}/interfaces/VizActionHandler.d.ts +0 -0
- /package/{dist/types/common → common}/interfaces/VizBehavior.d.ts +0 -0
- /package/{dist/types/common → common}/interfaces/VizCategory.d.ts +0 -0
- /package/{dist/types/common → common}/interfaces/VizConfig.d.ts +0 -0
- /package/{dist/types/common → common}/interfaces/VizEvent.d.ts +0 -0
- /package/{dist/types/common → common}/interfaces/VizProps.d.ts +0 -0
- /package/{dist/types/common → common}/interfaces/VizRegistry.d.ts +0 -0
- /package/{dist/types/common → common}/interfaces/VizSize.d.ts +0 -0
- /package/{dist/types/common → common}/interfaces/VizStatus.d.ts +0 -0
- /package/{dist/types/common → common}/interfaces/index.d.ts +0 -0
- /package/{dist/types/common → common}/shapeUtils.d.ts +0 -0
- /package/{dist/types/common → common}/utils/configUtils.d.ts +0 -0
- /package/{dist/types/common → common}/utils/dataUtils.d.ts +0 -0
- /package/{dist/types/common → common}/utils/hocUtils.d.ts +0 -0
- /package/{dist/types/common → common}/utils/mapUtils.d.ts +0 -0
- /package/{dist/types/common → common}/utils/trellisUtils.d.ts +0 -0
- /package/{dist/types/common → common}/utils/urlUtils.d.ts +0 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare const buildTotalsByFieldFromFieldsMeta: (fieldsMeta: Array<Record<string, unknown>> | undefined | null) => Record<string, number>;
|
|
2
|
+
export declare const buildFooterDataFrames: (fieldsMeta: Array<Record<string, unknown>> | undefined | null) => {
|
|
3
|
+
footer: {
|
|
4
|
+
fields: {
|
|
5
|
+
name: string;
|
|
6
|
+
}[];
|
|
7
|
+
columns: (string | number)[][];
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=tableUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tableUtils.d.ts","sourceRoot":"","sources":["../../src/common/utils/tableUtils.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gCAAgC,GACzC,YAAY,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,KAC9D,MAAM,CAAC,MAAM,EAAE,MAAM,CAiBvB,CAAC;AAGF,eAAO,MAAM,qBAAqB,GAAI,YAAY,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI;;;;;;;CA4BlG,CAAC"}
|
|
@@ -23,7 +23,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
23
23
|
// src/common/utils/tableUtils.ts
|
|
24
24
|
var tableUtils_exports = {};
|
|
25
25
|
__export(tableUtils_exports, {
|
|
26
|
-
|
|
26
|
+
buildFooterDataFrames: () => buildFooterDataFrames,
|
|
27
27
|
buildTotalsByFieldFromFieldsMeta: () => buildTotalsByFieldFromFieldsMeta
|
|
28
28
|
});
|
|
29
29
|
module.exports = __toCommonJS(tableUtils_exports);
|
|
@@ -46,15 +46,27 @@ var buildTotalsByFieldFromFieldsMeta = (fieldsMeta) => {
|
|
|
46
46
|
});
|
|
47
47
|
return totalsByField;
|
|
48
48
|
};
|
|
49
|
-
var
|
|
49
|
+
var buildFooterDataFrames = (fieldsMeta) => {
|
|
50
|
+
const totalsByField = buildTotalsByFieldFromFieldsMeta(fieldsMeta);
|
|
50
51
|
const entries = Object.entries(totalsByField).filter(([, v]) => Number.isFinite(v));
|
|
51
52
|
const grandTotal = entries.reduce((acc, [, v]) => acc + Number(v), 0);
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
53
|
+
const percentagesByField = {};
|
|
54
|
+
if (grandTotal > 0) {
|
|
55
|
+
entries.forEach(([k, v]) => {
|
|
56
|
+
const pct = (Number(v) / grandTotal * 100).toFixed(2);
|
|
57
|
+
percentagesByField[k] = `${pct}%`;
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
const fields = Array.isArray(fieldsMeta) ? fieldsMeta : [];
|
|
61
|
+
const fieldNames = fields.map((f) => f.name).filter(Boolean);
|
|
62
|
+
const combinedFooterFields = fieldNames.map((name) => ({ name }));
|
|
63
|
+
const combinedFooterColumns = fieldNames.map((name) => {
|
|
64
|
+
const total = totalsByField[name];
|
|
65
|
+
const pct = percentagesByField[name];
|
|
66
|
+
return [typeof total === "number" ? total : "", pct || ""];
|
|
57
67
|
});
|
|
58
|
-
return
|
|
68
|
+
return {
|
|
69
|
+
footer: { fields: combinedFooterFields, columns: combinedFooterColumns }
|
|
70
|
+
};
|
|
59
71
|
};
|
|
60
72
|
//# sourceMappingURL=tableUtils.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/common/utils/tableUtils.ts"],
|
|
4
|
-
"sourcesContent": ["// extractUnitFromFormattedString removed; footer formatting will use columnFormat options\n\n// Build a map of totals keyed by field name from fields metadata\nexport const buildTotalsByFieldFromFieldsMeta = (\n fieldsMeta: Array<Record<string, unknown>> | undefined | null\n): Record<string, number> => {\n const totalsByField: Record<string, number> = {};\n const fields = Array.isArray(fieldsMeta) ? fieldsMeta : [];\n fields.forEach(f => {\n if (f && typeof f === 'object' && Object.prototype.hasOwnProperty.call(f, 'summary.sum')) {\n const name = (f as { name?: string }).name ?? '';\n if (name) {\n const raw = f['summary.sum'];\n const isEmptyString = typeof raw === 'string' && raw.trim() === '';\n if (raw !== null && raw !== undefined && !isEmptyString) {\n const n = Number(raw);\n if (Number.isFinite(n)) totalsByField[name] = n;\n }\n }\n }\n });\n return totalsByField;\n};\n\n// Build
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,IAAM,mCAAmC,CAC5C,eACyB;AACzB,QAAM,gBAAwC,CAAC;AAC/C,QAAM,SAAS,MAAM,QAAQ,UAAU,IAAI,aAAa,CAAC;AACzD,SAAO,QAAQ,OAAK;AARxB;AASQ,QAAI,KAAK,OAAO,MAAM,YAAY,OAAO,UAAU,eAAe,KAAK,GAAG,aAAa,GAAG;AACtF,YAAM,QAAQ,OAAwB,SAAxB,YAAgC;AAC9C,UAAI,MAAM;AACN,cAAM,MAAM,EAAE,aAAa;AAC3B,cAAM,gBAAgB,OAAO,QAAQ,YAAY,IAAI,KAAK,MAAM;AAChE,YAAI,QAAQ,QAAQ,QAAQ,UAAa,CAAC,eAAe;AACrD,gBAAM,IAAI,OAAO,GAAG;AACpB,cAAI,OAAO,SAAS,CAAC,EAAG,eAAc,IAAI,IAAI;AAAA,QAClD;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ,CAAC;AACD,SAAO;AACX;AAGO,IAAM,
|
|
4
|
+
"sourcesContent": ["// extractUnitFromFormattedString removed; footer formatting will use columnFormat options\n\n// Build a map of totals keyed by field name from fields metadata\nexport const buildTotalsByFieldFromFieldsMeta = (\n fieldsMeta: Array<Record<string, unknown>> | undefined | null\n): Record<string, number> => {\n const totalsByField: Record<string, number> = {};\n const fields = Array.isArray(fieldsMeta) ? fieldsMeta : [];\n fields.forEach(f => {\n if (f && typeof f === 'object' && Object.prototype.hasOwnProperty.call(f, 'summary.sum')) {\n const name = (f as { name?: string }).name ?? '';\n if (name) {\n const raw = f['summary.sum'];\n const isEmptyString = typeof raw === 'string' && raw.trim() === '';\n if (raw !== null && raw !== undefined && !isEmptyString) {\n const n = Number(raw);\n if (Number.isFinite(n)) totalsByField[name] = n;\n }\n }\n }\n });\n return totalsByField;\n};\n\n// Build footer DataFrames from field metadata for DSL usage\nexport const buildFooterDataFrames = (fieldsMeta: Array<Record<string, unknown>> | undefined | null) => {\n const totalsByField = buildTotalsByFieldFromFieldsMeta(fieldsMeta);\n // Build a percentage map from totals to support default footer percentages\n const entries = Object.entries(totalsByField).filter(([, v]) => Number.isFinite(v));\n const grandTotal = entries.reduce((acc, [, v]) => acc + Number(v), 0);\n const percentagesByField: Record<string, string> = {};\n if (grandTotal > 0) {\n entries.forEach(([k, v]) => {\n const pct = ((Number(v) / grandTotal) * 100).toFixed(2);\n percentagesByField[k] = `${pct}%`;\n });\n }\n\n // Get all field names from metadata\n const fields = Array.isArray(fieldsMeta) ? fieldsMeta : [];\n const fieldNames = fields.map(f => (f as { name?: string }).name).filter(Boolean);\n\n // Build combined footer frame with per-column series each having [total, percentage]\n const combinedFooterFields = fieldNames.map(name => ({ name }));\n const combinedFooterColumns = fieldNames.map(name => {\n const total = totalsByField[name];\n const pct = percentagesByField[name];\n return [typeof total === 'number' ? total : '', pct || ''];\n });\n\n return {\n footer: { fields: combinedFooterFields, columns: combinedFooterColumns },\n };\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,IAAM,mCAAmC,CAC5C,eACyB;AACzB,QAAM,gBAAwC,CAAC;AAC/C,QAAM,SAAS,MAAM,QAAQ,UAAU,IAAI,aAAa,CAAC;AACzD,SAAO,QAAQ,OAAK;AARxB;AASQ,QAAI,KAAK,OAAO,MAAM,YAAY,OAAO,UAAU,eAAe,KAAK,GAAG,aAAa,GAAG;AACtF,YAAM,QAAQ,OAAwB,SAAxB,YAAgC;AAC9C,UAAI,MAAM;AACN,cAAM,MAAM,EAAE,aAAa;AAC3B,cAAM,gBAAgB,OAAO,QAAQ,YAAY,IAAI,KAAK,MAAM;AAChE,YAAI,QAAQ,QAAQ,QAAQ,UAAa,CAAC,eAAe;AACrD,gBAAM,IAAI,OAAO,GAAG;AACpB,cAAI,OAAO,SAAS,CAAC,EAAG,eAAc,IAAI,IAAI;AAAA,QAClD;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ,CAAC;AACD,SAAO;AACX;AAGO,IAAM,wBAAwB,CAAC,eAAkE;AACpG,QAAM,gBAAgB,iCAAiC,UAAU;AAEjE,QAAM,UAAU,OAAO,QAAQ,aAAa,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAClF,QAAM,aAAa,QAAQ,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,MAAM,OAAO,CAAC,GAAG,CAAC;AACpE,QAAM,qBAA6C,CAAC;AACpD,MAAI,aAAa,GAAG;AAChB,YAAQ,QAAQ,CAAC,CAAC,GAAG,CAAC,MAAM;AACxB,YAAM,OAAQ,OAAO,CAAC,IAAI,aAAc,KAAK,QAAQ,CAAC;AACtD,yBAAmB,CAAC,IAAI,GAAG,GAAG;AAAA,IAClC,CAAC;AAAA,EACL;AAGA,QAAM,SAAS,MAAM,QAAQ,UAAU,IAAI,aAAa,CAAC;AACzD,QAAM,aAAa,OAAO,IAAI,OAAM,EAAwB,IAAI,EAAE,OAAO,OAAO;AAGhF,QAAM,uBAAuB,WAAW,IAAI,WAAS,EAAE,KAAK,EAAE;AAC9D,QAAM,wBAAwB,WAAW,IAAI,UAAQ;AACjD,UAAM,QAAQ,cAAc,IAAI;AAChC,UAAM,MAAM,mBAAmB,IAAI;AACnC,WAAO,CAAC,OAAO,UAAU,WAAW,QAAQ,IAAI,OAAO,EAAE;AAAA,EAC7D,CAAC;AAED,SAAO;AAAA,IACH,QAAQ,EAAE,QAAQ,sBAAsB,SAAS,sBAAsB;AAAA,EAC3E;AACJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const VIZ_FONT_FAMILY = "'Splunk Platform Sans', 'Splunk Data Sans', Roboto, Droid, 'Helvetica Neue', Helvetica, Arial, sans-serif";
|
|
2
|
+
/**
|
|
3
|
+
* Return text width
|
|
4
|
+
* @method computeTextWidth
|
|
5
|
+
* @param {String} text
|
|
6
|
+
* @param {String} font
|
|
7
|
+
* @returns {Number} width of text with font
|
|
8
|
+
*/
|
|
9
|
+
export declare const computeTextWidth: (text: string, font: string) => number;
|
|
10
|
+
/**
|
|
11
|
+
* Return truncated text
|
|
12
|
+
* @method truncateText
|
|
13
|
+
* @param {String} text
|
|
14
|
+
* @param {Number} maxWidth
|
|
15
|
+
* @param {String} truncationType
|
|
16
|
+
* @param {String} font
|
|
17
|
+
* @returns {String} truncated text
|
|
18
|
+
*/
|
|
19
|
+
export declare const truncateText: (text: string, maxWidth: number, truncationType: "ellipsisEnd" | "ellipsisMiddle" | "ellipsisStart", font?: string) => string;
|
|
20
|
+
//# sourceMappingURL=textUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textUtils.d.ts","sourceRoot":"","sources":["../../src/common/utils/textUtils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,8GACmF,CAAC;AAEhH;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,EAAE,MAAM,MAAM,KAAG,MAM7D,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GACrB,MAAM,MAAM,EACZ,UAAU,MAAM,EAChB,gBAAgB,aAAa,GAAG,gBAAgB,GAAG,eAAe,EAClE,aAAgC,KACjC,MA4CF,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/* Copyright © 2020 Splunk Inc.
|
|
2
|
+
SPLUNK CONFIDENTIAL – Use or disclosure of this material in whole or
|
|
3
|
+
in part without a valid written license from Splunk Inc. is PROHIBITED. */
|
|
4
|
+
"use strict";
|
|
5
|
+
var __defProp = Object.defineProperty;
|
|
6
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all)
|
|
11
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from))
|
|
16
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
+
}
|
|
19
|
+
return to;
|
|
20
|
+
};
|
|
21
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
22
|
+
|
|
23
|
+
// src/common/utils/textUtils.ts
|
|
24
|
+
var textUtils_exports = {};
|
|
25
|
+
__export(textUtils_exports, {
|
|
26
|
+
VIZ_FONT_FAMILY: () => VIZ_FONT_FAMILY,
|
|
27
|
+
computeTextWidth: () => computeTextWidth,
|
|
28
|
+
truncateText: () => truncateText
|
|
29
|
+
});
|
|
30
|
+
module.exports = __toCommonJS(textUtils_exports);
|
|
31
|
+
var VIZ_FONT_FAMILY = "'Splunk Platform Sans', 'Splunk Data Sans', Roboto, Droid, 'Helvetica Neue', Helvetica, Arial, sans-serif";
|
|
32
|
+
var computeTextWidth = (text, font) => {
|
|
33
|
+
const canvas = document.createElement("canvas");
|
|
34
|
+
const context = canvas.getContext("2d");
|
|
35
|
+
context.font = font;
|
|
36
|
+
const measure = context.measureText(text);
|
|
37
|
+
return measure.width;
|
|
38
|
+
};
|
|
39
|
+
var truncateText = (text, maxWidth, truncationType, font = `10px ${VIZ_FONT_FAMILY}`) => {
|
|
40
|
+
const canvas = document.createElement("canvas");
|
|
41
|
+
const context = canvas.getContext("2d");
|
|
42
|
+
if (!context) return text;
|
|
43
|
+
context.font = font;
|
|
44
|
+
const ellipsis = "...";
|
|
45
|
+
const ellipsisWidth = context.measureText(ellipsis).width;
|
|
46
|
+
const fullTextWidth = context.measureText(text).width;
|
|
47
|
+
if (fullTextWidth <= maxWidth) {
|
|
48
|
+
return text;
|
|
49
|
+
}
|
|
50
|
+
if (truncationType === "ellipsisEnd") {
|
|
51
|
+
for (let i = text.length - 1; i > 0; i -= 1) {
|
|
52
|
+
const truncatedText = text.slice(0, i) + ellipsis;
|
|
53
|
+
if (context.measureText(truncatedText).width <= maxWidth) {
|
|
54
|
+
return truncatedText;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
} else if (truncationType === "ellipsisStart") {
|
|
58
|
+
for (let i = 0; i < text.length; i += 1) {
|
|
59
|
+
const truncatedText = ellipsis + text.slice(i);
|
|
60
|
+
if (context.measureText(truncatedText).width <= maxWidth) {
|
|
61
|
+
return truncatedText;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
} else if (truncationType === "ellipsisMiddle") {
|
|
65
|
+
for (let i = 0; i < text.length / 2; i += 1) {
|
|
66
|
+
const left = text.slice(0, Math.floor(text.length / 2) - i);
|
|
67
|
+
const right = text.slice(Math.ceil(text.length / 2) + i);
|
|
68
|
+
const truncatedText = left + ellipsis + right;
|
|
69
|
+
if (context.measureText(left).width + ellipsisWidth + context.measureText(right).width <= maxWidth) {
|
|
70
|
+
return truncatedText;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return ellipsis;
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=textUtils.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/common/utils/textUtils.ts"],
|
|
4
|
+
"sourcesContent": ["export const VIZ_FONT_FAMILY =\n \"'Splunk Platform Sans', 'Splunk Data Sans', Roboto, Droid, 'Helvetica Neue', Helvetica, Arial, sans-serif\";\n\n/**\n * Return text width\n * @method computeTextWidth\n * @param {String} text\n * @param {String} font\n * @returns {Number} width of text with font\n */\nexport const computeTextWidth = (text: string, font: string): number => {\n const canvas = document.createElement('canvas');\n const context = canvas.getContext('2d');\n context.font = font;\n const measure = context.measureText(text);\n return measure.width;\n};\n\n/**\n * Return truncated text\n * @method truncateText\n * @param {String} text\n * @param {Number} maxWidth\n * @param {String} truncationType\n * @param {String} font\n * @returns {String} truncated text\n */\nexport const truncateText = (\n text: string,\n maxWidth: number,\n truncationType: 'ellipsisEnd' | 'ellipsisMiddle' | 'ellipsisStart',\n font = `10px ${VIZ_FONT_FAMILY}`\n): string => {\n const canvas = document.createElement('canvas');\n const context = canvas.getContext('2d');\n if (!context) return text;\n\n context.font = font;\n\n const ellipsis = '...';\n const ellipsisWidth = context.measureText(ellipsis).width;\n const fullTextWidth = context.measureText(text).width;\n\n if (fullTextWidth <= maxWidth) {\n return text;\n }\n\n if (truncationType === 'ellipsisEnd') {\n for (let i = text.length - 1; i > 0; i -= 1) {\n const truncatedText = text.slice(0, i) + ellipsis;\n if (context.measureText(truncatedText).width <= maxWidth) {\n return truncatedText;\n }\n }\n } else if (truncationType === 'ellipsisStart') {\n for (let i = 0; i < text.length; i += 1) {\n const truncatedText = ellipsis + text.slice(i);\n if (context.measureText(truncatedText).width <= maxWidth) {\n return truncatedText;\n }\n }\n } else if (truncationType === 'ellipsisMiddle') {\n for (let i = 0; i < text.length / 2; i += 1) {\n const left = text.slice(0, Math.floor(text.length / 2) - i);\n const right = text.slice(Math.ceil(text.length / 2) + i);\n const truncatedText = left + ellipsis + right;\n if (\n context.measureText(left).width + ellipsisWidth + context.measureText(right).width <=\n maxWidth\n ) {\n return truncatedText;\n }\n }\n }\n\n return ellipsis;\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAM,kBACT;AASG,IAAM,mBAAmB,CAAC,MAAc,SAAyB;AACpE,QAAM,SAAS,SAAS,cAAc,QAAQ;AAC9C,QAAM,UAAU,OAAO,WAAW,IAAI;AACtC,UAAQ,OAAO;AACf,QAAM,UAAU,QAAQ,YAAY,IAAI;AACxC,SAAO,QAAQ;AACnB;AAWO,IAAM,eAAe,CACxB,MACA,UACA,gBACA,OAAO,QAAQ,eAAe,OACrB;AACT,QAAM,SAAS,SAAS,cAAc,QAAQ;AAC9C,QAAM,UAAU,OAAO,WAAW,IAAI;AACtC,MAAI,CAAC,QAAS,QAAO;AAErB,UAAQ,OAAO;AAEf,QAAM,WAAW;AACjB,QAAM,gBAAgB,QAAQ,YAAY,QAAQ,EAAE;AACpD,QAAM,gBAAgB,QAAQ,YAAY,IAAI,EAAE;AAEhD,MAAI,iBAAiB,UAAU;AAC3B,WAAO;AAAA,EACX;AAEA,MAAI,mBAAmB,eAAe;AAClC,aAAS,IAAI,KAAK,SAAS,GAAG,IAAI,GAAG,KAAK,GAAG;AACzC,YAAM,gBAAgB,KAAK,MAAM,GAAG,CAAC,IAAI;AACzC,UAAI,QAAQ,YAAY,aAAa,EAAE,SAAS,UAAU;AACtD,eAAO;AAAA,MACX;AAAA,IACJ;AAAA,EACJ,WAAW,mBAAmB,iBAAiB;AAC3C,aAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK,GAAG;AACrC,YAAM,gBAAgB,WAAW,KAAK,MAAM,CAAC;AAC7C,UAAI,QAAQ,YAAY,aAAa,EAAE,SAAS,UAAU;AACtD,eAAO;AAAA,MACX;AAAA,IACJ;AAAA,EACJ,WAAW,mBAAmB,kBAAkB;AAC5C,aAAS,IAAI,GAAG,IAAI,KAAK,SAAS,GAAG,KAAK,GAAG;AACzC,YAAM,OAAO,KAAK,MAAM,GAAG,KAAK,MAAM,KAAK,SAAS,CAAC,IAAI,CAAC;AAC1D,YAAM,QAAQ,KAAK,MAAM,KAAK,KAAK,KAAK,SAAS,CAAC,IAAI,CAAC;AACvD,YAAM,gBAAgB,OAAO,WAAW;AACxC,UACI,QAAQ,YAAY,IAAI,EAAE,QAAQ,gBAAgB,QAAQ,YAAY,KAAK,EAAE,SAC7E,UACF;AACE,eAAO;AAAA,MACX;AAAA,IACJ;AAAA,EACJ;AAEA,SAAO;AACX;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trellisUtils.d.ts","sourceRoot":"","sources":["../../src/common/utils/trellisUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,aAAa,EAUhB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,MAAM,MAAM,eAAe,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE,CAAA;CAAE,CAAC;AAChF,MAAM,WAAW,eAAe;IAC5B,gBAAgB,EAAE,eAAe,CAAC;IAClC,SAAS,EAAE,yBAAyB,GAAG,wBAAwB,GAAG,SAAS,CAAC;CAC/E;AACD,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAE3C;;;;;;;GAOG;AACH,eAAO,MAAM,qCAAqC,GAAI,YAAY;IAC9D,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;CAC9B,KAAG,eAsBH,CAAC;AAWF,eAAO,MAAM,+CAA+C,GAAI,YAAY;IACxE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;CAC9B,KAAG,eAkDH,CAAC;AAEF,eAAO,MAAM,mCAAmC,GAAI,YAAY;IAC5D,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;CAC9B,KAAG,eA4BH,CAAC;AAEF,eAAO,MAAM,+BAA+B,GACxC,YAAY;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,EAC1C,SAAS,MAAM,KAChB,eA0CF,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACpC,YAAY;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,EAC1C,SAAS,MAAM,KAChB,eAsLF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oCAAoC,GAC7C,YAAY;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,EAC1C,SAAS,MAAM,EACf,YAAY,aAAa,KAC1B,eA4CF,CAAC;AAEF,eAAO,MAAM,gCAAgC,GACzC,WAAW,aAAa,EACxB,aAAa;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,EAC3C,gBAAgB,MAAM,KACvB,eA8BF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mCAAmC,GAC5C,aAAa,OAAO,EACpB,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAC7B,MAAM,CAAC,MAAM,EAAE,MAAM,CAOvB,CAAC;AAiCF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GACxB,WAAW,eAAe,EAC1B,oBAAoB,OAAO,EAC3B,UAAU,MAAM,GAAG,MAAM,EACzB,UAAU,MAAM,GAAG,MAAM,EACzB,YAAY,MAAM,wBAWrB,CAAC"}
|
|
@@ -69,7 +69,7 @@ var trellisUtils_default = "default" in defaultImport2 ? defaultImport2.default
|
|
|
69
69
|
var AGGREGATIONS = "aggregations";
|
|
70
70
|
var dataSourcesSplitByAggregationsUnknown = (dataSource) => {
|
|
71
71
|
var _a, _b, _c, _d;
|
|
72
|
-
const fields = (_b = (_a = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _a.data) == null ? void 0 : _b.fields;
|
|
72
|
+
const fields = toFieldEntries((_b = (_a = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _a.data) == null ? void 0 : _b.fields);
|
|
73
73
|
const columns = (_d = (_c = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _c.data) == null ? void 0 : _d.columns;
|
|
74
74
|
let splitDataSources = null;
|
|
75
75
|
let errorCode = null;
|
|
@@ -90,7 +90,7 @@ var dataSourcesSplitByAggregationsUnknown = (dataSource) => {
|
|
|
90
90
|
}
|
|
91
91
|
return { splitDataSources, errorCode };
|
|
92
92
|
};
|
|
93
|
-
var toFieldEntries = (fields) => {
|
|
93
|
+
var toFieldEntries = (fields = []) => {
|
|
94
94
|
return fields.map((field) => {
|
|
95
95
|
if (typeof field === "string") {
|
|
96
96
|
return { name: field };
|
|
@@ -105,7 +105,7 @@ var dataSourcesSplitByAggregationsTimechartAndChart = (dataSource) => {
|
|
|
105
105
|
let splitDataSources = null;
|
|
106
106
|
let splitByFields = [];
|
|
107
107
|
let errorCode = null;
|
|
108
|
-
if (
|
|
108
|
+
if (fields.length > 0) {
|
|
109
109
|
splitByFields = (0, trellisUtils_exports.extractDataSourceAggregationKeysChart)(fields);
|
|
110
110
|
}
|
|
111
111
|
if (splitByFields && splitByFields.length > 0) {
|
|
@@ -143,12 +143,12 @@ var dataSourcesSplitByAggregationsTimechartAndChart = (dataSource) => {
|
|
|
143
143
|
};
|
|
144
144
|
var dataSourcesSplitByAggregationsStats = (dataSource) => {
|
|
145
145
|
var _a, _b, _c, _d;
|
|
146
|
-
const fields = (_b = (_a = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _a.data) == null ? void 0 : _b.fields;
|
|
146
|
+
const fields = toFieldEntries((_b = (_a = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _a.data) == null ? void 0 : _b.fields);
|
|
147
147
|
const columns = (_d = (_c = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _c.data) == null ? void 0 : _d.columns;
|
|
148
148
|
let splitDataSources = null;
|
|
149
149
|
let splitByFields = [];
|
|
150
150
|
let errorCode = null;
|
|
151
|
-
if (
|
|
151
|
+
if (fields.length > 0) {
|
|
152
152
|
splitByFields = (0, trellisUtils_exports.extractDataSourceAggregationKeysStats)(fields);
|
|
153
153
|
}
|
|
154
154
|
if (splitByFields && splitByFields.length > 0) {
|
|
@@ -172,12 +172,12 @@ var dataSourcesSplitByAggregationsStats = (dataSource) => {
|
|
|
172
172
|
};
|
|
173
173
|
var dataSourcesSplitByModeTimechart = (dataSource, splitBy) => {
|
|
174
174
|
var _a, _b, _c, _d, _e;
|
|
175
|
-
const fields = (_b = (_a = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _a.data) == null ? void 0 : _b.fields;
|
|
175
|
+
const fields = toFieldEntries((_b = (_a = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _a.data) == null ? void 0 : _b.fields);
|
|
176
176
|
const columns = (_d = (_c = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _c.data) == null ? void 0 : _d.columns;
|
|
177
177
|
let splitDataSources = null;
|
|
178
178
|
let splitByFields = [];
|
|
179
179
|
let errorCode = null;
|
|
180
|
-
if (
|
|
180
|
+
if (fields.length > 0) {
|
|
181
181
|
splitByFields = (0, trellisUtils_exports.extractSplitByFieldsChartFields)(fields);
|
|
182
182
|
}
|
|
183
183
|
if (splitByFields && splitByFields.indexOf(splitBy) > -1) {
|
|
@@ -215,12 +215,12 @@ var dataSourcesSplitByModeTimechart = (dataSource, splitBy) => {
|
|
|
215
215
|
};
|
|
216
216
|
var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
|
|
217
217
|
var _a, _b, _c, _d;
|
|
218
|
-
const fields = (_b = (_a = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _a.data) == null ? void 0 : _b.fields;
|
|
218
|
+
const fields = toFieldEntries((_b = (_a = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _a.data) == null ? void 0 : _b.fields);
|
|
219
219
|
const columns = (_d = (_c = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _c.data) == null ? void 0 : _d.columns;
|
|
220
220
|
let splitDataSources = null;
|
|
221
221
|
let splitByFields = [];
|
|
222
222
|
let errorCode = null;
|
|
223
|
-
if (
|
|
223
|
+
if (fields.length > 0) {
|
|
224
224
|
splitByFields = (0, trellisUtils_exports.extractSplitByFieldsChartFields)(fields);
|
|
225
225
|
}
|
|
226
226
|
if (splitByFields && splitByFields.indexOf(splitBy) > -1) {
|
|
@@ -308,17 +308,15 @@ var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
|
|
|
308
308
|
};
|
|
309
309
|
var dataSourcesSplitByModeStatsorUnknown = (dataSource, splitBy, splitMode) => {
|
|
310
310
|
var _a, _b, _c, _d, _e, _f;
|
|
311
|
-
const fields = (_b = (_a = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _a.data) == null ? void 0 : _b.fields;
|
|
311
|
+
const fields = toFieldEntries((_b = (_a = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _a.data) == null ? void 0 : _b.fields);
|
|
312
312
|
const columns = (_d = (_c = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _c.data) == null ? void 0 : _d.columns;
|
|
313
313
|
let splitDataSources = null;
|
|
314
314
|
let splitByFields = [];
|
|
315
315
|
let errorCode = null;
|
|
316
|
-
if (
|
|
316
|
+
if (fields.length > 0) {
|
|
317
317
|
splitByFields = splitMode !== trellisUtils_exports.UNKNOWN ? (0, trellisUtils_exports.extractSplitByFieldsForStats)(fields) : (0, trellisUtils_exports.extractSplitByFieldsForUnknown)(fields);
|
|
318
318
|
}
|
|
319
|
-
const splitByIndex = fields
|
|
320
|
-
(field) => field === splitBy || field.name === splitBy
|
|
321
|
-
);
|
|
319
|
+
const splitByIndex = fields.findIndex((field) => field.name === splitBy);
|
|
322
320
|
if (splitByFields && splitByFields.indexOf(splitBy) > -1) {
|
|
323
321
|
const splitByColumn = (_f = (_e = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _e.data) == null ? void 0 : _f.columns[splitByIndex];
|
|
324
322
|
splitDataSources = {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/common/utils/trellisUtils.ts", "esm-externals:lodash", "esm-externals:@splunk/visualizations-shared/trellisUtils"],
|
|
4
|
-
"sourcesContent": ["import { cloneDeep, omit } from 'lodash';\nimport { FieldEntry } from '@splunk/visualizations-shared/dataSourceUtils';\nimport {\n DataSplitMode,\n CHART,\n TIMECHART,\n STATS,\n UNKNOWN,\n extractDataSourceAggregationKeysChart,\n extractDataSourceAggregationKeysStats,\n extractSplitByFieldsChartFields,\n extractSplitByFieldsForStats,\n extractSplitByFieldsForUnknown,\n} from '@splunk/visualizations-shared/trellisUtils';\nimport { DataSource } from '../interfaces/DataSource';\n\nexport type SplitDataSource = { [key: string]: { [name: string]: DataSource } };\nexport interface DataSplitResult {\n splitDataSources: SplitDataSource;\n errorCode: 'UNKNOWN_DATA_SPLIT_MODE' | 'INVALID_SPLIT_BY_FIELD' | 'UNKNOWN';\n}\nexport const AGGREGATIONS = 'aggregations';\n\n/**\n * There can be certain SPL cmds that can produce dataSource without a specific field meta info (like group_by_rank, split_by_field etc),\n * to categorize it,\n * Example1:- `index = \"_internal\" | chart count`\n * Example2:- `index=_internal | chart avg(count), max(count)`\n * Example3:- `index = \"_internal\" | stats count`\n * Example4:- `index=_internal | stats avg(count), max(count)`\n */\nexport const dataSourcesSplitByAggregationsUnknown = (dataSource: {\n [name: string]: DataSource;\n}): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields;\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let errorCode = null;\n\n if (fields && fields.length) {\n splitDataSources = {};\n for (let i = 0; i < fields.length; i += 1) {\n const fieldName = (fields[i] as FieldEntry).name;\n if (!fieldName?.startsWith('_')) {\n splitDataSources[fieldName] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[fieldName].primary.data.fields = [fields[i]];\n splitDataSources[fieldName].primary.data.columns = [columns[i]];\n }\n }\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nconst toFieldEntries = (fields: FieldEntry[] | string[]): FieldEntry[] => {\n return fields.map(field => {\n if (typeof field === 'string') {\n return { name: field };\n }\n return field;\n });\n};\n\nexport const dataSourcesSplitByAggregationsTimechartAndChart = (dataSource: {\n [name: string]: DataSource;\n}): DataSplitResult => {\n const fields = toFieldEntries(dataSource?.primary?.data?.fields);\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n\n if (typeof fields[0] !== 'string') {\n splitByFields = extractDataSourceAggregationKeysChart(fields);\n }\n\n if (splitByFields && splitByFields.length > 0) {\n splitDataSources = {};\n splitByFields.forEach(splitByField => {\n splitDataSources[splitByField] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[splitByField].primary.data.fields = [fields[0]];\n splitDataSources[splitByField].primary.data.columns = [columns[0]];\n fields.forEach((field: FieldEntry, idx) => {\n const fieldName = field?.name;\n if (\n fieldName !== '_time' &&\n !fieldName?.startsWith('_') &&\n field.data_source === splitByField\n ) {\n splitDataSources[splitByField].primary.data.fields.push(field);\n splitDataSources[splitByField].primary.data.columns.push(columns[idx]);\n }\n });\n });\n } else if ((!splitByFields || !splitByFields.length) && fields.length > 1) {\n // handle where data_source doesnot exist in fields\n // example1 :- index=_internal | timechart count\n // example2 :- index=_internal | timechart max(count) avg(count)\n splitDataSources = {};\n for (let i = 1; i < fields.length; i += 1) {\n const fieldName = (fields[i] as FieldEntry).name;\n if (!fieldName?.startsWith('_')) {\n splitDataSources[fieldName] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[fieldName].primary.data.fields = [fields[0], fields[i]];\n splitDataSources[fieldName].primary.data.columns = [columns[0], columns[i]];\n }\n }\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const dataSourcesSplitByAggregationsStats = (dataSource: {\n [name: string]: DataSource;\n}): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields as FieldEntry[];\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (typeof fields[0] !== 'string') {\n splitByFields = extractDataSourceAggregationKeysStats(fields as FieldEntry[]);\n }\n\n if (splitByFields && splitByFields.length > 0) {\n splitDataSources = {};\n splitByFields.forEach(splitByField => {\n splitDataSources[splitByField] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[splitByField].primary.data.fields = [fields[0]];\n splitDataSources[splitByField].primary.data.columns = [columns[0]];\n const idx = fields.findIndex(field => field.name === splitByField);\n if (idx > 0) {\n splitDataSources[splitByField].primary.data.fields.push(fields[idx]);\n splitDataSources[splitByField].primary.data.columns.push(columns[idx]);\n }\n });\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const dataSourcesSplitByModeTimechart = (\n dataSource: { [name: string]: DataSource },\n splitBy: string\n): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields as FieldEntry[];\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (typeof fields[0] !== 'string') {\n splitByFields = extractSplitByFieldsChartFields(fields as FieldEntry[]);\n }\n if (splitByFields && splitByFields.indexOf(splitBy) > -1) {\n splitDataSources = {};\n const dataSourceKeys = extractDataSourceAggregationKeysChart(fields);\n const valueKeys = [];\n for (let i = 1; i < fields.length; i += 1) {\n // not including internal fields\n if (!fields[i].name?.startsWith('_')) {\n valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);\n }\n }\n valueKeys.forEach(val => {\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = [\n { name: fields[0].name },\n ...dataSourceKeys.map(k => ({\n name: k,\n })),\n ];\n splitDataSources[val].primary.data.columns = [[...columns[0]]];\n dataSourceKeys.forEach(dsKey => {\n fields.forEach((field, idx) => {\n if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {\n splitDataSources[val].primary.data.columns.push([...columns[idx]]);\n }\n });\n });\n });\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const dataSourcesSplitByModeChart = (\n dataSource: { [name: string]: DataSource },\n splitBy: string\n): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields as FieldEntry[];\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (typeof fields[0] !== 'string') {\n splitByFields = extractSplitByFieldsChartFields(fields);\n }\n if (splitByFields && splitByFields.indexOf(splitBy) > -1) {\n splitDataSources = {};\n const splitByFieldIdx = splitByFields.findIndex(f => f === splitBy);\n const otherSplitBy = splitByFields.filter(f => f !== splitBy);\n const dataSourceKeys = extractDataSourceAggregationKeysChart(fields);\n const nonDataSourceAggregations = [];\n if (\n !dataSourceKeys.length &&\n fields[0].groupby_rank === '0' &&\n fields.length &&\n !fields[1].groupby_rank\n ) {\n /* check for another aggregation scenario where no key 'data_source' will be returned (applies for both chart and stats cmd)\n For example :-\n index=_internal | chart count by status\n index = \"_internal\" | chart max(count) avg(count) by status\n index = \"_internal\" | stats max(count) avg(count) by status\n where field meta info is in this format -\n \"fields\": [\n {\n \"name\": \"status\",\n \"groupby_rank\": \"0\"\n },\n {\n \"name\": \"max(count)\"\n },\n {\n \"name\": \"avg(count)\"\n }\n ]\n */\n\n for (let i = 1; i < fields.length; i += 1) {\n nonDataSourceAggregations.push(fields[i].name);\n }\n }\n if (splitByFieldIdx === 0) {\n // if splitBy is the first field, split row wise\n const valueKeys = cloneDeep(columns[0]);\n valueKeys.forEach((val, idx) => {\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = [];\n if (otherSplitBy.length) {\n splitDataSources[val].primary.data.fields = [{ name: otherSplitBy[0] }]; // there can only be one otherSplitBy for chart cmd\n }\n if (dataSourceKeys.length) {\n const columnValues = [[]];\n splitDataSources[val].primary.data.fields = [\n ...splitDataSources[val].primary.data.fields,\n ...dataSourceKeys.map(k => ({\n name: k,\n })),\n ];\n dataSourceKeys.forEach(() => {\n columnValues.push([]);\n });\n /**\n * There can be chart SPL cmd where there are multiple data_source keys in the field meta info.\n * For eg - index = \"_internal\" | chart avg(count) max(count) by status , user) can result in fields and columns as below where \"data_source\" keys are \"avg(count)\" and \"max(count)\"\n * 'fields' : [\n {\n \"name\": \"status\",\n \"groupby_rank\": \"0\"\n },\n {\n \"name\": \"avg(count): userA\",\n \"data_source\": \"avg(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userA\"\n },\n {\n \"name\": \"avg(count): userB\",\n \"data_source\": \"avg(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userB\"\n },\n {\n \"name\": \"avg(count): userC\",\n \"data_source\": \"avg(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userC\"\n },\n {\n \"name\": \"max(count): userA\",\n \"data_source\": \"max(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userA\"\n },\n {\n \"name\": \"max(count): userB\",\n \"data_source\": \"max(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userB\"\n },\n {\n \"name\": \"max(count): userC\",\n \"data_source\": \"max(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userC\"\n },\n ]\n 'columns' : [['200','303','304','400'], ['1','2','3','4'], ['10','20','30','40'], ['100','200','300','400'], ['5','6','7','8'], ['50','60','70','80'],['500','600','700','800']]\n\n In this case when we split row wise, the data_source keys for userA appears in indices [1, 4, ..], the data_source keys for userB appears in indices [2, 5, ..]\n The resulting dataSplit for status '200', will have the fields => ['user','avg(count)', 'max(count)'] columns => [['userA', 'userB', 'userC'],['1','10','100'], ['5', '50', '500'] ]\n\n For the example above for..loop below will iterate from i= 1 to 3 (Math.ceil((fields.length - 1) / dataSourceKeys.length)). Exclude i = 0 as first column is the splitBy input.\n Since there are 2 data_source keys 'avg(count)' and 'max(count)', dataSourceKeys.forEach loop will collect individual arrays specific to the columnValues[indx] as below.\n columnValues[0] = ['userA', 'userB', 'userC']\n columnValues[1] = ['1','10','100']\n columnValues[2] = ['5', '50', '500']\n */\n for (let i = 1; i <= Math.ceil((fields.length - 1) / dataSourceKeys.length); i += 1) {\n columnValues[0].push(\n fields[i].splitby_value ? fields[i].splitby_value : fields[i].name\n );\n dataSourceKeys.forEach((dskey, dsIndx) => {\n const mul = (fields.length - 1) / dataSourceKeys.length; // This line does the index calculation\n columnValues[dsIndx + 1].push(columns[i + dsIndx * mul][idx]);\n });\n }\n splitDataSources[val].primary.data.columns = columnValues;\n } else if (nonDataSourceAggregations.length) {\n // There can be SPL where data_source field metainfo is not available and needs special handling\n // For eg :-\n // index=_internal | chart count by status\n // index = \"_internal\" | chart max(count) avg(count) by status\n // index = \"_internal\" | stats max(count) avg(count) by status\n const columnValues = [];\n fields.forEach((aggregationField, fieldIdx) => {\n if (fieldIdx > 0) {\n splitDataSources[val].primary.data.fields.push(aggregationField);\n columnValues.push([columns[fieldIdx][idx]]);\n }\n });\n splitDataSources[val].primary.data.columns = columnValues;\n }\n });\n } else {\n // split column wise\n const valueKeys = [];\n for (let i = 1; i < fields.length; i += 1) {\n valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);\n }\n valueKeys.forEach(val => {\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = [\n { name: otherSplitBy[0] },\n ...dataSourceKeys.map(k => ({\n name: k,\n })),\n ];\n splitDataSources[val].primary.data.columns = [[...columns[0]]];\n dataSourceKeys.forEach(dsKey => {\n fields.forEach((field, idx) => {\n if (\n field.data_source === dsKey &&\n (field.splitby_value === val || field.name === val)\n ) {\n splitDataSources[val].primary.data.columns.push([...columns[idx]]);\n }\n });\n });\n });\n }\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\n/**\n * This method does datasplitting for 'stats' and generic cmds('makeresults','table' etc - categoried as 'unknown' splitMode).\n * The main difference is for 'stats' cmd possible splitBy fields have 'group_by_rank' in field meta info, whereas for 'unknown' cmd it can be any fieldnames\n */\nexport const dataSourcesSplitByModeStatsorUnknown = (\n dataSource: { [name: string]: DataSource },\n splitBy: string,\n splitMode?: DataSplitMode\n): DataSplitResult => {\n const fields = dataSource?.primary?.data?.fields;\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (typeof fields[0] !== 'string') {\n splitByFields =\n splitMode !== UNKNOWN\n ? extractSplitByFieldsForStats(fields as FieldEntry[])\n : extractSplitByFieldsForUnknown(fields as FieldEntry[]);\n }\n const splitByIndex = fields?.findIndex(\n field => field === splitBy || (field as FieldEntry).name === splitBy\n );\n if (splitByFields && splitByFields.indexOf(splitBy) > -1) {\n const splitByColumn = dataSource?.primary?.data?.columns[splitByIndex];\n splitDataSources = {};\n splitByColumn.forEach((val, idx) => {\n if (!splitDataSources[val]) {\n splitDataSources[val] = [idx];\n } else {\n splitDataSources[val].push(idx);\n }\n });\n const cloneFields = cloneDeep(fields);\n cloneFields.splice(splitByIndex, 1);\n const valueKeys = Object.keys(splitDataSources);\n valueKeys.forEach(val => {\n const valIndices = cloneDeep(splitDataSources[val]);\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = cloneFields;\n splitDataSources[val].primary.data.columns = [];\n columns.forEach((col, idx) => {\n if (idx !== splitByIndex) {\n const newCol = valIndices.map(valIdx => col[valIdx]);\n splitDataSources[val].primary.data.columns.push(newCol);\n }\n });\n });\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const getTrellisDataSourcesBySplitMode = (\n splitMode: DataSplitMode,\n dataSources: { [name: string]: DataSource },\n trellisSplitBy: string\n): DataSplitResult => {\n let result: DataSplitResult = null;\n try {\n if (splitMode === TIMECHART) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsTimechartAndChart(dataSources)\n : dataSourcesSplitByModeTimechart(dataSources, trellisSplitBy);\n } else if (splitMode === STATS) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsStats(dataSources)\n : dataSourcesSplitByModeStatsorUnknown(dataSources, trellisSplitBy, STATS);\n } else if (splitMode === CHART) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsTimechartAndChart(dataSources)\n : dataSourcesSplitByModeChart(dataSources, trellisSplitBy);\n } else if (splitMode === UNKNOWN) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsUnknown(dataSources)\n : dataSourcesSplitByModeStatsorUnknown(dataSources, trellisSplitBy, UNKNOWN);\n }\n } catch (ex) {\n // eslint-disable-next-line no-console\n console.error('getTrellisDataSourcesBySplitMode ', ex);\n result = { splitDataSources: null, errorCode: 'UNKNOWN' };\n }\n return result;\n};\n\n/**\n * sets legendDisplay to off when a visualization is in trellis mode and not set by the user\n * @param {Boolean} isTrellisOn\n * @param {DashboardVizOpts} options\n * @param {DashboardVizOpts} defaultOptions\n * @returns { {'legendDisplay', 'off'} or {} }\n */\nexport const turnOffLegendDisplayWhenTrellisIsOn = (\n isTrellisOn: boolean,\n options: Record<string, any>\n): Record<string, string> => {\n if (isTrellisOn && !options.legendDisplay) {\n return {\n legendDisplay: 'off',\n };\n }\n return {};\n};\n\n/**\n * helper fn that calculates shared min and max from the split data in trellis mode\n * @param {splitData} SplitDataSource\n * @returns {Array<number>} [min, max]\n */\nconst calculateSharedMinMax = (splitData: SplitDataSource): Array<number> => {\n let max = -Infinity;\n let min = Infinity;\n\n Object.keys(splitData).forEach(splitByKey => {\n const datasources = splitData[splitByKey];\n Object.keys(datasources).forEach(datasourceName => {\n const dataColumns = datasources[datasourceName].data.columns;\n dataColumns.forEach(column => {\n column.forEach(point => {\n // Convert the string to a number. Non-numeric strings are converted to 'nan' and will be ignored.\n const pointNumber = Number(point);\n if (pointNumber > max) {\n max = pointNumber;\n }\n if (pointNumber < min) {\n min = pointNumber;\n }\n });\n });\n });\n });\n\n return [min, max];\n};\n\n/**\n * determines min and max to use in trellis mode\n * @param {splitData} SplitDataSource\n * @returns {Array<number | string>} [min, max]\n */\nexport const determineMinMax = (\n splitData: SplitDataSource,\n trellisSharedScale: boolean,\n yAxisMin: number | string,\n yAxisMax: number | string,\n stackMode?: string\n) => {\n if (!trellisSharedScale || stackMode === 'stacked100' || (yAxisMin !== 'auto' && yAxisMax !== 'auto'))\n return [yAxisMin, yAxisMax];\n\n const [sharedMin, sharedMax] = calculateSharedMinMax(splitData);\n\n const shouldUseSharedMax = sharedMax !== -Infinity && yAxisMax === 'auto';\n const shouldUseSharedMin = sharedMin !== Infinity && yAxisMin === 'auto';\n\n return [shouldUseSharedMin ? sharedMin : yAxisMin, shouldUseSharedMax ? sharedMax : yAxisMax];\n};\n", "\nimport * as defaultImport from \"lodash\";\nexport * from \"lodash\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualizations-shared/trellisUtils\";\nexport * from \"@splunk/visualizations-shared/trellisUtils\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,wBAAA;AAAA,SAAAA,uBAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAAA;;;ACAA;AAAA;AAAA;AAAA;AACA,oBAA+B;AAC/B,2BAAc;AACd,IAAO,iBAAS,aAAa,gBAA8B,wBAAU;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAC,iBAA+B;AAC/B,iCAAc;AACd,IAAO,uBAAS,aAAaA,iBAA8B,yBAAUA;;;AFkB9D,IAAM,eAAe;AAUrB,IAAM,wCAAwC,CAAC,eAE/B;AAjCvB;AAkCI,QAAM,
|
|
4
|
+
"sourcesContent": ["import { cloneDeep, omit } from 'lodash';\nimport { FieldEntry } from '@splunk/visualizations-shared/dataSourceUtils';\nimport {\n DataSplitMode,\n CHART,\n TIMECHART,\n STATS,\n UNKNOWN,\n extractDataSourceAggregationKeysChart,\n extractDataSourceAggregationKeysStats,\n extractSplitByFieldsChartFields,\n extractSplitByFieldsForStats,\n extractSplitByFieldsForUnknown,\n} from '@splunk/visualizations-shared/trellisUtils';\nimport { DataSource } from '../interfaces/DataSource';\n\nexport type SplitDataSource = { [key: string]: { [name: string]: DataSource } };\nexport interface DataSplitResult {\n splitDataSources: SplitDataSource;\n errorCode: 'UNKNOWN_DATA_SPLIT_MODE' | 'INVALID_SPLIT_BY_FIELD' | 'UNKNOWN';\n}\nexport const AGGREGATIONS = 'aggregations';\n\n/**\n * There can be certain SPL cmds that can produce dataSource without a specific field meta info (like group_by_rank, split_by_field etc),\n * to categorize it,\n * Example1:- `index = \"_internal\" | chart count`\n * Example2:- `index=_internal | chart avg(count), max(count)`\n * Example3:- `index = \"_internal\" | stats count`\n * Example4:- `index=_internal | stats avg(count), max(count)`\n */\nexport const dataSourcesSplitByAggregationsUnknown = (dataSource: {\n [name: string]: DataSource;\n}): DataSplitResult => {\n const fields = toFieldEntries(dataSource?.primary?.data?.fields);\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let errorCode = null;\n\n if (fields && fields.length) {\n splitDataSources = {};\n for (let i = 0; i < fields.length; i += 1) {\n const fieldName = fields[i].name;\n if (!fieldName?.startsWith('_')) {\n splitDataSources[fieldName] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[fieldName].primary.data.fields = [fields[i]];\n splitDataSources[fieldName].primary.data.columns = [columns[i]];\n }\n }\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nconst toFieldEntries = (fields: FieldEntry[] | string[] = []): FieldEntry[] => {\n return fields.map(field => {\n if (typeof field === 'string') {\n return { name: field };\n }\n return field;\n });\n};\n\nexport const dataSourcesSplitByAggregationsTimechartAndChart = (dataSource: {\n [name: string]: DataSource;\n}): DataSplitResult => {\n const fields = toFieldEntries(dataSource?.primary?.data?.fields);\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n\n if (fields.length > 0) {\n splitByFields = extractDataSourceAggregationKeysChart(fields);\n }\n\n if (splitByFields && splitByFields.length > 0) {\n splitDataSources = {};\n splitByFields.forEach(splitByField => {\n splitDataSources[splitByField] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[splitByField].primary.data.fields = [fields[0]];\n splitDataSources[splitByField].primary.data.columns = [columns[0]];\n fields.forEach((field: FieldEntry, idx) => {\n const fieldName = field?.name;\n if (\n fieldName !== '_time' &&\n !fieldName?.startsWith('_') &&\n field.data_source === splitByField\n ) {\n splitDataSources[splitByField].primary.data.fields.push(field);\n splitDataSources[splitByField].primary.data.columns.push(columns[idx]);\n }\n });\n });\n } else if ((!splitByFields || !splitByFields.length) && fields.length > 1) {\n // handle where data_source doesnot exist in fields\n // example1 :- index=_internal | timechart count\n // example2 :- index=_internal | timechart max(count) avg(count)\n splitDataSources = {};\n for (let i = 1; i < fields.length; i += 1) {\n const fieldName = fields[i].name;\n if (!fieldName?.startsWith('_')) {\n splitDataSources[fieldName] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[fieldName].primary.data.fields = [fields[0], fields[i]];\n splitDataSources[fieldName].primary.data.columns = [columns[0], columns[i]];\n }\n }\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const dataSourcesSplitByAggregationsStats = (dataSource: {\n [name: string]: DataSource;\n}): DataSplitResult => {\n const fields = toFieldEntries(dataSource?.primary?.data?.fields);\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (fields.length > 0) {\n splitByFields = extractDataSourceAggregationKeysStats(fields);\n }\n\n if (splitByFields && splitByFields.length > 0) {\n splitDataSources = {};\n splitByFields.forEach(splitByField => {\n splitDataSources[splitByField] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[splitByField].primary.data.fields = [fields[0]];\n splitDataSources[splitByField].primary.data.columns = [columns[0]];\n const idx = fields.findIndex(field => field.name === splitByField);\n if (idx > 0) {\n splitDataSources[splitByField].primary.data.fields.push(fields[idx]);\n splitDataSources[splitByField].primary.data.columns.push(columns[idx]);\n }\n });\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const dataSourcesSplitByModeTimechart = (\n dataSource: { [name: string]: DataSource },\n splitBy: string\n): DataSplitResult => {\n const fields = toFieldEntries(dataSource?.primary?.data?.fields);\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (fields.length > 0) {\n splitByFields = extractSplitByFieldsChartFields(fields);\n }\n if (splitByFields && splitByFields.indexOf(splitBy) > -1) {\n splitDataSources = {};\n const dataSourceKeys = extractDataSourceAggregationKeysChart(fields);\n const valueKeys = [];\n for (let i = 1; i < fields.length; i += 1) {\n // not including internal fields\n if (!fields[i].name?.startsWith('_')) {\n valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);\n }\n }\n valueKeys.forEach(val => {\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = [\n { name: fields[0].name },\n ...dataSourceKeys.map(k => ({\n name: k,\n })),\n ];\n splitDataSources[val].primary.data.columns = [[...columns[0]]];\n dataSourceKeys.forEach(dsKey => {\n fields.forEach((field, idx) => {\n if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {\n splitDataSources[val].primary.data.columns.push([...columns[idx]]);\n }\n });\n });\n });\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const dataSourcesSplitByModeChart = (\n dataSource: { [name: string]: DataSource },\n splitBy: string\n): DataSplitResult => {\n const fields = toFieldEntries(dataSource?.primary?.data?.fields);\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (fields.length > 0) {\n splitByFields = extractSplitByFieldsChartFields(fields);\n }\n if (splitByFields && splitByFields.indexOf(splitBy) > -1) {\n splitDataSources = {};\n const splitByFieldIdx = splitByFields.findIndex(f => f === splitBy);\n const otherSplitBy = splitByFields.filter(f => f !== splitBy);\n const dataSourceKeys = extractDataSourceAggregationKeysChart(fields);\n const nonDataSourceAggregations = [];\n if (\n !dataSourceKeys.length &&\n fields[0].groupby_rank === '0' &&\n fields.length &&\n !fields[1].groupby_rank\n ) {\n /* check for another aggregation scenario where no key 'data_source' will be returned (applies for both chart and stats cmd)\n For example :-\n index=_internal | chart count by status\n index = \"_internal\" | chart max(count) avg(count) by status\n index = \"_internal\" | stats max(count) avg(count) by status\n where field meta info is in this format -\n \"fields\": [\n {\n \"name\": \"status\",\n \"groupby_rank\": \"0\"\n },\n {\n \"name\": \"max(count)\"\n },\n {\n \"name\": \"avg(count)\"\n }\n ]\n */\n\n for (let i = 1; i < fields.length; i += 1) {\n nonDataSourceAggregations.push(fields[i].name);\n }\n }\n if (splitByFieldIdx === 0) {\n // if splitBy is the first field, split row wise\n const valueKeys = cloneDeep(columns[0]);\n valueKeys.forEach((val, idx) => {\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = [];\n if (otherSplitBy.length) {\n splitDataSources[val].primary.data.fields = [{ name: otherSplitBy[0] }]; // there can only be one otherSplitBy for chart cmd\n }\n if (dataSourceKeys.length) {\n const columnValues = [[]];\n splitDataSources[val].primary.data.fields = [\n ...splitDataSources[val].primary.data.fields,\n ...dataSourceKeys.map(k => ({\n name: k,\n })),\n ];\n dataSourceKeys.forEach(() => {\n columnValues.push([]);\n });\n /**\n * There can be chart SPL cmd where there are multiple data_source keys in the field meta info.\n * For eg - index = \"_internal\" | chart avg(count) max(count) by status , user) can result in fields and columns as below where \"data_source\" keys are \"avg(count)\" and \"max(count)\"\n * 'fields' : [\n {\n \"name\": \"status\",\n \"groupby_rank\": \"0\"\n },\n {\n \"name\": \"avg(count): userA\",\n \"data_source\": \"avg(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userA\"\n },\n {\n \"name\": \"avg(count): userB\",\n \"data_source\": \"avg(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userB\"\n },\n {\n \"name\": \"avg(count): userC\",\n \"data_source\": \"avg(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userC\"\n },\n {\n \"name\": \"max(count): userA\",\n \"data_source\": \"max(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userA\"\n },\n {\n \"name\": \"max(count): userB\",\n \"data_source\": \"max(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userB\"\n },\n {\n \"name\": \"max(count): userC\",\n \"data_source\": \"max(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userC\"\n },\n ]\n 'columns' : [['200','303','304','400'], ['1','2','3','4'], ['10','20','30','40'], ['100','200','300','400'], ['5','6','7','8'], ['50','60','70','80'],['500','600','700','800']]\n\n In this case when we split row wise, the data_source keys for userA appears in indices [1, 4, ..], the data_source keys for userB appears in indices [2, 5, ..]\n The resulting dataSplit for status '200', will have the fields => ['user','avg(count)', 'max(count)'] columns => [['userA', 'userB', 'userC'],['1','10','100'], ['5', '50', '500'] ]\n\n For the example above for..loop below will iterate from i= 1 to 3 (Math.ceil((fields.length - 1) / dataSourceKeys.length)). Exclude i = 0 as first column is the splitBy input.\n Since there are 2 data_source keys 'avg(count)' and 'max(count)', dataSourceKeys.forEach loop will collect individual arrays specific to the columnValues[indx] as below.\n columnValues[0] = ['userA', 'userB', 'userC']\n columnValues[1] = ['1','10','100']\n columnValues[2] = ['5', '50', '500']\n */\n for (let i = 1; i <= Math.ceil((fields.length - 1) / dataSourceKeys.length); i += 1) {\n columnValues[0].push(\n fields[i].splitby_value ? fields[i].splitby_value : fields[i].name\n );\n dataSourceKeys.forEach((dskey, dsIndx) => {\n const mul = (fields.length - 1) / dataSourceKeys.length; // This line does the index calculation\n columnValues[dsIndx + 1].push(columns[i + dsIndx * mul][idx]);\n });\n }\n splitDataSources[val].primary.data.columns = columnValues;\n } else if (nonDataSourceAggregations.length) {\n // There can be SPL where data_source field metainfo is not available and needs special handling\n // For eg :-\n // index=_internal | chart count by status\n // index = \"_internal\" | chart max(count) avg(count) by status\n // index = \"_internal\" | stats max(count) avg(count) by status\n const columnValues = [];\n fields.forEach((aggregationField, fieldIdx) => {\n if (fieldIdx > 0) {\n splitDataSources[val].primary.data.fields.push(aggregationField);\n columnValues.push([columns[fieldIdx][idx]]);\n }\n });\n splitDataSources[val].primary.data.columns = columnValues;\n }\n });\n } else {\n // split column wise\n const valueKeys = [];\n for (let i = 1; i < fields.length; i += 1) {\n valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);\n }\n valueKeys.forEach(val => {\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = [\n { name: otherSplitBy[0] },\n ...dataSourceKeys.map(k => ({\n name: k,\n })),\n ];\n splitDataSources[val].primary.data.columns = [[...columns[0]]];\n dataSourceKeys.forEach(dsKey => {\n fields.forEach((field, idx) => {\n if (\n field.data_source === dsKey &&\n (field.splitby_value === val || field.name === val)\n ) {\n splitDataSources[val].primary.data.columns.push([...columns[idx]]);\n }\n });\n });\n });\n }\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\n/**\n * This method does datasplitting for 'stats' and generic cmds('makeresults','table' etc - categoried as 'unknown' splitMode).\n * The main difference is for 'stats' cmd possible splitBy fields have 'group_by_rank' in field meta info, whereas for 'unknown' cmd it can be any fieldnames\n */\nexport const dataSourcesSplitByModeStatsorUnknown = (\n dataSource: { [name: string]: DataSource },\n splitBy: string,\n splitMode?: DataSplitMode\n): DataSplitResult => {\n const fields = toFieldEntries(dataSource?.primary?.data?.fields);\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (fields.length > 0) {\n splitByFields =\n splitMode !== UNKNOWN\n ? extractSplitByFieldsForStats(fields)\n : extractSplitByFieldsForUnknown(fields);\n }\n const splitByIndex = fields.findIndex(field => field.name === splitBy);\n if (splitByFields && splitByFields.indexOf(splitBy) > -1) {\n const splitByColumn = dataSource?.primary?.data?.columns[splitByIndex];\n splitDataSources = {};\n splitByColumn.forEach((val, idx) => {\n if (!splitDataSources[val]) {\n splitDataSources[val] = [idx];\n } else {\n splitDataSources[val].push(idx);\n }\n });\n const cloneFields = cloneDeep(fields);\n cloneFields.splice(splitByIndex, 1);\n const valueKeys = Object.keys(splitDataSources);\n valueKeys.forEach(val => {\n const valIndices = cloneDeep(splitDataSources[val]);\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = cloneFields;\n splitDataSources[val].primary.data.columns = [];\n columns.forEach((col, idx) => {\n if (idx !== splitByIndex) {\n const newCol = valIndices.map(valIdx => col[valIdx]);\n splitDataSources[val].primary.data.columns.push(newCol);\n }\n });\n });\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const getTrellisDataSourcesBySplitMode = (\n splitMode: DataSplitMode,\n dataSources: { [name: string]: DataSource },\n trellisSplitBy: string\n): DataSplitResult => {\n let result: DataSplitResult = null;\n try {\n if (splitMode === TIMECHART) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsTimechartAndChart(dataSources)\n : dataSourcesSplitByModeTimechart(dataSources, trellisSplitBy);\n } else if (splitMode === STATS) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsStats(dataSources)\n : dataSourcesSplitByModeStatsorUnknown(dataSources, trellisSplitBy, STATS);\n } else if (splitMode === CHART) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsTimechartAndChart(dataSources)\n : dataSourcesSplitByModeChart(dataSources, trellisSplitBy);\n } else if (splitMode === UNKNOWN) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsUnknown(dataSources)\n : dataSourcesSplitByModeStatsorUnknown(dataSources, trellisSplitBy, UNKNOWN);\n }\n } catch (ex) {\n // eslint-disable-next-line no-console\n console.error('getTrellisDataSourcesBySplitMode ', ex);\n result = { splitDataSources: null, errorCode: 'UNKNOWN' };\n }\n return result;\n};\n\n/**\n * sets legendDisplay to off when a visualization is in trellis mode and not set by the user\n * @param {Boolean} isTrellisOn\n * @param {DashboardVizOpts} options\n * @param {DashboardVizOpts} defaultOptions\n * @returns { {'legendDisplay', 'off'} or {} }\n */\nexport const turnOffLegendDisplayWhenTrellisIsOn = (\n isTrellisOn: boolean,\n options: Record<string, any>\n): Record<string, string> => {\n if (isTrellisOn && !options.legendDisplay) {\n return {\n legendDisplay: 'off',\n };\n }\n return {};\n};\n\n/**\n * helper fn that calculates shared min and max from the split data in trellis mode\n * @param {splitData} SplitDataSource\n * @returns {Array<number>} [min, max]\n */\nconst calculateSharedMinMax = (splitData: SplitDataSource): Array<number> => {\n let max = -Infinity;\n let min = Infinity;\n\n Object.keys(splitData).forEach(splitByKey => {\n const datasources = splitData[splitByKey];\n Object.keys(datasources).forEach(datasourceName => {\n const dataColumns = datasources[datasourceName].data.columns;\n dataColumns.forEach(column => {\n column.forEach(point => {\n // Convert the string to a number. Non-numeric strings are converted to 'nan' and will be ignored.\n const pointNumber = Number(point);\n if (pointNumber > max) {\n max = pointNumber;\n }\n if (pointNumber < min) {\n min = pointNumber;\n }\n });\n });\n });\n });\n\n return [min, max];\n};\n\n/**\n * determines min and max to use in trellis mode\n * @param {splitData} SplitDataSource\n * @returns {Array<number | string>} [min, max]\n */\nexport const determineMinMax = (\n splitData: SplitDataSource,\n trellisSharedScale: boolean,\n yAxisMin: number | string,\n yAxisMax: number | string,\n stackMode?: string\n) => {\n if (!trellisSharedScale || stackMode === 'stacked100' || (yAxisMin !== 'auto' && yAxisMax !== 'auto'))\n return [yAxisMin, yAxisMax];\n\n const [sharedMin, sharedMax] = calculateSharedMinMax(splitData);\n\n const shouldUseSharedMax = sharedMax !== -Infinity && yAxisMax === 'auto';\n const shouldUseSharedMin = sharedMin !== Infinity && yAxisMin === 'auto';\n\n return [shouldUseSharedMin ? sharedMin : yAxisMin, shouldUseSharedMax ? sharedMax : yAxisMax];\n};\n", "\nimport * as defaultImport from \"lodash\";\nexport * from \"lodash\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualizations-shared/trellisUtils\";\nexport * from \"@splunk/visualizations-shared/trellisUtils\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["trellisUtils_exports", "defaultImport"]
|
|
7
7
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"urlUtils.d.ts","sourceRoot":"","sources":["../../src/common/utils/urlUtils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,YAOvC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import type { Frames } from '@splunk/visualization-encoding/EncodingExecutor';
|
|
2
3
|
import type { DashboardVizProps, DataSource, VizConfig, VizProps } from './interfaces';
|
|
3
4
|
import { ChartingProps } from './Charting';
|
|
4
5
|
type HOC = React.ComponentType<DashboardVizProps>;
|
|
@@ -7,6 +8,12 @@ export interface DashboardVizOpts {
|
|
|
7
8
|
vizConfig: VizConfig;
|
|
8
9
|
computeVizProps?: (props: any) => any;
|
|
9
10
|
computeVizPropsBeforeEval?: (props: any) => any;
|
|
11
|
+
computeDataFrames?: (args: {
|
|
12
|
+
dataSources: {
|
|
13
|
+
[key: string]: DataSource;
|
|
14
|
+
};
|
|
15
|
+
options: Record<string, unknown>;
|
|
16
|
+
}) => Partial<Frames>;
|
|
10
17
|
disableEditModeCover?: boolean;
|
|
11
18
|
useIconPlaceholder?: (dataSources: {
|
|
12
19
|
[name: string]: DataSource;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withDashboardViz.d.ts","sourceRoot":"","sources":["../src/common/withDashboardViz.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgB/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iDAAiD,CAAC;AAE9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAQvF,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAa3C,KAAK,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;AAClD,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC;IACxD,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,CAAC,EAAE,CAAC,KAAK,KAAA,KAAK,GAAG,CAAC;IACjC,yBAAyB,CAAC,EAAE,CAAC,KAAK,KAAA,KAAK,GAAG,CAAC;IAC3C,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;QACvB,WAAW,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;SAAE,CAAC;QAC3C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kBAAkB,CAAC,EAAE,CACjB,WAAW,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE,EAC3C,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC/B,OAAO,CAAC;CAChB;AAED;;;;GAIG;AACH,QAAA,MAAM,gBAAgB,GAAI,MAAM,gBAAgB,KAAG,GA+WlD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|