@splunk/visualizations 28.5.2 → 28.6.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 -1
- package/Area/areaUtils.d.ts +1 -1
- package/Area/areaUtils.d.ts.map +1 -1
- package/Area/config.d.ts.map +1 -1
- package/Area.config.js +93 -25
- package/Area.config.js.map +3 -3
- package/Area.js +708 -319
- package/Area.js.map +4 -4
- package/Bar/Bar.d.ts.map +1 -1
- package/Bar.config.js +81 -24
- package/Bar.config.js.map +3 -3
- package/Bar.js +528 -297
- package/Bar.js.map +4 -4
- package/Bubble.config.js +80 -23
- package/Bubble.config.js.map +2 -2
- package/Bubble.js +375 -208
- package/Bubble.js.map +4 -4
- package/CHANGELOG.external.md +75 -8
- package/ChoroplethSvg/PureChoroplethSvg/PureChoroplethSvg.d.ts +1 -0
- package/ChoroplethSvg/PureChoroplethSvg/PureChoroplethSvg.d.ts.map +1 -1
- package/ChoroplethSvg/PureChoroplethSvg/SvgChoroplethDynamic.d.ts +12 -25
- package/ChoroplethSvg/PureChoroplethSvg/SvgChoroplethDynamic.d.ts.map +1 -1
- package/ChoroplethSvg/PureChoroplethSvg/SvgMutator.d.ts +11 -4
- package/ChoroplethSvg/PureChoroplethSvg/SvgMutator.d.ts.map +1 -1
- package/ChoroplethSvg.js +1133 -253
- package/ChoroplethSvg.js.map +4 -4
- package/Column/Column.d.ts.map +1 -1
- package/Column.config.js +81 -24
- package/Column.config.js.map +3 -3
- package/Column.js +531 -300
- package/Column.js.map +4 -4
- package/Ellipse.config.js +1 -1
- package/Ellipse.config.js.map +2 -2
- package/Ellipse.js +277 -161
- package/Ellipse.js.map +4 -4
- package/Events/config.d.ts.map +1 -1
- package/Events.config.js +13 -3
- package/Events.config.js.map +2 -2
- package/Events.js +330 -194
- package/Events.js.map +4 -4
- package/FillerGauge/FillerGauge.d.ts.map +1 -1
- package/FillerGauge/config.d.ts.map +1 -1
- package/FillerGauge.config.js +76 -24
- package/FillerGauge.config.js.map +2 -2
- package/FillerGauge.js +512 -271
- package/FillerGauge.js.map +4 -4
- package/Image/config.d.ts.map +1 -1
- package/Image.config.js +7 -0
- package/Image.config.js.map +2 -2
- package/Image.js +282 -149
- package/Image.js.map +4 -4
- package/LICENSE +13 -0
- package/Line/Line.d.ts.map +1 -1
- package/Line/config.d.ts.map +1 -1
- package/Line/lineUtils.d.ts.map +1 -1
- package/Line/mockdata/LineData.d.ts +21 -0
- package/Line/mockdata/LineData.d.ts.map +1 -1
- package/Line.config.js +86 -25
- package/Line.config.js.map +3 -3
- package/Line.js +638 -382
- package/Line.js.map +4 -4
- package/LinkGraph/PureLinkGraph/PureLinkGraph.d.ts +47 -73
- package/LinkGraph/PureLinkGraph/PureLinkGraph.d.ts.map +1 -1
- package/LinkGraph/PureLinkGraph/PureLinkGraphUtils.d.ts +11 -2
- package/LinkGraph/PureLinkGraph/PureLinkGraphUtils.d.ts.map +1 -1
- package/LinkGraph/PureLinkGraph/components/Graph.d.ts +5 -5
- package/LinkGraph/PureLinkGraph/components/Node.d.ts +2 -2
- package/LinkGraph/PureLinkGraph/components/Nodes.d.ts +2 -2
- package/LinkGraph.js +886 -759
- package/LinkGraph.js.map +4 -4
- package/Map/PureMap/BubbleLayer.d.ts.map +1 -1
- package/Map/PureMap/Tooltip.d.ts.map +1 -1
- package/Map/config.d.ts.map +1 -1
- package/Map.config.js +4 -1
- package/Map.config.js.map +2 -2
- package/Map.js +296 -169
- package/Map.js.map +4 -4
- package/Markdown/Markdown.d.ts.map +1 -1
- package/Markdown.config.js.map +1 -1
- package/Markdown.js +283 -157
- package/Markdown.js.map +4 -4
- package/MarkerGauge/MarkerGauge.d.ts +1 -47
- package/MarkerGauge/MarkerGauge.d.ts.map +1 -1
- package/MarkerGauge/PureMarkerGauge/MarkerGauge.d.ts +22 -68
- package/MarkerGauge/PureMarkerGauge/MarkerGauge.d.ts.map +1 -1
- package/MarkerGauge/config.d.ts.map +1 -1
- package/MarkerGauge.config.js +75 -23
- package/MarkerGauge.config.js.map +2 -2
- package/MarkerGauge.js +560 -375
- package/MarkerGauge.js.map +4 -4
- package/NetworkGraph/NetworkGraph.d.ts +2 -1
- package/NetworkGraph/NetworkGraph.d.ts.map +1 -1
- package/NetworkGraph/PureNetworkGraph/utils/networkGraphUtils.d.ts.map +1 -1
- package/NetworkGraph.config.js.map +2 -2
- package/NetworkGraph.js +628 -434
- package/NetworkGraph.js.map +4 -4
- package/ParallelCoordinates.config.js.map +1 -1
- package/ParallelCoordinates.js +288 -172
- package/ParallelCoordinates.js.map +4 -4
- package/Pie/Pie.d.ts.map +1 -1
- package/Pie/pieUtils.d.ts +2 -2
- package/Pie.config.js +74 -22
- package/Pie.config.js.map +2 -2
- package/Pie.js +522 -296
- package/Pie.js.map +4 -4
- package/ProcessTree/ProcessTree.d.ts +21 -0
- package/ProcessTree/ProcessTree.d.ts.map +1 -0
- package/ProcessTree/PureProcessTree/PureProcessTree.d.ts +32 -0
- package/ProcessTree/PureProcessTree/PureProcessTree.d.ts.map +1 -0
- package/ProcessTree/PureProcessTree/components/DirectionalBytes.d.ts +8 -0
- package/ProcessTree/PureProcessTree/components/DirectionalBytes.d.ts.map +1 -0
- package/ProcessTree/PureProcessTree/components/ProcessTreeLeftPanel.d.ts +44 -0
- package/ProcessTree/PureProcessTree/components/ProcessTreeLeftPanel.d.ts.map +1 -0
- package/ProcessTree/PureProcessTree/components/ProcessTreeRightPanel.d.ts +20 -0
- package/ProcessTree/PureProcessTree/components/ProcessTreeRightPanel.d.ts.map +1 -0
- package/ProcessTree/PureProcessTree/hooks/useProcessTreeExpansionState.d.ts +20 -0
- package/ProcessTree/PureProcessTree/hooks/useProcessTreeExpansionState.d.ts.map +1 -0
- package/ProcessTree/PureProcessTree/hooks/useProcessTreeGraphData.d.ts +44 -0
- package/ProcessTree/PureProcessTree/hooks/useProcessTreeGraphData.d.ts.map +1 -0
- package/ProcessTree/PureProcessTree/hooks/useProcessTreeLinkOverlay.d.ts +23 -0
- package/ProcessTree/PureProcessTree/hooks/useProcessTreeLinkOverlay.d.ts.map +1 -0
- package/ProcessTree/PureProcessTree/mockdata/data.d.ts +235 -0
- package/ProcessTree/PureProcessTree/mockdata/data.d.ts.map +1 -0
- package/ProcessTree/PureProcessTree/utils/iconLoader.d.ts +9 -0
- package/ProcessTree/PureProcessTree/utils/iconLoader.d.ts.map +1 -0
- package/ProcessTree/PureProcessTree/utils/processTreeLinkOverlayUtils.d.ts +36 -0
- package/ProcessTree/PureProcessTree/utils/processTreeLinkOverlayUtils.d.ts.map +1 -0
- package/ProcessTree/PureProcessTree/utils/processTreeUtils.d.ts +80 -0
- package/ProcessTree/PureProcessTree/utils/processTreeUtils.d.ts.map +1 -0
- package/ProcessTree/config.d.ts +4 -0
- package/ProcessTree/config.d.ts.map +1 -0
- package/ProcessTree/index.d.ts +3 -0
- package/ProcessTree/index.d.ts.map +1 -0
- package/ProcessTree.config.js +192 -0
- package/ProcessTree.config.js.map +7 -0
- package/ProcessTree.js +5058 -0
- package/ProcessTree.js.map +7 -0
- package/Punchcard/Punchcard.d.ts +1 -5
- package/Punchcard/Punchcard.d.ts.map +1 -1
- package/Punchcard/PurePunchcard/Punchcard.d.ts +28 -32
- package/Punchcard/PurePunchcard/Punchcard.d.ts.map +1 -1
- package/Punchcard/PurePunchcard/src/PunchcardAxis.d.ts +7 -12
- package/Punchcard/PurePunchcard/src/PunchcardAxis.d.ts.map +1 -1
- package/Punchcard/PurePunchcard/src/PunchcardBubble.d.ts +14 -19
- package/Punchcard/PurePunchcard/src/PunchcardBubble.d.ts.map +1 -1
- package/Punchcard/PurePunchcard/src/PunchcardChartArea.d.ts +22 -27
- package/Punchcard/PurePunchcard/src/PunchcardChartArea.d.ts.map +1 -1
- package/Punchcard/PurePunchcard/src/PunchcardGridLines.d.ts +3 -8
- package/Punchcard/PurePunchcard/src/PunchcardGridLines.d.ts.map +1 -1
- package/Punchcard/PurePunchcard/src/PunchcardLegend.d.ts +9 -14
- package/Punchcard/PurePunchcard/src/PunchcardLegend.d.ts.map +1 -1
- package/Punchcard/PurePunchcard/src/PunchcardRow.d.ts.map +1 -1
- package/Punchcard.config.js.map +1 -1
- package/Punchcard.js +444 -631
- package/Punchcard.js.map +4 -4
- package/Rectangle.config.js +1 -1
- package/Rectangle.config.js.map +2 -2
- package/Rectangle.js +289 -173
- package/Rectangle.js.map +4 -4
- package/RichText/PureRichText/Editor/EditorPanel.d.ts +20 -0
- package/RichText/PureRichText/Editor/EditorPanel.d.ts.map +1 -0
- package/RichText/PureRichText/Editor/EditorPanelStyles.d.ts +17 -0
- package/RichText/PureRichText/Editor/EditorPanelStyles.d.ts.map +1 -0
- package/RichText/PureRichText/Editor/FontSelector.d.ts +15 -0
- package/RichText/PureRichText/Editor/FontSelector.d.ts.map +1 -0
- package/RichText/PureRichText/Editor/FormatButton.d.ts +23 -0
- package/RichText/PureRichText/Editor/FormatButton.d.ts.map +1 -0
- package/RichText/PureRichText/Editor/editorPanelUtils.d.ts +19 -0
- package/RichText/PureRichText/Editor/editorPanelUtils.d.ts.map +1 -0
- package/RichText/PureRichText/Editor/hooks/useLineSpacing.d.ts +11 -0
- package/RichText/PureRichText/Editor/hooks/useLineSpacing.d.ts.map +1 -0
- package/RichText/PureRichText/Editor/hooks/useLinkHandlers.d.ts +26 -0
- package/RichText/PureRichText/Editor/hooks/useLinkHandlers.d.ts.map +1 -0
- package/RichText/PureRichText/Editor/index.d.ts +9 -0
- package/RichText/PureRichText/Editor/index.d.ts.map +1 -0
- package/RichText/PureRichText/InnerEditor.d.ts +41 -0
- package/RichText/PureRichText/InnerEditor.d.ts.map +1 -0
- package/RichText/PureRichText/PureRichText.d.ts +19 -0
- package/RichText/PureRichText/PureRichText.d.ts.map +1 -0
- package/RichText/PureRichText/PureRichTextContext.d.ts +64 -0
- package/RichText/PureRichText/PureRichTextContext.d.ts.map +1 -0
- package/RichText/PureRichText/RichTextStyles.d.ts +25 -0
- package/RichText/PureRichText/RichTextStyles.d.ts.map +1 -0
- package/RichText/PureRichText/activeInstance.d.ts +23 -0
- package/RichText/PureRichText/activeInstance.d.ts.map +1 -0
- package/RichText/PureRichText/config.d.ts +17 -0
- package/RichText/PureRichText/config.d.ts.map +1 -0
- package/RichText/PureRichText/hooks/index.d.ts +12 -0
- package/RichText/PureRichText/hooks/index.d.ts.map +1 -0
- package/RichText/PureRichText/hooks/useContentSave.d.ts +25 -0
- package/RichText/PureRichText/hooks/useContentSave.d.ts.map +1 -0
- package/RichText/PureRichText/hooks/useContentSync.d.ts +28 -0
- package/RichText/PureRichText/hooks/useContentSync.d.ts.map +1 -0
- package/RichText/PureRichText/hooks/useDashboardKeyboardNav.d.ts +33 -0
- package/RichText/PureRichText/hooks/useDashboardKeyboardNav.d.ts.map +1 -0
- package/RichText/PureRichText/hooks/useEditModeEffect.d.ts +10 -0
- package/RichText/PureRichText/hooks/useEditModeEffect.d.ts.map +1 -0
- package/RichText/PureRichText/hooks/useEditorSetup.d.ts +36 -0
- package/RichText/PureRichText/hooks/useEditorSetup.d.ts.map +1 -0
- package/RichText/PureRichText/hooks/useFakeHighlight.d.ts +33 -0
- package/RichText/PureRichText/hooks/useFakeHighlight.d.ts.map +1 -0
- package/RichText/PureRichText/hooks/useFocusHandlers.d.ts +35 -0
- package/RichText/PureRichText/hooks/useFocusHandlers.d.ts.map +1 -0
- package/RichText/PureRichText/hooks/useKeyboardShortcuts.d.ts +18 -0
- package/RichText/PureRichText/hooks/useKeyboardShortcuts.d.ts.map +1 -0
- package/RichText/PureRichText/hooks/useMouseHandlers.d.ts +24 -0
- package/RichText/PureRichText/hooks/useMouseHandlers.d.ts.map +1 -0
- package/RichText/PureRichText/hooks/useRichTextState.d.ts +38 -0
- package/RichText/PureRichText/hooks/useRichTextState.d.ts.map +1 -0
- package/RichText/PureRichText/hooks/useStepFontSize.d.ts +17 -0
- package/RichText/PureRichText/hooks/useStepFontSize.d.ts.map +1 -0
- package/RichText/PureRichText/hooks/useStepLineSpacing.d.ts +18 -0
- package/RichText/PureRichText/hooks/useStepLineSpacing.d.ts.map +1 -0
- package/RichText/PureRichText/hooks/useTokenMap.d.ts +45 -0
- package/RichText/PureRichText/hooks/useTokenMap.d.ts.map +1 -0
- package/RichText/PureRichText/index.d.ts +16 -0
- package/RichText/PureRichText/index.d.ts.map +1 -0
- package/RichText/PureRichText/renderers/ElementRenderer.d.ts +8 -0
- package/RichText/PureRichText/renderers/ElementRenderer.d.ts.map +1 -0
- package/RichText/PureRichText/renderers/LeafRenderer.d.ts +8 -0
- package/RichText/PureRichText/renderers/LeafRenderer.d.ts.map +1 -0
- package/RichText/PureRichText/types.d.ts +111 -0
- package/RichText/PureRichText/types.d.ts.map +1 -0
- package/RichText/PureRichText/utils/a11yUtils.d.ts +9 -0
- package/RichText/PureRichText/utils/a11yUtils.d.ts.map +1 -0
- package/RichText/PureRichText/utils/fontSize.d.ts +6 -0
- package/RichText/PureRichText/utils/fontSize.d.ts.map +1 -0
- package/RichText/PureRichText/utils/slateUtils.d.ts +99 -0
- package/RichText/PureRichText/utils/slateUtils.d.ts.map +1 -0
- package/RichText/RichText.d.ts +17 -0
- package/RichText/RichText.d.ts.map +1 -0
- package/RichText/config.d.ts +4 -0
- package/RichText/config.d.ts.map +1 -0
- package/RichText/index.d.ts +7 -0
- package/RichText/index.d.ts.map +1 -0
- package/RichText.config.js +268 -0
- package/RichText.config.js.map +7 -0
- package/RichText.js +7674 -0
- package/RichText.js.map +7 -0
- package/Sankey/PureSankey/PureSankey.d.ts.map +1 -1
- package/Sankey/PureSankey/SankeyLink.d.ts.map +1 -1
- package/Sankey/PureSankey/SankeyNode.d.ts +10 -3
- package/Sankey/PureSankey/SankeyNode.d.ts.map +1 -1
- package/Sankey/PureSankey/SankeyTooltip.d.ts.map +1 -1
- package/Sankey/PureSankey/SankeyUtils.d.ts +10 -0
- package/Sankey/PureSankey/SankeyUtils.d.ts.map +1 -1
- package/Sankey.config.js.map +1 -1
- package/Sankey.js +562 -290
- package/Sankey.js.map +4 -4
- package/Scatter/Scatter.d.ts.map +1 -1
- package/Scatter.config.js +81 -24
- package/Scatter.config.js.map +3 -3
- package/Scatter.js +528 -297
- package/Scatter.js.map +4 -4
- package/SingleValue/SingleValue.d.ts.map +1 -1
- package/SingleValue/config.d.ts.map +1 -1
- package/SingleValue.config.js +76 -24
- package/SingleValue.config.js.map +2 -2
- package/SingleValue.js +534 -314
- package/SingleValue.js.map +4 -4
- package/SingleValueBasic.js.map +1 -1
- package/SingleValueIcon/SingleValueIcon.d.ts.map +1 -1
- package/SingleValueIcon/config.d.ts.map +1 -1
- package/SingleValueIcon.config.js +76 -24
- package/SingleValueIcon.config.js.map +2 -2
- package/SingleValueIcon.js +512 -287
- package/SingleValueIcon.js.map +4 -4
- package/SingleValueRadial/PureSingleValueRadial/utils/gaugeUtils.d.ts +0 -8
- package/SingleValueRadial/PureSingleValueRadial/utils/gaugeUtils.d.ts.map +1 -1
- package/SingleValueRadial/SingleValueRadial.d.ts.map +1 -1
- package/SingleValueRadial/config.d.ts.map +1 -1
- package/SingleValueRadial.config.js +76 -24
- package/SingleValueRadial.config.js.map +2 -2
- package/SingleValueRadial.js +543 -326
- package/SingleValueRadial.js.map +4 -4
- package/TRELLIS.md +48 -0
- package/Table/PureTable.d.ts +1 -0
- package/Table/PureTable.d.ts.map +1 -1
- package/Table/Table.d.ts.map +1 -1
- package/Table/cells/ArrayCell.d.ts.map +1 -1
- package/Table/config.d.ts.map +1 -1
- package/Table/hooks.d.ts.map +1 -1
- package/Table/tableUtils.d.ts +14 -0
- package/Table/tableUtils.d.ts.map +1 -0
- package/Table.config.js +4 -10
- package/Table.config.js.map +2 -2
- package/Table.js +769 -355
- package/Table.js.map +4 -4
- package/Timeline/PureTimeline/src/TimelineYAxis.d.ts.map +1 -1
- package/Timeline/PureTimeline/src/utils/timelineUtils.d.ts +5 -0
- package/Timeline/PureTimeline/src/utils/timelineUtils.d.ts.map +1 -1
- package/Timeline/Timeline.d.ts +2 -0
- package/Timeline/Timeline.d.ts.map +1 -1
- package/Timeline/config.d.ts.map +1 -1
- package/Timeline/mockdata/timelineDataSource.d.ts +34 -0
- package/Timeline/mockdata/timelineDataSource.d.ts.map +1 -1
- package/Timeline.config.js +15 -0
- package/Timeline.config.js.map +2 -2
- package/Timeline.js +348 -186
- package/Timeline.js.map +4 -4
- package/common/Charting.d.ts.map +1 -1
- package/common/Charting.js +50 -28
- package/common/Charting.js.map +2 -2
- package/common/ChartingApi.d.ts +1 -1
- package/common/ChartingApi.d.ts.map +1 -1
- package/common/ChartingApi.js.map +2 -2
- package/common/DocExampleWithVizSandbox.js.map +1 -1
- package/common/OptionsDoc.js.map +1 -1
- package/common/OverviewDoc.js.map +1 -1
- package/common/SplunkVisualization.d.ts +1 -1
- package/common/SplunkVisualization.d.ts.map +1 -1
- package/common/SplunkVisualization.js +6 -4
- package/common/SplunkVisualization.js.map +2 -2
- package/common/StyledSkipLink.d.ts +2 -0
- package/common/StyledSkipLink.d.ts.map +1 -0
- package/common/StyledSkipLink.js +81 -0
- package/common/StyledSkipLink.js.map +7 -0
- package/common/TimeSeriesChartWrapper.d.ts.map +1 -1
- package/common/TimeSeriesChartWrapper.js +228 -107
- package/common/TimeSeriesChartWrapper.js.map +4 -4
- package/common/chartingUtils.d.ts +32 -6
- package/common/chartingUtils.d.ts.map +1 -1
- package/common/chartingUtils.js +166 -39
- package/common/chartingUtils.js.map +4 -4
- package/common/components/TrellisTitle.d.ts.map +1 -1
- package/common/docUtils.js +1 -1
- package/common/docUtils.js.map +2 -2
- package/common/editorConfig/AxesChartDataDisplay.d.ts.map +1 -1
- package/common/editorConfig/AxesChartYGridAndLabels.d.ts.map +1 -1
- package/common/editorConfig/BackgroundColor.d.ts +2 -2
- package/common/editorConfig/TrellisEditors.d.ts +33 -5
- package/common/editorConfig/TrellisEditors.d.ts.map +1 -1
- package/common/hocs/mockdata/trellisData.d.ts +54 -0
- package/common/hocs/mockdata/trellisData.d.ts.map +1 -1
- package/common/hocs/withTrellis.d.ts +9 -0
- package/common/hocs/withTrellis.d.ts.map +1 -1
- package/common/hooks/useSorting.d.ts +2 -2
- package/common/hooks/useSorting.d.ts.map +1 -1
- package/common/shapeUtils.d.ts +1 -1
- package/common/shapeUtils.d.ts.map +1 -1
- package/common/shapeUtils.js.map +2 -2
- package/common/utils/dataUtils.js +2 -1
- package/common/utils/dataUtils.js.map +2 -2
- package/common/utils/focusUtils.d.ts +4 -0
- package/common/utils/focusUtils.d.ts.map +1 -0
- package/common/utils/focusUtils.js +101 -0
- package/common/utils/focusUtils.js.map +7 -0
- package/common/utils/mapUtils.js +2 -6
- package/common/utils/mapUtils.js.map +2 -2
- package/common/utils/singleValueUtils.js +14 -26
- package/common/utils/singleValueUtils.js.map +2 -2
- package/common/utils/trellisUtils.d.ts.map +1 -1
- package/common/utils/trellisUtils.js +76 -70
- package/common/utils/trellisUtils.js.map +2 -2
- package/common/withDashboardViz.d.ts.map +1 -1
- package/common/withDashboardViz.js +276 -151
- package/common/withDashboardViz.js.map +4 -4
- package/package.json +32 -27
- package/LICENSE.md +0 -449
package/Line.js
CHANGED
|
@@ -12,6 +12,7 @@ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
|
12
12
|
var __getProtoOf = Object.getPrototypeOf;
|
|
13
13
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14
14
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
15
|
+
var __pow = Math.pow;
|
|
15
16
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
16
17
|
var __spreadValues = (a, b) => {
|
|
17
18
|
for (var prop in b || (b = {}))
|
|
@@ -59,6 +60,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
59
60
|
mod
|
|
60
61
|
));
|
|
61
62
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
63
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
62
64
|
|
|
63
65
|
// src/Line/index.ts
|
|
64
66
|
var Line_exports = {};
|
|
@@ -558,8 +560,27 @@ var TrellisTitleDiv = styled_components_default.div`
|
|
|
558
560
|
background-color: ${(props) => props.backgroundColor};
|
|
559
561
|
box-shadow: 0 1px ${(props) => props.backgroundColor}; // this is added to avoid a 1px gap between title and viz divs that showed up intermittently because of pixel rounding error in chrome.
|
|
560
562
|
`;
|
|
563
|
+
var formatTrellisKey = (value) => {
|
|
564
|
+
if (value === null || value === void 0) {
|
|
565
|
+
return "";
|
|
566
|
+
}
|
|
567
|
+
if (typeof value === "string") {
|
|
568
|
+
return value;
|
|
569
|
+
}
|
|
570
|
+
if (typeof value === "number" || typeof value === "boolean") {
|
|
571
|
+
return value.toString();
|
|
572
|
+
}
|
|
573
|
+
if (typeof value === "symbol") {
|
|
574
|
+
return value.toString();
|
|
575
|
+
}
|
|
576
|
+
try {
|
|
577
|
+
return JSON.stringify(value);
|
|
578
|
+
} catch (e) {
|
|
579
|
+
return typeof value === "bigint" ? value.toString() : "";
|
|
580
|
+
}
|
|
581
|
+
};
|
|
561
582
|
var TrellisTitle = (props) => {
|
|
562
|
-
const titleText =
|
|
583
|
+
const titleText = formatTrellisKey(props.trellisKey);
|
|
563
584
|
return /* @__PURE__ */ react_exports.createElement(
|
|
564
585
|
TrellisTitleDiv,
|
|
565
586
|
{
|
|
@@ -797,6 +818,35 @@ var Charting = (props) => {
|
|
|
797
818
|
});
|
|
798
819
|
}
|
|
799
820
|
);
|
|
821
|
+
const initChart = (updatedOptions, serializedTimezone, ianaTimezone, utcOffset) => {
|
|
822
|
+
destroyChart();
|
|
823
|
+
charting_bundle_default.setTheme(themeKey);
|
|
824
|
+
if (colorPalette.length > 0) {
|
|
825
|
+
charting_bundle_default.setColorPalette(colorPalette);
|
|
826
|
+
}
|
|
827
|
+
chart.current = charting_bundle_default.createChart(container.current, __spreadValues(__spreadValues(__spreadValues(__spreadProps(__spreadValues({}, updatedOptions), {
|
|
828
|
+
drilldown: "all"
|
|
829
|
+
}), typeof serializedTimezone === "string" && {
|
|
830
|
+
"time.serializedTz": serializedTimezone
|
|
831
|
+
}), typeof ianaTimezone === "string" && {
|
|
832
|
+
"time.ianaTimezone": ianaTimezone
|
|
833
|
+
}), typeof utcOffset === "number" && {
|
|
834
|
+
"time.timezoneOffset": utcOffset
|
|
835
|
+
}));
|
|
836
|
+
chart.current.on("pointClick", (e) => {
|
|
837
|
+
handleClick2(e, "point.click" /* POINT_CLICK */);
|
|
838
|
+
});
|
|
839
|
+
chart.current.on("pointMouseOver", (e) => {
|
|
840
|
+
handlePointMouseOver(e, "point.mouseover" /* POINT_MOUSE_OVER */);
|
|
841
|
+
});
|
|
842
|
+
chart.current.on("pointMouseOut", (e) => {
|
|
843
|
+
handlePointMouseOut(e, "point.mouseout" /* POINT_MOUSE_OUT */);
|
|
844
|
+
});
|
|
845
|
+
chart.current.on("legendClick", (e) => {
|
|
846
|
+
handleClick2(e, "legend.click" /* LEGEND_CLICK */);
|
|
847
|
+
});
|
|
848
|
+
chart.current.on("chartRangeSelect", handleSelect);
|
|
849
|
+
};
|
|
800
850
|
const drawChart = () => {
|
|
801
851
|
const updatedOptions = __spreadProps(__spreadValues({}, options), { shouldColorizeTooltipData: false });
|
|
802
852
|
const computedChartSize = computeChartingSize();
|
|
@@ -820,33 +870,7 @@ var Charting = (props) => {
|
|
|
820
870
|
}
|
|
821
871
|
try {
|
|
822
872
|
if (needsInit.current) {
|
|
823
|
-
|
|
824
|
-
charting_bundle_default.setTheme(themeKey);
|
|
825
|
-
if (colorPalette.length > 0) {
|
|
826
|
-
charting_bundle_default.setColorPalette(colorPalette);
|
|
827
|
-
}
|
|
828
|
-
chart.current = charting_bundle_default.createChart(container.current, __spreadValues(__spreadValues(__spreadValues(__spreadProps(__spreadValues({}, updatedOptions), {
|
|
829
|
-
drilldown: "all"
|
|
830
|
-
}), typeof serializedTimezone === "string" && {
|
|
831
|
-
"time.serializedTz": serializedTimezone
|
|
832
|
-
}), typeof ianaTimezone === "string" && {
|
|
833
|
-
"time.ianaTimezone": ianaTimezone
|
|
834
|
-
}), typeof utcOffset === "number" && {
|
|
835
|
-
"time.timezoneOffset": utcOffset
|
|
836
|
-
}));
|
|
837
|
-
chart.current.on("pointClick", (e) => {
|
|
838
|
-
handleClick2(e, "point.click" /* POINT_CLICK */);
|
|
839
|
-
});
|
|
840
|
-
chart.current.on("pointMouseOver", (e) => {
|
|
841
|
-
handlePointMouseOver(e, "point.mouseover" /* POINT_MOUSE_OVER */);
|
|
842
|
-
});
|
|
843
|
-
chart.current.on("pointMouseOut", (e) => {
|
|
844
|
-
handlePointMouseOut(e, "point.mouseout" /* POINT_MOUSE_OUT */);
|
|
845
|
-
});
|
|
846
|
-
chart.current.on("legendClick", (e) => {
|
|
847
|
-
handleClick2(e, "legend.click" /* LEGEND_CLICK */);
|
|
848
|
-
});
|
|
849
|
-
chart.current.on("chartRangeSelect", handleSelect);
|
|
873
|
+
initChart(updatedOptions, serializedTimezone, ianaTimezone, utcOffset);
|
|
850
874
|
}
|
|
851
875
|
if (needsRedraw.current) {
|
|
852
876
|
charting_bundle_default.setTheme(themeKey);
|
|
@@ -1225,26 +1249,59 @@ var isTrellisEnabled2 = ({ options, featureFlags }) => {
|
|
|
1225
1249
|
const { splitByLayout = visualization_schemas_exports.LAYOUT_TYPE.Off } = options;
|
|
1226
1250
|
return isTrellisFeatureFlagOn2({ featureFlags }) && splitByLayout === visualization_schemas_exports.LAYOUT_TYPE.Trellis;
|
|
1227
1251
|
};
|
|
1228
|
-
var
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1252
|
+
var sortByValuesBase = [
|
|
1253
|
+
{ label: (0, i18n_exports._)("Result"), value: "result" },
|
|
1254
|
+
{ label: (0, i18n_exports._)("Name"), value: "name" }
|
|
1255
|
+
];
|
|
1256
|
+
var sortByValuesWithValue = [...sortByValuesBase, { label: (0, i18n_exports._)("Value"), value: "value" }];
|
|
1257
|
+
var sortByValuesWithValueAndTrend = [
|
|
1258
|
+
...sortByValuesBase,
|
|
1259
|
+
{ label: (0, i18n_exports._)("Value"), value: "value" },
|
|
1260
|
+
{ label: (0, i18n_exports._)("Trend"), value: "trend" }
|
|
1261
|
+
];
|
|
1262
|
+
var makeSortRow = (sortByValues) => [
|
|
1263
|
+
{
|
|
1264
|
+
label: (0, i18n_exports._)("Sort by"),
|
|
1265
|
+
option: "trellisSortBy",
|
|
1266
|
+
editor: "editor.select",
|
|
1267
|
+
editorProps: {
|
|
1268
|
+
values: sortByValues
|
|
1269
|
+
},
|
|
1270
|
+
showEditor: isTrellisEnabled2
|
|
1271
|
+
},
|
|
1272
|
+
{
|
|
1273
|
+
label: (0, i18n_exports._)("Sort order"),
|
|
1274
|
+
option: "trellisSortOrder",
|
|
1275
|
+
editor: "editor.select",
|
|
1276
|
+
editorProps: {
|
|
1277
|
+
values: [
|
|
1278
|
+
{ label: (0, i18n_exports._)("Ascending"), value: "ascending" },
|
|
1279
|
+
{ label: (0, i18n_exports._)("Descending"), value: "descending" }
|
|
1280
|
+
]
|
|
1281
|
+
},
|
|
1282
|
+
showEditor: isTrellisEnabled2
|
|
1283
|
+
}
|
|
1284
|
+
];
|
|
1285
|
+
var trellisLayoutRow = [
|
|
1286
|
+
{
|
|
1287
|
+
label: (0, i18n_exports._)("Trellis layout"),
|
|
1288
|
+
option: "splitByLayout",
|
|
1289
|
+
editor: "editor.toggle",
|
|
1290
|
+
showEditor: isTrellisFeatureFlagOn2
|
|
1291
|
+
}
|
|
1292
|
+
];
|
|
1293
|
+
var trellisSplitByRow = [
|
|
1294
|
+
{
|
|
1295
|
+
label: (0, i18n_exports._)("Split by"),
|
|
1296
|
+
option: "trellisSplitBy",
|
|
1297
|
+
editor: "editor.trellisSplitBy",
|
|
1298
|
+
editorProps: {
|
|
1299
|
+
dataSourceKey: "primary"
|
|
1300
|
+
},
|
|
1301
|
+
showEditor: isTrellisEnabled2
|
|
1302
|
+
}
|
|
1303
|
+
];
|
|
1304
|
+
var trellisLayoutRows = [
|
|
1248
1305
|
[
|
|
1249
1306
|
{
|
|
1250
1307
|
label: (0, i18n_exports._)("Number of columns"),
|
|
@@ -1288,6 +1345,24 @@ var TrellisEditorConfig = [
|
|
|
1288
1345
|
}
|
|
1289
1346
|
]
|
|
1290
1347
|
];
|
|
1348
|
+
var TrellisEditorConfig = [
|
|
1349
|
+
trellisLayoutRow,
|
|
1350
|
+
trellisSplitByRow,
|
|
1351
|
+
makeSortRow(sortByValuesBase),
|
|
1352
|
+
...trellisLayoutRows
|
|
1353
|
+
];
|
|
1354
|
+
var GaugeTrellisEditorConfig = [
|
|
1355
|
+
trellisLayoutRow,
|
|
1356
|
+
trellisSplitByRow,
|
|
1357
|
+
makeSortRow(sortByValuesWithValue),
|
|
1358
|
+
...trellisLayoutRows
|
|
1359
|
+
];
|
|
1360
|
+
var SingleValueTrellisEditorConfig = [
|
|
1361
|
+
trellisLayoutRow,
|
|
1362
|
+
trellisSplitByRow,
|
|
1363
|
+
makeSortRow(sortByValuesWithValueAndTrend),
|
|
1364
|
+
...trellisLayoutRows
|
|
1365
|
+
];
|
|
1291
1366
|
var TimechartTrellisEditorConfig = [
|
|
1292
1367
|
[
|
|
1293
1368
|
{
|
|
@@ -1295,7 +1370,6 @@ var TimechartTrellisEditorConfig = [
|
|
|
1295
1370
|
option: "splitByLayout",
|
|
1296
1371
|
editor: "editor.toggle",
|
|
1297
1372
|
showEditor: isTrellisFeatureFlagOn2,
|
|
1298
|
-
// add help text for timecharts
|
|
1299
1373
|
editorProps: {
|
|
1300
1374
|
help: (0, i18n_exports._)(
|
|
1301
1375
|
"Y2-axis and overlay field configurations are not supported when trellis is enabled."
|
|
@@ -1304,7 +1378,9 @@ var TimechartTrellisEditorConfig = [
|
|
|
1304
1378
|
}
|
|
1305
1379
|
}
|
|
1306
1380
|
],
|
|
1307
|
-
|
|
1381
|
+
trellisSplitByRow,
|
|
1382
|
+
makeSortRow(sortByValuesBase),
|
|
1383
|
+
...trellisLayoutRows,
|
|
1308
1384
|
[
|
|
1309
1385
|
{
|
|
1310
1386
|
label: (0, i18n_exports._)("Shared y-axis scale"),
|
|
@@ -1386,7 +1462,7 @@ var AxesChartDataDisplayBase = {
|
|
|
1386
1462
|
editorProps: {
|
|
1387
1463
|
filterByTypes: ["number"]
|
|
1388
1464
|
},
|
|
1389
|
-
isDisabled: isTrellisEnabled3
|
|
1465
|
+
isDisabled: ({ options, featureFlags }) => isTrellisEnabled3({ options, featureFlags }) || options.stackMode === "stacked100"
|
|
1390
1466
|
}
|
|
1391
1467
|
],
|
|
1392
1468
|
[
|
|
@@ -1910,6 +1986,10 @@ var AxesChartXGridAndLabelsBubbleScatter = {
|
|
|
1910
1986
|
var AxesChartXGridAndLabels_default = AxesChartXGridAndLabels;
|
|
1911
1987
|
|
|
1912
1988
|
// src/common/editorConfig/AxesChartYGridAndLabels.ts
|
|
1989
|
+
var isAcceleratedRenderEnabled2 = ({ options, featureFlags }) => {
|
|
1990
|
+
const { acceleratedRender } = options;
|
|
1991
|
+
return isAcceleratedRenderFeatureFlagOn({ featureFlags }) && acceleratedRender;
|
|
1992
|
+
};
|
|
1913
1993
|
var AxesChartYGridAndLabels = {
|
|
1914
1994
|
label: (0, i18n_exports._)("Y-axis grid and labels"),
|
|
1915
1995
|
layout: [
|
|
@@ -1974,7 +2054,8 @@ var AxesChartYGridAndLabels = {
|
|
|
1974
2054
|
{
|
|
1975
2055
|
label: (0, i18n_exports._)("Extend to whole grid"),
|
|
1976
2056
|
option: "showYAxisExtendedRange",
|
|
1977
|
-
editor: "editor.checkbox"
|
|
2057
|
+
editor: "editor.checkbox",
|
|
2058
|
+
showEditor: ({ options, featureFlags }) => !isAcceleratedRenderEnabled2({ options, featureFlags })
|
|
1978
2059
|
}
|
|
1979
2060
|
],
|
|
1980
2061
|
[
|
|
@@ -2271,6 +2352,9 @@ var axesChartY2GridAndLabels = {
|
|
|
2271
2352
|
var AxesChartY2GridAndLabels_default = axesChartY2GridAndLabels;
|
|
2272
2353
|
|
|
2273
2354
|
// src/Line/config.ts
|
|
2355
|
+
var isTrue = (value) => value === true || value === "true";
|
|
2356
|
+
var hasSteppedInterpolationEnabled = ({ options }) => (options == null ? void 0 : options.stepPosition) === "before" || (options == null ? void 0 : options.stepPosition) === "after";
|
|
2357
|
+
var shouldHideLineSmoothingEditor = ({ options, featureFlags }) => isTrue(featureFlags == null ? void 0 : featureFlags.visualizations_enableAcceleratedRender) && isTrue(options == null ? void 0 : options.acceleratedRender) && hasSteppedInterpolationEnabled({ options });
|
|
2274
2358
|
var dataContract = {
|
|
2275
2359
|
requiredDataSources: [
|
|
2276
2360
|
{
|
|
@@ -2341,7 +2425,8 @@ var editorConfig = [
|
|
|
2341
2425
|
{
|
|
2342
2426
|
label: (0, i18n_exports._)("Line smoothing"),
|
|
2343
2427
|
option: "showLineSmoothing",
|
|
2344
|
-
editor: "editor.toggle"
|
|
2428
|
+
editor: "editor.toggle",
|
|
2429
|
+
showEditor: ({ options, featureFlags }) => !shouldHideLineSmoothingEditor({ options, featureFlags })
|
|
2345
2430
|
}
|
|
2346
2431
|
],
|
|
2347
2432
|
[
|
|
@@ -2518,7 +2603,7 @@ var prop_types_default = "default" in defaultImport29 ? defaultImport29.default
|
|
|
2518
2603
|
var INITIAL_HEIGHT = 250;
|
|
2519
2604
|
var SplunkVisualization = class {
|
|
2520
2605
|
};
|
|
2521
|
-
SplunkVisualization
|
|
2606
|
+
__publicField(SplunkVisualization, "propTypes", {
|
|
2522
2607
|
/**
|
|
2523
2608
|
* display mode
|
|
2524
2609
|
*/
|
|
@@ -2594,11 +2679,11 @@ SplunkVisualization.propTypes = {
|
|
|
2594
2679
|
* A callback to request new data with updated request params
|
|
2595
2680
|
*/
|
|
2596
2681
|
onRequestParamsChange: prop_types_exports.func
|
|
2597
|
-
};
|
|
2682
|
+
});
|
|
2598
2683
|
/**
|
|
2599
2684
|
*
|
|
2600
2685
|
*/
|
|
2601
|
-
SplunkVisualization
|
|
2686
|
+
__publicField(SplunkVisualization, "defaults", {
|
|
2602
2687
|
// BaseVisualization in dashboard-visualizations uses 100% for width but 250 for height
|
|
2603
2688
|
width: "100%",
|
|
2604
2689
|
height: INITIAL_HEIGHT,
|
|
@@ -2613,7 +2698,7 @@ SplunkVisualization.defaults = {
|
|
|
2613
2698
|
onComputedProps: () => ({}),
|
|
2614
2699
|
loading: false,
|
|
2615
2700
|
onRequestParamsChange: lodash_exports.noop
|
|
2616
|
-
};
|
|
2701
|
+
});
|
|
2617
2702
|
var SplunkVisualization_default = SplunkVisualization;
|
|
2618
2703
|
|
|
2619
2704
|
// src/common/hooks/useSorting.ts
|
|
@@ -2664,9 +2749,9 @@ var usePaginationParams = ({
|
|
|
2664
2749
|
meta,
|
|
2665
2750
|
onRequestParamsChange
|
|
2666
2751
|
}) => {
|
|
2667
|
-
const totalCount = meta
|
|
2668
|
-
const offset = requestParams
|
|
2669
|
-
const count = requestParams
|
|
2752
|
+
const totalCount = (meta == null ? void 0 : meta.totalCount) || 0;
|
|
2753
|
+
const offset = (requestParams == null ? void 0 : requestParams.offset) || 0;
|
|
2754
|
+
const count = requestParams == null ? void 0 : requestParams.count;
|
|
2670
2755
|
const totalPages = typeof count === "number" && count > 0 ? Math.ceil(totalCount / count) : 0;
|
|
2671
2756
|
const current = typeof count === "number" && count > 0 ? Math.floor(offset / count) + 1 : 0;
|
|
2672
2757
|
const isPaging = totalPages > 1 && typeof onRequestParamsChange === "function";
|
|
@@ -2765,7 +2850,7 @@ var Cover = styled_components_default.div`
|
|
|
2765
2850
|
bottom: 0;
|
|
2766
2851
|
`;
|
|
2767
2852
|
var Blocker = styled_components_default.div.attrs({
|
|
2768
|
-
"data-splunk-visualization-version": "28.
|
|
2853
|
+
"data-splunk-visualization-version": "28.6.0 - 92427899a"
|
|
2769
2854
|
})`
|
|
2770
2855
|
position: relative;
|
|
2771
2856
|
width: 100%;
|
|
@@ -2846,7 +2931,7 @@ var withFixedSizeContainer = (Viz) => {
|
|
|
2846
2931
|
FixSizeItem,
|
|
2847
2932
|
{
|
|
2848
2933
|
"data-test": "fix-size-item",
|
|
2849
|
-
"data-splunk-visualization-version": "28.
|
|
2934
|
+
"data-splunk-visualization-version": "28.6.0 - 92427899a",
|
|
2850
2935
|
width,
|
|
2851
2936
|
height,
|
|
2852
2937
|
backgroundColor
|
|
@@ -3126,7 +3211,7 @@ var dataSourcesSplitByAggregationsUnknown = (dataSource) => {
|
|
|
3126
3211
|
const columns = (_d = (_c = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _c.data) == null ? void 0 : _d.columns;
|
|
3127
3212
|
let splitDataSources = null;
|
|
3128
3213
|
let errorCode = null;
|
|
3129
|
-
if (fields
|
|
3214
|
+
if (fields == null ? void 0 : fields.length) {
|
|
3130
3215
|
splitDataSources = {};
|
|
3131
3216
|
for (let i = 0; i < fields.length; i += 1) {
|
|
3132
3217
|
const fieldName = fields[i].name;
|
|
@@ -3177,7 +3262,7 @@ var dataSourcesSplitByAggregationsTimechartAndChart = (dataSource) => {
|
|
|
3177
3262
|
}
|
|
3178
3263
|
});
|
|
3179
3264
|
});
|
|
3180
|
-
} else if ((
|
|
3265
|
+
} else if (!(splitByFields == null ? void 0 : splitByFields.length) && fields.length > 1) {
|
|
3181
3266
|
splitDataSources = {};
|
|
3182
3267
|
for (let i = 1; i < fields.length; i += 1) {
|
|
3183
3268
|
const fieldName = fields[i].name;
|
|
@@ -3233,7 +3318,7 @@ var dataSourcesSplitByModeTimechart = (dataSource, splitBy) => {
|
|
|
3233
3318
|
if (fields.length > 0) {
|
|
3234
3319
|
splitByFields = (0, trellisUtils_exports.extractSplitByFieldsChartFields)(fields);
|
|
3235
3320
|
}
|
|
3236
|
-
if (splitByFields
|
|
3321
|
+
if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
|
|
3237
3322
|
splitDataSources = {};
|
|
3238
3323
|
const dataSourceKeys = (0, trellisUtils_exports.extractDataSourceAggregationKeysChart)(fields);
|
|
3239
3324
|
const valueKeys = [];
|
|
@@ -3264,6 +3349,68 @@ var dataSourcesSplitByModeTimechart = (dataSource, splitBy) => {
|
|
|
3264
3349
|
}
|
|
3265
3350
|
return { splitDataSources, errorCode };
|
|
3266
3351
|
};
|
|
3352
|
+
var splitRowWise = (dataSource, columns, fields, otherSplitBy, dataSourceKeys, nonDataSourceAggregations) => {
|
|
3353
|
+
const splitDataSources = {};
|
|
3354
|
+
const valueKeys = (0, lodash_exports.cloneDeep)(columns[0]);
|
|
3355
|
+
valueKeys.forEach((val, idx) => {
|
|
3356
|
+
splitDataSources[val] = (0, lodash_exports.cloneDeep)((0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"]));
|
|
3357
|
+
splitDataSources[val].primary.data.fields = [];
|
|
3358
|
+
if (otherSplitBy.length) {
|
|
3359
|
+
splitDataSources[val].primary.data.fields = [{ name: otherSplitBy[0] }];
|
|
3360
|
+
}
|
|
3361
|
+
if (dataSourceKeys.length) {
|
|
3362
|
+
const columnValues = [[]];
|
|
3363
|
+
splitDataSources[val].primary.data.fields = [
|
|
3364
|
+
...splitDataSources[val].primary.data.fields,
|
|
3365
|
+
...dataSourceKeys.map((k) => ({ name: k }))
|
|
3366
|
+
];
|
|
3367
|
+
dataSourceKeys.forEach(() => {
|
|
3368
|
+
columnValues.push([]);
|
|
3369
|
+
});
|
|
3370
|
+
for (let i = 1; i <= Math.ceil((fields.length - 1) / dataSourceKeys.length); i += 1) {
|
|
3371
|
+
columnValues[0].push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);
|
|
3372
|
+
dataSourceKeys.forEach((dskey, dsIndx) => {
|
|
3373
|
+
const mul = (fields.length - 1) / dataSourceKeys.length;
|
|
3374
|
+
columnValues[dsIndx + 1].push(columns[i + dsIndx * mul][idx]);
|
|
3375
|
+
});
|
|
3376
|
+
}
|
|
3377
|
+
splitDataSources[val].primary.data.columns = columnValues;
|
|
3378
|
+
} else if (nonDataSourceAggregations.length) {
|
|
3379
|
+
const columnValues = [];
|
|
3380
|
+
fields.forEach((aggregationField, fieldIdx) => {
|
|
3381
|
+
if (fieldIdx > 0) {
|
|
3382
|
+
splitDataSources[val].primary.data.fields.push(aggregationField);
|
|
3383
|
+
columnValues.push([columns[fieldIdx][idx]]);
|
|
3384
|
+
}
|
|
3385
|
+
});
|
|
3386
|
+
splitDataSources[val].primary.data.columns = columnValues;
|
|
3387
|
+
}
|
|
3388
|
+
});
|
|
3389
|
+
return splitDataSources;
|
|
3390
|
+
};
|
|
3391
|
+
var splitColumnWise = (dataSource, columns, fields, otherSplitBy, dataSourceKeys) => {
|
|
3392
|
+
const splitDataSources = {};
|
|
3393
|
+
const valueKeys = [];
|
|
3394
|
+
for (let i = 1; i < fields.length; i += 1) {
|
|
3395
|
+
valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);
|
|
3396
|
+
}
|
|
3397
|
+
valueKeys.forEach((val) => {
|
|
3398
|
+
splitDataSources[val] = (0, lodash_exports.cloneDeep)((0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"]));
|
|
3399
|
+
splitDataSources[val].primary.data.fields = [
|
|
3400
|
+
{ name: otherSplitBy[0] },
|
|
3401
|
+
...dataSourceKeys.map((k) => ({ name: k }))
|
|
3402
|
+
];
|
|
3403
|
+
splitDataSources[val].primary.data.columns = [[...columns[0]]];
|
|
3404
|
+
dataSourceKeys.forEach((dsKey) => {
|
|
3405
|
+
fields.forEach((field, idx) => {
|
|
3406
|
+
if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {
|
|
3407
|
+
splitDataSources[val].primary.data.columns.push([...columns[idx]]);
|
|
3408
|
+
}
|
|
3409
|
+
});
|
|
3410
|
+
});
|
|
3411
|
+
});
|
|
3412
|
+
return splitDataSources;
|
|
3413
|
+
};
|
|
3267
3414
|
var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
|
|
3268
3415
|
var _a, _b, _c, _d;
|
|
3269
3416
|
const fields = toFieldEntries((_b = (_a = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _a.data) == null ? void 0 : _b.fields);
|
|
@@ -3274,8 +3421,7 @@ var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
|
|
|
3274
3421
|
if (fields.length > 0) {
|
|
3275
3422
|
splitByFields = (0, trellisUtils_exports.extractSplitByFieldsChartFields)(fields);
|
|
3276
3423
|
}
|
|
3277
|
-
if (splitByFields
|
|
3278
|
-
splitDataSources = {};
|
|
3424
|
+
if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
|
|
3279
3425
|
const splitByFieldIdx = splitByFields.findIndex((f) => f === splitBy);
|
|
3280
3426
|
const otherSplitBy = splitByFields.filter((f) => f !== splitBy);
|
|
3281
3427
|
const dataSourceKeys = (0, trellisUtils_exports.extractDataSourceAggregationKeysChart)(fields);
|
|
@@ -3286,71 +3432,16 @@ var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
|
|
|
3286
3432
|
}
|
|
3287
3433
|
}
|
|
3288
3434
|
if (splitByFieldIdx === 0) {
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
|
|
3295
|
-
|
|
3296
|
-
|
|
3297
|
-
}
|
|
3298
|
-
if (dataSourceKeys.length) {
|
|
3299
|
-
const columnValues = [[]];
|
|
3300
|
-
splitDataSources[val].primary.data.fields = [
|
|
3301
|
-
...splitDataSources[val].primary.data.fields,
|
|
3302
|
-
...dataSourceKeys.map((k) => ({
|
|
3303
|
-
name: k
|
|
3304
|
-
}))
|
|
3305
|
-
];
|
|
3306
|
-
dataSourceKeys.forEach(() => {
|
|
3307
|
-
columnValues.push([]);
|
|
3308
|
-
});
|
|
3309
|
-
for (let i = 1; i <= Math.ceil((fields.length - 1) / dataSourceKeys.length); i += 1) {
|
|
3310
|
-
columnValues[0].push(
|
|
3311
|
-
fields[i].splitby_value ? fields[i].splitby_value : fields[i].name
|
|
3312
|
-
);
|
|
3313
|
-
dataSourceKeys.forEach((dskey, dsIndx) => {
|
|
3314
|
-
const mul = (fields.length - 1) / dataSourceKeys.length;
|
|
3315
|
-
columnValues[dsIndx + 1].push(columns[i + dsIndx * mul][idx]);
|
|
3316
|
-
});
|
|
3317
|
-
}
|
|
3318
|
-
splitDataSources[val].primary.data.columns = columnValues;
|
|
3319
|
-
} else if (nonDataSourceAggregations.length) {
|
|
3320
|
-
const columnValues = [];
|
|
3321
|
-
fields.forEach((aggregationField, fieldIdx) => {
|
|
3322
|
-
if (fieldIdx > 0) {
|
|
3323
|
-
splitDataSources[val].primary.data.fields.push(aggregationField);
|
|
3324
|
-
columnValues.push([columns[fieldIdx][idx]]);
|
|
3325
|
-
}
|
|
3326
|
-
});
|
|
3327
|
-
splitDataSources[val].primary.data.columns = columnValues;
|
|
3328
|
-
}
|
|
3329
|
-
});
|
|
3435
|
+
splitDataSources = splitRowWise(
|
|
3436
|
+
dataSource,
|
|
3437
|
+
columns,
|
|
3438
|
+
fields,
|
|
3439
|
+
otherSplitBy,
|
|
3440
|
+
dataSourceKeys,
|
|
3441
|
+
nonDataSourceAggregations
|
|
3442
|
+
);
|
|
3330
3443
|
} else {
|
|
3331
|
-
|
|
3332
|
-
for (let i = 1; i < fields.length; i += 1) {
|
|
3333
|
-
valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);
|
|
3334
|
-
}
|
|
3335
|
-
valueKeys.forEach((val) => {
|
|
3336
|
-
splitDataSources[val] = (0, lodash_exports.cloneDeep)(
|
|
3337
|
-
(0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"])
|
|
3338
|
-
);
|
|
3339
|
-
splitDataSources[val].primary.data.fields = [
|
|
3340
|
-
{ name: otherSplitBy[0] },
|
|
3341
|
-
...dataSourceKeys.map((k) => ({
|
|
3342
|
-
name: k
|
|
3343
|
-
}))
|
|
3344
|
-
];
|
|
3345
|
-
splitDataSources[val].primary.data.columns = [[...columns[0]]];
|
|
3346
|
-
dataSourceKeys.forEach((dsKey) => {
|
|
3347
|
-
fields.forEach((field, idx) => {
|
|
3348
|
-
if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {
|
|
3349
|
-
splitDataSources[val].primary.data.columns.push([...columns[idx]]);
|
|
3350
|
-
}
|
|
3351
|
-
});
|
|
3352
|
-
});
|
|
3353
|
-
});
|
|
3444
|
+
splitDataSources = splitColumnWise(dataSource, columns, fields, otherSplitBy, dataSourceKeys);
|
|
3354
3445
|
}
|
|
3355
3446
|
} else {
|
|
3356
3447
|
errorCode = "INVALID_SPLIT_BY_FIELD";
|
|
@@ -3368,7 +3459,7 @@ var dataSourcesSplitByModeStatsorUnknown = (dataSource, splitBy, splitMode) => {
|
|
|
3368
3459
|
splitByFields = splitMode !== trellisUtils_exports.UNKNOWN ? (0, trellisUtils_exports.extractSplitByFieldsForStats)(fields) : (0, trellisUtils_exports.extractSplitByFieldsForUnknown)(fields);
|
|
3369
3460
|
}
|
|
3370
3461
|
const splitByIndex = fields.findIndex((field) => field.name === splitBy);
|
|
3371
|
-
if (splitByFields
|
|
3462
|
+
if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
|
|
3372
3463
|
const splitByColumn = (_f = (_e = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _e.data) == null ? void 0 : _f.columns[splitByIndex];
|
|
3373
3464
|
splitDataSources = {};
|
|
3374
3465
|
splitByColumn.forEach((val, idx) => {
|
|
@@ -3490,11 +3581,78 @@ var defaultImport35 = __toESM(require("@splunk/react-icons/Triangle"));
|
|
|
3490
3581
|
__reExport(Triangle_exports, require("@splunk/react-icons/Triangle"));
|
|
3491
3582
|
var Triangle_default = "default" in defaultImport35 ? defaultImport35.default : defaultImport35;
|
|
3492
3583
|
|
|
3584
|
+
// esm-externals:@splunk/visualizations-shared/propUtils
|
|
3585
|
+
var propUtils_exports = {};
|
|
3586
|
+
__export(propUtils_exports, {
|
|
3587
|
+
default: () => propUtils_default
|
|
3588
|
+
});
|
|
3589
|
+
var defaultImport36 = __toESM(require("@splunk/visualizations-shared/propUtils"));
|
|
3590
|
+
__reExport(propUtils_exports, require("@splunk/visualizations-shared/propUtils"));
|
|
3591
|
+
var propUtils_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
|
|
3592
|
+
|
|
3593
|
+
// esm-externals:@splunk/visualizations-shared/simpleXMLOptions
|
|
3594
|
+
var simpleXMLOptions_exports = {};
|
|
3595
|
+
__export(simpleXMLOptions_exports, {
|
|
3596
|
+
default: () => simpleXMLOptions_default
|
|
3597
|
+
});
|
|
3598
|
+
var defaultImport37 = __toESM(require("@splunk/visualizations-shared/simpleXMLOptions"));
|
|
3599
|
+
__reExport(simpleXMLOptions_exports, require("@splunk/visualizations-shared/simpleXMLOptions"));
|
|
3600
|
+
var simpleXMLOptions_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
|
|
3601
|
+
|
|
3493
3602
|
// src/common/chartingUtils.ts
|
|
3603
|
+
var SHARED_AXIS_CHART_CANVAS_SPECIFIC_PROPS = [
|
|
3604
|
+
"yAxisMin",
|
|
3605
|
+
"yAxisMax",
|
|
3606
|
+
"y2AxisMin",
|
|
3607
|
+
"y2AxisMax",
|
|
3608
|
+
"showXMajorGridLines",
|
|
3609
|
+
"showYMajorGridLines",
|
|
3610
|
+
"showY2MajorGridLines",
|
|
3611
|
+
"showYMinorGridLines",
|
|
3612
|
+
"showY2MinorGridLines",
|
|
3613
|
+
"xAxisMajorTickVisibility",
|
|
3614
|
+
"xAxisMajorTickSize",
|
|
3615
|
+
"yAxisMajorTickVisibility",
|
|
3616
|
+
"y2AxisMajorTickVisibility",
|
|
3617
|
+
"yAxisMajorTickSize",
|
|
3618
|
+
"y2AxisMajorTickSize",
|
|
3619
|
+
"yAxisMinorTickVisibility",
|
|
3620
|
+
"y2AxisMinorTickVisibility",
|
|
3621
|
+
"yAxisMinorTickSize",
|
|
3622
|
+
"y2AxisMinorTickSize",
|
|
3623
|
+
"legendMode",
|
|
3624
|
+
"legendTruncation"
|
|
3625
|
+
];
|
|
3626
|
+
var transformAxisChartOptions = ({
|
|
3627
|
+
originalOptions,
|
|
3628
|
+
optionsSchema: optionsSchema2,
|
|
3629
|
+
chart,
|
|
3630
|
+
convertToSCProps,
|
|
3631
|
+
preservedProps
|
|
3632
|
+
}) => {
|
|
3633
|
+
const returnOptions = (0, propUtils_exports.adjustOptionsToSchema)(originalOptions, optionsSchema2);
|
|
3634
|
+
const convertedOptions = convertToSCProps(returnOptions);
|
|
3635
|
+
const transformed = __spreadProps(__spreadValues({}, (0, simpleXMLOptions_exports.getSimpleXMLOptionsForProps)(convertedOptions)), {
|
|
3636
|
+
chart
|
|
3637
|
+
});
|
|
3638
|
+
const preserved = preservedProps.reduce(
|
|
3639
|
+
(acc, prop) => {
|
|
3640
|
+
if (returnOptions[prop] !== void 0) {
|
|
3641
|
+
acc[prop] = returnOptions[prop];
|
|
3642
|
+
}
|
|
3643
|
+
return acc;
|
|
3644
|
+
},
|
|
3645
|
+
{}
|
|
3646
|
+
);
|
|
3647
|
+
if (convertedOptions.legendLabels !== void 0) {
|
|
3648
|
+
preserved.legendLabels = convertedOptions.legendLabels;
|
|
3649
|
+
}
|
|
3650
|
+
return __spreadValues(__spreadValues({}, transformed), preserved);
|
|
3651
|
+
};
|
|
3494
3652
|
var DEFAULT_LINE_WIDTH = 2;
|
|
3495
|
-
var getAnnotations = ({ annotationX, annotationColor, annotationLabel }) => annotationX
|
|
3496
|
-
color: annotationColor
|
|
3497
|
-
label: annotationLabel
|
|
3653
|
+
var getAnnotations = ({ annotationX, annotationColor, annotationLabel }) => (annotationX == null ? void 0 : annotationX.length) ? annotationX.map((timestamp, i) => ({
|
|
3654
|
+
color: annotationColor == null ? void 0 : annotationColor[i],
|
|
3655
|
+
label: annotationLabel == null ? void 0 : annotationLabel[i],
|
|
3498
3656
|
time: timestamp
|
|
3499
3657
|
})) : [];
|
|
3500
3658
|
var getAnnotationsForCanvas = ({
|
|
@@ -3607,6 +3765,39 @@ function extractAdditionalTooltipValues(columns, fields, additionalTooltipFields
|
|
|
3607
3765
|
}
|
|
3608
3766
|
return additionalTooltipValuesArray;
|
|
3609
3767
|
}
|
|
3768
|
+
var areStringArraysEqual = (a, b) => {
|
|
3769
|
+
if (a === b) return true;
|
|
3770
|
+
if (!a || !b) return false;
|
|
3771
|
+
if (a.length !== b.length) return false;
|
|
3772
|
+
for (let i = 0; i < a.length; i += 1) {
|
|
3773
|
+
if (a[i] !== b[i]) return false;
|
|
3774
|
+
}
|
|
3775
|
+
return true;
|
|
3776
|
+
};
|
|
3777
|
+
var createAdditionalTooltipValuesMemoizer = () => {
|
|
3778
|
+
let cache = {
|
|
3779
|
+
columns: null,
|
|
3780
|
+
fields: null,
|
|
3781
|
+
additionalTooltipFields: void 0,
|
|
3782
|
+
result: void 0
|
|
3783
|
+
};
|
|
3784
|
+
return (columns, fields, additionalTooltipFields) => {
|
|
3785
|
+
if (cache.columns === columns && cache.fields === fields && areStringArraysEqual(cache.additionalTooltipFields, additionalTooltipFields)) {
|
|
3786
|
+
return cache.result;
|
|
3787
|
+
}
|
|
3788
|
+
let result;
|
|
3789
|
+
if ((additionalTooltipFields == null ? void 0 : additionalTooltipFields.length) && columns && fields) {
|
|
3790
|
+
result = extractAdditionalTooltipValues(columns, fields, additionalTooltipFields);
|
|
3791
|
+
}
|
|
3792
|
+
cache = {
|
|
3793
|
+
columns,
|
|
3794
|
+
fields,
|
|
3795
|
+
additionalTooltipFields,
|
|
3796
|
+
result
|
|
3797
|
+
};
|
|
3798
|
+
return result;
|
|
3799
|
+
};
|
|
3800
|
+
};
|
|
3610
3801
|
var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
|
|
3611
3802
|
const rangeSelectEventHandler = eventHandlers.find(
|
|
3612
3803
|
(eventHandler) => {
|
|
@@ -3617,9 +3808,9 @@ var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
|
|
|
3617
3808
|
const xAxisIsTime = xField === "_time";
|
|
3618
3809
|
return !!rangeSelectEventHandler && xAxisIsTime;
|
|
3619
3810
|
};
|
|
3620
|
-
var canvasSupportedTimeSeriesCharts = ["splunk.line"];
|
|
3811
|
+
var canvasSupportedTimeSeriesCharts = ["splunk.line", "splunk.area"];
|
|
3621
3812
|
var isTimeSeriesCanvasRenderSupported = (vizConfigKey) => {
|
|
3622
|
-
return canvasSupportedTimeSeriesCharts.
|
|
3813
|
+
return canvasSupportedTimeSeriesCharts.includes(vizConfigKey);
|
|
3623
3814
|
};
|
|
3624
3815
|
var filterChartDataFromInternalFields = (chartData) => {
|
|
3625
3816
|
const { fields, columns } = chartData;
|
|
@@ -3774,46 +3965,66 @@ var getY2ScaleConfig = (label, axisAbbreviation, axisScale, roundAxisLabelsToInt
|
|
|
3774
3965
|
}
|
|
3775
3966
|
return y2Config;
|
|
3776
3967
|
};
|
|
3777
|
-
var
|
|
3968
|
+
var getSeriesType = (isOverlay, isAreaChart, isStacked) => {
|
|
3969
|
+
if (isOverlay) return "line";
|
|
3970
|
+
if (!isAreaChart) return void 0;
|
|
3971
|
+
return isStacked ? "stacked-area" : "area";
|
|
3972
|
+
};
|
|
3973
|
+
var getY2Scale = (field, y2fields, overlayFields) => {
|
|
3974
|
+
const assignToY2 = (y2fields == null ? void 0 : y2fields.length) > 0 && y2fields.includes(field) || !(y2fields == null ? void 0 : y2fields.length) && (overlayFields == null ? void 0 : overlayFields.includes(field));
|
|
3975
|
+
return assignToY2 ? "y2" : "y";
|
|
3976
|
+
};
|
|
3977
|
+
var getSeriesOverrides = (opts) => {
|
|
3978
|
+
var _a;
|
|
3979
|
+
const {
|
|
3980
|
+
yfields,
|
|
3981
|
+
y2fields,
|
|
3982
|
+
lineWidth,
|
|
3983
|
+
overlayFields,
|
|
3984
|
+
y2Enabled,
|
|
3985
|
+
nullValueMode,
|
|
3986
|
+
markerDisplay,
|
|
3987
|
+
lineDashStyle,
|
|
3988
|
+
lineDashStylesByField,
|
|
3989
|
+
stepPosition,
|
|
3990
|
+
stepPositionsByField,
|
|
3991
|
+
type,
|
|
3992
|
+
stackMode,
|
|
3993
|
+
showLines
|
|
3994
|
+
} = opts;
|
|
3778
3995
|
const seriesConfig = {};
|
|
3779
3996
|
let spanGaps;
|
|
3780
|
-
let replaceNullsWithZero;
|
|
3781
3997
|
if (nullValueMode === "gaps") {
|
|
3782
3998
|
spanGaps = false;
|
|
3783
|
-
} else if (nullValueMode
|
|
3999
|
+
} else if (nullValueMode != null) {
|
|
3784
4000
|
spanGaps = true;
|
|
3785
|
-
|
|
3786
|
-
|
|
3787
|
-
}
|
|
4001
|
+
} else {
|
|
4002
|
+
spanGaps = void 0;
|
|
3788
4003
|
}
|
|
3789
|
-
|
|
4004
|
+
const replaceNullsWithZero = nullValueMode === "zero" ? true : void 0;
|
|
4005
|
+
const isAreaChart = type === "area";
|
|
4006
|
+
const isStacked = isAreaChart && (stackMode === "stacked" || stackMode === "stacked100");
|
|
4007
|
+
const areaFields = isAreaChart ? yfields.filter((f) => !(overlayFields == null ? void 0 : overlayFields.includes(f))) : yfields;
|
|
4008
|
+
const overlayFieldsInOrder = (_a = overlayFields == null ? void 0 : overlayFields.filter((f) => yfields.includes(f))) != null ? _a : [];
|
|
4009
|
+
const orderedFields = isAreaChart ? [...areaFields, ...overlayFieldsInOrder] : yfields;
|
|
4010
|
+
orderedFields.forEach((field) => {
|
|
4011
|
+
var _a2;
|
|
4012
|
+
const isOverlay = (_a2 = overlayFields == null ? void 0 : overlayFields.includes(field)) != null ? _a2 : false;
|
|
4013
|
+
const isPercent = isAreaChart && stackMode === "stacked100" && !isOverlay;
|
|
4014
|
+
const shouldHideAreaOutline = isAreaChart && showLines === false && !isOverlay;
|
|
3790
4015
|
seriesConfig[field] = {
|
|
3791
|
-
overrides: {
|
|
4016
|
+
overrides: __spreadValues({
|
|
4017
|
+
width: shouldHideAreaOutline ? 0 : lineWidth != null ? lineWidth : DEFAULT_LINE_WIDTH
|
|
4018
|
+
}, isPercent ? { stacking: { mode: "percent", group: "A" } } : {})
|
|
3792
4019
|
};
|
|
3793
|
-
|
|
3794
|
-
|
|
3795
|
-
|
|
3796
|
-
if (y2Enabled)
|
|
3797
|
-
|
|
3798
|
-
|
|
3799
|
-
|
|
3800
|
-
|
|
3801
|
-
);
|
|
3802
|
-
if (shouldAssignToY2) {
|
|
3803
|
-
seriesConfig[field].overrides.scale = "y2";
|
|
3804
|
-
} else {
|
|
3805
|
-
seriesConfig[field].overrides.scale = "y";
|
|
3806
|
-
}
|
|
3807
|
-
}
|
|
3808
|
-
if (overlayFields == null ? void 0 : overlayFields.includes(field)) {
|
|
3809
|
-
seriesConfig[field].type = "line";
|
|
3810
|
-
}
|
|
3811
|
-
if (markerDisplay !== void 0) {
|
|
3812
|
-
seriesConfig[field].markerDisplay = markerDisplay;
|
|
3813
|
-
}
|
|
3814
|
-
const fieldDashStyle = (lineDashStylesByField == null ? void 0 : lineDashStylesByField[field]) || lineDashStyle;
|
|
3815
|
-
if (fieldDashStyle) {
|
|
3816
|
-
seriesConfig[field].lineDashStyle = fieldDashStyle;
|
|
4020
|
+
const seriesType = getSeriesType(isOverlay, isAreaChart, isStacked);
|
|
4021
|
+
if (seriesType !== void 0) seriesConfig[field].type = seriesType;
|
|
4022
|
+
if (spanGaps !== void 0) seriesConfig[field].overrides.spanGaps = spanGaps;
|
|
4023
|
+
if (y2Enabled) seriesConfig[field].overrides.scale = getY2Scale(field, y2fields, overlayFields);
|
|
4024
|
+
if (markerDisplay !== void 0) seriesConfig[field].markerDisplay = markerDisplay;
|
|
4025
|
+
if (!isAreaChart || isOverlay) {
|
|
4026
|
+
const fieldDashStyle = (lineDashStylesByField == null ? void 0 : lineDashStylesByField[field]) || lineDashStyle;
|
|
4027
|
+
if (fieldDashStyle) seriesConfig[field].lineDashStyle = fieldDashStyle;
|
|
3817
4028
|
}
|
|
3818
4029
|
const hasFieldStepPosition = Object.hasOwn(stepPositionsByField || {}, field);
|
|
3819
4030
|
const fieldStepPosition = hasFieldStepPosition ? stepPositionsByField == null ? void 0 : stepPositionsByField[field] : stepPosition;
|
|
@@ -3979,6 +4190,38 @@ var parseArrayOption = (value) => {
|
|
|
3979
4190
|
}
|
|
3980
4191
|
return void 0;
|
|
3981
4192
|
};
|
|
4193
|
+
var getAreaOpacityForCanvas = (areaOpacity) => (
|
|
4194
|
+
// Preserve legacy visualizations behavior where area opacity is squared to match charting output.
|
|
4195
|
+
areaOpacity !== void 0 && areaOpacity !== null ? __pow(areaOpacity, 2) : areaOpacity
|
|
4196
|
+
);
|
|
4197
|
+
var parseTickIntervalOption = (simpleXMLValue, canvasValue) => {
|
|
4198
|
+
if (simpleXMLValue) return Number(simpleXMLValue);
|
|
4199
|
+
if (canvasValue) return Number(canvasValue);
|
|
4200
|
+
return void 0;
|
|
4201
|
+
};
|
|
4202
|
+
var getYAxisTitles = ({
|
|
4203
|
+
y2Enabled,
|
|
4204
|
+
yFields,
|
|
4205
|
+
y2Fields,
|
|
4206
|
+
overlayFields,
|
|
4207
|
+
yAxisTitleText,
|
|
4208
|
+
yAxisTitleVisibility,
|
|
4209
|
+
y2AxisTitleText,
|
|
4210
|
+
y2AxisTitleVisibility,
|
|
4211
|
+
containerHeight
|
|
4212
|
+
}) => {
|
|
4213
|
+
const yFieldsForTitle = y2Enabled ? yFields.filter((field) => !y2Fields.includes(field)) : yFields;
|
|
4214
|
+
const fieldsForY2Axis = y2Fields.length > 0 ? y2Fields : overlayFields;
|
|
4215
|
+
const yAxisTitle = ellipsisAxisTitle(
|
|
4216
|
+
getComputedAxisTitles(yAxisTitleText, yFieldsForTitle, yAxisTitleVisibility),
|
|
4217
|
+
containerHeight
|
|
4218
|
+
);
|
|
4219
|
+
const y2AxisTitle = ellipsisAxisTitle(
|
|
4220
|
+
getComputedAxisTitles(y2AxisTitleText, fieldsForY2Axis, y2AxisTitleVisibility),
|
|
4221
|
+
containerHeight
|
|
4222
|
+
);
|
|
4223
|
+
return { yAxisTitle, y2AxisTitle };
|
|
4224
|
+
};
|
|
3982
4225
|
var TimeSeriesChartWrapper = (props) => {
|
|
3983
4226
|
var _b, _c, _d;
|
|
3984
4227
|
const _a = props, {
|
|
@@ -4068,6 +4311,8 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4068
4311
|
"chart.overlayFields": overlayFieldsStr,
|
|
4069
4312
|
"chart.nullValueMode": nullValueMode,
|
|
4070
4313
|
"chart.showDataLabels": showDataLabels,
|
|
4314
|
+
"chart.showLines": showLines,
|
|
4315
|
+
"chart.stackMode": stackMode,
|
|
4071
4316
|
lineWidth,
|
|
4072
4317
|
lineDashStyle,
|
|
4073
4318
|
fieldDashStyles: lineDashStylesByFieldStr,
|
|
@@ -4096,7 +4341,10 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4096
4341
|
yAxisMinorTickSize,
|
|
4097
4342
|
y2AxisMinorTickSize,
|
|
4098
4343
|
showYAxisWithZero: showYAxisWithZeroFromOptions,
|
|
4099
|
-
showY2AxisWithZero: showY2AxisWithZeroFromOptions
|
|
4344
|
+
showY2AxisWithZero: showY2AxisWithZeroFromOptions,
|
|
4345
|
+
// area only props
|
|
4346
|
+
areaFillOpacity: areaOpacity,
|
|
4347
|
+
chart: chartType
|
|
4100
4348
|
} = options;
|
|
4101
4349
|
const dataValuesDisplay = showDataLabels === "none" ? "off" : showDataLabels;
|
|
4102
4350
|
const showYAxisWithZero = showYAxisWithZeroFromProps != null ? showYAxisWithZeroFromProps : showYAxisWithZeroFromOptions;
|
|
@@ -4113,13 +4361,11 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4113
4361
|
const yAxisMax = parseAxisValue(yAxisMaxRaw);
|
|
4114
4362
|
const y2AxisMin = parseAxisValue(y2AxisMinRaw);
|
|
4115
4363
|
const y2AxisMax = parseAxisValue(y2AxisMaxRaw);
|
|
4116
|
-
const
|
|
4117
|
-
|
|
4118
|
-
|
|
4119
|
-
|
|
4120
|
-
|
|
4121
|
-
const yAxisMajorTickIntervalNum = parseTickInterval(yAxisMajorUnitFromSimpleXML, yAxisMajorTickInterval);
|
|
4122
|
-
const y2AxisMajorTickIntervalNum = parseTickInterval(
|
|
4364
|
+
const yAxisMajorTickIntervalNum = parseTickIntervalOption(
|
|
4365
|
+
yAxisMajorUnitFromSimpleXML,
|
|
4366
|
+
yAxisMajorTickInterval
|
|
4367
|
+
);
|
|
4368
|
+
const y2AxisMajorTickIntervalNum = parseTickIntervalOption(
|
|
4123
4369
|
y2AxisMajorUnitFromSimpleXML,
|
|
4124
4370
|
y2AxisMajorTickInterval
|
|
4125
4371
|
);
|
|
@@ -4128,6 +4374,7 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4128
4374
|
const y2AxisMajorTickSizeNum = y2AxisMajorTickSize != null ? Number(y2AxisMajorTickSize) : void 0;
|
|
4129
4375
|
const yAxisMinorTickSizeNum = yAxisMinorTickSize != null ? Number(yAxisMinorTickSize) : void 0;
|
|
4130
4376
|
const y2AxisMinorTickSizeNum = y2AxisMinorTickSize != null ? Number(y2AxisMinorTickSize) : void 0;
|
|
4377
|
+
const areaOpacityForCanvas = getAreaOpacityForCanvas(areaOpacity);
|
|
4131
4378
|
const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
|
|
4132
4379
|
const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
|
|
4133
4380
|
const lineDashStylesByField = lineDashStylesByFieldStr ? JSON.parse(lineDashStylesByFieldStr) : void 0;
|
|
@@ -4158,26 +4405,40 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4158
4405
|
);
|
|
4159
4406
|
let xAxisTitle = getComputedAxisTitles(xAxisTitleText, [xField], xAxisTitleVisibility);
|
|
4160
4407
|
xAxisTitle = ellipsisAxisTitle(xAxisTitle, containerWidth);
|
|
4161
|
-
const
|
|
4162
|
-
|
|
4163
|
-
|
|
4164
|
-
|
|
4165
|
-
|
|
4166
|
-
|
|
4408
|
+
const { yAxisTitle, y2AxisTitle } = getYAxisTitles({
|
|
4409
|
+
y2Enabled,
|
|
4410
|
+
yFields,
|
|
4411
|
+
y2Fields,
|
|
4412
|
+
overlayFields,
|
|
4413
|
+
yAxisTitleText,
|
|
4414
|
+
yAxisTitleVisibility,
|
|
4415
|
+
y2AxisTitleText,
|
|
4416
|
+
y2AxisTitleVisibility,
|
|
4417
|
+
containerHeight
|
|
4418
|
+
});
|
|
4167
4419
|
const xScaleConfig = (0, react_exports.useMemo)(
|
|
4168
4420
|
() => getXScaleConfig(xAxisTitle, xAxisLabelVisibility, xAxisLabelRotation),
|
|
4169
4421
|
[xAxisTitle, xAxisLabelVisibility, xAxisLabelRotation]
|
|
4170
4422
|
);
|
|
4423
|
+
const isStacked100 = stackMode === "stacked100";
|
|
4171
4424
|
const yScaleConfig = (0, react_exports.useMemo)(
|
|
4172
|
-
() =>
|
|
4173
|
-
|
|
4174
|
-
|
|
4175
|
-
|
|
4176
|
-
|
|
4177
|
-
|
|
4178
|
-
|
|
4179
|
-
|
|
4180
|
-
|
|
4425
|
+
() => {
|
|
4426
|
+
const config2 = getYScaleConfig(
|
|
4427
|
+
yAxisTitle,
|
|
4428
|
+
yAxisAbbreviation,
|
|
4429
|
+
yAxisScale,
|
|
4430
|
+
yAxisLabelVisibility,
|
|
4431
|
+
yAxisMin,
|
|
4432
|
+
yAxisMax
|
|
4433
|
+
);
|
|
4434
|
+
if (isStacked100) {
|
|
4435
|
+
config2.y.tickFmt = (v) => `${Math.round(v * 100)}%`;
|
|
4436
|
+
config2.y.range = () => [0, 1];
|
|
4437
|
+
}
|
|
4438
|
+
return config2;
|
|
4439
|
+
},
|
|
4440
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
4441
|
+
[yAxisTitle, yAxisAbbreviation, yAxisScale, yAxisLabelVisibility, yAxisMin, yAxisMax, isStacked100]
|
|
4181
4442
|
);
|
|
4182
4443
|
const y2ScaleConfig = (0, react_exports.useMemo)(() => {
|
|
4183
4444
|
if (y2Enabled) {
|
|
@@ -4209,10 +4470,11 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4209
4470
|
];
|
|
4210
4471
|
chartData.fields = filteredChartData.fields;
|
|
4211
4472
|
chartData.columns = seriesDataFormatted;
|
|
4473
|
+
const normalizedStackMode = stackMode === "stacked" || stackMode === "stacked100" ? stackMode : "auto";
|
|
4212
4474
|
const seriesOverrides = (0, react_exports.useMemo)(
|
|
4213
|
-
() => getSeriesOverrides(
|
|
4214
|
-
yFields,
|
|
4215
|
-
y2Fields,
|
|
4475
|
+
() => getSeriesOverrides({
|
|
4476
|
+
yfields: yFields,
|
|
4477
|
+
y2fields: y2Fields,
|
|
4216
4478
|
lineWidth,
|
|
4217
4479
|
overlayFields,
|
|
4218
4480
|
y2Enabled,
|
|
@@ -4221,8 +4483,11 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4221
4483
|
lineDashStyle,
|
|
4222
4484
|
lineDashStylesByField,
|
|
4223
4485
|
stepPosition,
|
|
4224
|
-
stepPositionsByField
|
|
4225
|
-
|
|
4486
|
+
stepPositionsByField,
|
|
4487
|
+
type: chartType,
|
|
4488
|
+
stackMode: normalizedStackMode,
|
|
4489
|
+
showLines
|
|
4490
|
+
}),
|
|
4226
4491
|
[
|
|
4227
4492
|
yFields,
|
|
4228
4493
|
y2Fields,
|
|
@@ -4234,7 +4499,10 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4234
4499
|
lineDashStyle,
|
|
4235
4500
|
lineDashStylesByField,
|
|
4236
4501
|
stepPosition,
|
|
4237
|
-
stepPositionsByField
|
|
4502
|
+
stepPositionsByField,
|
|
4503
|
+
chartType,
|
|
4504
|
+
normalizedStackMode,
|
|
4505
|
+
showLines
|
|
4238
4506
|
]
|
|
4239
4507
|
);
|
|
4240
4508
|
const chartingEventAnnotations = (0, react_exports.useMemo)(
|
|
@@ -4302,50 +4570,54 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4302
4570
|
react_exports.useEffect(() => {
|
|
4303
4571
|
additionalTooltipValuesRef.current = additionalTooltipValues;
|
|
4304
4572
|
}, [additionalTooltipValues]);
|
|
4573
|
+
const handleCrosshairMouseout = react_exports.useCallback(() => {
|
|
4574
|
+
if (onPointMouseOut && lastPayloadRef.current) {
|
|
4575
|
+
onPointMouseOut({
|
|
4576
|
+
type: "point.mouseout",
|
|
4577
|
+
originalEvent: lastOriginalEventRef.current,
|
|
4578
|
+
payload: lastPayloadRef.current
|
|
4579
|
+
});
|
|
4580
|
+
}
|
|
4581
|
+
previousMouseoverPayloadRef.current = null;
|
|
4582
|
+
}, [onPointMouseOut]);
|
|
4305
4583
|
const handleChartCrosshairChange = react_exports.useCallback(
|
|
4306
4584
|
(event) => {
|
|
4307
|
-
if (onPointMouseOver
|
|
4308
|
-
|
|
4309
|
-
|
|
4310
|
-
|
|
4311
|
-
|
|
4312
|
-
|
|
4313
|
-
|
|
4314
|
-
|
|
4315
|
-
|
|
4316
|
-
|
|
4317
|
-
|
|
4318
|
-
|
|
4319
|
-
|
|
4320
|
-
|
|
4585
|
+
if (!onPointMouseOver && !onPointMouseOut) {
|
|
4586
|
+
return;
|
|
4587
|
+
}
|
|
4588
|
+
if (!event) {
|
|
4589
|
+
handleCrosshairMouseout();
|
|
4590
|
+
return;
|
|
4591
|
+
}
|
|
4592
|
+
const payload = __spreadProps(__spreadValues({}, (0, lodash_exports.pick)(event, "value", "seriesKey", "time", "index", "seriesIndex")), {
|
|
4593
|
+
name: event.seriesKey
|
|
4594
|
+
});
|
|
4595
|
+
delete payload.seriesKey;
|
|
4596
|
+
if (event.rowContext) {
|
|
4597
|
+
Object.assign(
|
|
4598
|
+
payload,
|
|
4599
|
+
Object.keys(event.rowContext).reduce((acc, fieldName) => {
|
|
4600
|
+
acc[`row.${fieldName}.value`] = event.rowContext[fieldName];
|
|
4601
|
+
return acc;
|
|
4602
|
+
}, {})
|
|
4603
|
+
);
|
|
4604
|
+
}
|
|
4605
|
+
const updatedPayload = appendTrellisToPayload2(payload, trellisKey, trellisSplitBy);
|
|
4606
|
+
if (!hasMouseoverPayloadChanged(updatedPayload, previousMouseoverPayloadRef.current)) {
|
|
4607
|
+
return;
|
|
4608
|
+
}
|
|
4609
|
+
lastPayloadRef.current = updatedPayload;
|
|
4610
|
+
lastOriginalEventRef.current = event;
|
|
4611
|
+
previousMouseoverPayloadRef.current = __spreadValues({}, updatedPayload);
|
|
4612
|
+
if (onPointMouseOver) {
|
|
4613
|
+
onPointMouseOver({
|
|
4614
|
+
type: "point.mouseover",
|
|
4615
|
+
originalEvent: event,
|
|
4616
|
+
payload: updatedPayload
|
|
4321
4617
|
});
|
|
4322
|
-
delete payload.seriesKey;
|
|
4323
|
-
if (event.rowContext) {
|
|
4324
|
-
Object.assign(
|
|
4325
|
-
payload,
|
|
4326
|
-
Object.keys(event.rowContext).reduce((acc, fieldName) => {
|
|
4327
|
-
acc[`row.${fieldName}.value`] = event.rowContext[fieldName];
|
|
4328
|
-
return acc;
|
|
4329
|
-
}, {})
|
|
4330
|
-
);
|
|
4331
|
-
}
|
|
4332
|
-
const updatedPayload = appendTrellisToPayload2(payload, trellisKey, trellisSplitBy);
|
|
4333
|
-
if (!hasMouseoverPayloadChanged(updatedPayload, previousMouseoverPayloadRef.current)) {
|
|
4334
|
-
return;
|
|
4335
|
-
}
|
|
4336
|
-
lastPayloadRef.current = updatedPayload;
|
|
4337
|
-
lastOriginalEventRef.current = event;
|
|
4338
|
-
previousMouseoverPayloadRef.current = __spreadValues({}, updatedPayload);
|
|
4339
|
-
if (onPointMouseOver) {
|
|
4340
|
-
onPointMouseOver({
|
|
4341
|
-
type: "point.mouseover",
|
|
4342
|
-
originalEvent: event,
|
|
4343
|
-
payload: updatedPayload
|
|
4344
|
-
});
|
|
4345
|
-
}
|
|
4346
4618
|
}
|
|
4347
4619
|
},
|
|
4348
|
-
[onPointMouseOver, onPointMouseOut, trellisKey, trellisSplitBy]
|
|
4620
|
+
[onPointMouseOver, onPointMouseOut, trellisKey, trellisSplitBy, handleCrosshairMouseout]
|
|
4349
4621
|
);
|
|
4350
4622
|
const dataKey = `${(_b = chartData.columns[0]) == null ? void 0 : _b[0]}-${(_c = chartData.columns[0]) == null ? void 0 : _c[chartData.columns[0].length - 1]}-${(_d = chartData.columns[0]) == null ? void 0 : _d.length}`;
|
|
4351
4623
|
const memoizedChart = (0, react_exports.useMemo)(() => {
|
|
@@ -4400,7 +4672,8 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4400
4672
|
showXAxisLine,
|
|
4401
4673
|
showYAxisLine,
|
|
4402
4674
|
showY2AxisLine,
|
|
4403
|
-
xAxisMaxLabelParts
|
|
4675
|
+
xAxisMaxLabelParts,
|
|
4676
|
+
areaOpacity: areaOpacityForCanvas
|
|
4404
4677
|
}
|
|
4405
4678
|
));
|
|
4406
4679
|
}, [
|
|
@@ -4452,7 +4725,8 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4452
4725
|
showYAxisLine,
|
|
4453
4726
|
showY2AxisLine,
|
|
4454
4727
|
legendMode,
|
|
4455
|
-
xAxisMaxLabelParts
|
|
4728
|
+
xAxisMaxLabelParts,
|
|
4729
|
+
areaOpacityForCanvas
|
|
4456
4730
|
]);
|
|
4457
4731
|
const memoizedVisualization = (0, react_exports.useMemo)(() => {
|
|
4458
4732
|
return /* @__PURE__ */ react_exports.createElement(VizStyleWrapper_default, { backgroundColor: bgColor }, memoizedChart);
|
|
@@ -4480,6 +4754,37 @@ var TimeSeriesChartWrapper_default = TimeSeriesChartWrapper;
|
|
|
4480
4754
|
|
|
4481
4755
|
// src/common/withDashboardViz.tsx
|
|
4482
4756
|
var SanitizedTimeSeriesChartWrapper = (0, SanitizeProps_exports.withSanitizedProps)(TimeSeriesChartWrapper_default);
|
|
4757
|
+
var buildEventCallbackProps = (supportedEvents, evaluatedOptionsToUse, onEventTrigger) => {
|
|
4758
|
+
const result = {};
|
|
4759
|
+
Object.keys(supportedEvents).forEach((eventName) => {
|
|
4760
|
+
const { parentKeys, payloadKeys } = supportedEvents[eventName];
|
|
4761
|
+
const eventCallbackPropName = (0, lodash_exports.camelCase)(`on.${eventName}`);
|
|
4762
|
+
let payload = {};
|
|
4763
|
+
if (Array.isArray(payloadKeys) && payloadKeys.length) {
|
|
4764
|
+
payloadKeys.forEach((p) => {
|
|
4765
|
+
payload[p] = evaluatedOptionsToUse[p];
|
|
4766
|
+
});
|
|
4767
|
+
}
|
|
4768
|
+
result[eventCallbackPropName] = (ev) => {
|
|
4769
|
+
if (ev == null ? void 0 : ev.payload) {
|
|
4770
|
+
payload = __spreadValues({}, ev.payload);
|
|
4771
|
+
}
|
|
4772
|
+
return onEventTrigger({
|
|
4773
|
+
originalEvent: ev,
|
|
4774
|
+
payload,
|
|
4775
|
+
type: eventName
|
|
4776
|
+
});
|
|
4777
|
+
};
|
|
4778
|
+
if (parentKeys) {
|
|
4779
|
+
for (let i = parentKeys.length - 1; i >= 0; i -= 1) {
|
|
4780
|
+
const newObject = {};
|
|
4781
|
+
newObject[parentKeys[i]] = result[eventCallbackPropName];
|
|
4782
|
+
result[eventCallbackPropName] = newObject;
|
|
4783
|
+
}
|
|
4784
|
+
}
|
|
4785
|
+
});
|
|
4786
|
+
return result;
|
|
4787
|
+
};
|
|
4483
4788
|
var withDashboardViz = (opts) => {
|
|
4484
4789
|
const {
|
|
4485
4790
|
ReactViz,
|
|
@@ -4537,9 +4842,7 @@ var withDashboardViz = (opts) => {
|
|
|
4537
4842
|
const isDownsamplingEnabledByFeatureFlag = Boolean(
|
|
4538
4843
|
featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableDownsampling
|
|
4539
4844
|
);
|
|
4540
|
-
const isTrellisFeatureFlagOn5 = Boolean(
|
|
4541
|
-
featureFlagContext && featureFlagContext.visualizations_enableTrellis
|
|
4542
|
-
);
|
|
4845
|
+
const isTrellisFeatureFlagOn5 = Boolean(featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableTrellis);
|
|
4543
4846
|
const isTrellisOn = isTrellisFeatureFlagOn5 && ((_a = vizConfig == null ? void 0 : vizConfig.supports) == null ? void 0 : _a.includes("trellis" /* TRELLIS */)) && (options == null ? void 0 : options.splitByLayout) === "trellis" /* TRELLIS */;
|
|
4544
4847
|
const isAcceleratedRenderFeatureFlagOn2 = Boolean(
|
|
4545
4848
|
featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableAcceleratedRender
|
|
@@ -4704,38 +5007,12 @@ var withDashboardViz = (opts) => {
|
|
|
4704
5007
|
}
|
|
4705
5008
|
);
|
|
4706
5009
|
}
|
|
4707
|
-
const eventCallbackProps = {};
|
|
4708
|
-
|
|
4709
|
-
|
|
4710
|
-
|
|
4711
|
-
|
|
4712
|
-
|
|
4713
|
-
let payload = {};
|
|
4714
|
-
if (Array.isArray(payloadKeys) && payloadKeys.length) {
|
|
4715
|
-
payloadKeys.forEach((p) => {
|
|
4716
|
-
payload[p] = evaluatedOptionsToUse[p];
|
|
4717
|
-
});
|
|
4718
|
-
}
|
|
4719
|
-
eventCallbackProps[eventCallbackPropName] = (ev) => {
|
|
4720
|
-
if (ev == null ? void 0 : ev.payload) {
|
|
4721
|
-
payload = __spreadValues({}, ev.payload);
|
|
4722
|
-
}
|
|
4723
|
-
return onEventTrigger({
|
|
4724
|
-
originalEvent: ev,
|
|
4725
|
-
payload,
|
|
4726
|
-
type: eventName
|
|
4727
|
-
});
|
|
4728
|
-
};
|
|
4729
|
-
if (parentKeys) {
|
|
4730
|
-
for (let i = parentKeys.length - 1; i >= 0; i -= 1) {
|
|
4731
|
-
const newObject = {};
|
|
4732
|
-
newObject[parentKeys[i]] = eventCallbackProps[eventCallbackPropName];
|
|
4733
|
-
eventCallbackProps[eventCallbackPropName] = newObject;
|
|
4734
|
-
}
|
|
4735
|
-
}
|
|
4736
|
-
});
|
|
4737
|
-
}
|
|
4738
|
-
const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), eventCallbackProps), {
|
|
5010
|
+
const eventCallbackProps = hasEventHandlers && mode === "view" && vizConfig.supports.includes("events" /* EVENTS */) ? buildEventCallbackProps(vizConfig.events, evaluatedOptionsToUse, onEventTrigger) : {};
|
|
5011
|
+
const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), {
|
|
5012
|
+
// Align option transformation with the actual renderer selected below.
|
|
5013
|
+
// This prevents canvas-only option preservation from leaking into Highcharts mode.
|
|
5014
|
+
isAcceleratedRenderOn
|
|
5015
|
+
}), eventCallbackProps), {
|
|
4739
5016
|
themeFunc
|
|
4740
5017
|
}));
|
|
4741
5018
|
if (useAsyncEvaluatedOptions && Object.keys(evaluatedOptionsToUse).length === 0) {
|
|
@@ -4764,73 +5041,24 @@ var withDashboardViz = (opts) => {
|
|
|
4764
5041
|
};
|
|
4765
5042
|
var withDashboardViz_default = withDashboardViz;
|
|
4766
5043
|
|
|
4767
|
-
// esm-externals:@splunk/visualizations-shared/propUtils
|
|
4768
|
-
var propUtils_exports = {};
|
|
4769
|
-
__export(propUtils_exports, {
|
|
4770
|
-
default: () => propUtils_default
|
|
4771
|
-
});
|
|
4772
|
-
var defaultImport36 = __toESM(require("@splunk/visualizations-shared/propUtils"));
|
|
4773
|
-
__reExport(propUtils_exports, require("@splunk/visualizations-shared/propUtils"));
|
|
4774
|
-
var propUtils_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
|
|
4775
|
-
|
|
4776
|
-
// esm-externals:@splunk/visualizations-shared/simpleXMLOptions
|
|
4777
|
-
var simpleXMLOptions_exports = {};
|
|
4778
|
-
__export(simpleXMLOptions_exports, {
|
|
4779
|
-
default: () => simpleXMLOptions_default
|
|
4780
|
-
});
|
|
4781
|
-
var defaultImport37 = __toESM(require("@splunk/visualizations-shared/simpleXMLOptions"));
|
|
4782
|
-
__reExport(simpleXMLOptions_exports, require("@splunk/visualizations-shared/simpleXMLOptions"));
|
|
4783
|
-
var simpleXMLOptions_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
|
|
4784
|
-
|
|
4785
5044
|
// src/Line/lineUtils.ts
|
|
4786
5045
|
var transformOptions = (originalOptions) => {
|
|
4787
|
-
const
|
|
4788
|
-
|
|
4789
|
-
const transformed = __spreadProps(__spreadValues({}, (0, simpleXMLOptions_exports.getSimpleXMLOptionsForProps)(convertedOptions)), {
|
|
4790
|
-
chart: "line"
|
|
4791
|
-
});
|
|
4792
|
-
const canvasSpecificProps = [
|
|
4793
|
-
"yAxisMin",
|
|
4794
|
-
"yAxisMax",
|
|
4795
|
-
"y2AxisMin",
|
|
4796
|
-
"y2AxisMax",
|
|
4797
|
-
"showXMajorGridLines",
|
|
4798
|
-
"showYMajorGridLines",
|
|
4799
|
-
"showY2MajorGridLines",
|
|
4800
|
-
"showYMinorGridLines",
|
|
4801
|
-
"showY2MinorGridLines",
|
|
5046
|
+
const preservedProps = [
|
|
5047
|
+
...SHARED_AXIS_CHART_CANVAS_SPECIFIC_PROPS,
|
|
4802
5048
|
"showLineSmoothing",
|
|
4803
|
-
"xAxisMajorTickVisibility",
|
|
4804
|
-
"xAxisMajorTickSize",
|
|
4805
|
-
"yAxisMajorTickVisibility",
|
|
4806
|
-
"y2AxisMajorTickVisibility",
|
|
4807
|
-
"yAxisMajorTickSize",
|
|
4808
|
-
"y2AxisMajorTickSize",
|
|
4809
|
-
"yAxisMinorTickVisibility",
|
|
4810
|
-
"y2AxisMinorTickVisibility",
|
|
4811
|
-
"yAxisMinorTickSize",
|
|
4812
|
-
"y2AxisMinorTickSize",
|
|
4813
5049
|
"xAxisLineVisibility",
|
|
4814
5050
|
"yAxisLineVisibility",
|
|
4815
|
-
"y2AxisLineVisibility"
|
|
4816
|
-
"legendMode",
|
|
4817
|
-
"legendTruncation"
|
|
5051
|
+
"y2AxisLineVisibility"
|
|
4818
5052
|
// Note: yAxisMajorTickInterval, y2AxisMajorTickInterval, showYAxisWithZero, and showY2AxisWithZero
|
|
4819
5053
|
// are NOT canvas-specific. They're mapped to SimpleXML props in lineOptionsSCMapping
|
|
4820
5054
|
];
|
|
4821
|
-
|
|
4822
|
-
|
|
4823
|
-
|
|
4824
|
-
|
|
4825
|
-
|
|
4826
|
-
|
|
4827
|
-
|
|
4828
|
-
{}
|
|
4829
|
-
);
|
|
4830
|
-
if (convertedOptions.legendLabels !== void 0) {
|
|
4831
|
-
preservedProps.legendLabels = convertedOptions.legendLabels;
|
|
4832
|
-
}
|
|
4833
|
-
return __spreadValues(__spreadValues({}, transformed), preservedProps);
|
|
5055
|
+
return transformAxisChartOptions({
|
|
5056
|
+
originalOptions,
|
|
5057
|
+
optionsSchema: config_default.optionsSchema,
|
|
5058
|
+
chart: "line",
|
|
5059
|
+
convertToSCProps: convertToLineSCProperties,
|
|
5060
|
+
preservedProps
|
|
5061
|
+
});
|
|
4834
5062
|
};
|
|
4835
5063
|
var convertMarkerOptions = (originalOptions, lineOptionValuesSCMapping) => {
|
|
4836
5064
|
const originalOptionsWithAdditionalProps = originalOptions;
|
|
@@ -4938,6 +5166,53 @@ __reExport(themes_exports, require("@splunk/themes"));
|
|
|
4938
5166
|
var themes_default = "default" in defaultImport39 ? defaultImport39.default : defaultImport39;
|
|
4939
5167
|
|
|
4940
5168
|
// src/common/hocs/withTrellis.tsx
|
|
5169
|
+
var evaluatePanelOption = (panelDataSources, allOptions, optionKey, vizContext) => {
|
|
5170
|
+
try {
|
|
5171
|
+
const evaluated = Options_exports.Options.evaluate({ context: vizContext, options: allOptions }, panelDataSources);
|
|
5172
|
+
const num = Number(evaluated == null ? void 0 : evaluated[optionKey]);
|
|
5173
|
+
return Number.isNaN(num) ? Number.NaN : num;
|
|
5174
|
+
} catch (e) {
|
|
5175
|
+
return Number.NaN;
|
|
5176
|
+
}
|
|
5177
|
+
};
|
|
5178
|
+
var sortTrellisKeys = (keys, trellisSortBy, trellisSortOrder, modifiedDataSourceBySplitBy, mergedOptions, vizContext) => {
|
|
5179
|
+
if (trellisSortBy === "name") {
|
|
5180
|
+
keys.sort((a, b) => {
|
|
5181
|
+
const cmp = a.localeCompare(b, void 0, { numeric: true, sensitivity: "base" });
|
|
5182
|
+
return trellisSortOrder === "descending" ? -cmp : cmp;
|
|
5183
|
+
});
|
|
5184
|
+
} else if (trellisSortBy === "value" || trellisSortBy === "trend") {
|
|
5185
|
+
let optionKey;
|
|
5186
|
+
if (trellisSortBy === "trend") {
|
|
5187
|
+
optionKey = "trendValue";
|
|
5188
|
+
} else {
|
|
5189
|
+
optionKey = mergedOptions.value !== void 0 ? "value" : "majorValue";
|
|
5190
|
+
}
|
|
5191
|
+
keys.sort((a, b) => {
|
|
5192
|
+
const valA = evaluatePanelOption(
|
|
5193
|
+
modifiedDataSourceBySplitBy[a],
|
|
5194
|
+
mergedOptions,
|
|
5195
|
+
optionKey,
|
|
5196
|
+
vizContext
|
|
5197
|
+
);
|
|
5198
|
+
const valB = evaluatePanelOption(
|
|
5199
|
+
modifiedDataSourceBySplitBy[b],
|
|
5200
|
+
mergedOptions,
|
|
5201
|
+
optionKey,
|
|
5202
|
+
vizContext
|
|
5203
|
+
);
|
|
5204
|
+
const nanA = Number.isNaN(valA);
|
|
5205
|
+
const nanB = Number.isNaN(valB);
|
|
5206
|
+
if (nanA && nanB) return 0;
|
|
5207
|
+
if (nanA) return 1;
|
|
5208
|
+
if (nanB) return -1;
|
|
5209
|
+
const cmp = valA - valB;
|
|
5210
|
+
return trellisSortOrder === "descending" ? -cmp : cmp;
|
|
5211
|
+
});
|
|
5212
|
+
} else if (trellisSortOrder === "descending") {
|
|
5213
|
+
keys.reverse();
|
|
5214
|
+
}
|
|
5215
|
+
};
|
|
4941
5216
|
var TrellisContainer = styled_components_default.div`
|
|
4942
5217
|
overflow: hidden;
|
|
4943
5218
|
display: flex;
|
|
@@ -4982,6 +5257,14 @@ var showErrorMessage = (errorCode, width, height) => {
|
|
|
4982
5257
|
}
|
|
4983
5258
|
return /* @__PURE__ */ react_exports.createElement(Message_default, { width, height, message: (0, i18n_exports._)("Error render in trellis"), level: "info" });
|
|
4984
5259
|
};
|
|
5260
|
+
var resolveTrellisSplitBy = (trellisSplitBy, fields) => {
|
|
5261
|
+
var _a;
|
|
5262
|
+
if (trellisSplitBy && trellisSplitBy.length > 0) {
|
|
5263
|
+
return trellisSplitBy;
|
|
5264
|
+
}
|
|
5265
|
+
const splitByPossibleFields = (0, trellisUtils_exports.getAllPossibleSplitByFields)(fields);
|
|
5266
|
+
return ((_a = splitByPossibleFields.fields) == null ? void 0 : _a.length) ? splitByPossibleFields.fields[0] : AGGREGATIONS;
|
|
5267
|
+
};
|
|
4985
5268
|
var withTrellis = (Viz) => {
|
|
4986
5269
|
const VizWithTrellis = (opts) => {
|
|
4987
5270
|
const cachedHandleResize = react_exports.useCallback((w, h) => {
|
|
@@ -4990,7 +5273,7 @@ var withTrellis = (Viz) => {
|
|
|
4990
5273
|
}, []);
|
|
4991
5274
|
const [containerWidth, setContainerWidth] = react_exports.useState(Number(opts.width));
|
|
4992
5275
|
const [containerHeight, setContainerHeight] = react_exports.useState(Number(opts.height));
|
|
4993
|
-
const _a = opts, { options = {}, height, width } = _a, otherProps = __objRest(_a, ["options", "height", "width"]);
|
|
5276
|
+
const _a = opts, { options = {}, context = {}, height, width } = _a, otherProps = __objRest(_a, ["options", "context", "height", "width"]);
|
|
4994
5277
|
const defaultOptions = (0, JSONSchemaUtils_exports.pickFieldFromJSONSchema)(Viz.config.optionsSchema, "default");
|
|
4995
5278
|
const mergedOptions = (0, hocUtils_exports.deepMergeWithArrayPrimitiveOverrides)({}, options, defaultOptions);
|
|
4996
5279
|
const {
|
|
@@ -5000,6 +5283,8 @@ var withTrellis = (Viz) => {
|
|
|
5000
5283
|
trellisRowHeight,
|
|
5001
5284
|
splitByLayout,
|
|
5002
5285
|
trellisSplitBy,
|
|
5286
|
+
trellisSortBy,
|
|
5287
|
+
trellisSortOrder,
|
|
5003
5288
|
trellisSharedScale,
|
|
5004
5289
|
stackMode,
|
|
5005
5290
|
yAxisMin,
|
|
@@ -5068,7 +5353,7 @@ var withTrellis = (Viz) => {
|
|
|
5068
5353
|
}, [pageCount, trellisSplitBy]);
|
|
5069
5354
|
(0, react_exports.useEffect)(() => {
|
|
5070
5355
|
updateDataDisplay(pageNum);
|
|
5071
|
-
}, [columns, fields, trellisSplitBy, pageNum, splitByLayout]);
|
|
5356
|
+
}, [columns, fields, trellisSplitBy, trellisSortBy, trellisSortOrder, pageNum, splitByLayout]);
|
|
5072
5357
|
const handlePageChange = (0, react_exports.useCallback)(
|
|
5073
5358
|
(event, { page }) => {
|
|
5074
5359
|
setPageNum(page);
|
|
@@ -5076,9 +5361,7 @@ var withTrellis = (Viz) => {
|
|
|
5076
5361
|
[pageNum, pagedData]
|
|
5077
5362
|
);
|
|
5078
5363
|
const featureFlagContext = react_exports.useContext(FeatureFlagContext_default);
|
|
5079
|
-
const isTrellisFeatureFlagOn5 = Boolean(
|
|
5080
|
-
featureFlagContext && featureFlagContext.visualizations_enableTrellis
|
|
5081
|
-
);
|
|
5364
|
+
const isTrellisFeatureFlagOn5 = Boolean(featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableTrellis);
|
|
5082
5365
|
if (!isTrellisFeatureFlagOn5 || !splitByLayout || splitByLayout !== visualization_schemas_exports.LAYOUT_TYPE.Trellis) {
|
|
5083
5366
|
return /* @__PURE__ */ react_exports.createElement(Viz, __spreadValues({}, opts));
|
|
5084
5367
|
}
|
|
@@ -5086,14 +5369,9 @@ var withTrellis = (Viz) => {
|
|
|
5086
5369
|
if (noColumns || noFields) {
|
|
5087
5370
|
return /* @__PURE__ */ react_exports.createElement(Message_default, { width, height, message: (0, i18n_exports._)("Loading"), level: "info" });
|
|
5088
5371
|
}
|
|
5089
|
-
|
|
5090
|
-
if (!trellisSplitBy || trellisSplitBy.length === 0) {
|
|
5091
|
-
const splitByPossibleFields = (0, trellisUtils_exports.getAllPossibleSplitByFields)(fields);
|
|
5092
|
-
currTrellisSplitBy = splitByPossibleFields.fields && splitByPossibleFields.fields.length ? splitByPossibleFields.fields[0] : AGGREGATIONS;
|
|
5093
|
-
}
|
|
5094
|
-
const splitMode = (0, trellisUtils_exports.getTrellisDataSplitterMode)(fields);
|
|
5372
|
+
const currTrellisSplitBy = resolveTrellisSplitBy(trellisSplitBy, fields);
|
|
5095
5373
|
const dataSplitResult = getTrellisDataSourcesBySplitMode(
|
|
5096
|
-
|
|
5374
|
+
(0, trellisUtils_exports.getTrellisDataSplitterMode)(fields),
|
|
5097
5375
|
dataSources,
|
|
5098
5376
|
currTrellisSplitBy
|
|
5099
5377
|
);
|
|
@@ -5102,12 +5380,19 @@ var withTrellis = (Viz) => {
|
|
|
5102
5380
|
if (!modifiedDataSourceBySplitBy || Object.keys(modifiedDataSourceBySplitBy).length === 0 || dataSplitErrorCode) {
|
|
5103
5381
|
return showErrorMessage(dataSplitErrorCode, width, height);
|
|
5104
5382
|
}
|
|
5105
|
-
const splitByKeysModified =
|
|
5106
|
-
|
|
5107
|
-
|
|
5108
|
-
|
|
5109
|
-
|
|
5110
|
-
|
|
5383
|
+
const splitByKeysModified = Object.keys(modifiedDataSourceBySplitBy);
|
|
5384
|
+
const vizContext = (0, lodash_exports.defaultsDeep)({}, context, Viz.config.defaultContext);
|
|
5385
|
+
sortTrellisKeys(
|
|
5386
|
+
splitByKeysModified,
|
|
5387
|
+
trellisSortBy,
|
|
5388
|
+
trellisSortOrder,
|
|
5389
|
+
modifiedDataSourceBySplitBy,
|
|
5390
|
+
mergedOptions,
|
|
5391
|
+
vizContext
|
|
5392
|
+
);
|
|
5393
|
+
showPaginator = splitByKeysModified.length > pageCount;
|
|
5394
|
+
splitByKeys = splitByKeysModified;
|
|
5395
|
+
totalPages = Math.ceil(splitByKeysModified.length / pageCount);
|
|
5111
5396
|
const [calculatedMin, calculatedMax] = determineMinMax(
|
|
5112
5397
|
modifiedDataSourceBySplitBy,
|
|
5113
5398
|
trellisSharedScale,
|
|
@@ -5141,6 +5426,7 @@ var withTrellis = (Viz) => {
|
|
|
5141
5426
|
/* @__PURE__ */ react_exports.createElement(
|
|
5142
5427
|
Viz,
|
|
5143
5428
|
__spreadProps(__spreadValues({}, otherProps), {
|
|
5429
|
+
context,
|
|
5144
5430
|
trellisKey: splitByKey,
|
|
5145
5431
|
trellisSplitBy: currTrellisSplitBy,
|
|
5146
5432
|
dataSources: modifiedDataSourceBySplitBy[splitByKey],
|
|
@@ -5173,37 +5459,7 @@ var withTrellis = (Viz) => {
|
|
|
5173
5459
|
var withTrellis_default = withTrellis;
|
|
5174
5460
|
|
|
5175
5461
|
// src/Line/Line.tsx
|
|
5176
|
-
var
|
|
5177
|
-
columns: null,
|
|
5178
|
-
fields: null,
|
|
5179
|
-
additionalTooltipFields: void 0,
|
|
5180
|
-
result: void 0
|
|
5181
|
-
};
|
|
5182
|
-
var areArraysEqual = (a, b) => {
|
|
5183
|
-
if (a === b) return true;
|
|
5184
|
-
if (!a || !b) return false;
|
|
5185
|
-
if (a.length !== b.length) return false;
|
|
5186
|
-
for (let i = 0; i < a.length; i += 1) {
|
|
5187
|
-
if (a[i] !== b[i]) return false;
|
|
5188
|
-
}
|
|
5189
|
-
return true;
|
|
5190
|
-
};
|
|
5191
|
-
var getMemoizedAdditionalTooltipValues = (columns, fields, additionalTooltipFields) => {
|
|
5192
|
-
if (additionalTooltipValuesCache.columns === columns && additionalTooltipValuesCache.fields === fields && areArraysEqual(additionalTooltipValuesCache.additionalTooltipFields, additionalTooltipFields)) {
|
|
5193
|
-
return additionalTooltipValuesCache.result;
|
|
5194
|
-
}
|
|
5195
|
-
let result;
|
|
5196
|
-
if ((additionalTooltipFields == null ? void 0 : additionalTooltipFields.length) && columns && fields) {
|
|
5197
|
-
result = extractAdditionalTooltipValues(columns, fields, additionalTooltipFields);
|
|
5198
|
-
}
|
|
5199
|
-
additionalTooltipValuesCache = {
|
|
5200
|
-
columns,
|
|
5201
|
-
fields,
|
|
5202
|
-
additionalTooltipFields,
|
|
5203
|
-
result
|
|
5204
|
-
};
|
|
5205
|
-
return result;
|
|
5206
|
-
};
|
|
5462
|
+
var getMemoizedAdditionalTooltipValues = createAdditionalTooltipValuesMemoizer();
|
|
5207
5463
|
var computeVizProps = (_a) => {
|
|
5208
5464
|
var _b = _a, {
|
|
5209
5465
|
dataSources,
|