@splunk/visualizations 28.1.0 → 28.2.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.config.js +27 -0
- package/Area.config.js.map +2 -2
- package/Area.js +721 -354
- package/Area.js.map +4 -4
- package/Bar.config.js +27 -0
- package/Bar.config.js.map +2 -2
- package/Bar.js +753 -386
- package/Bar.js.map +4 -4
- package/Bubble.config.js +27 -0
- package/Bubble.config.js.map +2 -2
- package/Bubble.js +683 -320
- package/Bubble.js.map +4 -4
- package/CHANGELOG.external.md +33 -0
- package/ChoroplethSvg.js +569 -193
- package/ChoroplethSvg.js.map +4 -4
- package/Column.config.js +27 -0
- package/Column.config.js.map +2 -2
- package/Column.js +768 -401
- package/Column.js.map +4 -4
- package/Ellipse.js +592 -213
- package/Ellipse.js.map +4 -4
- package/Events.js +591 -200
- package/Events.js.map +4 -4
- package/FEATUREFLAGS.md +1 -0
- package/FillerGauge.js +564 -190
- package/FillerGauge.js.map +4 -4
- package/Image.js +589 -216
- package/Image.js.map +4 -4
- package/Line.config.js +28 -1
- package/Line.config.js.map +2 -2
- package/Line.js +736 -369
- package/Line.js.map +4 -4
- package/LinkGraph.js +1093 -690
- package/LinkGraph.js.map +4 -4
- package/Map.config.js +2 -0
- package/Map.config.js.map +2 -2
- package/Map.js +533 -141
- package/Map.js.map +4 -4
- package/Markdown.js +613 -229
- package/Markdown.js.map +4 -4
- package/MarkerGauge.js +543 -168
- package/MarkerGauge.js.map +4 -4
- package/ParallelCoordinates.js +564 -173
- package/ParallelCoordinates.js.map +4 -4
- package/Pie.js +650 -315
- package/Pie.js.map +4 -4
- package/Punchcard.js +588 -199
- package/Punchcard.js.map +4 -4
- package/Rectangle.js +603 -223
- package/Rectangle.js.map +4 -4
- package/Sankey.js +576 -200
- package/Sankey.js.map +4 -4
- package/Scatter.config.js +27 -0
- package/Scatter.config.js.map +2 -2
- package/Scatter.js +687 -325
- package/Scatter.js.map +4 -4
- package/SingleValue.js +540 -165
- package/SingleValue.js.map +4 -4
- package/SingleValueIcon.js +534 -159
- package/SingleValueIcon.js.map +4 -4
- package/SingleValueRadial.js +527 -152
- package/SingleValueRadial.js.map +4 -4
- package/Table.config.js +87 -32
- package/Table.config.js.map +4 -4
- package/Table.js +931 -441
- package/Table.js.map +4 -4
- package/Timeline.js +611 -272
- package/Timeline.js.map +4 -4
- package/common/Charting.js +49 -111
- package/common/Charting.js.map +4 -4
- package/common/GaugeMajorTicks.js +6 -14
- package/common/GaugeMajorTicks.js.map +2 -2
- package/common/GaugeValueMarker.js +6 -14
- package/common/GaugeValueMarker.js.map +2 -2
- package/common/OptionsDoc.js +3 -2
- package/common/OptionsDoc.js.map +2 -2
- package/common/SplunkVisualization.js +1 -1
- package/common/SplunkVisualization.js.map +2 -2
- package/common/TimeSeriesChartWrapper.js +485 -0
- package/common/TimeSeriesChartWrapper.js.map +7 -0
- package/common/chartingUtils.js +252 -1
- package/common/chartingUtils.js.map +4 -4
- package/common/shapeUtils.js.map +1 -1
- package/common/utils/hocUtils.js +1 -1
- package/common/utils/hocUtils.js.map +2 -2
- package/common/utils/mapUtils.js.map +1 -1
- package/common/utils/tableUtils.js +29 -28
- package/common/utils/tableUtils.js.map +2 -2
- package/common/withDashboardViz.js +551 -160
- package/common/withDashboardViz.js.map +4 -4
- package/dist/types/Area/Area.d.ts +13 -0
- package/dist/types/Area/Area.d.ts.map +1 -0
- package/dist/types/Area/areaUtils.d.ts +15 -0
- package/dist/types/Area/areaUtils.d.ts.map +1 -0
- package/dist/types/Area/config.d.ts +4 -0
- package/dist/types/Area/config.d.ts.map +1 -0
- package/dist/types/Area/index.d.ts +3 -0
- package/dist/types/Area/index.d.ts.map +1 -0
- package/dist/types/Bar/Bar.d.ts +13 -0
- package/dist/types/Bar/Bar.d.ts.map +1 -0
- package/dist/types/Bar/barUtils.d.ts +30 -0
- package/dist/types/Bar/barUtils.d.ts.map +1 -0
- package/dist/types/Bar/config.d.ts +4 -0
- package/dist/types/Bar/config.d.ts.map +1 -0
- package/dist/types/Bar/index.d.ts +3 -0
- package/dist/types/Bar/index.d.ts.map +1 -0
- package/dist/types/Bubble/Bubble.d.ts +9 -0
- package/dist/types/Bubble/Bubble.d.ts.map +1 -0
- package/dist/types/Bubble/bubbleUtils.d.ts +47 -0
- package/dist/types/Bubble/bubbleUtils.d.ts.map +1 -0
- package/dist/types/Bubble/config.d.ts +4 -0
- package/dist/types/Bubble/config.d.ts.map +1 -0
- package/dist/types/Bubble/index.d.ts +3 -0
- package/dist/types/Bubble/index.d.ts.map +1 -0
- package/dist/types/ChoroplethSvg/ChoroplethSvg.d.ts +24 -0
- package/dist/types/ChoroplethSvg/ChoroplethSvg.d.ts.map +1 -0
- package/dist/types/ChoroplethSvg/ErrorMessage/ErrorMessage.d.ts +6 -0
- package/dist/types/ChoroplethSvg/ErrorMessage/ErrorMessage.d.ts.map +1 -0
- package/dist/types/ChoroplethSvg/PureChoroplethSvg/PureChoroplethSvg.d.ts +29 -0
- package/dist/types/ChoroplethSvg/PureChoroplethSvg/PureChoroplethSvg.d.ts.map +1 -0
- package/dist/types/ChoroplethSvg/PureChoroplethSvg/SvgChoroplethDynamic.d.ts +34 -0
- package/dist/types/ChoroplethSvg/PureChoroplethSvg/SvgChoroplethDynamic.d.ts.map +1 -0
- package/dist/types/ChoroplethSvg/PureChoroplethSvg/SvgMutator.d.ts +144 -0
- package/dist/types/ChoroplethSvg/PureChoroplethSvg/SvgMutator.d.ts.map +1 -0
- package/dist/types/ChoroplethSvg/config.d.ts +4 -0
- package/dist/types/ChoroplethSvg/config.d.ts.map +1 -0
- package/dist/types/ChoroplethSvg/index.d.ts +3 -0
- package/dist/types/ChoroplethSvg/index.d.ts.map +1 -0
- package/dist/types/Column/Column.d.ts +11 -0
- package/dist/types/Column/Column.d.ts.map +1 -0
- package/dist/types/Column/columnUtils.d.ts +82 -0
- package/dist/types/Column/columnUtils.d.ts.map +1 -0
- package/dist/types/Column/config.d.ts +4 -0
- package/dist/types/Column/config.d.ts.map +1 -0
- package/dist/types/Column/index.d.ts +3 -0
- package/dist/types/Column/index.d.ts.map +1 -0
- package/dist/types/Ellipse/Ellipse.d.ts +7 -0
- package/dist/types/Ellipse/Ellipse.d.ts.map +1 -0
- package/dist/types/Ellipse/config.d.ts +4 -0
- package/dist/types/Ellipse/config.d.ts.map +1 -0
- package/dist/types/Ellipse/index.d.ts +3 -0
- package/dist/types/Ellipse/index.d.ts.map +1 -0
- package/dist/types/Events/EventUtils.d.ts +137 -0
- package/dist/types/Events/EventUtils.d.ts.map +1 -0
- package/dist/types/Events/Events.d.ts +19 -0
- package/dist/types/Events/Events.d.ts.map +1 -0
- package/dist/types/Events/PureEvents/FieldSummaryTooltip.d.ts +50 -0
- package/dist/types/Events/PureEvents/FieldSummaryTooltip.d.ts.map +1 -0
- package/dist/types/Events/PureEvents/PureEvents.d.ts +34 -0
- package/dist/types/Events/PureEvents/PureEvents.d.ts.map +1 -0
- package/dist/types/Events/PureEvents/TimeControlsPopover.d.ts +33 -0
- package/dist/types/Events/PureEvents/TimeControlsPopover.d.ts.map +1 -0
- package/dist/types/Events/config.d.ts +4 -0
- package/dist/types/Events/config.d.ts.map +1 -0
- package/dist/types/Events/index.d.ts +3 -0
- package/dist/types/Events/index.d.ts.map +1 -0
- package/dist/types/FillerGauge/FillerGauge.d.ts +13 -0
- package/dist/types/FillerGauge/FillerGauge.d.ts.map +1 -0
- package/dist/types/FillerGauge/PureFillerGauge/FillerGauge.d.ts +32 -0
- package/dist/types/FillerGauge/PureFillerGauge/FillerGauge.d.ts.map +1 -0
- package/dist/types/FillerGauge/config.d.ts +4 -0
- package/dist/types/FillerGauge/config.d.ts.map +1 -0
- package/dist/types/FillerGauge/index.d.ts +3 -0
- package/dist/types/FillerGauge/index.d.ts.map +1 -0
- package/dist/types/Image/Image.d.ts +13 -0
- package/dist/types/Image/Image.d.ts.map +1 -0
- package/dist/types/Image/ImageApi.d.ts +15 -0
- package/dist/types/Image/ImageApi.d.ts.map +1 -0
- package/dist/types/Image/config.d.ts +4 -0
- package/dist/types/Image/config.d.ts.map +1 -0
- package/dist/types/Image/index.d.ts +3 -0
- package/dist/types/Image/index.d.ts.map +1 -0
- package/dist/types/Line/Line.d.ts +13 -0
- package/dist/types/Line/Line.d.ts.map +1 -0
- package/dist/types/Line/config.d.ts +4 -0
- package/dist/types/Line/config.d.ts.map +1 -0
- package/dist/types/Line/index.d.ts +3 -0
- package/dist/types/Line/index.d.ts.map +1 -0
- package/dist/types/Line/lineUtils.d.ts +22 -0
- package/dist/types/Line/lineUtils.d.ts.map +1 -0
- package/dist/types/Line/mockdata/LineData.d.ts +184 -0
- package/dist/types/Line/mockdata/LineData.d.ts.map +1 -0
- package/dist/types/LinkGraph/ESTestDataSources.d.ts +32 -0
- package/dist/types/LinkGraph/ESTestDataSources.d.ts.map +1 -0
- package/dist/types/LinkGraph/ESTestTemplate.d.ts +2 -0
- package/dist/types/LinkGraph/ESTestTemplate.d.ts.map +1 -0
- package/dist/types/LinkGraph/LinkGraph.d.ts +22 -0
- package/dist/types/LinkGraph/LinkGraph.d.ts.map +1 -0
- package/dist/types/LinkGraph/PureLinkGraph/PureLinkGraph.d.ts +89 -0
- package/dist/types/LinkGraph/PureLinkGraph/PureLinkGraph.d.ts.map +1 -0
- package/dist/types/LinkGraph/PureLinkGraph/PureLinkGraphUtils.d.ts +74 -0
- package/dist/types/LinkGraph/PureLinkGraph/PureLinkGraphUtils.d.ts.map +1 -0
- package/dist/types/LinkGraph/PureLinkGraph/components/Edges.d.ts +9 -0
- package/dist/types/LinkGraph/PureLinkGraph/components/Edges.d.ts.map +1 -0
- package/dist/types/LinkGraph/PureLinkGraph/components/Field.d.ts +14 -0
- package/dist/types/LinkGraph/PureLinkGraph/components/Field.d.ts.map +1 -0
- package/dist/types/LinkGraph/PureLinkGraph/components/FieldStyles.d.ts +5 -0
- package/dist/types/LinkGraph/PureLinkGraph/components/FieldStyles.d.ts.map +1 -0
- package/dist/types/LinkGraph/PureLinkGraph/components/Graph.d.ts +49 -0
- package/dist/types/LinkGraph/PureLinkGraph/components/Graph.d.ts.map +1 -0
- package/dist/types/LinkGraph/PureLinkGraph/components/GraphStyles.d.ts +11 -0
- package/dist/types/LinkGraph/PureLinkGraph/components/GraphStyles.d.ts.map +1 -0
- package/dist/types/LinkGraph/PureLinkGraph/components/Node.d.ts +24 -0
- package/dist/types/LinkGraph/PureLinkGraph/components/Node.d.ts.map +1 -0
- package/dist/types/LinkGraph/PureLinkGraph/components/Nodes.d.ts +16 -0
- package/dist/types/LinkGraph/PureLinkGraph/components/Nodes.d.ts.map +1 -0
- package/dist/types/LinkGraph/PureLinkGraph/utils/iconLoader.d.ts +168 -0
- package/dist/types/LinkGraph/PureLinkGraph/utils/iconLoader.d.ts.map +1 -0
- package/dist/types/LinkGraph/config.d.ts +4 -0
- package/dist/types/LinkGraph/config.d.ts.map +1 -0
- package/dist/types/LinkGraph/index.d.ts +3 -0
- package/dist/types/LinkGraph/index.d.ts.map +1 -0
- package/dist/types/Map/Map.d.ts +28 -0
- package/dist/types/Map/Map.d.ts.map +1 -0
- package/dist/types/Map/MapContextDefault.d.ts +39 -0
- package/dist/types/Map/MapContextDefault.d.ts.map +1 -0
- package/dist/types/Map/PureMap/BubbleLayer.d.ts +51 -0
- package/dist/types/Map/PureMap/BubbleLayer.d.ts.map +1 -0
- package/dist/types/Map/PureMap/ChoroplethLayer.d.ts +36 -0
- package/dist/types/Map/PureMap/ChoroplethLayer.d.ts.map +1 -0
- package/dist/types/Map/PureMap/ClusterLayer.d.ts +17 -0
- package/dist/types/Map/PureMap/ClusterLayer.d.ts.map +1 -0
- package/dist/types/Map/PureMap/LocalChoroplethLayer.d.ts +18 -0
- package/dist/types/Map/PureMap/LocalChoroplethLayer.d.ts.map +1 -0
- package/dist/types/Map/PureMap/MapUtils.d.ts +141 -0
- package/dist/types/Map/PureMap/MapUtils.d.ts.map +1 -0
- package/dist/types/Map/PureMap/MarkerLayer.d.ts +34 -0
- package/dist/types/Map/PureMap/MarkerLayer.d.ts.map +1 -0
- package/dist/types/Map/PureMap/MarkerWrapper.d.ts +17 -0
- package/dist/types/Map/PureMap/MarkerWrapper.d.ts.map +1 -0
- package/dist/types/Map/PureMap/PureMap.d.ts +102 -0
- package/dist/types/Map/PureMap/PureMap.d.ts.map +1 -0
- package/dist/types/Map/PureMap/PureMapContainer.d.ts +15 -0
- package/dist/types/Map/PureMap/PureMapContainer.d.ts.map +1 -0
- package/dist/types/Map/PureMap/Tooltip.d.ts +20 -0
- package/dist/types/Map/PureMap/Tooltip.d.ts.map +1 -0
- package/dist/types/Map/PureMap/mockdata/data.d.ts +90 -0
- package/dist/types/Map/PureMap/mockdata/data.d.ts.map +1 -0
- package/dist/types/Map/config.d.ts +4 -0
- package/dist/types/Map/config.d.ts.map +1 -0
- package/dist/types/Map/index.d.ts +3 -0
- package/dist/types/Map/index.d.ts.map +1 -0
- package/dist/types/Markdown/Markdown.d.ts +31 -0
- package/dist/types/Markdown/Markdown.d.ts.map +1 -0
- package/dist/types/Markdown/config.d.ts +4 -0
- package/dist/types/Markdown/config.d.ts.map +1 -0
- package/dist/types/Markdown/index.d.ts +3 -0
- package/dist/types/Markdown/index.d.ts.map +1 -0
- package/dist/types/MarkerGauge/MarkerGauge.d.ts +55 -0
- package/dist/types/MarkerGauge/MarkerGauge.d.ts.map +1 -0
- package/dist/types/MarkerGauge/PureMarkerGauge/MarkerGauge.d.ts +72 -0
- package/dist/types/MarkerGauge/PureMarkerGauge/MarkerGauge.d.ts.map +1 -0
- package/dist/types/MarkerGauge/config.d.ts +4 -0
- package/dist/types/MarkerGauge/config.d.ts.map +1 -0
- package/dist/types/MarkerGauge/index.d.ts +3 -0
- package/dist/types/MarkerGauge/index.d.ts.map +1 -0
- package/dist/types/ParallelCoordinates/ParallelCoordinates.d.ts +58 -0
- package/dist/types/ParallelCoordinates/ParallelCoordinates.d.ts.map +1 -0
- package/dist/types/ParallelCoordinates/PureParallelCoordinates/PureParallelCoordinates.d.ts +69 -0
- package/dist/types/ParallelCoordinates/PureParallelCoordinates/PureParallelCoordinates.d.ts.map +1 -0
- package/dist/types/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesCanvas.d.ts +30 -0
- package/dist/types/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesCanvas.d.ts.map +1 -0
- package/dist/types/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesChart.d.ts +42 -0
- package/dist/types/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesChart.d.ts.map +1 -0
- package/dist/types/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesPrompt.d.ts +22 -0
- package/dist/types/ParallelCoordinates/PureParallelCoordinates/src/ParallelCoordinatesPrompt.d.ts.map +1 -0
- package/dist/types/ParallelCoordinates/config.d.ts +4 -0
- package/dist/types/ParallelCoordinates/config.d.ts.map +1 -0
- package/dist/types/ParallelCoordinates/index.d.ts +3 -0
- package/dist/types/ParallelCoordinates/index.d.ts.map +1 -0
- package/dist/types/ParallelCoordinates/mockdata/arrayValueData.d.ts +6 -0
- package/dist/types/ParallelCoordinates/mockdata/arrayValueData.d.ts.map +1 -0
- package/dist/types/ParallelCoordinates/mockdata/sampleCarData.d.ts +6 -0
- package/dist/types/ParallelCoordinates/mockdata/sampleCarData.d.ts.map +1 -0
- package/dist/types/ParallelCoordinates/mockdata/sampleCarNumericalData.d.ts +6 -0
- package/dist/types/ParallelCoordinates/mockdata/sampleCarNumericalData.d.ts.map +1 -0
- package/dist/types/ParallelCoordinates/mockdata/sampleFoodData.d.ts +6 -0
- package/dist/types/ParallelCoordinates/mockdata/sampleFoodData.d.ts.map +1 -0
- package/dist/types/ParallelCoordinates/mockdata/sampleStringNumericalData.d.ts +6 -0
- package/dist/types/ParallelCoordinates/mockdata/sampleStringNumericalData.d.ts.map +1 -0
- package/dist/types/Pie/Pie.d.ts +15 -0
- package/dist/types/Pie/Pie.d.ts.map +1 -0
- package/dist/types/Pie/config.d.ts +4 -0
- package/dist/types/Pie/config.d.ts.map +1 -0
- package/dist/types/Pie/index.d.ts +3 -0
- package/dist/types/Pie/index.d.ts.map +1 -0
- package/dist/types/Pie/pieUtils.d.ts +78 -0
- package/dist/types/Pie/pieUtils.d.ts.map +1 -0
- package/dist/types/Punchcard/Punchcard.d.ts +13 -0
- package/dist/types/Punchcard/Punchcard.d.ts.map +1 -0
- package/dist/types/Punchcard/PurePunchcard/Punchcard.d.ts +40 -0
- package/dist/types/Punchcard/PurePunchcard/Punchcard.d.ts.map +1 -0
- package/dist/types/Punchcard/PurePunchcard/src/PunchcardAxis.d.ts +20 -0
- package/dist/types/Punchcard/PurePunchcard/src/PunchcardAxis.d.ts.map +1 -0
- package/dist/types/Punchcard/PurePunchcard/src/PunchcardBubble.d.ts +27 -0
- package/dist/types/Punchcard/PurePunchcard/src/PunchcardBubble.d.ts.map +1 -0
- package/dist/types/Punchcard/PurePunchcard/src/PunchcardChartArea.d.ts +40 -0
- package/dist/types/Punchcard/PurePunchcard/src/PunchcardChartArea.d.ts.map +1 -0
- package/dist/types/Punchcard/PurePunchcard/src/PunchcardGridLines.d.ts +17 -0
- package/dist/types/Punchcard/PurePunchcard/src/PunchcardGridLines.d.ts.map +1 -0
- package/dist/types/Punchcard/PurePunchcard/src/PunchcardLegend.d.ts +21 -0
- package/dist/types/Punchcard/PurePunchcard/src/PunchcardLegend.d.ts.map +1 -0
- package/dist/types/Punchcard/PurePunchcard/src/PunchcardRow.d.ts +10 -0
- package/dist/types/Punchcard/PurePunchcard/src/PunchcardRow.d.ts.map +1 -0
- package/dist/types/Punchcard/PurePunchcard/src/utils/punchcardUtils.d.ts +285 -0
- package/dist/types/Punchcard/PurePunchcard/src/utils/punchcardUtils.d.ts.map +1 -0
- package/dist/types/Punchcard/config.d.ts +4 -0
- package/dist/types/Punchcard/config.d.ts.map +1 -0
- package/dist/types/Punchcard/index.d.ts +3 -0
- package/dist/types/Punchcard/index.d.ts.map +1 -0
- package/dist/types/Punchcard/punchcardUtils.d.ts +32 -0
- package/dist/types/Punchcard/punchcardUtils.d.ts.map +1 -0
- package/dist/types/Rectangle/Rectangle.d.ts +14 -0
- package/dist/types/Rectangle/Rectangle.d.ts.map +1 -0
- package/dist/types/Rectangle/config.d.ts +4 -0
- package/dist/types/Rectangle/config.d.ts.map +1 -0
- package/dist/types/Rectangle/index.d.ts +3 -0
- package/dist/types/Rectangle/index.d.ts.map +1 -0
- package/dist/types/Sankey/PureSankey/PureSankey.d.ts +98 -0
- package/dist/types/Sankey/PureSankey/PureSankey.d.ts.map +1 -0
- package/dist/types/Sankey/PureSankey/SankeyLink.d.ts +33 -0
- package/dist/types/Sankey/PureSankey/SankeyLink.d.ts.map +1 -0
- package/dist/types/Sankey/PureSankey/SankeyModels.d.ts +48 -0
- package/dist/types/Sankey/PureSankey/SankeyModels.d.ts.map +1 -0
- package/dist/types/Sankey/PureSankey/SankeyNode.d.ts +38 -0
- package/dist/types/Sankey/PureSankey/SankeyNode.d.ts.map +1 -0
- package/dist/types/Sankey/PureSankey/SankeyTooltip.d.ts +43 -0
- package/dist/types/Sankey/PureSankey/SankeyTooltip.d.ts.map +1 -0
- package/dist/types/Sankey/PureSankey/SankeyUtils.d.ts +20 -0
- package/dist/types/Sankey/PureSankey/SankeyUtils.d.ts.map +1 -0
- package/dist/types/Sankey/PureSankey/mockdata/data.d.ts +35 -0
- package/dist/types/Sankey/PureSankey/mockdata/data.d.ts.map +1 -0
- package/dist/types/Sankey/Sankey.d.ts +31 -0
- package/dist/types/Sankey/Sankey.d.ts.map +1 -0
- package/dist/types/Sankey/config.d.ts +4 -0
- package/dist/types/Sankey/config.d.ts.map +1 -0
- package/dist/types/Sankey/index.d.ts +3 -0
- package/dist/types/Sankey/index.d.ts.map +1 -0
- package/dist/types/Scatter/Scatter.d.ts +11 -0
- package/dist/types/Scatter/Scatter.d.ts.map +1 -0
- package/dist/types/Scatter/config.d.ts +4 -0
- package/dist/types/Scatter/config.d.ts.map +1 -0
- package/dist/types/Scatter/index.d.ts +3 -0
- package/dist/types/Scatter/index.d.ts.map +1 -0
- package/dist/types/Scatter/mockdata/data.d.ts +35 -0
- package/dist/types/Scatter/mockdata/data.d.ts.map +1 -0
- package/dist/types/Scatter/scatterUtils.d.ts +47 -0
- package/dist/types/Scatter/scatterUtils.d.ts.map +1 -0
- package/dist/types/SingleValue/SingleValue.d.ts +16 -0
- package/dist/types/SingleValue/SingleValue.d.ts.map +1 -0
- package/dist/types/SingleValue/config.d.ts +4 -0
- package/dist/types/SingleValue/config.d.ts.map +1 -0
- package/dist/types/SingleValue/index.d.ts +3 -0
- package/dist/types/SingleValue/index.d.ts.map +1 -0
- package/dist/types/SingleValueBasic/index.d.ts +3 -0
- package/dist/types/SingleValueBasic/index.d.ts.map +1 -0
- package/dist/types/SingleValueIcon/SingleValueIcon.d.ts +29 -0
- package/dist/types/SingleValueIcon/SingleValueIcon.d.ts.map +1 -0
- package/dist/types/SingleValueIcon/config.d.ts +4 -0
- package/dist/types/SingleValueIcon/config.d.ts.map +1 -0
- package/dist/types/SingleValueIcon/index.d.ts +3 -0
- package/dist/types/SingleValueIcon/index.d.ts.map +1 -0
- package/dist/types/SingleValueRadial/PureSingleValueRadial/GaugeGraph.d.ts +20 -0
- package/dist/types/SingleValueRadial/PureSingleValueRadial/GaugeGraph.d.ts.map +1 -0
- package/dist/types/SingleValueRadial/PureSingleValueRadial/utils/gaugeUtils.d.ts +82 -0
- package/dist/types/SingleValueRadial/PureSingleValueRadial/utils/gaugeUtils.d.ts.map +1 -0
- package/dist/types/SingleValueRadial/SingleValueRadial.d.ts +17 -0
- package/dist/types/SingleValueRadial/SingleValueRadial.d.ts.map +1 -0
- package/dist/types/SingleValueRadial/config.d.ts +4 -0
- package/dist/types/SingleValueRadial/config.d.ts.map +1 -0
- package/dist/types/SingleValueRadial/index.d.ts +3 -0
- package/dist/types/SingleValueRadial/index.d.ts.map +1 -0
- package/dist/types/SparkLine/index.d.ts +2 -0
- package/dist/types/SparkLine/index.d.ts.map +1 -0
- package/dist/types/Table/PureTable.d.ts +50 -0
- package/dist/types/Table/PureTable.d.ts.map +1 -0
- package/dist/types/Table/Table.d.ts +10 -0
- package/dist/types/Table/Table.d.ts.map +1 -0
- package/dist/types/Table/cells/ArrayCell.d.ts +12 -0
- package/dist/types/Table/cells/ArrayCell.d.ts.map +1 -0
- package/dist/types/Table/cells/SparklineCell.d.ts +13 -0
- package/dist/types/Table/cells/SparklineCell.d.ts.map +1 -0
- package/dist/types/Table/cells/SwitchTableCell.d.ts +5 -0
- package/dist/types/Table/cells/SwitchTableCell.d.ts.map +1 -0
- package/dist/types/Table/cells/TextCell.d.ts +12 -0
- package/dist/types/Table/cells/TextCell.d.ts.map +1 -0
- package/dist/types/Table/cells/index.d.ts +5 -0
- package/dist/types/Table/cells/index.d.ts.map +1 -0
- package/dist/types/Table/config.d.ts +4 -0
- package/dist/types/Table/config.d.ts.map +1 -0
- package/dist/types/Table/hooks.d.ts +130 -0
- package/dist/types/Table/hooks.d.ts.map +1 -0
- package/dist/types/Table/index.d.ts +3 -0
- package/dist/types/Table/index.d.ts.map +1 -0
- package/dist/types/Timeline/PureTimeline/PureTimeline.d.ts +81 -0
- package/dist/types/Timeline/PureTimeline/PureTimeline.d.ts.map +1 -0
- package/dist/types/Timeline/PureTimeline/src/CursorPlugin.d.ts +8 -0
- package/dist/types/Timeline/PureTimeline/src/CursorPlugin.d.ts.map +1 -0
- package/dist/types/Timeline/PureTimeline/src/TimelineLegend.d.ts +28 -0
- package/dist/types/Timeline/PureTimeline/src/TimelineLegend.d.ts.map +1 -0
- package/dist/types/Timeline/PureTimeline/src/TimelinePlugin.d.ts +16 -0
- package/dist/types/Timeline/PureTimeline/src/TimelinePlugin.d.ts.map +1 -0
- package/dist/types/Timeline/PureTimeline/src/TimelineTooltip.d.ts +11 -0
- package/dist/types/Timeline/PureTimeline/src/TimelineTooltip.d.ts.map +1 -0
- package/dist/types/Timeline/PureTimeline/src/TimelineUplot.d.ts +22 -0
- package/dist/types/Timeline/PureTimeline/src/TimelineUplot.d.ts.map +1 -0
- package/dist/types/Timeline/PureTimeline/src/TimelineYAxis.d.ts +20 -0
- package/dist/types/Timeline/PureTimeline/src/TimelineYAxis.d.ts.map +1 -0
- package/dist/types/Timeline/PureTimeline/src/XAxisPlugin.d.ts +18 -0
- package/dist/types/Timeline/PureTimeline/src/XAxisPlugin.d.ts.map +1 -0
- package/dist/types/Timeline/PureTimeline/src/utils/timelineUtils.d.ts +34 -0
- package/dist/types/Timeline/PureTimeline/src/utils/timelineUtils.d.ts.map +1 -0
- package/dist/types/Timeline/Timeline.d.ts +22 -0
- package/dist/types/Timeline/Timeline.d.ts.map +1 -0
- package/dist/types/Timeline/config.d.ts +4 -0
- package/dist/types/Timeline/config.d.ts.map +1 -0
- package/dist/types/Timeline/index.d.ts +3 -0
- package/dist/types/Timeline/index.d.ts.map +1 -0
- package/dist/types/Timeline/mockdata/basicTimelineData.d.ts +76 -0
- package/dist/types/Timeline/mockdata/basicTimelineData.d.ts.map +1 -0
- package/dist/types/Timeline/mockdata/categoricalTimelineData.d.ts +31 -0
- package/dist/types/Timeline/mockdata/categoricalTimelineData.d.ts.map +1 -0
- package/dist/types/Timeline/mockdata/timelineDataSource.d.ts +52 -0
- package/dist/types/Timeline/mockdata/timelineDataSource.d.ts.map +1 -0
- package/dist/types/common/Charting.d.ts +46 -0
- package/dist/types/common/Charting.d.ts.map +1 -0
- package/dist/types/common/ChartingApi.d.ts +36 -0
- package/dist/types/common/ChartingApi.d.ts.map +1 -0
- package/dist/types/common/DocExampleWithVizSandbox.d.ts +22 -0
- package/dist/types/common/DocExampleWithVizSandbox.d.ts.map +1 -0
- package/dist/types/common/OverviewDoc.d.ts +20 -0
- package/dist/types/common/OverviewDoc.d.ts.map +1 -0
- package/dist/types/common/SplunkVisualization.d.ts +16 -0
- package/dist/types/common/SplunkVisualization.d.ts.map +1 -0
- package/dist/types/common/SplunkVisualizationApi.d.ts +16 -0
- package/dist/types/common/SplunkVisualizationApi.d.ts.map +1 -0
- package/dist/types/common/ThemedDefaults.d.ts +2 -0
- package/dist/types/common/ThemedDefaults.d.ts.map +1 -0
- package/dist/types/common/TimeSeriesChartWrapper.d.ts +7 -0
- package/dist/types/common/TimeSeriesChartWrapper.d.ts.map +1 -0
- package/dist/types/common/chartingUtils.d.ts +164 -0
- package/dist/types/common/chartingUtils.d.ts.map +1 -0
- package/dist/types/common/components/IconPlaceholder.d.ts +21 -0
- package/dist/types/common/components/IconPlaceholder.d.ts.map +1 -0
- package/dist/types/common/components/MissingPropsMessage.d.ts +28 -0
- package/dist/types/common/components/MissingPropsMessage.d.ts.map +1 -0
- package/dist/types/common/components/TrellisTitle.d.ts +10 -0
- package/dist/types/common/components/TrellisTitle.d.ts.map +1 -0
- package/dist/types/common/configContext/singleValueContext.d.ts +3 -0
- package/dist/types/common/configContext/singleValueContext.d.ts.map +1 -0
- package/dist/types/common/docUtils.d.ts +24 -0
- package/dist/types/common/docUtils.d.ts.map +1 -0
- package/dist/types/common/editorConfig/AxesChartColorAndStyle.d.ts +5 -0
- package/dist/types/common/editorConfig/AxesChartColorAndStyle.d.ts.map +1 -0
- package/dist/types/common/editorConfig/AxesChartDataConfig.d.ts +31 -0
- package/dist/types/common/editorConfig/AxesChartDataConfig.d.ts.map +1 -0
- package/dist/types/common/editorConfig/AxesChartDataDisplay.d.ts +14 -0
- package/dist/types/common/editorConfig/AxesChartDataDisplay.d.ts.map +1 -0
- package/dist/types/common/editorConfig/AxesChartLegend.d.ts +8 -0
- package/dist/types/common/editorConfig/AxesChartLegend.d.ts.map +1 -0
- package/dist/types/common/editorConfig/AxesChartXGridAndLabels.d.ts +6 -0
- package/dist/types/common/editorConfig/AxesChartXGridAndLabels.d.ts.map +1 -0
- package/dist/types/common/editorConfig/AxesChartY2GridAndLabels.d.ts +11 -0
- package/dist/types/common/editorConfig/AxesChartY2GridAndLabels.d.ts.map +1 -0
- package/dist/types/common/editorConfig/AxesChartYGridAndLabels.d.ts +4 -0
- package/dist/types/common/editorConfig/AxesChartYGridAndLabels.d.ts.map +1 -0
- package/dist/types/common/editorConfig/BackgroundColor.d.ts +10 -0
- package/dist/types/common/editorConfig/BackgroundColor.d.ts.map +1 -0
- package/dist/types/common/editorConfig/DynamicFillColorEditor.d.ts +29 -0
- package/dist/types/common/editorConfig/DynamicFillColorEditor.d.ts.map +1 -0
- package/dist/types/common/editorConfig/DynamicGaugeColorEditor.d.ts +29 -0
- package/dist/types/common/editorConfig/DynamicGaugeColorEditor.d.ts.map +1 -0
- package/dist/types/common/editorConfig/DynamicStrokeColorEditor.d.ts +29 -0
- package/dist/types/common/editorConfig/DynamicStrokeColorEditor.d.ts.map +1 -0
- package/dist/types/common/editorConfig/Gauge.d.ts +4 -0
- package/dist/types/common/editorConfig/Gauge.d.ts.map +1 -0
- package/dist/types/common/editorConfig/Legend.d.ts +4 -0
- package/dist/types/common/editorConfig/Legend.d.ts.map +1 -0
- package/dist/types/common/editorConfig/RadialBackgroundColor.d.ts +10 -0
- package/dist/types/common/editorConfig/RadialBackgroundColor.d.ts.map +1 -0
- package/dist/types/common/editorConfig/StaticFillColorEditor.d.ts +10 -0
- package/dist/types/common/editorConfig/StaticFillColorEditor.d.ts.map +1 -0
- package/dist/types/common/editorConfig/StaticGaugeColorEditor.d.ts +10 -0
- package/dist/types/common/editorConfig/StaticGaugeColorEditor.d.ts.map +1 -0
- package/dist/types/common/editorConfig/StaticStrokeColorEditor.d.ts +10 -0
- package/dist/types/common/editorConfig/StaticStrokeColorEditor.d.ts.map +1 -0
- package/dist/types/common/editorConfig/TrellisEditors.d.ts +66 -0
- package/dist/types/common/editorConfig/TrellisEditors.d.ts.map +1 -0
- package/dist/types/common/gaugeUtils.d.ts +387 -0
- package/dist/types/common/gaugeUtils.d.ts.map +1 -0
- package/dist/types/common/hocs/FixedSizeContainer.d.ts +9 -0
- package/dist/types/common/hocs/FixedSizeContainer.d.ts.map +1 -0
- package/dist/types/common/hocs/mockdata/trellisData.d.ts +1288 -0
- package/dist/types/common/hocs/mockdata/trellisData.d.ts.map +1 -0
- package/dist/types/common/hocs/withEditModeCover.d.ts +10 -0
- package/dist/types/common/hocs/withEditModeCover.d.ts.map +1 -0
- package/dist/types/common/hocs/withPlaceholder.d.ts +8 -0
- package/dist/types/common/hocs/withPlaceholder.d.ts.map +1 -0
- package/dist/types/common/hocs/withTrellis.d.ts +18 -0
- package/dist/types/common/hocs/withTrellis.d.ts.map +1 -0
- package/dist/types/common/hooks/useDeepMemo.d.ts +15 -0
- package/dist/types/common/hooks/useDeepMemo.d.ts.map +1 -0
- package/dist/types/common/hooks/useDownsampleDataSources.d.ts +7 -0
- package/dist/types/common/hooks/useDownsampleDataSources.d.ts.map +1 -0
- package/dist/types/common/hooks/useEventCallback.d.ts +9 -0
- package/dist/types/common/hooks/useEventCallback.d.ts.map +1 -0
- package/dist/types/common/hooks/useGetXAndYFields.d.ts +10 -0
- package/dist/types/common/hooks/useGetXAndYFields.d.ts.map +1 -0
- package/dist/types/common/hooks/usePagination.d.ts +21 -0
- package/dist/types/common/hooks/usePagination.d.ts.map +1 -0
- package/dist/types/common/hooks/usePrevious.d.ts +2 -0
- package/dist/types/common/hooks/usePrevious.d.ts.map +1 -0
- package/dist/types/common/hooks/useSorting.d.ts +17 -0
- package/dist/types/common/hooks/useSorting.d.ts.map +1 -0
- package/dist/types/common/hooks/useTrellisEnabled.d.ts +4 -0
- package/dist/types/common/hooks/useTrellisEnabled.d.ts.map +1 -0
- package/dist/types/common/interfaces/ChartEvent.d.ts +26 -0
- package/dist/types/common/interfaces/ChartEvent.d.ts.map +1 -0
- package/dist/types/common/interfaces/DashboardVizProps.d.ts +27 -0
- package/dist/types/common/interfaces/DashboardVizProps.d.ts.map +1 -0
- package/dist/types/common/interfaces/DataContract.d.ts +19 -0
- package/dist/types/common/interfaces/DataContract.d.ts.map +1 -0
- package/dist/types/common/interfaces/DataSource.d.ts +45 -0
- package/dist/types/common/interfaces/DataSource.d.ts.map +1 -0
- package/dist/types/common/interfaces/DefaultContext.d.ts +30 -0
- package/dist/types/common/interfaces/DefaultContext.d.ts.map +1 -0
- package/dist/types/common/interfaces/Editor.d.ts +23 -0
- package/dist/types/common/interfaces/Editor.d.ts.map +1 -0
- package/dist/types/common/interfaces/ExtendedDashViz.d.ts +7 -0
- package/dist/types/common/interfaces/ExtendedDashViz.d.ts.map +1 -0
- package/dist/types/common/interfaces/Object.d.ts +4 -0
- package/dist/types/common/interfaces/Object.d.ts.map +1 -0
- package/dist/types/common/interfaces/Overview.d.ts +14 -0
- package/dist/types/common/interfaces/Overview.d.ts.map +1 -0
- package/dist/types/common/interfaces/ThemedDefaults.d.ts +5 -0
- package/dist/types/common/interfaces/ThemedDefaults.d.ts.map +1 -0
- package/dist/types/common/interfaces/VizActionHandler.d.ts +15 -0
- package/dist/types/common/interfaces/VizActionHandler.d.ts.map +1 -0
- package/dist/types/common/interfaces/VizBehavior.d.ts +25 -0
- package/dist/types/common/interfaces/VizBehavior.d.ts.map +1 -0
- package/dist/types/common/interfaces/VizCategory.d.ts +16 -0
- package/dist/types/common/interfaces/VizCategory.d.ts.map +1 -0
- package/dist/types/common/interfaces/VizConfig.d.ts +34 -0
- package/dist/types/common/interfaces/VizConfig.d.ts.map +1 -0
- package/dist/types/common/interfaces/VizEvent.d.ts +13 -0
- package/dist/types/common/interfaces/VizEvent.d.ts.map +1 -0
- package/dist/types/common/interfaces/VizProps.d.ts +8 -0
- package/dist/types/common/interfaces/VizProps.d.ts.map +1 -0
- package/dist/types/common/interfaces/VizRegistry.d.ts +7 -0
- package/dist/types/common/interfaces/VizRegistry.d.ts.map +1 -0
- package/dist/types/common/interfaces/VizSize.d.ts +8 -0
- package/dist/types/common/interfaces/VizSize.d.ts.map +1 -0
- package/dist/types/common/interfaces/VizStatus.d.ts +2 -0
- package/dist/types/common/interfaces/VizStatus.d.ts.map +1 -0
- package/dist/types/common/interfaces/index.d.ts +19 -0
- package/dist/types/common/interfaces/index.d.ts.map +1 -0
- package/dist/types/common/shapeUtils.d.ts +26 -0
- package/dist/types/common/shapeUtils.d.ts.map +1 -0
- package/dist/types/common/utils/configUtils.d.ts +59 -0
- package/dist/types/common/utils/configUtils.d.ts.map +1 -0
- package/dist/types/common/utils/dataUtils.d.ts +31 -0
- package/dist/types/common/utils/dataUtils.d.ts.map +1 -0
- package/dist/types/common/utils/featureFlagUtils.d.ts +3 -0
- package/dist/types/common/utils/featureFlagUtils.d.ts.map +1 -0
- package/dist/types/common/utils/hocUtils.d.ts +12 -0
- package/dist/types/common/utils/hocUtils.d.ts.map +1 -0
- package/dist/types/common/utils/mapUtils.d.ts +2 -0
- package/dist/types/common/utils/mapUtils.d.ts.map +1 -0
- package/dist/types/common/utils/styleUtils.d.ts +2 -0
- package/dist/types/common/utils/styleUtils.d.ts.map +1 -0
- package/dist/types/common/utils/tableUtils.d.ts +3 -0
- package/dist/types/common/utils/tableUtils.d.ts.map +1 -0
- package/dist/types/common/utils/trellisUtils.d.ts +60 -0
- package/dist/types/common/utils/trellisUtils.d.ts.map +1 -0
- package/dist/types/common/utils/urlUtils.d.ts +2 -0
- package/dist/types/common/utils/urlUtils.d.ts.map +1 -0
- package/dist/types/common/withDashboardViz.d.ts +22 -0
- package/dist/types/common/withDashboardViz.d.ts.map +1 -0
- package/package.json +32 -34
|
@@ -0,0 +1,485 @@
|
|
|
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 __create = Object.create;
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __defProps = Object.defineProperties;
|
|
8
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
9
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
10
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
11
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
12
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
13
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
15
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
16
|
+
var __spreadValues = (a, b) => {
|
|
17
|
+
for (var prop in b || (b = {}))
|
|
18
|
+
if (__hasOwnProp.call(b, prop))
|
|
19
|
+
__defNormalProp(a, prop, b[prop]);
|
|
20
|
+
if (__getOwnPropSymbols)
|
|
21
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
22
|
+
if (__propIsEnum.call(b, prop))
|
|
23
|
+
__defNormalProp(a, prop, b[prop]);
|
|
24
|
+
}
|
|
25
|
+
return a;
|
|
26
|
+
};
|
|
27
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
28
|
+
var __export = (target, all) => {
|
|
29
|
+
for (var name in all)
|
|
30
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
31
|
+
};
|
|
32
|
+
var __copyProps = (to, from, except, desc) => {
|
|
33
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
34
|
+
for (let key of __getOwnPropNames(from))
|
|
35
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
36
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
37
|
+
}
|
|
38
|
+
return to;
|
|
39
|
+
};
|
|
40
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
41
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
42
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
43
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
44
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
45
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
46
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
47
|
+
mod
|
|
48
|
+
));
|
|
49
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
50
|
+
|
|
51
|
+
// src/common/TimeSeriesChartWrapper.tsx
|
|
52
|
+
var TimeSeriesChartWrapper_exports = {};
|
|
53
|
+
__export(TimeSeriesChartWrapper_exports, {
|
|
54
|
+
default: () => TimeSeriesChartWrapper_default,
|
|
55
|
+
handleClick: () => handleClick,
|
|
56
|
+
handleLegendClick: () => handleLegendClick
|
|
57
|
+
});
|
|
58
|
+
module.exports = __toCommonJS(TimeSeriesChartWrapper_exports);
|
|
59
|
+
|
|
60
|
+
// esm-externals:react
|
|
61
|
+
var react_exports = {};
|
|
62
|
+
__export(react_exports, {
|
|
63
|
+
default: () => react_default
|
|
64
|
+
});
|
|
65
|
+
var defaultImport = __toESM(require("react"));
|
|
66
|
+
__reExport(react_exports, require("react"));
|
|
67
|
+
var react_default = "default" in defaultImport ? defaultImport.default : defaultImport;
|
|
68
|
+
|
|
69
|
+
// esm-externals:lodash
|
|
70
|
+
var lodash_exports = {};
|
|
71
|
+
__export(lodash_exports, {
|
|
72
|
+
default: () => lodash_default
|
|
73
|
+
});
|
|
74
|
+
var defaultImport2 = __toESM(require("lodash"));
|
|
75
|
+
__reExport(lodash_exports, require("lodash"));
|
|
76
|
+
var lodash_default = "default" in defaultImport2 ? defaultImport2.default : defaultImport2;
|
|
77
|
+
|
|
78
|
+
// esm-externals:styled-components
|
|
79
|
+
var styled_components_exports = {};
|
|
80
|
+
__export(styled_components_exports, {
|
|
81
|
+
default: () => styled_components_default
|
|
82
|
+
});
|
|
83
|
+
var defaultImport3 = __toESM(require("styled-components"));
|
|
84
|
+
__reExport(styled_components_exports, require("styled-components"));
|
|
85
|
+
var styled_components_default = "default" in defaultImport3 ? defaultImport3.default : defaultImport3;
|
|
86
|
+
|
|
87
|
+
// esm-externals:@splunk/visualizations-shared/SizeAwareWrapper
|
|
88
|
+
var SizeAwareWrapper_exports = {};
|
|
89
|
+
__export(SizeAwareWrapper_exports, {
|
|
90
|
+
default: () => SizeAwareWrapper_default
|
|
91
|
+
});
|
|
92
|
+
var defaultImport4 = __toESM(require("@splunk/visualizations-shared/SizeAwareWrapper"));
|
|
93
|
+
__reExport(SizeAwareWrapper_exports, require("@splunk/visualizations-shared/SizeAwareWrapper"));
|
|
94
|
+
var SizeAwareWrapper_default = "default" in defaultImport4 ? defaultImport4.default : defaultImport4;
|
|
95
|
+
|
|
96
|
+
// esm-externals:@splunk/visualization-canvas
|
|
97
|
+
var visualization_canvas_exports = {};
|
|
98
|
+
__export(visualization_canvas_exports, {
|
|
99
|
+
default: () => visualization_canvas_default
|
|
100
|
+
});
|
|
101
|
+
var defaultImport5 = __toESM(require("@splunk/visualization-canvas"));
|
|
102
|
+
__reExport(visualization_canvas_exports, require("@splunk/visualization-canvas"));
|
|
103
|
+
var visualization_canvas_default = "default" in defaultImport5 ? defaultImport5.default : defaultImport5;
|
|
104
|
+
|
|
105
|
+
// esm-externals:@splunk/visualizations-shared/style
|
|
106
|
+
var style_exports = {};
|
|
107
|
+
__export(style_exports, {
|
|
108
|
+
default: () => style_default
|
|
109
|
+
});
|
|
110
|
+
var defaultImport6 = __toESM(require("@splunk/visualizations-shared/style"));
|
|
111
|
+
__reExport(style_exports, require("@splunk/visualizations-shared/style"));
|
|
112
|
+
var style_default = "default" in defaultImport6 ? defaultImport6.default : defaultImport6;
|
|
113
|
+
|
|
114
|
+
// src/common/components/VizStyleWrapper.jsx
|
|
115
|
+
var VizStyleWrapper = styled_components_default.div.attrs(({ dataTestKey }) => ({
|
|
116
|
+
"data-test": dataTestKey,
|
|
117
|
+
"data-testid": dataTestKey
|
|
118
|
+
}))`
|
|
119
|
+
display: flex;
|
|
120
|
+
justify-content: center;
|
|
121
|
+
flex-direction: column;
|
|
122
|
+
width: 100%;
|
|
123
|
+
height: 100%;
|
|
124
|
+
background-color: ${(props) => props.backgroundColor};
|
|
125
|
+
`;
|
|
126
|
+
VizStyleWrapper.displayName = "VizStyleWrapper";
|
|
127
|
+
var VizStyleWrapper_default = VizStyleWrapper;
|
|
128
|
+
|
|
129
|
+
// esm-externals:@splunk/themes/variables
|
|
130
|
+
var variables_exports = {};
|
|
131
|
+
__export(variables_exports, {
|
|
132
|
+
default: () => variables_default
|
|
133
|
+
});
|
|
134
|
+
var defaultImport7 = __toESM(require("@splunk/themes/variables"));
|
|
135
|
+
__reExport(variables_exports, require("@splunk/themes/variables"));
|
|
136
|
+
var variables_default = "default" in defaultImport7 ? defaultImport7.default : defaultImport7;
|
|
137
|
+
|
|
138
|
+
// esm-externals:@splunk/react-icons/Triangle
|
|
139
|
+
var Triangle_exports = {};
|
|
140
|
+
__export(Triangle_exports, {
|
|
141
|
+
default: () => Triangle_default
|
|
142
|
+
});
|
|
143
|
+
var defaultImport8 = __toESM(require("@splunk/react-icons/Triangle"));
|
|
144
|
+
__reExport(Triangle_exports, require("@splunk/react-icons/Triangle"));
|
|
145
|
+
var Triangle_default = "default" in defaultImport8 ? defaultImport8.default : defaultImport8;
|
|
146
|
+
|
|
147
|
+
// src/common/chartingUtils.ts
|
|
148
|
+
var DEFAULT_LINE_WIDTH = 2;
|
|
149
|
+
var getAnnotationsForCanvas = ({
|
|
150
|
+
annotationX,
|
|
151
|
+
annotationColor,
|
|
152
|
+
annotationLabel
|
|
153
|
+
}) => (annotationX == null ? void 0 : annotationX.length) ? annotationX.map((timestamp, i) => ({
|
|
154
|
+
key: annotationLabel == null ? void 0 : annotationLabel[i],
|
|
155
|
+
time: timestamp,
|
|
156
|
+
color: annotationColor == null ? void 0 : annotationColor[i]
|
|
157
|
+
})) : [];
|
|
158
|
+
var StyledTriangle = styled_components_default(Triangle_default)`
|
|
159
|
+
color: ${(props) => props.eventColor || variables_default.severityColorNotice(props)};
|
|
160
|
+
`;
|
|
161
|
+
var triangleEventAnnotationRenderer = ({ event }) => {
|
|
162
|
+
const eventWithColor = event;
|
|
163
|
+
return react_default.createElement(StyledTriangle, {
|
|
164
|
+
viewBox: "0 0 24 24",
|
|
165
|
+
variant: "filled",
|
|
166
|
+
eventColor: eventWithColor.color
|
|
167
|
+
});
|
|
168
|
+
};
|
|
169
|
+
var filterChartDataFromInternalFields = (chartData) => {
|
|
170
|
+
const { fields, columns } = chartData;
|
|
171
|
+
const keepIndexes = fields.reduce((acc, field, index) => {
|
|
172
|
+
const fieldName = typeof field === "object" ? field == null ? void 0 : field.name : field;
|
|
173
|
+
if (!(fieldName == null ? void 0 : fieldName.startsWith("_")) || fieldName === "_time") {
|
|
174
|
+
acc.push(index);
|
|
175
|
+
}
|
|
176
|
+
return acc;
|
|
177
|
+
}, []);
|
|
178
|
+
const filteredFields = keepIndexes.map((index) => fields[index]);
|
|
179
|
+
const filteredColumns = keepIndexes.map((index) => columns[index]);
|
|
180
|
+
return { fields: filteredFields, columns: filteredColumns };
|
|
181
|
+
};
|
|
182
|
+
var convert2DArrayToNumbers = (arr) => {
|
|
183
|
+
return arr.map((subArray) => subArray.map((element) => parseFloat(element)));
|
|
184
|
+
};
|
|
185
|
+
var SideLegendWidth = 75;
|
|
186
|
+
var commonLegendProps = { center: true, fontSize: 12, largerTiles: true, hideSeriesValue: true };
|
|
187
|
+
var getLegend = (props) => {
|
|
188
|
+
const legendPlacement = props == null ? void 0 : props.legendDisplay;
|
|
189
|
+
switch (legendPlacement) {
|
|
190
|
+
case "off":
|
|
191
|
+
return false;
|
|
192
|
+
case "left":
|
|
193
|
+
return (0, visualization_canvas_exports.LeftLegendFactory)(__spreadValues({
|
|
194
|
+
width: SideLegendWidth
|
|
195
|
+
}, commonLegendProps));
|
|
196
|
+
case "bottom":
|
|
197
|
+
return (0, visualization_canvas_exports.BottomLegendFactory)(__spreadValues({
|
|
198
|
+
wrap: true
|
|
199
|
+
}, commonLegendProps));
|
|
200
|
+
case "top":
|
|
201
|
+
return (0, visualization_canvas_exports.TopLegendFactory)(__spreadValues({
|
|
202
|
+
wrap: true
|
|
203
|
+
}, commonLegendProps));
|
|
204
|
+
default:
|
|
205
|
+
return (0, visualization_canvas_exports.SideLegendFactory)(__spreadValues({
|
|
206
|
+
width: SideLegendWidth
|
|
207
|
+
}, commonLegendProps));
|
|
208
|
+
}
|
|
209
|
+
};
|
|
210
|
+
var getComputedAxisTitles = (inputAxisTitle, fields, axisTitleVisibility) => {
|
|
211
|
+
if (axisTitleVisibility === "collapsed") {
|
|
212
|
+
return "";
|
|
213
|
+
}
|
|
214
|
+
let fieldTitle = fields.length > 1 ? "" : fields[0];
|
|
215
|
+
if (!fieldTitle) {
|
|
216
|
+
fieldTitle = "";
|
|
217
|
+
}
|
|
218
|
+
return (inputAxisTitle == null ? void 0 : inputAxisTitle.length) ? inputAxisTitle.trim() : fieldTitle;
|
|
219
|
+
};
|
|
220
|
+
var ellipsisAxisTitle = (axisTitle, containerSpacing, fontSize = 12) => {
|
|
221
|
+
if (!axisTitle) {
|
|
222
|
+
return "";
|
|
223
|
+
}
|
|
224
|
+
if (Number.isNaN(containerSpacing) || containerSpacing <= 0) {
|
|
225
|
+
return axisTitle;
|
|
226
|
+
}
|
|
227
|
+
const availableHeight = containerSpacing * 0.6;
|
|
228
|
+
const avgCharWidth = fontSize * 0.55;
|
|
229
|
+
const maxChars = Math.floor(availableHeight / avgCharWidth);
|
|
230
|
+
if (axisTitle.length <= maxChars) {
|
|
231
|
+
return axisTitle;
|
|
232
|
+
}
|
|
233
|
+
if (maxChars <= 3) {
|
|
234
|
+
return "...";
|
|
235
|
+
}
|
|
236
|
+
const availableChars = maxChars - 3;
|
|
237
|
+
const halfChars = Math.floor(availableChars / 2);
|
|
238
|
+
const start = axisTitle.slice(0, halfChars);
|
|
239
|
+
const end = axisTitle.slice(-halfChars);
|
|
240
|
+
return `${start}...${end}`;
|
|
241
|
+
};
|
|
242
|
+
var getFieldName = (field) => {
|
|
243
|
+
const fieldName = typeof field === "object" ? field == null ? void 0 : field.name : field;
|
|
244
|
+
return fieldName;
|
|
245
|
+
};
|
|
246
|
+
var getFieldNames = (fields) => {
|
|
247
|
+
return fields.map((field) => getFieldName(field));
|
|
248
|
+
};
|
|
249
|
+
var getXScaleConfig = (label) => {
|
|
250
|
+
const xConfig = { x: {} };
|
|
251
|
+
xConfig.x.label = label;
|
|
252
|
+
return xConfig;
|
|
253
|
+
};
|
|
254
|
+
var getYScaleConfig = (label, yAxisAbbreviation, yAxisScale) => {
|
|
255
|
+
const scaleType = yAxisScale != null ? yAxisScale : "linear";
|
|
256
|
+
const yConfig = { y: {} };
|
|
257
|
+
yConfig.y.label = label;
|
|
258
|
+
yConfig.y.type = scaleType;
|
|
259
|
+
if (yAxisAbbreviation !== "none") {
|
|
260
|
+
yConfig.y.tickFmt = (v) => (0, visualization_canvas_exports.shortenNumber)(v, 1);
|
|
261
|
+
}
|
|
262
|
+
if (yAxisAbbreviation === "none") {
|
|
263
|
+
yConfig.y.width = 55;
|
|
264
|
+
} else {
|
|
265
|
+
yConfig.y.width = label && label.length > 0 ? 30 : 10;
|
|
266
|
+
}
|
|
267
|
+
return yConfig;
|
|
268
|
+
};
|
|
269
|
+
var getY2ScaleConfig = (label, axisAbbreviation, axisScale, roundAxisLabelsToInteger) => {
|
|
270
|
+
const y2Config = { y2: {} };
|
|
271
|
+
const scaleType = axisScale != null ? axisScale : "linear";
|
|
272
|
+
y2Config.y2.label = label;
|
|
273
|
+
y2Config.y2.side = "right";
|
|
274
|
+
y2Config.y2.showGrid = false;
|
|
275
|
+
y2Config.y2.type = scaleType;
|
|
276
|
+
if (axisAbbreviation !== "none") {
|
|
277
|
+
y2Config.y2.tickFmt = (v) => (0, visualization_canvas_exports.shortenNumber)(v, 1, roundAxisLabelsToInteger);
|
|
278
|
+
} else if (roundAxisLabelsToInteger) {
|
|
279
|
+
y2Config.y2.tickFmt = (v) => roundAxisLabelsToInteger ? Math.round(v).toString() : v.toString();
|
|
280
|
+
}
|
|
281
|
+
return y2Config;
|
|
282
|
+
};
|
|
283
|
+
var getSeriesOverrides = (yfields, y2fields, lineWidth, overlayFields, y2Enabled, nullValueMode) => {
|
|
284
|
+
const seriesConfig = {};
|
|
285
|
+
let spanGaps;
|
|
286
|
+
let replaceNullsWithZero;
|
|
287
|
+
if (nullValueMode === "gaps") {
|
|
288
|
+
spanGaps = false;
|
|
289
|
+
} else if (nullValueMode === "connect" || nullValueMode === "zero") {
|
|
290
|
+
spanGaps = true;
|
|
291
|
+
if (nullValueMode === "zero") {
|
|
292
|
+
replaceNullsWithZero = true;
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
yfields.forEach((field) => {
|
|
296
|
+
seriesConfig[field] = {
|
|
297
|
+
overrides: { width: lineWidth != null ? lineWidth : DEFAULT_LINE_WIDTH }
|
|
298
|
+
};
|
|
299
|
+
if (spanGaps !== void 0) {
|
|
300
|
+
seriesConfig[field].overrides.spanGaps = spanGaps;
|
|
301
|
+
}
|
|
302
|
+
if (y2Enabled) {
|
|
303
|
+
const shouldAssignToY2 = (
|
|
304
|
+
// If y2Fields are present, assign all y2Fields to y2 scale
|
|
305
|
+
(y2fields == null ? void 0 : y2fields.length) > 0 && y2fields.includes(field) || // Else, assign all overlayFields to y2 scale
|
|
306
|
+
(!y2fields || y2fields.length === 0) && (overlayFields == null ? void 0 : overlayFields.includes(field))
|
|
307
|
+
);
|
|
308
|
+
if (shouldAssignToY2) {
|
|
309
|
+
seriesConfig[field].overrides.scale = "y2";
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
if (overlayFields == null ? void 0 : overlayFields.includes(field)) {
|
|
313
|
+
seriesConfig[field].type = "line";
|
|
314
|
+
}
|
|
315
|
+
if (replaceNullsWithZero !== void 0) {
|
|
316
|
+
seriesConfig[field].replaceNullsWithZero = replaceNullsWithZero;
|
|
317
|
+
}
|
|
318
|
+
});
|
|
319
|
+
return seriesConfig;
|
|
320
|
+
};
|
|
321
|
+
|
|
322
|
+
// src/common/TimeSeriesChartWrapper.tsx
|
|
323
|
+
var TimeSeriesChartContainer = styled_components_default.div`
|
|
324
|
+
overflow: hidden;
|
|
325
|
+
${(props) => (0, style_exports.toDimension)((0, lodash_exports.pick)(props, ["width", "height"]))};
|
|
326
|
+
|
|
327
|
+
canvas {
|
|
328
|
+
position: absolute !important; // This is needed for canvas element export pdf/png to work correctly
|
|
329
|
+
}
|
|
330
|
+
`;
|
|
331
|
+
var handleClick = (chartEvent, props) => {
|
|
332
|
+
const payload = __spreadProps(__spreadValues({}, (0, lodash_exports.pick)(chartEvent, "value", "seriesKey")), {
|
|
333
|
+
name: chartEvent.seriesKey
|
|
334
|
+
});
|
|
335
|
+
delete payload.seriesKey;
|
|
336
|
+
const clickHandler = props == null ? void 0 : props.onClick;
|
|
337
|
+
if (clickHandler) {
|
|
338
|
+
clickHandler({
|
|
339
|
+
type: "point.click",
|
|
340
|
+
originalEvent: chartEvent,
|
|
341
|
+
payload
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
};
|
|
345
|
+
var handleLegendClick = (chartEvent, props) => {
|
|
346
|
+
const payload = {
|
|
347
|
+
name: chartEvent
|
|
348
|
+
};
|
|
349
|
+
const clickHandler = props == null ? void 0 : props.onClick;
|
|
350
|
+
if (clickHandler) {
|
|
351
|
+
clickHandler({
|
|
352
|
+
type: "legend.click",
|
|
353
|
+
originalEvent: chartEvent,
|
|
354
|
+
payload
|
|
355
|
+
});
|
|
356
|
+
}
|
|
357
|
+
};
|
|
358
|
+
var TimeSeriesChartWrapper = (props) => {
|
|
359
|
+
const { width, height, chartData, options, userLocale, annotationX, annotationLabel, annotationColor } = props;
|
|
360
|
+
const {
|
|
361
|
+
backgroundColor,
|
|
362
|
+
seriesColors: seriesColorsStr,
|
|
363
|
+
fieldColors,
|
|
364
|
+
"axisTitleX.text": xAxisTitleText,
|
|
365
|
+
"axisTitleY.text": yAxisTitleText,
|
|
366
|
+
"axisTitleY2.text": y2AxisTitleText,
|
|
367
|
+
"axisTitleX.visibility": xAxisTitleVisibility,
|
|
368
|
+
"axisTitleY.visibility": yAxisTitleVisibility,
|
|
369
|
+
"axisTitleY2.visibility": y2AxisTitleVisibility,
|
|
370
|
+
"axisY.abbreviation": yAxisAbbreviation,
|
|
371
|
+
"axisY.scale": yAxisScale,
|
|
372
|
+
"axisY2.abbreviation": y2AxisAbbreviation,
|
|
373
|
+
"axisY2.fields": y2FieldsStr,
|
|
374
|
+
"axisY2.scale": y2AxisScale,
|
|
375
|
+
"axisY2.enabled": y2Enabled,
|
|
376
|
+
"axisLabelsY2.integerUnits": y2IntegerUnits,
|
|
377
|
+
"chart.overlayFields": overlayFieldsStr,
|
|
378
|
+
"chart.nullValueMode": nullValueMode,
|
|
379
|
+
lineWidth
|
|
380
|
+
} = options;
|
|
381
|
+
const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
|
|
382
|
+
const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
|
|
383
|
+
const [containerWidth, setContainerWidth] = react_exports.useState(Number(props.width));
|
|
384
|
+
const [containerHeight, setContainerHeight] = react_exports.useState(Number(props.height));
|
|
385
|
+
const cachedHandleResize = react_exports.useCallback((w, h) => {
|
|
386
|
+
setContainerWidth(w);
|
|
387
|
+
setContainerHeight(h);
|
|
388
|
+
}, []);
|
|
389
|
+
const filteredChartData = filterChartDataFromInternalFields({
|
|
390
|
+
fields: chartData.fields,
|
|
391
|
+
columns: chartData.seriesList
|
|
392
|
+
});
|
|
393
|
+
const xField = getFieldName(filteredChartData.fields[0]);
|
|
394
|
+
const yFields = getFieldNames(
|
|
395
|
+
filteredChartData.fields.length > 1 ? filteredChartData.fields.slice(1) : []
|
|
396
|
+
);
|
|
397
|
+
const y2Fields = y2FieldsStr ? y2FieldsStr.split(",").map((f) => f.trim()) : [];
|
|
398
|
+
const overlayFields = overlayFieldsStr ? overlayFieldsStr.split(",").map((f) => f.trim()) : [];
|
|
399
|
+
let xAxisTitle = getComputedAxisTitles(xAxisTitleText, [xField], xAxisTitleVisibility);
|
|
400
|
+
xAxisTitle = ellipsisAxisTitle(xAxisTitle, containerWidth);
|
|
401
|
+
let yAxisTitle = getComputedAxisTitles(yAxisTitleText, yFields, yAxisTitleVisibility);
|
|
402
|
+
yAxisTitle = ellipsisAxisTitle(yAxisTitle, containerHeight);
|
|
403
|
+
const fieldsForY2Axis = y2Fields.length > 0 ? y2Fields : overlayFields;
|
|
404
|
+
let y2AxisTitle = getComputedAxisTitles(y2AxisTitleText, fieldsForY2Axis, y2AxisTitleVisibility);
|
|
405
|
+
y2AxisTitle = ellipsisAxisTitle(y2AxisTitle, containerHeight);
|
|
406
|
+
const xScaleConfig = getXScaleConfig(xAxisTitle);
|
|
407
|
+
const yScaleConfig = getYScaleConfig(yAxisTitle, yAxisAbbreviation, yAxisScale);
|
|
408
|
+
let y2ScaleConfig = {};
|
|
409
|
+
if (y2Enabled) {
|
|
410
|
+
y2ScaleConfig = getY2ScaleConfig(y2AxisTitle, y2AxisAbbreviation, y2AxisScale, y2IntegerUnits);
|
|
411
|
+
}
|
|
412
|
+
const uplotContainerElement = (0, react_exports.useRef)(null);
|
|
413
|
+
const seriesDataFormatted = [
|
|
414
|
+
filteredChartData.columns[0],
|
|
415
|
+
...convert2DArrayToNumbers(filteredChartData.columns.slice(1))
|
|
416
|
+
];
|
|
417
|
+
chartData.fields = filteredChartData.fields;
|
|
418
|
+
chartData.columns = seriesDataFormatted;
|
|
419
|
+
const seriesOverrides = getSeriesOverrides(
|
|
420
|
+
yFields,
|
|
421
|
+
y2Fields,
|
|
422
|
+
lineWidth,
|
|
423
|
+
overlayFields,
|
|
424
|
+
y2Enabled,
|
|
425
|
+
nullValueMode
|
|
426
|
+
);
|
|
427
|
+
const chartingEventAnnotations = getAnnotationsForCanvas({
|
|
428
|
+
annotationX,
|
|
429
|
+
annotationColor,
|
|
430
|
+
annotationLabel
|
|
431
|
+
});
|
|
432
|
+
const MemoizedChart = react_exports.memo(visualization_canvas_exports.TimeSeriesChart);
|
|
433
|
+
const scaleConfig = __spreadValues(__spreadValues(__spreadValues({}, xScaleConfig), yScaleConfig), y2ScaleConfig);
|
|
434
|
+
const memoizedChart = (0, react_exports.useMemo)(
|
|
435
|
+
() => /* @__PURE__ */ react_exports.createElement(
|
|
436
|
+
MemoizedChart,
|
|
437
|
+
{
|
|
438
|
+
data: chartData,
|
|
439
|
+
width: containerWidth,
|
|
440
|
+
height: containerHeight,
|
|
441
|
+
seriesColors,
|
|
442
|
+
seriesColorsByField,
|
|
443
|
+
seriesConfig: seriesOverrides,
|
|
444
|
+
legend: getLegend(props),
|
|
445
|
+
scaleConfig,
|
|
446
|
+
timestampFormat: "expanded",
|
|
447
|
+
onCrosshairClick: (event) => handleClick(event, props),
|
|
448
|
+
onSeriesClick: (event) => handleLegendClick(event, props),
|
|
449
|
+
userLocale,
|
|
450
|
+
events: chartingEventAnnotations,
|
|
451
|
+
eventsConfig: { renderer: triangleEventAnnotationRenderer }
|
|
452
|
+
}
|
|
453
|
+
),
|
|
454
|
+
[
|
|
455
|
+
MemoizedChart,
|
|
456
|
+
chartData,
|
|
457
|
+
containerWidth,
|
|
458
|
+
containerHeight,
|
|
459
|
+
seriesColors,
|
|
460
|
+
seriesColorsByField,
|
|
461
|
+
seriesOverrides,
|
|
462
|
+
lineWidth,
|
|
463
|
+
props,
|
|
464
|
+
scaleConfig,
|
|
465
|
+
userLocale,
|
|
466
|
+
chartingEventAnnotations
|
|
467
|
+
]
|
|
468
|
+
);
|
|
469
|
+
const memoizedVisualization = (0, react_exports.useMemo)(() => {
|
|
470
|
+
return /* @__PURE__ */ react_exports.createElement(VizStyleWrapper_default, { backgroundColor }, memoizedChart);
|
|
471
|
+
}, [backgroundColor]);
|
|
472
|
+
return /* @__PURE__ */ react_exports.createElement(
|
|
473
|
+
TimeSeriesChartContainer,
|
|
474
|
+
{
|
|
475
|
+
height,
|
|
476
|
+
width,
|
|
477
|
+
ref: uplotContainerElement,
|
|
478
|
+
"data-test": "timeseries-chart-wrapper"
|
|
479
|
+
},
|
|
480
|
+
/* @__PURE__ */ react_exports.createElement(SizeAwareWrapper_default, { width, height, onResize: cachedHandleResize }),
|
|
481
|
+
memoizedVisualization
|
|
482
|
+
);
|
|
483
|
+
};
|
|
484
|
+
var TimeSeriesChartWrapper_default = TimeSeriesChartWrapper;
|
|
485
|
+
//# sourceMappingURL=TimeSeriesChartWrapper.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/common/TimeSeriesChartWrapper.tsx", "esm-externals:react", "esm-externals:lodash", "esm-externals:styled-components", "esm-externals:@splunk/visualizations-shared/SizeAwareWrapper", "esm-externals:@splunk/visualization-canvas", "esm-externals:@splunk/visualizations-shared/style", "../src/common/components/VizStyleWrapper.jsx", "esm-externals:@splunk/themes/variables", "esm-externals:@splunk/react-icons/Triangle", "../src/common/chartingUtils.ts"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nimport { useMemo, useRef } from 'react';\nimport { pick } from 'lodash';\nimport styled from 'styled-components';\nimport SizeAwareWrapper from '@splunk/visualizations-shared/SizeAwareWrapper';\nimport { TimeSeriesChart } from '@splunk/visualization-canvas';\nimport { toDimension } from '@splunk/visualizations-shared/style';\nimport type { GenericDataSet } from '@splunk/visualization-canvas/types/types';\nimport VizStyleWrapper from './components/VizStyleWrapper';\nimport { ChartingProps } from './Charting';\nimport {\n convert2DArrayToNumbers,\n filterChartDataFromInternalFields,\n getComputedAxisTitles,\n getFieldName,\n getFieldNames,\n getLegend,\n getSeriesOverrides,\n getXScaleConfig,\n getYScaleConfig,\n getY2ScaleConfig,\n ellipsisAxisTitle,\n getAnnotationsForCanvas,\n triangleEventAnnotationRenderer,\n} from './chartingUtils';\n\nconst TimeSeriesChartContainer = styled.div<{\n width: number | string;\n height: number | string;\n}>`\n overflow: hidden;\n ${props => toDimension(pick(props, ['width', 'height']))};\n\n canvas {\n position: absolute !important; // This is needed for canvas element export pdf/png to work correctly\n }\n`;\n\nexport const handleClick = (chartEvent, props) => {\n const payload = {\n ...pick(chartEvent, 'value', 'seriesKey'),\n name: chartEvent.seriesKey,\n };\n delete payload.seriesKey;\n const clickHandler = props?.onClick;\n if (clickHandler) {\n clickHandler({\n type: 'point.click',\n originalEvent: chartEvent,\n payload,\n });\n }\n};\n\nexport const handleLegendClick = (chartEvent, props) => {\n const payload = {\n name: chartEvent,\n };\n const clickHandler = props?.onClick;\n if (clickHandler) {\n clickHandler({\n type: 'legend.click',\n originalEvent: chartEvent,\n payload,\n });\n }\n};\n\nconst TimeSeriesChartWrapper = (props: ChartingProps) => {\n const { width, height, chartData, options, userLocale, annotationX, annotationLabel, annotationColor } =\n props;\n const {\n backgroundColor,\n seriesColors: seriesColorsStr,\n fieldColors,\n 'axisTitleX.text': xAxisTitleText,\n 'axisTitleY.text': yAxisTitleText,\n 'axisTitleY2.text': y2AxisTitleText,\n 'axisTitleX.visibility': xAxisTitleVisibility,\n 'axisTitleY.visibility': yAxisTitleVisibility,\n 'axisTitleY2.visibility': y2AxisTitleVisibility,\n 'axisY.abbreviation': yAxisAbbreviation,\n 'axisY.scale': yAxisScale,\n 'axisY2.abbreviation': y2AxisAbbreviation,\n 'axisY2.fields': y2FieldsStr,\n 'axisY2.scale': y2AxisScale,\n 'axisY2.enabled': y2Enabled,\n 'axisLabelsY2.integerUnits': y2IntegerUnits,\n 'chart.overlayFields': overlayFieldsStr,\n 'chart.nullValueMode': nullValueMode,\n lineWidth,\n } = options;\n\n const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : undefined;\n const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : undefined;\n const [containerWidth, setContainerWidth] = React.useState(Number(props.width));\n const [containerHeight, setContainerHeight] = React.useState(Number(props.height));\n const cachedHandleResize = React.useCallback((w, h) => {\n setContainerWidth(w);\n setContainerHeight(h);\n }, []);\n const filteredChartData = filterChartDataFromInternalFields({\n fields: chartData.fields,\n columns: chartData.seriesList,\n });\n\n const xField = getFieldName(filteredChartData.fields[0]);\n const yFields = getFieldNames(\n filteredChartData.fields.length > 1 ? filteredChartData.fields.slice(1) : []\n );\n const y2Fields = y2FieldsStr ? y2FieldsStr.split(',').map(f => f.trim()) : [];\n const overlayFields = overlayFieldsStr ? overlayFieldsStr.split(',').map(f => f.trim()) : [];\n let xAxisTitle = getComputedAxisTitles(xAxisTitleText, [xField], xAxisTitleVisibility);\n xAxisTitle = ellipsisAxisTitle(xAxisTitle, containerWidth);\n let yAxisTitle = getComputedAxisTitles(yAxisTitleText, yFields, yAxisTitleVisibility);\n yAxisTitle = ellipsisAxisTitle(yAxisTitle, containerHeight);\n const fieldsForY2Axis = y2Fields.length > 0 ? y2Fields : overlayFields;\n let y2AxisTitle = getComputedAxisTitles(y2AxisTitleText, fieldsForY2Axis, y2AxisTitleVisibility);\n y2AxisTitle = ellipsisAxisTitle(y2AxisTitle, containerHeight);\n const xScaleConfig = getXScaleConfig(xAxisTitle);\n const yScaleConfig = getYScaleConfig(yAxisTitle, yAxisAbbreviation, yAxisScale);\n let y2ScaleConfig = {};\n if (y2Enabled) {\n y2ScaleConfig = getY2ScaleConfig(y2AxisTitle, y2AxisAbbreviation, y2AxisScale, y2IntegerUnits);\n }\n const uplotContainerElement = useRef(null);\n\n const seriesDataFormatted = [\n filteredChartData.columns[0],\n ...convert2DArrayToNumbers(filteredChartData.columns.slice(1)),\n ];\n chartData.fields = filteredChartData.fields;\n chartData.columns = seriesDataFormatted;\n const seriesOverrides = getSeriesOverrides(\n yFields,\n y2Fields,\n lineWidth,\n overlayFields,\n y2Enabled,\n nullValueMode\n );\n const chartingEventAnnotations = getAnnotationsForCanvas({\n annotationX,\n annotationColor,\n annotationLabel,\n });\n const MemoizedChart = React.memo(TimeSeriesChart);\n const scaleConfig = { ...xScaleConfig, ...yScaleConfig, ...y2ScaleConfig };\n const memoizedChart = useMemo(\n () => (\n <MemoizedChart\n data={chartData as GenericDataSet}\n width={containerWidth}\n height={containerHeight}\n seriesColors={seriesColors}\n seriesColorsByField={seriesColorsByField}\n seriesConfig={seriesOverrides}\n legend={getLegend(props)}\n scaleConfig={scaleConfig}\n timestampFormat=\"expanded\"\n onCrosshairClick={event => handleClick(event, props)}\n onSeriesClick={event => handleLegendClick(event, props)}\n userLocale={userLocale}\n events={chartingEventAnnotations}\n eventsConfig={{ renderer: triangleEventAnnotationRenderer }}\n />\n ),\n [\n MemoizedChart,\n chartData,\n containerWidth,\n containerHeight,\n seriesColors,\n seriesColorsByField,\n seriesOverrides,\n lineWidth,\n props,\n scaleConfig,\n userLocale,\n chartingEventAnnotations,\n ]\n );\n\n const memoizedVisualization = useMemo(() => {\n return <VizStyleWrapper backgroundColor={backgroundColor}>{memoizedChart}</VizStyleWrapper>;\n }, [backgroundColor]);\n\n return (\n <TimeSeriesChartContainer\n height={height}\n width={width}\n ref={uplotContainerElement}\n data-test=\"timeseries-chart-wrapper\"\n >\n <SizeAwareWrapper width={width} height={height} onResize={cachedHandleResize} />\n {memoizedVisualization}\n </TimeSeriesChartContainer>\n );\n};\n\nexport default TimeSeriesChartWrapper;\n", "\nimport * as defaultImport from \"react\";\nexport * from \"react\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"lodash\";\nexport * from \"lodash\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"styled-components\";\nexport * from \"styled-components\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualizations-shared/SizeAwareWrapper\";\nexport * from \"@splunk/visualizations-shared/SizeAwareWrapper\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualization-canvas\";\nexport * from \"@splunk/visualization-canvas\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualizations-shared/style\";\nexport * from \"@splunk/visualizations-shared/style\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "import styled from 'styled-components';\n\nconst VizStyleWrapper = styled.div.attrs(({ dataTestKey }) => ({\n 'data-test': dataTestKey,\n 'data-testid': dataTestKey,\n}))`\n display: flex;\n justify-content: center;\n flex-direction: column;\n width: 100%;\n height: 100%;\n background-color: ${props => props.backgroundColor};\n`;\n\nVizStyleWrapper.displayName = 'VizStyleWrapper';\n\nexport default VizStyleWrapper;\n", "\nimport * as defaultImport from \"@splunk/themes/variables\";\nexport * from \"@splunk/themes/variables\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/react-icons/Triangle\";\nexport * from \"@splunk/react-icons/Triangle\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "import { has, isArray, isUndefined } from 'lodash';\nimport React from 'react';\nimport styled from 'styled-components';\nimport variables from '@splunk/themes/variables';\nimport Triangle from '@splunk/react-icons/Triangle';\nimport {\n BottomLegendFactory,\n Legend,\n SideLegendFactory,\n LeftLegendFactory,\n TopLegendFactory,\n ScaleConfig,\n shortenNumber,\n SeriesConfig,\n EventAnnotation,\n EventAnnotationRendererProps,\n} from '@splunk/visualization-canvas';\nimport type { JsonColumnData } from './interfaces/DataSource';\n\ninterface ChartOptions {\n [key: string]: any;\n}\n\nexport const DEFAULT_LINE_WIDTH = 2;\n/**\n * Get formatted annotations - highcharts expects annotations in a specific format\n * @method getAnnotations\n * @param {Object} options\n * @param {Array} options.annotationX\n * @param {Array} options.annotationColor\n * @param {Array} options.annotationLabel\n * @returns {Array}\n */\nexport const getAnnotations = ({ annotationX, annotationColor, annotationLabel }) =>\n annotationX && annotationX.length\n ? annotationX.map((timestamp, i) => ({\n color: annotationColor && annotationColor[i],\n label: annotationLabel && annotationLabel[i],\n time: timestamp,\n }))\n : [];\n\n/**\n * Get formatted annotations for canvas - viz-canvas timeseries expects annotations in a specific format\n * @method getAnnotationsForCanvas\n * @param {Object} options\n * @param {Array} options.annotationX\n * @param {Array} options.annotationColor\n * @param {Array} options.annotationLabel\n * @returns {Array}\n */\nexport const getAnnotationsForCanvas = ({\n annotationX,\n annotationColor,\n annotationLabel,\n}): EventAnnotation[] =>\n annotationX?.length\n ? annotationX.map((timestamp, i) => ({\n key: annotationLabel?.[i],\n time: timestamp,\n color: annotationColor?.[i],\n }))\n : [];\n\n/**\n * Styled Triangle component for event annotations with default severityColorNotice\n */\nconst StyledTriangle = styled(Triangle)<{ eventColor?: string }>`\n color: ${props => props.eventColor || variables.severityColorNotice(props)};\n`;\n\n/**\n * Custom event annotation renderer using Triangle icon from @splunk/react-icons\n * @method triangleEventAnnotationRenderer\n * @param {EventAnnotationRendererProps} props\n * @returns {ReactElement}\n */\nexport const triangleEventAnnotationRenderer: React.FC<EventAnnotationRendererProps> = ({ event }) => {\n const eventWithColor = event as EventAnnotation & { color?: string };\n return React.createElement(StyledTriangle, {\n viewBox: '0 0 24 24',\n variant: 'filled',\n eventColor: eventWithColor.color,\n });\n};\n\n/**\n * Truncate the result set to given limit\n * @method truncateData\n * @param {Object} dataSet - dataSources.primary.data\n * @param {Number|String} truncationLimit - options['chart.resultTruncationLimit']\n * @returns {Object}\n */\nexport const truncateData = (dataSet, truncationLimit): Record<string, any[]> => {\n if (!dataSet) {\n return null;\n }\n\n const limit = parseInt(truncationLimit, 10);\n if (!limit || limit <= 0) {\n return dataSet;\n }\n\n const truncatedData: Record<string, Array<string[] | number[]>> = {\n ...dataSet,\n };\n truncatedData.columns = truncatedData.columns.map(columnData =>\n columnData && Array.isArray(columnData) ? columnData.slice(0, limit) : columnData\n );\n return truncatedData;\n};\n\n/**\n * Helper method to update the option values into the values that SC accepts\n * @method mapToValues\n * @param {Object} options\n * @returns {Object}\n */\nexport const mapToValues = (optionValuesSCMapping: Record<string, any>) => options => {\n const convertedOptions: Record<string, any> = { ...options };\n Object.keys(optionValuesSCMapping).forEach(key => {\n if (has(options, key)) {\n const updatedValue = optionValuesSCMapping[key][options[key]];\n if (!isUndefined(updatedValue)) {\n convertedOptions[key] = updatedValue;\n }\n }\n });\n return convertedOptions;\n};\n\ninterface y2AxisOptions extends ChartOptions {\n y2Fields?: string | string[];\n}\n\n/**\n * Helper method to process options related to y2Fields\n * @method convertY2AxisOptions\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertY2AxisOptions = ({\n y2Fields,\n ...originalOptions\n}: y2AxisOptions): Record<string, any> => {\n const convertedOptions: Record<string, any> = {\n ...originalOptions,\n };\n if (y2Fields) {\n convertedOptions['axisY2.enabled'] = true;\n convertedOptions['axisY2.fields'] = isArray(y2Fields)\n ? y2Fields.filter(name => name).join(',')\n : y2Fields;\n }\n return convertedOptions;\n};\n\n/**\n * Helper method to format value for overlayFields\n * @method convertOverlayFields\n * @param {Object} originalOptions\n * @returns {Object}\n */\nexport const convertOverlayFields = (originalOptions: ChartOptions): ChartOptions => {\n const convertedOptions: ChartOptions = {\n ...originalOptions,\n };\n const { overlayFields } = originalOptions;\n if (overlayFields) {\n convertedOptions.overlayFields = Array.isArray(overlayFields)\n ? overlayFields\n .filter(field => field)\n .map(field => field.trim())\n .join(',')\n : overlayFields;\n }\n return convertedOptions;\n};\n\n/**\n * checks whether data is multi series data\n * @param {array} data array\n * @return {Boolean}\n */\nexport const isMultiSeriesData = (data: string[] | string[][]): boolean =>\n Array.isArray(data) && Array.isArray(data[0]);\n/**\n * checks whether data is multi series data and returns value as array\n * @param {array} data array\n * @param {*} value to return as array\n * @return {array}\n */\nexport const toArrayForSeries = (data, value): any[] => {\n if (isMultiSeriesData(data)) {\n return Array.isArray(value) ? value : [value];\n }\n return [value];\n};\ninterface ConstructFieldsAndColumnsParams {\n x: string[];\n y: string[] | string[][];\n xField: string;\n yFields: string | string[];\n y2?: string[] | string[][];\n y2Fields?: string | string[];\n}\nexport const constructFieldsAndColumns = ({\n x = [],\n y = [],\n xField,\n yFields,\n y2,\n y2Fields,\n}: ConstructFieldsAndColumnsParams): JsonColumnData => {\n const columns = [x.map(String), ...toArrayForSeries(y, y).map(series => series.map(String))];\n const yFieldsArray = toArrayForSeries(y, yFields);\n const fields = [{ name: xField }, ...yFieldsArray.map(field => ({ name: field }))];\n // splunk-charting requires y2 to be part of columns\n // when y & y2 options are configured with different (mutually exclusive) series\n // y2 columns need to be added to columns\n if (y2Fields) {\n const y2FieldsArray = toArrayForSeries(y2, y2Fields);\n const y2AsArray = toArrayForSeries(y2, y2).map(series => series?.map(String));\n y2FieldsArray.forEach((y2Field, index) => {\n if (yFieldsArray.indexOf(y2Field) === -1 && y2AsArray[index]) {\n fields.push({\n name: y2Field,\n });\n columns.push(y2AsArray[index]);\n }\n });\n }\n return {\n columns,\n fields,\n };\n};\n\nexport function constructAdditionalTooltipFieldsMap({ fields, columns, additionalTooltipFields }) {\n const map = {};\n\n additionalTooltipFields?.forEach(fieldName => {\n const index = fields.findIndex(f => f.name === fieldName);\n if (index !== -1) {\n map[fieldName] = columns[index];\n }\n });\n\n return map;\n}\n\n// Note: we are making the assumption that attaching a range.select listener means the user wants to enable search zoom\n// This is because we don't know if the time range tokens being updated by the drilldown is used by the current viz.\n// In the future we are considering using a shared context to pass this information from UDF to Viz.\ninterface OptionsProps {\n events?: string[];\n selectedItemId?: string;\n [key: string]: unknown;\n}\ninterface EventHandler {\n type: string;\n options: OptionsProps;\n}\n\nexport const shouldEnableSearchZoom = (eventHandlers: EventHandler[] = [], xField = '') => {\n const rangeSelectEventHandler = eventHandlers.find(eventHandler =>\n eventHandler.options.events?.includes('range.select')\n );\n // Check if xField is _time. This is how splunk-charting distinguishes a time chart from categorical.\n // Note: search zoom will be buggy if the x axis uses timestamp values but is not _time\n const xAxisIsTime = xField === '_time';\n\n return !!rangeSelectEventHandler && xAxisIsTime;\n};\n\nconst canvasSupportedTimeSeriesCharts = ['splunk.line'];\nexport const isTimeSeriesCanvasRenderSupported = (vizConfigKey: string): boolean => {\n return canvasSupportedTimeSeriesCharts.indexOf(vizConfigKey) > -1;\n};\n\ntype ChartData = {\n fields: (string | { name: string })[];\n columns: (string | number)[][];\n};\n\n// Filter all internal fields and columns except for _time fild\nexport const filterChartDataFromInternalFields = (chartData: ChartData): ChartData => {\n const { fields, columns } = chartData;\n\n // Determine the indexes to keep\n const keepIndexes = fields.reduce<number[]>((acc, field, index) => {\n const fieldName = typeof field === 'object' ? field?.name : field;\n if (!fieldName?.startsWith('_') || fieldName === '_time') {\n acc.push(index);\n }\n return acc;\n }, []);\n\n // Filter fields and columns\n const filteredFields = keepIndexes.map(index => fields[index]);\n const filteredColumns = keepIndexes.map(index => columns[index]);\n\n return { fields: filteredFields, columns: filteredColumns };\n};\n\nexport const isTimeField = (field): boolean => {\n return (\n (typeof field === 'object' && field?.name === '_time') ||\n (typeof field === 'string' && field === '_time')\n );\n};\n\nexport const convert2DArrayToNumbers = arr => {\n return arr.map(subArray => subArray.map(element => parseFloat(element)));\n};\n\nexport const convertTimeStringToUnix = arr => {\n return arr.map(timeStr => parseInt((new Date(timeStr).getTime() / 1000).toFixed(0), 10));\n};\n\nexport const SideLegendWidth = 75;\nconst commonLegendProps = { center: true, fontSize: 12, largerTiles: true, hideSeriesValue: true };\n// Legend placement logic for canvas render, used in TimeseriesChartWrapper\nexport const getLegend = (props): Legend | false => {\n const legendPlacement = props?.legendDisplay;\n // \"right\" | \"left\" | \"top\" | \"bottom\" | \"off\"\n switch (legendPlacement) {\n case 'off':\n return false;\n case 'left':\n return LeftLegendFactory({\n width: SideLegendWidth,\n ...commonLegendProps,\n });\n case 'bottom':\n return BottomLegendFactory({\n wrap: true,\n ...commonLegendProps,\n });\n case 'top':\n return TopLegendFactory({\n wrap: true,\n ...commonLegendProps,\n });\n // Note: By default, use right legend\n default:\n return SideLegendFactory({\n width: SideLegendWidth,\n ...commonLegendProps,\n });\n }\n};\n\nexport const getComputedAxisTitles = (\n inputAxisTitle: string,\n fields: string[],\n axisTitleVisibility: 'show' | 'collapsed'\n): string => {\n if (axisTitleVisibility === 'collapsed') {\n return '';\n }\n let fieldTitle = fields.length > 1 ? '' : fields[0]; // If more than one series (multi-series) default empty title\n if (!fieldTitle) {\n fieldTitle = '';\n }\n return inputAxisTitle?.length ? inputAxisTitle.trim() : fieldTitle;\n};\n\n/**\n * Truncates Y-axis title based on available container height and font metrics\n * @param axisTitle - The title text to potentially truncate\n * @param containerSpacing - Available height/ width in pixels depending on axis orientation\n * @param fontSize - Font size in pixels (default: 12)\n * @returns Truncated title with ellipsis if needed\n */\nexport const ellipsisAxisTitle = (axisTitle: string, containerSpacing: number, fontSize = 12): string => {\n if (!axisTitle) {\n return '';\n }\n if (Number.isNaN(containerSpacing) || containerSpacing <= 0) {\n return axisTitle;\n }\n // Calculate available height for text (leave 40% margin)\n const availableHeight = containerSpacing * 0.6;\n\n // Use a generic character width ratio that works across most fonts\n // 0.55 is a reasonable average for most fonts\n const avgCharWidth = fontSize * 0.55;\n\n // Calculate maximum characters that fit in available height\n const maxChars = Math.floor(availableHeight / avgCharWidth);\n\n // If title fits, return as-is\n if (axisTitle.length <= maxChars) {\n return axisTitle;\n }\n\n // Need to truncate - use middle ellipsis for better context\n if (maxChars <= 3) {\n return '...'; // Not enough space for meaningful text\n }\n\n // Reserve 3 characters for ellipsis\n const availableChars = maxChars - 3;\n const halfChars = Math.floor(availableChars / 2);\n\n // Create truncated title with middle ellipsis\n const start = axisTitle.slice(0, halfChars);\n const end = axisTitle.slice(-halfChars);\n\n return `${start}...${end}`;\n};\n\nexport type FieldObject = {\n name: string;\n};\n\nexport const getFieldName = (field: string | FieldObject): string => {\n const fieldName = typeof field === 'object' ? (field as unknown as FieldObject)?.name : field;\n return fieldName;\n};\n\nexport const getFieldNames = (fields: (string | FieldObject)[]): string[] => {\n return fields.map(field => getFieldName(field));\n};\n\n/**\n * Returns X scale config for viz-canvas charts\n * @param label\n * @returns\n */\nexport const getXScaleConfig = (label: string): ScaleConfig => {\n const xConfig: ScaleConfig = { x: {} };\n xConfig.x.label = label;\n return xConfig;\n};\n\n/**\n * Returns Y scale config for viz-canvas charts\n * @param label\n * @param yAxisAbbreviation\n * @returns\n */\nexport const getYScaleConfig = (\n label: string,\n yAxisAbbreviation: string,\n yAxisScale?: 'linear' | 'log'\n): ScaleConfig => {\n const scaleType = yAxisScale ?? 'linear';\n const yConfig: ScaleConfig = { y: {} };\n yConfig.y.label = label;\n yConfig.y.type = scaleType;\n if (yAxisAbbreviation !== 'none') {\n yConfig.y.tickFmt = (v): string => shortenNumber(v, 1);\n }\n if (yAxisAbbreviation === 'none') {\n yConfig.y.width = 55;\n } else {\n yConfig.y.width = label && label.length > 0 ? 30 : 10;\n }\n return yConfig;\n};\n/**\n * Returns Y2 scale config for viz-canvas charts\n * @param label\n * @param axisAbbreviation\n * @returns\n */\nexport const getY2ScaleConfig = (\n label: string,\n axisAbbreviation: string,\n axisScale?: 'linear' | 'log',\n roundAxisLabelsToInteger?: boolean\n): ScaleConfig => {\n const y2Config: ScaleConfig = { y2: {} };\n const scaleType = axisScale ?? 'linear';\n y2Config.y2.label = label;\n y2Config.y2.side = 'right';\n y2Config.y2.showGrid = false; // disabled y2 axis gridlines as it is the default, TODO: make this configurable in the future (SCP-71269)\n y2Config.y2.type = scaleType;\n if (axisAbbreviation !== 'none') {\n y2Config.y2.tickFmt = (v): string => shortenNumber(v, 1, roundAxisLabelsToInteger);\n } else if (roundAxisLabelsToInteger) {\n y2Config.y2.tickFmt = (v): string =>\n roundAxisLabelsToInteger ? Math.round(v).toString() : v.toString();\n }\n return y2Config;\n};\n\n/**\n * Add series overrides for viz-canvas charts (for eg:- line width)\n */\nexport const getSeriesOverrides = (\n yfields: string[],\n y2fields?: string[],\n lineWidth?: number,\n overlayFields?: string[],\n y2Enabled?: boolean,\n nullValueMode?: 'gaps' | 'connect' | 'zero'\n): SeriesConfig => {\n const seriesConfig: SeriesConfig = {};\n\n // Determine spanGaps based on nullValueMode\n let spanGaps: boolean | undefined;\n let replaceNullsWithZero: boolean | undefined;\n if (nullValueMode === 'gaps') {\n spanGaps = false;\n } else if (nullValueMode === 'connect' || nullValueMode === 'zero') {\n spanGaps = true;\n if (nullValueMode === 'zero') {\n replaceNullsWithZero = true;\n }\n }\n\n yfields.forEach(field => {\n seriesConfig[field] = {\n overrides: { width: lineWidth ?? DEFAULT_LINE_WIDTH },\n };\n\n // Add spanGaps if nullValueMode is provided\n if (spanGaps !== undefined) {\n seriesConfig[field].overrides.spanGaps = spanGaps;\n }\n\n // If y2Enabled is true, determine which fields go to y2 scale\n if (y2Enabled) {\n const shouldAssignToY2 =\n // If y2Fields are present, assign all y2Fields to y2 scale\n (y2fields?.length > 0 && y2fields.includes(field)) ||\n // Else, assign all overlayFields to y2 scale\n ((!y2fields || y2fields.length === 0) && overlayFields?.includes(field));\n\n if (shouldAssignToY2) {\n seriesConfig[field].overrides.scale = 'y2';\n }\n }\n\n // If field is in overlayFields, set type to 'line'\n if (overlayFields?.includes(field)) {\n seriesConfig[field].type = 'line';\n }\n\n // Add replaceNullsWithZero if nullValueMode is 'zero'\n if (replaceNullsWithZero !== undefined) {\n seriesConfig[field].replaceNullsWithZero = replaceNullsWithZero;\n }\n });\n\n return seriesConfig;\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport"]
|
|
7
|
+
}
|