@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/Area.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/Area/index.ts
|
|
64
66
|
var Area_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
|
[
|
|
@@ -1911,6 +1987,10 @@ var AxesChartXGridAndLabelsBubbleScatter = {
|
|
|
1911
1987
|
var AxesChartXGridAndLabels_default = AxesChartXGridAndLabels;
|
|
1912
1988
|
|
|
1913
1989
|
// src/common/editorConfig/AxesChartYGridAndLabels.ts
|
|
1990
|
+
var isAcceleratedRenderEnabled2 = ({ options, featureFlags }) => {
|
|
1991
|
+
const { acceleratedRender } = options;
|
|
1992
|
+
return isAcceleratedRenderFeatureFlagOn({ featureFlags }) && acceleratedRender;
|
|
1993
|
+
};
|
|
1914
1994
|
var AxesChartYGridAndLabels = {
|
|
1915
1995
|
label: (0, i18n_exports._)("Y-axis grid and labels"),
|
|
1916
1996
|
layout: [
|
|
@@ -1975,7 +2055,8 @@ var AxesChartYGridAndLabels = {
|
|
|
1975
2055
|
{
|
|
1976
2056
|
label: (0, i18n_exports._)("Extend to whole grid"),
|
|
1977
2057
|
option: "showYAxisExtendedRange",
|
|
1978
|
-
editor: "editor.checkbox"
|
|
2058
|
+
editor: "editor.checkbox",
|
|
2059
|
+
showEditor: ({ options, featureFlags }) => !isAcceleratedRenderEnabled2({ options, featureFlags })
|
|
1979
2060
|
}
|
|
1980
2061
|
],
|
|
1981
2062
|
[
|
|
@@ -2272,6 +2353,7 @@ var axesChartY2GridAndLabels = {
|
|
|
2272
2353
|
var AxesChartY2GridAndLabels_default = axesChartY2GridAndLabels;
|
|
2273
2354
|
|
|
2274
2355
|
// src/Area/config.ts
|
|
2356
|
+
var hasSteppedInterpolationEnabled = ({ options }) => (options == null ? void 0 : options.stepPosition) === "before" || (options == null ? void 0 : options.stepPosition) === "after";
|
|
2275
2357
|
var dataContract = {
|
|
2276
2358
|
requiredDataSources: [
|
|
2277
2359
|
{
|
|
@@ -2306,7 +2388,9 @@ var themes2 = {
|
|
|
2306
2388
|
})(props)
|
|
2307
2389
|
};
|
|
2308
2390
|
var editorConfig = [
|
|
2309
|
-
AxesChartDataConfigAreaColumnLine,
|
|
2391
|
+
__spreadProps(__spreadValues({}, AxesChartDataConfigAreaColumnLine), {
|
|
2392
|
+
layout: [...AcceleratedRenderEditorLayout, ...AxesChartDataConfigAreaColumnLine.layout]
|
|
2393
|
+
}),
|
|
2310
2394
|
AxesChartDataDisplayArea,
|
|
2311
2395
|
{
|
|
2312
2396
|
label: AxesChartColorAndStyleWithTrellis.label,
|
|
@@ -2331,6 +2415,14 @@ var editorConfig = [
|
|
|
2331
2415
|
editor: "editor.checkbox"
|
|
2332
2416
|
}
|
|
2333
2417
|
],
|
|
2418
|
+
[
|
|
2419
|
+
{
|
|
2420
|
+
label: (0, i18n_exports._)("Line smoothing"),
|
|
2421
|
+
option: "showLineSmoothing",
|
|
2422
|
+
editor: "editor.toggle",
|
|
2423
|
+
showEditor: ({ options, featureFlags }) => isAcceleratedRenderEnabled({ options, featureFlags }) && !hasSteppedInterpolationEnabled({ options })
|
|
2424
|
+
}
|
|
2425
|
+
],
|
|
2334
2426
|
[
|
|
2335
2427
|
{
|
|
2336
2428
|
label: (0, i18n_exports._)("Line width"),
|
|
@@ -2499,7 +2591,7 @@ var prop_types_default = "default" in defaultImport29 ? defaultImport29.default
|
|
|
2499
2591
|
var INITIAL_HEIGHT = 250;
|
|
2500
2592
|
var SplunkVisualization = class {
|
|
2501
2593
|
};
|
|
2502
|
-
SplunkVisualization
|
|
2594
|
+
__publicField(SplunkVisualization, "propTypes", {
|
|
2503
2595
|
/**
|
|
2504
2596
|
* display mode
|
|
2505
2597
|
*/
|
|
@@ -2575,11 +2667,11 @@ SplunkVisualization.propTypes = {
|
|
|
2575
2667
|
* A callback to request new data with updated request params
|
|
2576
2668
|
*/
|
|
2577
2669
|
onRequestParamsChange: prop_types_exports.func
|
|
2578
|
-
};
|
|
2670
|
+
});
|
|
2579
2671
|
/**
|
|
2580
2672
|
*
|
|
2581
2673
|
*/
|
|
2582
|
-
SplunkVisualization
|
|
2674
|
+
__publicField(SplunkVisualization, "defaults", {
|
|
2583
2675
|
// BaseVisualization in dashboard-visualizations uses 100% for width but 250 for height
|
|
2584
2676
|
width: "100%",
|
|
2585
2677
|
height: INITIAL_HEIGHT,
|
|
@@ -2594,7 +2686,7 @@ SplunkVisualization.defaults = {
|
|
|
2594
2686
|
onComputedProps: () => ({}),
|
|
2595
2687
|
loading: false,
|
|
2596
2688
|
onRequestParamsChange: lodash_exports.noop
|
|
2597
|
-
};
|
|
2689
|
+
});
|
|
2598
2690
|
var SplunkVisualization_default = SplunkVisualization;
|
|
2599
2691
|
|
|
2600
2692
|
// src/common/hooks/useSorting.ts
|
|
@@ -2645,9 +2737,9 @@ var usePaginationParams = ({
|
|
|
2645
2737
|
meta,
|
|
2646
2738
|
onRequestParamsChange
|
|
2647
2739
|
}) => {
|
|
2648
|
-
const totalCount = meta
|
|
2649
|
-
const offset = requestParams
|
|
2650
|
-
const count = requestParams
|
|
2740
|
+
const totalCount = (meta == null ? void 0 : meta.totalCount) || 0;
|
|
2741
|
+
const offset = (requestParams == null ? void 0 : requestParams.offset) || 0;
|
|
2742
|
+
const count = requestParams == null ? void 0 : requestParams.count;
|
|
2651
2743
|
const totalPages = typeof count === "number" && count > 0 ? Math.ceil(totalCount / count) : 0;
|
|
2652
2744
|
const current = typeof count === "number" && count > 0 ? Math.floor(offset / count) + 1 : 0;
|
|
2653
2745
|
const isPaging = totalPages > 1 && typeof onRequestParamsChange === "function";
|
|
@@ -2746,7 +2838,7 @@ var Cover = styled_components_default.div`
|
|
|
2746
2838
|
bottom: 0;
|
|
2747
2839
|
`;
|
|
2748
2840
|
var Blocker = styled_components_default.div.attrs({
|
|
2749
|
-
"data-splunk-visualization-version": "28.
|
|
2841
|
+
"data-splunk-visualization-version": "28.6.0 - 92427899a"
|
|
2750
2842
|
})`
|
|
2751
2843
|
position: relative;
|
|
2752
2844
|
width: 100%;
|
|
@@ -2827,7 +2919,7 @@ var withFixedSizeContainer = (Viz) => {
|
|
|
2827
2919
|
FixSizeItem,
|
|
2828
2920
|
{
|
|
2829
2921
|
"data-test": "fix-size-item",
|
|
2830
|
-
"data-splunk-visualization-version": "28.
|
|
2922
|
+
"data-splunk-visualization-version": "28.6.0 - 92427899a",
|
|
2831
2923
|
width,
|
|
2832
2924
|
height,
|
|
2833
2925
|
backgroundColor
|
|
@@ -3107,7 +3199,7 @@ var dataSourcesSplitByAggregationsUnknown = (dataSource) => {
|
|
|
3107
3199
|
const columns = (_d = (_c = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _c.data) == null ? void 0 : _d.columns;
|
|
3108
3200
|
let splitDataSources = null;
|
|
3109
3201
|
let errorCode = null;
|
|
3110
|
-
if (fields
|
|
3202
|
+
if (fields == null ? void 0 : fields.length) {
|
|
3111
3203
|
splitDataSources = {};
|
|
3112
3204
|
for (let i = 0; i < fields.length; i += 1) {
|
|
3113
3205
|
const fieldName = fields[i].name;
|
|
@@ -3158,7 +3250,7 @@ var dataSourcesSplitByAggregationsTimechartAndChart = (dataSource) => {
|
|
|
3158
3250
|
}
|
|
3159
3251
|
});
|
|
3160
3252
|
});
|
|
3161
|
-
} else if ((
|
|
3253
|
+
} else if (!(splitByFields == null ? void 0 : splitByFields.length) && fields.length > 1) {
|
|
3162
3254
|
splitDataSources = {};
|
|
3163
3255
|
for (let i = 1; i < fields.length; i += 1) {
|
|
3164
3256
|
const fieldName = fields[i].name;
|
|
@@ -3214,7 +3306,7 @@ var dataSourcesSplitByModeTimechart = (dataSource, splitBy) => {
|
|
|
3214
3306
|
if (fields.length > 0) {
|
|
3215
3307
|
splitByFields = (0, trellisUtils_exports.extractSplitByFieldsChartFields)(fields);
|
|
3216
3308
|
}
|
|
3217
|
-
if (splitByFields
|
|
3309
|
+
if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
|
|
3218
3310
|
splitDataSources = {};
|
|
3219
3311
|
const dataSourceKeys = (0, trellisUtils_exports.extractDataSourceAggregationKeysChart)(fields);
|
|
3220
3312
|
const valueKeys = [];
|
|
@@ -3245,6 +3337,68 @@ var dataSourcesSplitByModeTimechart = (dataSource, splitBy) => {
|
|
|
3245
3337
|
}
|
|
3246
3338
|
return { splitDataSources, errorCode };
|
|
3247
3339
|
};
|
|
3340
|
+
var splitRowWise = (dataSource, columns, fields, otherSplitBy, dataSourceKeys, nonDataSourceAggregations) => {
|
|
3341
|
+
const splitDataSources = {};
|
|
3342
|
+
const valueKeys = (0, lodash_exports.cloneDeep)(columns[0]);
|
|
3343
|
+
valueKeys.forEach((val, idx) => {
|
|
3344
|
+
splitDataSources[val] = (0, lodash_exports.cloneDeep)((0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"]));
|
|
3345
|
+
splitDataSources[val].primary.data.fields = [];
|
|
3346
|
+
if (otherSplitBy.length) {
|
|
3347
|
+
splitDataSources[val].primary.data.fields = [{ name: otherSplitBy[0] }];
|
|
3348
|
+
}
|
|
3349
|
+
if (dataSourceKeys.length) {
|
|
3350
|
+
const columnValues = [[]];
|
|
3351
|
+
splitDataSources[val].primary.data.fields = [
|
|
3352
|
+
...splitDataSources[val].primary.data.fields,
|
|
3353
|
+
...dataSourceKeys.map((k) => ({ name: k }))
|
|
3354
|
+
];
|
|
3355
|
+
dataSourceKeys.forEach(() => {
|
|
3356
|
+
columnValues.push([]);
|
|
3357
|
+
});
|
|
3358
|
+
for (let i = 1; i <= Math.ceil((fields.length - 1) / dataSourceKeys.length); i += 1) {
|
|
3359
|
+
columnValues[0].push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);
|
|
3360
|
+
dataSourceKeys.forEach((dskey, dsIndx) => {
|
|
3361
|
+
const mul = (fields.length - 1) / dataSourceKeys.length;
|
|
3362
|
+
columnValues[dsIndx + 1].push(columns[i + dsIndx * mul][idx]);
|
|
3363
|
+
});
|
|
3364
|
+
}
|
|
3365
|
+
splitDataSources[val].primary.data.columns = columnValues;
|
|
3366
|
+
} else if (nonDataSourceAggregations.length) {
|
|
3367
|
+
const columnValues = [];
|
|
3368
|
+
fields.forEach((aggregationField, fieldIdx) => {
|
|
3369
|
+
if (fieldIdx > 0) {
|
|
3370
|
+
splitDataSources[val].primary.data.fields.push(aggregationField);
|
|
3371
|
+
columnValues.push([columns[fieldIdx][idx]]);
|
|
3372
|
+
}
|
|
3373
|
+
});
|
|
3374
|
+
splitDataSources[val].primary.data.columns = columnValues;
|
|
3375
|
+
}
|
|
3376
|
+
});
|
|
3377
|
+
return splitDataSources;
|
|
3378
|
+
};
|
|
3379
|
+
var splitColumnWise = (dataSource, columns, fields, otherSplitBy, dataSourceKeys) => {
|
|
3380
|
+
const splitDataSources = {};
|
|
3381
|
+
const valueKeys = [];
|
|
3382
|
+
for (let i = 1; i < fields.length; i += 1) {
|
|
3383
|
+
valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);
|
|
3384
|
+
}
|
|
3385
|
+
valueKeys.forEach((val) => {
|
|
3386
|
+
splitDataSources[val] = (0, lodash_exports.cloneDeep)((0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"]));
|
|
3387
|
+
splitDataSources[val].primary.data.fields = [
|
|
3388
|
+
{ name: otherSplitBy[0] },
|
|
3389
|
+
...dataSourceKeys.map((k) => ({ name: k }))
|
|
3390
|
+
];
|
|
3391
|
+
splitDataSources[val].primary.data.columns = [[...columns[0]]];
|
|
3392
|
+
dataSourceKeys.forEach((dsKey) => {
|
|
3393
|
+
fields.forEach((field, idx) => {
|
|
3394
|
+
if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {
|
|
3395
|
+
splitDataSources[val].primary.data.columns.push([...columns[idx]]);
|
|
3396
|
+
}
|
|
3397
|
+
});
|
|
3398
|
+
});
|
|
3399
|
+
});
|
|
3400
|
+
return splitDataSources;
|
|
3401
|
+
};
|
|
3248
3402
|
var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
|
|
3249
3403
|
var _a, _b, _c, _d;
|
|
3250
3404
|
const fields = toFieldEntries((_b = (_a = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _a.data) == null ? void 0 : _b.fields);
|
|
@@ -3255,8 +3409,7 @@ var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
|
|
|
3255
3409
|
if (fields.length > 0) {
|
|
3256
3410
|
splitByFields = (0, trellisUtils_exports.extractSplitByFieldsChartFields)(fields);
|
|
3257
3411
|
}
|
|
3258
|
-
if (splitByFields
|
|
3259
|
-
splitDataSources = {};
|
|
3412
|
+
if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
|
|
3260
3413
|
const splitByFieldIdx = splitByFields.findIndex((f) => f === splitBy);
|
|
3261
3414
|
const otherSplitBy = splitByFields.filter((f) => f !== splitBy);
|
|
3262
3415
|
const dataSourceKeys = (0, trellisUtils_exports.extractDataSourceAggregationKeysChart)(fields);
|
|
@@ -3267,71 +3420,16 @@ var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
|
|
|
3267
3420
|
}
|
|
3268
3421
|
}
|
|
3269
3422
|
if (splitByFieldIdx === 0) {
|
|
3270
|
-
|
|
3271
|
-
|
|
3272
|
-
|
|
3273
|
-
|
|
3274
|
-
|
|
3275
|
-
|
|
3276
|
-
|
|
3277
|
-
|
|
3278
|
-
}
|
|
3279
|
-
if (dataSourceKeys.length) {
|
|
3280
|
-
const columnValues = [[]];
|
|
3281
|
-
splitDataSources[val].primary.data.fields = [
|
|
3282
|
-
...splitDataSources[val].primary.data.fields,
|
|
3283
|
-
...dataSourceKeys.map((k) => ({
|
|
3284
|
-
name: k
|
|
3285
|
-
}))
|
|
3286
|
-
];
|
|
3287
|
-
dataSourceKeys.forEach(() => {
|
|
3288
|
-
columnValues.push([]);
|
|
3289
|
-
});
|
|
3290
|
-
for (let i = 1; i <= Math.ceil((fields.length - 1) / dataSourceKeys.length); i += 1) {
|
|
3291
|
-
columnValues[0].push(
|
|
3292
|
-
fields[i].splitby_value ? fields[i].splitby_value : fields[i].name
|
|
3293
|
-
);
|
|
3294
|
-
dataSourceKeys.forEach((dskey, dsIndx) => {
|
|
3295
|
-
const mul = (fields.length - 1) / dataSourceKeys.length;
|
|
3296
|
-
columnValues[dsIndx + 1].push(columns[i + dsIndx * mul][idx]);
|
|
3297
|
-
});
|
|
3298
|
-
}
|
|
3299
|
-
splitDataSources[val].primary.data.columns = columnValues;
|
|
3300
|
-
} else if (nonDataSourceAggregations.length) {
|
|
3301
|
-
const columnValues = [];
|
|
3302
|
-
fields.forEach((aggregationField, fieldIdx) => {
|
|
3303
|
-
if (fieldIdx > 0) {
|
|
3304
|
-
splitDataSources[val].primary.data.fields.push(aggregationField);
|
|
3305
|
-
columnValues.push([columns[fieldIdx][idx]]);
|
|
3306
|
-
}
|
|
3307
|
-
});
|
|
3308
|
-
splitDataSources[val].primary.data.columns = columnValues;
|
|
3309
|
-
}
|
|
3310
|
-
});
|
|
3423
|
+
splitDataSources = splitRowWise(
|
|
3424
|
+
dataSource,
|
|
3425
|
+
columns,
|
|
3426
|
+
fields,
|
|
3427
|
+
otherSplitBy,
|
|
3428
|
+
dataSourceKeys,
|
|
3429
|
+
nonDataSourceAggregations
|
|
3430
|
+
);
|
|
3311
3431
|
} else {
|
|
3312
|
-
|
|
3313
|
-
for (let i = 1; i < fields.length; i += 1) {
|
|
3314
|
-
valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);
|
|
3315
|
-
}
|
|
3316
|
-
valueKeys.forEach((val) => {
|
|
3317
|
-
splitDataSources[val] = (0, lodash_exports.cloneDeep)(
|
|
3318
|
-
(0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"])
|
|
3319
|
-
);
|
|
3320
|
-
splitDataSources[val].primary.data.fields = [
|
|
3321
|
-
{ name: otherSplitBy[0] },
|
|
3322
|
-
...dataSourceKeys.map((k) => ({
|
|
3323
|
-
name: k
|
|
3324
|
-
}))
|
|
3325
|
-
];
|
|
3326
|
-
splitDataSources[val].primary.data.columns = [[...columns[0]]];
|
|
3327
|
-
dataSourceKeys.forEach((dsKey) => {
|
|
3328
|
-
fields.forEach((field, idx) => {
|
|
3329
|
-
if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {
|
|
3330
|
-
splitDataSources[val].primary.data.columns.push([...columns[idx]]);
|
|
3331
|
-
}
|
|
3332
|
-
});
|
|
3333
|
-
});
|
|
3334
|
-
});
|
|
3432
|
+
splitDataSources = splitColumnWise(dataSource, columns, fields, otherSplitBy, dataSourceKeys);
|
|
3335
3433
|
}
|
|
3336
3434
|
} else {
|
|
3337
3435
|
errorCode = "INVALID_SPLIT_BY_FIELD";
|
|
@@ -3349,7 +3447,7 @@ var dataSourcesSplitByModeStatsorUnknown = (dataSource, splitBy, splitMode) => {
|
|
|
3349
3447
|
splitByFields = splitMode !== trellisUtils_exports.UNKNOWN ? (0, trellisUtils_exports.extractSplitByFieldsForStats)(fields) : (0, trellisUtils_exports.extractSplitByFieldsForUnknown)(fields);
|
|
3350
3448
|
}
|
|
3351
3449
|
const splitByIndex = fields.findIndex((field) => field.name === splitBy);
|
|
3352
|
-
if (splitByFields
|
|
3450
|
+
if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
|
|
3353
3451
|
const splitByColumn = (_f = (_e = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _e.data) == null ? void 0 : _f.columns[splitByIndex];
|
|
3354
3452
|
splitDataSources = {};
|
|
3355
3453
|
splitByColumn.forEach((val, idx) => {
|
|
@@ -3471,11 +3569,78 @@ var defaultImport35 = __toESM(require("@splunk/react-icons/Triangle"));
|
|
|
3471
3569
|
__reExport(Triangle_exports, require("@splunk/react-icons/Triangle"));
|
|
3472
3570
|
var Triangle_default = "default" in defaultImport35 ? defaultImport35.default : defaultImport35;
|
|
3473
3571
|
|
|
3572
|
+
// esm-externals:@splunk/visualizations-shared/propUtils
|
|
3573
|
+
var propUtils_exports = {};
|
|
3574
|
+
__export(propUtils_exports, {
|
|
3575
|
+
default: () => propUtils_default
|
|
3576
|
+
});
|
|
3577
|
+
var defaultImport36 = __toESM(require("@splunk/visualizations-shared/propUtils"));
|
|
3578
|
+
__reExport(propUtils_exports, require("@splunk/visualizations-shared/propUtils"));
|
|
3579
|
+
var propUtils_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
|
|
3580
|
+
|
|
3581
|
+
// esm-externals:@splunk/visualizations-shared/simpleXMLOptions
|
|
3582
|
+
var simpleXMLOptions_exports = {};
|
|
3583
|
+
__export(simpleXMLOptions_exports, {
|
|
3584
|
+
default: () => simpleXMLOptions_default
|
|
3585
|
+
});
|
|
3586
|
+
var defaultImport37 = __toESM(require("@splunk/visualizations-shared/simpleXMLOptions"));
|
|
3587
|
+
__reExport(simpleXMLOptions_exports, require("@splunk/visualizations-shared/simpleXMLOptions"));
|
|
3588
|
+
var simpleXMLOptions_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
|
|
3589
|
+
|
|
3474
3590
|
// src/common/chartingUtils.ts
|
|
3591
|
+
var SHARED_AXIS_CHART_CANVAS_SPECIFIC_PROPS = [
|
|
3592
|
+
"yAxisMin",
|
|
3593
|
+
"yAxisMax",
|
|
3594
|
+
"y2AxisMin",
|
|
3595
|
+
"y2AxisMax",
|
|
3596
|
+
"showXMajorGridLines",
|
|
3597
|
+
"showYMajorGridLines",
|
|
3598
|
+
"showY2MajorGridLines",
|
|
3599
|
+
"showYMinorGridLines",
|
|
3600
|
+
"showY2MinorGridLines",
|
|
3601
|
+
"xAxisMajorTickVisibility",
|
|
3602
|
+
"xAxisMajorTickSize",
|
|
3603
|
+
"yAxisMajorTickVisibility",
|
|
3604
|
+
"y2AxisMajorTickVisibility",
|
|
3605
|
+
"yAxisMajorTickSize",
|
|
3606
|
+
"y2AxisMajorTickSize",
|
|
3607
|
+
"yAxisMinorTickVisibility",
|
|
3608
|
+
"y2AxisMinorTickVisibility",
|
|
3609
|
+
"yAxisMinorTickSize",
|
|
3610
|
+
"y2AxisMinorTickSize",
|
|
3611
|
+
"legendMode",
|
|
3612
|
+
"legendTruncation"
|
|
3613
|
+
];
|
|
3614
|
+
var transformAxisChartOptions = ({
|
|
3615
|
+
originalOptions,
|
|
3616
|
+
optionsSchema: optionsSchema2,
|
|
3617
|
+
chart,
|
|
3618
|
+
convertToSCProps,
|
|
3619
|
+
preservedProps
|
|
3620
|
+
}) => {
|
|
3621
|
+
const returnOptions = (0, propUtils_exports.adjustOptionsToSchema)(originalOptions, optionsSchema2);
|
|
3622
|
+
const convertedOptions = convertToSCProps(returnOptions);
|
|
3623
|
+
const transformed = __spreadProps(__spreadValues({}, (0, simpleXMLOptions_exports.getSimpleXMLOptionsForProps)(convertedOptions)), {
|
|
3624
|
+
chart
|
|
3625
|
+
});
|
|
3626
|
+
const preserved = preservedProps.reduce(
|
|
3627
|
+
(acc, prop) => {
|
|
3628
|
+
if (returnOptions[prop] !== void 0) {
|
|
3629
|
+
acc[prop] = returnOptions[prop];
|
|
3630
|
+
}
|
|
3631
|
+
return acc;
|
|
3632
|
+
},
|
|
3633
|
+
{}
|
|
3634
|
+
);
|
|
3635
|
+
if (convertedOptions.legendLabels !== void 0) {
|
|
3636
|
+
preserved.legendLabels = convertedOptions.legendLabels;
|
|
3637
|
+
}
|
|
3638
|
+
return __spreadValues(__spreadValues({}, transformed), preserved);
|
|
3639
|
+
};
|
|
3475
3640
|
var DEFAULT_LINE_WIDTH = 2;
|
|
3476
|
-
var getAnnotations = ({ annotationX, annotationColor, annotationLabel }) => annotationX
|
|
3477
|
-
color: annotationColor
|
|
3478
|
-
label: annotationLabel
|
|
3641
|
+
var getAnnotations = ({ annotationX, annotationColor, annotationLabel }) => (annotationX == null ? void 0 : annotationX.length) ? annotationX.map((timestamp, i) => ({
|
|
3642
|
+
color: annotationColor == null ? void 0 : annotationColor[i],
|
|
3643
|
+
label: annotationLabel == null ? void 0 : annotationLabel[i],
|
|
3479
3644
|
time: timestamp
|
|
3480
3645
|
})) : [];
|
|
3481
3646
|
var getAnnotationsForCanvas = ({
|
|
@@ -3548,6 +3713,65 @@ function constructAdditionalTooltipFieldsMap({ fields, columns, additionalToolti
|
|
|
3548
3713
|
});
|
|
3549
3714
|
return map;
|
|
3550
3715
|
}
|
|
3716
|
+
function extractAdditionalTooltipValues(columns, fields, additionalTooltipFields) {
|
|
3717
|
+
var _a;
|
|
3718
|
+
if (!(additionalTooltipFields == null ? void 0 : additionalTooltipFields.length) || !(columns == null ? void 0 : columns.length) || !(fields == null ? void 0 : fields.length)) {
|
|
3719
|
+
return [];
|
|
3720
|
+
}
|
|
3721
|
+
const fieldIndexMap = fields.reduce((acc, field, index) => {
|
|
3722
|
+
acc[field.name] = index;
|
|
3723
|
+
return acc;
|
|
3724
|
+
}, {});
|
|
3725
|
+
const numRows = ((_a = columns[0]) == null ? void 0 : _a.length) || 0;
|
|
3726
|
+
const additionalTooltipValuesArray = [];
|
|
3727
|
+
for (let i = 0; i < numRows; i += 1) {
|
|
3728
|
+
const tooltipObject = {};
|
|
3729
|
+
additionalTooltipFields.forEach((fieldName) => {
|
|
3730
|
+
var _a2, _b;
|
|
3731
|
+
if (fieldName in fieldIndexMap) {
|
|
3732
|
+
const columnIndex = fieldIndexMap[fieldName];
|
|
3733
|
+
tooltipObject[fieldName] = (_b = (_a2 = columns[columnIndex]) == null ? void 0 : _a2[i]) != null ? _b : null;
|
|
3734
|
+
} else {
|
|
3735
|
+
tooltipObject[fieldName] = null;
|
|
3736
|
+
}
|
|
3737
|
+
});
|
|
3738
|
+
additionalTooltipValuesArray.push(tooltipObject);
|
|
3739
|
+
}
|
|
3740
|
+
return additionalTooltipValuesArray;
|
|
3741
|
+
}
|
|
3742
|
+
var areStringArraysEqual = (a, b) => {
|
|
3743
|
+
if (a === b) return true;
|
|
3744
|
+
if (!a || !b) return false;
|
|
3745
|
+
if (a.length !== b.length) return false;
|
|
3746
|
+
for (let i = 0; i < a.length; i += 1) {
|
|
3747
|
+
if (a[i] !== b[i]) return false;
|
|
3748
|
+
}
|
|
3749
|
+
return true;
|
|
3750
|
+
};
|
|
3751
|
+
var createAdditionalTooltipValuesMemoizer = () => {
|
|
3752
|
+
let cache = {
|
|
3753
|
+
columns: null,
|
|
3754
|
+
fields: null,
|
|
3755
|
+
additionalTooltipFields: void 0,
|
|
3756
|
+
result: void 0
|
|
3757
|
+
};
|
|
3758
|
+
return (columns, fields, additionalTooltipFields) => {
|
|
3759
|
+
if (cache.columns === columns && cache.fields === fields && areStringArraysEqual(cache.additionalTooltipFields, additionalTooltipFields)) {
|
|
3760
|
+
return cache.result;
|
|
3761
|
+
}
|
|
3762
|
+
let result;
|
|
3763
|
+
if ((additionalTooltipFields == null ? void 0 : additionalTooltipFields.length) && columns && fields) {
|
|
3764
|
+
result = extractAdditionalTooltipValues(columns, fields, additionalTooltipFields);
|
|
3765
|
+
}
|
|
3766
|
+
cache = {
|
|
3767
|
+
columns,
|
|
3768
|
+
fields,
|
|
3769
|
+
additionalTooltipFields,
|
|
3770
|
+
result
|
|
3771
|
+
};
|
|
3772
|
+
return result;
|
|
3773
|
+
};
|
|
3774
|
+
};
|
|
3551
3775
|
var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
|
|
3552
3776
|
const rangeSelectEventHandler = eventHandlers.find(
|
|
3553
3777
|
(eventHandler) => {
|
|
@@ -3558,9 +3782,9 @@ var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
|
|
|
3558
3782
|
const xAxisIsTime = xField === "_time";
|
|
3559
3783
|
return !!rangeSelectEventHandler && xAxisIsTime;
|
|
3560
3784
|
};
|
|
3561
|
-
var canvasSupportedTimeSeriesCharts = ["splunk.line"];
|
|
3785
|
+
var canvasSupportedTimeSeriesCharts = ["splunk.line", "splunk.area"];
|
|
3562
3786
|
var isTimeSeriesCanvasRenderSupported = (vizConfigKey) => {
|
|
3563
|
-
return canvasSupportedTimeSeriesCharts.
|
|
3787
|
+
return canvasSupportedTimeSeriesCharts.includes(vizConfigKey);
|
|
3564
3788
|
};
|
|
3565
3789
|
var filterChartDataFromInternalFields = (chartData) => {
|
|
3566
3790
|
const { fields, columns } = chartData;
|
|
@@ -3715,46 +3939,66 @@ var getY2ScaleConfig = (label, axisAbbreviation, axisScale, roundAxisLabelsToInt
|
|
|
3715
3939
|
}
|
|
3716
3940
|
return y2Config;
|
|
3717
3941
|
};
|
|
3718
|
-
var
|
|
3942
|
+
var getSeriesType = (isOverlay, isAreaChart, isStacked) => {
|
|
3943
|
+
if (isOverlay) return "line";
|
|
3944
|
+
if (!isAreaChart) return void 0;
|
|
3945
|
+
return isStacked ? "stacked-area" : "area";
|
|
3946
|
+
};
|
|
3947
|
+
var getY2Scale = (field, y2fields, overlayFields) => {
|
|
3948
|
+
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));
|
|
3949
|
+
return assignToY2 ? "y2" : "y";
|
|
3950
|
+
};
|
|
3951
|
+
var getSeriesOverrides = (opts) => {
|
|
3952
|
+
var _a;
|
|
3953
|
+
const {
|
|
3954
|
+
yfields,
|
|
3955
|
+
y2fields,
|
|
3956
|
+
lineWidth,
|
|
3957
|
+
overlayFields,
|
|
3958
|
+
y2Enabled,
|
|
3959
|
+
nullValueMode,
|
|
3960
|
+
markerDisplay,
|
|
3961
|
+
lineDashStyle,
|
|
3962
|
+
lineDashStylesByField,
|
|
3963
|
+
stepPosition,
|
|
3964
|
+
stepPositionsByField,
|
|
3965
|
+
type,
|
|
3966
|
+
stackMode,
|
|
3967
|
+
showLines
|
|
3968
|
+
} = opts;
|
|
3719
3969
|
const seriesConfig = {};
|
|
3720
3970
|
let spanGaps;
|
|
3721
|
-
let replaceNullsWithZero;
|
|
3722
3971
|
if (nullValueMode === "gaps") {
|
|
3723
3972
|
spanGaps = false;
|
|
3724
|
-
} else if (nullValueMode
|
|
3973
|
+
} else if (nullValueMode != null) {
|
|
3725
3974
|
spanGaps = true;
|
|
3726
|
-
|
|
3727
|
-
|
|
3728
|
-
}
|
|
3975
|
+
} else {
|
|
3976
|
+
spanGaps = void 0;
|
|
3729
3977
|
}
|
|
3730
|
-
|
|
3978
|
+
const replaceNullsWithZero = nullValueMode === "zero" ? true : void 0;
|
|
3979
|
+
const isAreaChart = type === "area";
|
|
3980
|
+
const isStacked = isAreaChart && (stackMode === "stacked" || stackMode === "stacked100");
|
|
3981
|
+
const areaFields = isAreaChart ? yfields.filter((f) => !(overlayFields == null ? void 0 : overlayFields.includes(f))) : yfields;
|
|
3982
|
+
const overlayFieldsInOrder = (_a = overlayFields == null ? void 0 : overlayFields.filter((f) => yfields.includes(f))) != null ? _a : [];
|
|
3983
|
+
const orderedFields = isAreaChart ? [...areaFields, ...overlayFieldsInOrder] : yfields;
|
|
3984
|
+
orderedFields.forEach((field) => {
|
|
3985
|
+
var _a2;
|
|
3986
|
+
const isOverlay = (_a2 = overlayFields == null ? void 0 : overlayFields.includes(field)) != null ? _a2 : false;
|
|
3987
|
+
const isPercent = isAreaChart && stackMode === "stacked100" && !isOverlay;
|
|
3988
|
+
const shouldHideAreaOutline = isAreaChart && showLines === false && !isOverlay;
|
|
3731
3989
|
seriesConfig[field] = {
|
|
3732
|
-
overrides: {
|
|
3990
|
+
overrides: __spreadValues({
|
|
3991
|
+
width: shouldHideAreaOutline ? 0 : lineWidth != null ? lineWidth : DEFAULT_LINE_WIDTH
|
|
3992
|
+
}, isPercent ? { stacking: { mode: "percent", group: "A" } } : {})
|
|
3733
3993
|
};
|
|
3734
|
-
|
|
3735
|
-
|
|
3736
|
-
|
|
3737
|
-
if (y2Enabled)
|
|
3738
|
-
|
|
3739
|
-
|
|
3740
|
-
|
|
3741
|
-
|
|
3742
|
-
);
|
|
3743
|
-
if (shouldAssignToY2) {
|
|
3744
|
-
seriesConfig[field].overrides.scale = "y2";
|
|
3745
|
-
} else {
|
|
3746
|
-
seriesConfig[field].overrides.scale = "y";
|
|
3747
|
-
}
|
|
3748
|
-
}
|
|
3749
|
-
if (overlayFields == null ? void 0 : overlayFields.includes(field)) {
|
|
3750
|
-
seriesConfig[field].type = "line";
|
|
3751
|
-
}
|
|
3752
|
-
if (markerDisplay !== void 0) {
|
|
3753
|
-
seriesConfig[field].markerDisplay = markerDisplay;
|
|
3754
|
-
}
|
|
3755
|
-
const fieldDashStyle = (lineDashStylesByField == null ? void 0 : lineDashStylesByField[field]) || lineDashStyle;
|
|
3756
|
-
if (fieldDashStyle) {
|
|
3757
|
-
seriesConfig[field].lineDashStyle = fieldDashStyle;
|
|
3994
|
+
const seriesType = getSeriesType(isOverlay, isAreaChart, isStacked);
|
|
3995
|
+
if (seriesType !== void 0) seriesConfig[field].type = seriesType;
|
|
3996
|
+
if (spanGaps !== void 0) seriesConfig[field].overrides.spanGaps = spanGaps;
|
|
3997
|
+
if (y2Enabled) seriesConfig[field].overrides.scale = getY2Scale(field, y2fields, overlayFields);
|
|
3998
|
+
if (markerDisplay !== void 0) seriesConfig[field].markerDisplay = markerDisplay;
|
|
3999
|
+
if (!isAreaChart || isOverlay) {
|
|
4000
|
+
const fieldDashStyle = (lineDashStylesByField == null ? void 0 : lineDashStylesByField[field]) || lineDashStyle;
|
|
4001
|
+
if (fieldDashStyle) seriesConfig[field].lineDashStyle = fieldDashStyle;
|
|
3758
4002
|
}
|
|
3759
4003
|
const hasFieldStepPosition = Object.hasOwn(stepPositionsByField || {}, field);
|
|
3760
4004
|
const fieldStepPosition = hasFieldStepPosition ? stepPositionsByField == null ? void 0 : stepPositionsByField[field] : stepPosition;
|
|
@@ -3920,6 +4164,38 @@ var parseArrayOption = (value) => {
|
|
|
3920
4164
|
}
|
|
3921
4165
|
return void 0;
|
|
3922
4166
|
};
|
|
4167
|
+
var getAreaOpacityForCanvas = (areaOpacity) => (
|
|
4168
|
+
// Preserve legacy visualizations behavior where area opacity is squared to match charting output.
|
|
4169
|
+
areaOpacity !== void 0 && areaOpacity !== null ? __pow(areaOpacity, 2) : areaOpacity
|
|
4170
|
+
);
|
|
4171
|
+
var parseTickIntervalOption = (simpleXMLValue, canvasValue) => {
|
|
4172
|
+
if (simpleXMLValue) return Number(simpleXMLValue);
|
|
4173
|
+
if (canvasValue) return Number(canvasValue);
|
|
4174
|
+
return void 0;
|
|
4175
|
+
};
|
|
4176
|
+
var getYAxisTitles = ({
|
|
4177
|
+
y2Enabled,
|
|
4178
|
+
yFields,
|
|
4179
|
+
y2Fields,
|
|
4180
|
+
overlayFields,
|
|
4181
|
+
yAxisTitleText,
|
|
4182
|
+
yAxisTitleVisibility,
|
|
4183
|
+
y2AxisTitleText,
|
|
4184
|
+
y2AxisTitleVisibility,
|
|
4185
|
+
containerHeight
|
|
4186
|
+
}) => {
|
|
4187
|
+
const yFieldsForTitle = y2Enabled ? yFields.filter((field) => !y2Fields.includes(field)) : yFields;
|
|
4188
|
+
const fieldsForY2Axis = y2Fields.length > 0 ? y2Fields : overlayFields;
|
|
4189
|
+
const yAxisTitle = ellipsisAxisTitle(
|
|
4190
|
+
getComputedAxisTitles(yAxisTitleText, yFieldsForTitle, yAxisTitleVisibility),
|
|
4191
|
+
containerHeight
|
|
4192
|
+
);
|
|
4193
|
+
const y2AxisTitle = ellipsisAxisTitle(
|
|
4194
|
+
getComputedAxisTitles(y2AxisTitleText, fieldsForY2Axis, y2AxisTitleVisibility),
|
|
4195
|
+
containerHeight
|
|
4196
|
+
);
|
|
4197
|
+
return { yAxisTitle, y2AxisTitle };
|
|
4198
|
+
};
|
|
3923
4199
|
var TimeSeriesChartWrapper = (props) => {
|
|
3924
4200
|
var _b, _c, _d;
|
|
3925
4201
|
const _a = props, {
|
|
@@ -4009,6 +4285,8 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4009
4285
|
"chart.overlayFields": overlayFieldsStr,
|
|
4010
4286
|
"chart.nullValueMode": nullValueMode,
|
|
4011
4287
|
"chart.showDataLabels": showDataLabels,
|
|
4288
|
+
"chart.showLines": showLines,
|
|
4289
|
+
"chart.stackMode": stackMode,
|
|
4012
4290
|
lineWidth,
|
|
4013
4291
|
lineDashStyle,
|
|
4014
4292
|
fieldDashStyles: lineDashStylesByFieldStr,
|
|
@@ -4037,7 +4315,10 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4037
4315
|
yAxisMinorTickSize,
|
|
4038
4316
|
y2AxisMinorTickSize,
|
|
4039
4317
|
showYAxisWithZero: showYAxisWithZeroFromOptions,
|
|
4040
|
-
showY2AxisWithZero: showY2AxisWithZeroFromOptions
|
|
4318
|
+
showY2AxisWithZero: showY2AxisWithZeroFromOptions,
|
|
4319
|
+
// area only props
|
|
4320
|
+
areaFillOpacity: areaOpacity,
|
|
4321
|
+
chart: chartType
|
|
4041
4322
|
} = options;
|
|
4042
4323
|
const dataValuesDisplay = showDataLabels === "none" ? "off" : showDataLabels;
|
|
4043
4324
|
const showYAxisWithZero = showYAxisWithZeroFromProps != null ? showYAxisWithZeroFromProps : showYAxisWithZeroFromOptions;
|
|
@@ -4054,13 +4335,11 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4054
4335
|
const yAxisMax = parseAxisValue(yAxisMaxRaw);
|
|
4055
4336
|
const y2AxisMin = parseAxisValue(y2AxisMinRaw);
|
|
4056
4337
|
const y2AxisMax = parseAxisValue(y2AxisMaxRaw);
|
|
4057
|
-
const
|
|
4058
|
-
|
|
4059
|
-
|
|
4060
|
-
|
|
4061
|
-
|
|
4062
|
-
const yAxisMajorTickIntervalNum = parseTickInterval(yAxisMajorUnitFromSimpleXML, yAxisMajorTickInterval);
|
|
4063
|
-
const y2AxisMajorTickIntervalNum = parseTickInterval(
|
|
4338
|
+
const yAxisMajorTickIntervalNum = parseTickIntervalOption(
|
|
4339
|
+
yAxisMajorUnitFromSimpleXML,
|
|
4340
|
+
yAxisMajorTickInterval
|
|
4341
|
+
);
|
|
4342
|
+
const y2AxisMajorTickIntervalNum = parseTickIntervalOption(
|
|
4064
4343
|
y2AxisMajorUnitFromSimpleXML,
|
|
4065
4344
|
y2AxisMajorTickInterval
|
|
4066
4345
|
);
|
|
@@ -4069,6 +4348,7 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4069
4348
|
const y2AxisMajorTickSizeNum = y2AxisMajorTickSize != null ? Number(y2AxisMajorTickSize) : void 0;
|
|
4070
4349
|
const yAxisMinorTickSizeNum = yAxisMinorTickSize != null ? Number(yAxisMinorTickSize) : void 0;
|
|
4071
4350
|
const y2AxisMinorTickSizeNum = y2AxisMinorTickSize != null ? Number(y2AxisMinorTickSize) : void 0;
|
|
4351
|
+
const areaOpacityForCanvas = getAreaOpacityForCanvas(areaOpacity);
|
|
4072
4352
|
const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
|
|
4073
4353
|
const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
|
|
4074
4354
|
const lineDashStylesByField = lineDashStylesByFieldStr ? JSON.parse(lineDashStylesByFieldStr) : void 0;
|
|
@@ -4099,26 +4379,40 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4099
4379
|
);
|
|
4100
4380
|
let xAxisTitle = getComputedAxisTitles(xAxisTitleText, [xField], xAxisTitleVisibility);
|
|
4101
4381
|
xAxisTitle = ellipsisAxisTitle(xAxisTitle, containerWidth);
|
|
4102
|
-
const
|
|
4103
|
-
|
|
4104
|
-
|
|
4105
|
-
|
|
4106
|
-
|
|
4107
|
-
|
|
4382
|
+
const { yAxisTitle, y2AxisTitle } = getYAxisTitles({
|
|
4383
|
+
y2Enabled,
|
|
4384
|
+
yFields,
|
|
4385
|
+
y2Fields,
|
|
4386
|
+
overlayFields,
|
|
4387
|
+
yAxisTitleText,
|
|
4388
|
+
yAxisTitleVisibility,
|
|
4389
|
+
y2AxisTitleText,
|
|
4390
|
+
y2AxisTitleVisibility,
|
|
4391
|
+
containerHeight
|
|
4392
|
+
});
|
|
4108
4393
|
const xScaleConfig = (0, react_exports.useMemo)(
|
|
4109
4394
|
() => getXScaleConfig(xAxisTitle, xAxisLabelVisibility, xAxisLabelRotation),
|
|
4110
4395
|
[xAxisTitle, xAxisLabelVisibility, xAxisLabelRotation]
|
|
4111
4396
|
);
|
|
4397
|
+
const isStacked100 = stackMode === "stacked100";
|
|
4112
4398
|
const yScaleConfig = (0, react_exports.useMemo)(
|
|
4113
|
-
() =>
|
|
4114
|
-
|
|
4115
|
-
|
|
4116
|
-
|
|
4117
|
-
|
|
4118
|
-
|
|
4119
|
-
|
|
4120
|
-
|
|
4121
|
-
|
|
4399
|
+
() => {
|
|
4400
|
+
const config2 = getYScaleConfig(
|
|
4401
|
+
yAxisTitle,
|
|
4402
|
+
yAxisAbbreviation,
|
|
4403
|
+
yAxisScale,
|
|
4404
|
+
yAxisLabelVisibility,
|
|
4405
|
+
yAxisMin,
|
|
4406
|
+
yAxisMax
|
|
4407
|
+
);
|
|
4408
|
+
if (isStacked100) {
|
|
4409
|
+
config2.y.tickFmt = (v) => `${Math.round(v * 100)}%`;
|
|
4410
|
+
config2.y.range = () => [0, 1];
|
|
4411
|
+
}
|
|
4412
|
+
return config2;
|
|
4413
|
+
},
|
|
4414
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
4415
|
+
[yAxisTitle, yAxisAbbreviation, yAxisScale, yAxisLabelVisibility, yAxisMin, yAxisMax, isStacked100]
|
|
4122
4416
|
);
|
|
4123
4417
|
const y2ScaleConfig = (0, react_exports.useMemo)(() => {
|
|
4124
4418
|
if (y2Enabled) {
|
|
@@ -4150,10 +4444,11 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4150
4444
|
];
|
|
4151
4445
|
chartData.fields = filteredChartData.fields;
|
|
4152
4446
|
chartData.columns = seriesDataFormatted;
|
|
4447
|
+
const normalizedStackMode = stackMode === "stacked" || stackMode === "stacked100" ? stackMode : "auto";
|
|
4153
4448
|
const seriesOverrides = (0, react_exports.useMemo)(
|
|
4154
|
-
() => getSeriesOverrides(
|
|
4155
|
-
yFields,
|
|
4156
|
-
y2Fields,
|
|
4449
|
+
() => getSeriesOverrides({
|
|
4450
|
+
yfields: yFields,
|
|
4451
|
+
y2fields: y2Fields,
|
|
4157
4452
|
lineWidth,
|
|
4158
4453
|
overlayFields,
|
|
4159
4454
|
y2Enabled,
|
|
@@ -4162,8 +4457,11 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4162
4457
|
lineDashStyle,
|
|
4163
4458
|
lineDashStylesByField,
|
|
4164
4459
|
stepPosition,
|
|
4165
|
-
stepPositionsByField
|
|
4166
|
-
|
|
4460
|
+
stepPositionsByField,
|
|
4461
|
+
type: chartType,
|
|
4462
|
+
stackMode: normalizedStackMode,
|
|
4463
|
+
showLines
|
|
4464
|
+
}),
|
|
4167
4465
|
[
|
|
4168
4466
|
yFields,
|
|
4169
4467
|
y2Fields,
|
|
@@ -4175,7 +4473,10 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4175
4473
|
lineDashStyle,
|
|
4176
4474
|
lineDashStylesByField,
|
|
4177
4475
|
stepPosition,
|
|
4178
|
-
stepPositionsByField
|
|
4476
|
+
stepPositionsByField,
|
|
4477
|
+
chartType,
|
|
4478
|
+
normalizedStackMode,
|
|
4479
|
+
showLines
|
|
4179
4480
|
]
|
|
4180
4481
|
);
|
|
4181
4482
|
const chartingEventAnnotations = (0, react_exports.useMemo)(
|
|
@@ -4243,50 +4544,54 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4243
4544
|
react_exports.useEffect(() => {
|
|
4244
4545
|
additionalTooltipValuesRef.current = additionalTooltipValues;
|
|
4245
4546
|
}, [additionalTooltipValues]);
|
|
4547
|
+
const handleCrosshairMouseout = react_exports.useCallback(() => {
|
|
4548
|
+
if (onPointMouseOut && lastPayloadRef.current) {
|
|
4549
|
+
onPointMouseOut({
|
|
4550
|
+
type: "point.mouseout",
|
|
4551
|
+
originalEvent: lastOriginalEventRef.current,
|
|
4552
|
+
payload: lastPayloadRef.current
|
|
4553
|
+
});
|
|
4554
|
+
}
|
|
4555
|
+
previousMouseoverPayloadRef.current = null;
|
|
4556
|
+
}, [onPointMouseOut]);
|
|
4246
4557
|
const handleChartCrosshairChange = react_exports.useCallback(
|
|
4247
4558
|
(event) => {
|
|
4248
|
-
if (onPointMouseOver
|
|
4249
|
-
|
|
4250
|
-
|
|
4251
|
-
|
|
4252
|
-
|
|
4253
|
-
|
|
4254
|
-
|
|
4255
|
-
|
|
4256
|
-
|
|
4257
|
-
|
|
4258
|
-
|
|
4259
|
-
|
|
4260
|
-
|
|
4261
|
-
|
|
4559
|
+
if (!onPointMouseOver && !onPointMouseOut) {
|
|
4560
|
+
return;
|
|
4561
|
+
}
|
|
4562
|
+
if (!event) {
|
|
4563
|
+
handleCrosshairMouseout();
|
|
4564
|
+
return;
|
|
4565
|
+
}
|
|
4566
|
+
const payload = __spreadProps(__spreadValues({}, (0, lodash_exports.pick)(event, "value", "seriesKey", "time", "index", "seriesIndex")), {
|
|
4567
|
+
name: event.seriesKey
|
|
4568
|
+
});
|
|
4569
|
+
delete payload.seriesKey;
|
|
4570
|
+
if (event.rowContext) {
|
|
4571
|
+
Object.assign(
|
|
4572
|
+
payload,
|
|
4573
|
+
Object.keys(event.rowContext).reduce((acc, fieldName) => {
|
|
4574
|
+
acc[`row.${fieldName}.value`] = event.rowContext[fieldName];
|
|
4575
|
+
return acc;
|
|
4576
|
+
}, {})
|
|
4577
|
+
);
|
|
4578
|
+
}
|
|
4579
|
+
const updatedPayload = appendTrellisToPayload2(payload, trellisKey, trellisSplitBy);
|
|
4580
|
+
if (!hasMouseoverPayloadChanged(updatedPayload, previousMouseoverPayloadRef.current)) {
|
|
4581
|
+
return;
|
|
4582
|
+
}
|
|
4583
|
+
lastPayloadRef.current = updatedPayload;
|
|
4584
|
+
lastOriginalEventRef.current = event;
|
|
4585
|
+
previousMouseoverPayloadRef.current = __spreadValues({}, updatedPayload);
|
|
4586
|
+
if (onPointMouseOver) {
|
|
4587
|
+
onPointMouseOver({
|
|
4588
|
+
type: "point.mouseover",
|
|
4589
|
+
originalEvent: event,
|
|
4590
|
+
payload: updatedPayload
|
|
4262
4591
|
});
|
|
4263
|
-
delete payload.seriesKey;
|
|
4264
|
-
if (event.rowContext) {
|
|
4265
|
-
Object.assign(
|
|
4266
|
-
payload,
|
|
4267
|
-
Object.keys(event.rowContext).reduce((acc, fieldName) => {
|
|
4268
|
-
acc[`row.${fieldName}.value`] = event.rowContext[fieldName];
|
|
4269
|
-
return acc;
|
|
4270
|
-
}, {})
|
|
4271
|
-
);
|
|
4272
|
-
}
|
|
4273
|
-
const updatedPayload = appendTrellisToPayload2(payload, trellisKey, trellisSplitBy);
|
|
4274
|
-
if (!hasMouseoverPayloadChanged(updatedPayload, previousMouseoverPayloadRef.current)) {
|
|
4275
|
-
return;
|
|
4276
|
-
}
|
|
4277
|
-
lastPayloadRef.current = updatedPayload;
|
|
4278
|
-
lastOriginalEventRef.current = event;
|
|
4279
|
-
previousMouseoverPayloadRef.current = __spreadValues({}, updatedPayload);
|
|
4280
|
-
if (onPointMouseOver) {
|
|
4281
|
-
onPointMouseOver({
|
|
4282
|
-
type: "point.mouseover",
|
|
4283
|
-
originalEvent: event,
|
|
4284
|
-
payload: updatedPayload
|
|
4285
|
-
});
|
|
4286
|
-
}
|
|
4287
4592
|
}
|
|
4288
4593
|
},
|
|
4289
|
-
[onPointMouseOver, onPointMouseOut, trellisKey, trellisSplitBy]
|
|
4594
|
+
[onPointMouseOver, onPointMouseOut, trellisKey, trellisSplitBy, handleCrosshairMouseout]
|
|
4290
4595
|
);
|
|
4291
4596
|
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}`;
|
|
4292
4597
|
const memoizedChart = (0, react_exports.useMemo)(() => {
|
|
@@ -4341,7 +4646,8 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4341
4646
|
showXAxisLine,
|
|
4342
4647
|
showYAxisLine,
|
|
4343
4648
|
showY2AxisLine,
|
|
4344
|
-
xAxisMaxLabelParts
|
|
4649
|
+
xAxisMaxLabelParts,
|
|
4650
|
+
areaOpacity: areaOpacityForCanvas
|
|
4345
4651
|
}
|
|
4346
4652
|
));
|
|
4347
4653
|
}, [
|
|
@@ -4393,7 +4699,8 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4393
4699
|
showYAxisLine,
|
|
4394
4700
|
showY2AxisLine,
|
|
4395
4701
|
legendMode,
|
|
4396
|
-
xAxisMaxLabelParts
|
|
4702
|
+
xAxisMaxLabelParts,
|
|
4703
|
+
areaOpacityForCanvas
|
|
4397
4704
|
]);
|
|
4398
4705
|
const memoizedVisualization = (0, react_exports.useMemo)(() => {
|
|
4399
4706
|
return /* @__PURE__ */ react_exports.createElement(VizStyleWrapper_default, { backgroundColor: bgColor }, memoizedChart);
|
|
@@ -4421,6 +4728,37 @@ var TimeSeriesChartWrapper_default = TimeSeriesChartWrapper;
|
|
|
4421
4728
|
|
|
4422
4729
|
// src/common/withDashboardViz.tsx
|
|
4423
4730
|
var SanitizedTimeSeriesChartWrapper = (0, SanitizeProps_exports.withSanitizedProps)(TimeSeriesChartWrapper_default);
|
|
4731
|
+
var buildEventCallbackProps = (supportedEvents, evaluatedOptionsToUse, onEventTrigger) => {
|
|
4732
|
+
const result = {};
|
|
4733
|
+
Object.keys(supportedEvents).forEach((eventName) => {
|
|
4734
|
+
const { parentKeys, payloadKeys } = supportedEvents[eventName];
|
|
4735
|
+
const eventCallbackPropName = (0, lodash_exports.camelCase)(`on.${eventName}`);
|
|
4736
|
+
let payload = {};
|
|
4737
|
+
if (Array.isArray(payloadKeys) && payloadKeys.length) {
|
|
4738
|
+
payloadKeys.forEach((p) => {
|
|
4739
|
+
payload[p] = evaluatedOptionsToUse[p];
|
|
4740
|
+
});
|
|
4741
|
+
}
|
|
4742
|
+
result[eventCallbackPropName] = (ev) => {
|
|
4743
|
+
if (ev == null ? void 0 : ev.payload) {
|
|
4744
|
+
payload = __spreadValues({}, ev.payload);
|
|
4745
|
+
}
|
|
4746
|
+
return onEventTrigger({
|
|
4747
|
+
originalEvent: ev,
|
|
4748
|
+
payload,
|
|
4749
|
+
type: eventName
|
|
4750
|
+
});
|
|
4751
|
+
};
|
|
4752
|
+
if (parentKeys) {
|
|
4753
|
+
for (let i = parentKeys.length - 1; i >= 0; i -= 1) {
|
|
4754
|
+
const newObject = {};
|
|
4755
|
+
newObject[parentKeys[i]] = result[eventCallbackPropName];
|
|
4756
|
+
result[eventCallbackPropName] = newObject;
|
|
4757
|
+
}
|
|
4758
|
+
}
|
|
4759
|
+
});
|
|
4760
|
+
return result;
|
|
4761
|
+
};
|
|
4424
4762
|
var withDashboardViz = (opts) => {
|
|
4425
4763
|
const {
|
|
4426
4764
|
ReactViz,
|
|
@@ -4478,9 +4816,7 @@ var withDashboardViz = (opts) => {
|
|
|
4478
4816
|
const isDownsamplingEnabledByFeatureFlag = Boolean(
|
|
4479
4817
|
featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableDownsampling
|
|
4480
4818
|
);
|
|
4481
|
-
const isTrellisFeatureFlagOn5 = Boolean(
|
|
4482
|
-
featureFlagContext && featureFlagContext.visualizations_enableTrellis
|
|
4483
|
-
);
|
|
4819
|
+
const isTrellisFeatureFlagOn5 = Boolean(featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableTrellis);
|
|
4484
4820
|
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 */;
|
|
4485
4821
|
const isAcceleratedRenderFeatureFlagOn2 = Boolean(
|
|
4486
4822
|
featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableAcceleratedRender
|
|
@@ -4645,38 +4981,12 @@ var withDashboardViz = (opts) => {
|
|
|
4645
4981
|
}
|
|
4646
4982
|
);
|
|
4647
4983
|
}
|
|
4648
|
-
const eventCallbackProps = {};
|
|
4649
|
-
|
|
4650
|
-
|
|
4651
|
-
|
|
4652
|
-
|
|
4653
|
-
|
|
4654
|
-
let payload = {};
|
|
4655
|
-
if (Array.isArray(payloadKeys) && payloadKeys.length) {
|
|
4656
|
-
payloadKeys.forEach((p) => {
|
|
4657
|
-
payload[p] = evaluatedOptionsToUse[p];
|
|
4658
|
-
});
|
|
4659
|
-
}
|
|
4660
|
-
eventCallbackProps[eventCallbackPropName] = (ev) => {
|
|
4661
|
-
if (ev == null ? void 0 : ev.payload) {
|
|
4662
|
-
payload = __spreadValues({}, ev.payload);
|
|
4663
|
-
}
|
|
4664
|
-
return onEventTrigger({
|
|
4665
|
-
originalEvent: ev,
|
|
4666
|
-
payload,
|
|
4667
|
-
type: eventName
|
|
4668
|
-
});
|
|
4669
|
-
};
|
|
4670
|
-
if (parentKeys) {
|
|
4671
|
-
for (let i = parentKeys.length - 1; i >= 0; i -= 1) {
|
|
4672
|
-
const newObject = {};
|
|
4673
|
-
newObject[parentKeys[i]] = eventCallbackProps[eventCallbackPropName];
|
|
4674
|
-
eventCallbackProps[eventCallbackPropName] = newObject;
|
|
4675
|
-
}
|
|
4676
|
-
}
|
|
4677
|
-
});
|
|
4678
|
-
}
|
|
4679
|
-
const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), eventCallbackProps), {
|
|
4984
|
+
const eventCallbackProps = hasEventHandlers && mode === "view" && vizConfig.supports.includes("events" /* EVENTS */) ? buildEventCallbackProps(vizConfig.events, evaluatedOptionsToUse, onEventTrigger) : {};
|
|
4985
|
+
const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), {
|
|
4986
|
+
// Align option transformation with the actual renderer selected below.
|
|
4987
|
+
// This prevents canvas-only option preservation from leaking into Highcharts mode.
|
|
4988
|
+
isAcceleratedRenderOn
|
|
4989
|
+
}), eventCallbackProps), {
|
|
4680
4990
|
themeFunc
|
|
4681
4991
|
}));
|
|
4682
4992
|
if (useAsyncEvaluatedOptions && Object.keys(evaluatedOptionsToUse).length === 0) {
|
|
@@ -4705,29 +5015,25 @@ var withDashboardViz = (opts) => {
|
|
|
4705
5015
|
};
|
|
4706
5016
|
var withDashboardViz_default = withDashboardViz;
|
|
4707
5017
|
|
|
4708
|
-
// esm-externals:@splunk/visualizations-shared/propUtils
|
|
4709
|
-
var propUtils_exports = {};
|
|
4710
|
-
__export(propUtils_exports, {
|
|
4711
|
-
default: () => propUtils_default
|
|
4712
|
-
});
|
|
4713
|
-
var defaultImport36 = __toESM(require("@splunk/visualizations-shared/propUtils"));
|
|
4714
|
-
__reExport(propUtils_exports, require("@splunk/visualizations-shared/propUtils"));
|
|
4715
|
-
var propUtils_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
|
|
4716
|
-
|
|
4717
|
-
// esm-externals:@splunk/visualizations-shared/simpleXMLOptions
|
|
4718
|
-
var simpleXMLOptions_exports = {};
|
|
4719
|
-
__export(simpleXMLOptions_exports, {
|
|
4720
|
-
default: () => simpleXMLOptions_default
|
|
4721
|
-
});
|
|
4722
|
-
var defaultImport37 = __toESM(require("@splunk/visualizations-shared/simpleXMLOptions"));
|
|
4723
|
-
__reExport(simpleXMLOptions_exports, require("@splunk/visualizations-shared/simpleXMLOptions"));
|
|
4724
|
-
var simpleXMLOptions_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
|
|
4725
|
-
|
|
4726
5018
|
// src/Area/areaUtils.ts
|
|
4727
|
-
var transformOptions = (originalOptions) => {
|
|
4728
|
-
|
|
4729
|
-
|
|
4730
|
-
|
|
5019
|
+
var transformOptions = (originalOptions, isAcceleratedRenderOn) => {
|
|
5020
|
+
if (!isAcceleratedRenderOn) {
|
|
5021
|
+
const returnOptions = (0, propUtils_exports.adjustOptionsToSchema)(originalOptions, config_default.optionsSchema);
|
|
5022
|
+
return __spreadProps(__spreadValues({}, (0, simpleXMLOptions_exports.getSimpleXMLOptionsForProps)(convertToAreaSCProperties(returnOptions))), {
|
|
5023
|
+
chart: "area"
|
|
5024
|
+
});
|
|
5025
|
+
}
|
|
5026
|
+
const preservedProps = [
|
|
5027
|
+
...SHARED_AXIS_CHART_CANVAS_SPECIFIC_PROPS
|
|
5028
|
+
// Note: yAxisMajorTickInterval, y2AxisMajorTickInterval, showYAxisWithZero, and showY2AxisWithZero
|
|
5029
|
+
// are NOT canvas-specific. They're mapped to SimpleXML props in lineOptionsSCMapping
|
|
5030
|
+
];
|
|
5031
|
+
return transformAxisChartOptions({
|
|
5032
|
+
originalOptions,
|
|
5033
|
+
optionsSchema: config_default.optionsSchema,
|
|
5034
|
+
chart: "area",
|
|
5035
|
+
convertToSCProps: convertToAreaSCProperties,
|
|
5036
|
+
preservedProps
|
|
4731
5037
|
});
|
|
4732
5038
|
};
|
|
4733
5039
|
var convertToAreaSCProperties = (originalOptions) => {
|
|
@@ -4757,6 +5063,8 @@ var convertToAreaSCProperties = (originalOptions) => {
|
|
|
4757
5063
|
seriesColorsByField: "fieldColors",
|
|
4758
5064
|
nullValueDisplay: "nullValueMode",
|
|
4759
5065
|
lineDashStylesByField: "fieldDashStyles",
|
|
5066
|
+
stepPositionsByField: "fieldStepPositions",
|
|
5067
|
+
stepPosition: "stepPosition",
|
|
4760
5068
|
xAxisLineVisibility: "xAxisVisibility",
|
|
4761
5069
|
yAxisLineVisibility: "yAxisVisibility",
|
|
4762
5070
|
y2AxisLineVisibility: "y2AxisVisibility",
|
|
@@ -4794,7 +5102,13 @@ var convertToAreaSCProperties = (originalOptions) => {
|
|
|
4794
5102
|
ellipsisOff: "ellipsisNone"
|
|
4795
5103
|
}
|
|
4796
5104
|
};
|
|
4797
|
-
const stingValues = [
|
|
5105
|
+
const stingValues = [
|
|
5106
|
+
"seriesColors",
|
|
5107
|
+
"fieldColors",
|
|
5108
|
+
"legendLabels",
|
|
5109
|
+
"fieldDashStyles",
|
|
5110
|
+
"fieldStepPositions"
|
|
5111
|
+
];
|
|
4798
5112
|
return (0, propUtils_exports.convertToSCProperties)(
|
|
4799
5113
|
originalOptions,
|
|
4800
5114
|
areaOptionsSCMapping,
|
|
@@ -4822,6 +5136,53 @@ __reExport(themes_exports, require("@splunk/themes"));
|
|
|
4822
5136
|
var themes_default = "default" in defaultImport39 ? defaultImport39.default : defaultImport39;
|
|
4823
5137
|
|
|
4824
5138
|
// src/common/hocs/withTrellis.tsx
|
|
5139
|
+
var evaluatePanelOption = (panelDataSources, allOptions, optionKey, vizContext) => {
|
|
5140
|
+
try {
|
|
5141
|
+
const evaluated = Options_exports.Options.evaluate({ context: vizContext, options: allOptions }, panelDataSources);
|
|
5142
|
+
const num = Number(evaluated == null ? void 0 : evaluated[optionKey]);
|
|
5143
|
+
return Number.isNaN(num) ? Number.NaN : num;
|
|
5144
|
+
} catch (e) {
|
|
5145
|
+
return Number.NaN;
|
|
5146
|
+
}
|
|
5147
|
+
};
|
|
5148
|
+
var sortTrellisKeys = (keys, trellisSortBy, trellisSortOrder, modifiedDataSourceBySplitBy, mergedOptions, vizContext) => {
|
|
5149
|
+
if (trellisSortBy === "name") {
|
|
5150
|
+
keys.sort((a, b) => {
|
|
5151
|
+
const cmp = a.localeCompare(b, void 0, { numeric: true, sensitivity: "base" });
|
|
5152
|
+
return trellisSortOrder === "descending" ? -cmp : cmp;
|
|
5153
|
+
});
|
|
5154
|
+
} else if (trellisSortBy === "value" || trellisSortBy === "trend") {
|
|
5155
|
+
let optionKey;
|
|
5156
|
+
if (trellisSortBy === "trend") {
|
|
5157
|
+
optionKey = "trendValue";
|
|
5158
|
+
} else {
|
|
5159
|
+
optionKey = mergedOptions.value !== void 0 ? "value" : "majorValue";
|
|
5160
|
+
}
|
|
5161
|
+
keys.sort((a, b) => {
|
|
5162
|
+
const valA = evaluatePanelOption(
|
|
5163
|
+
modifiedDataSourceBySplitBy[a],
|
|
5164
|
+
mergedOptions,
|
|
5165
|
+
optionKey,
|
|
5166
|
+
vizContext
|
|
5167
|
+
);
|
|
5168
|
+
const valB = evaluatePanelOption(
|
|
5169
|
+
modifiedDataSourceBySplitBy[b],
|
|
5170
|
+
mergedOptions,
|
|
5171
|
+
optionKey,
|
|
5172
|
+
vizContext
|
|
5173
|
+
);
|
|
5174
|
+
const nanA = Number.isNaN(valA);
|
|
5175
|
+
const nanB = Number.isNaN(valB);
|
|
5176
|
+
if (nanA && nanB) return 0;
|
|
5177
|
+
if (nanA) return 1;
|
|
5178
|
+
if (nanB) return -1;
|
|
5179
|
+
const cmp = valA - valB;
|
|
5180
|
+
return trellisSortOrder === "descending" ? -cmp : cmp;
|
|
5181
|
+
});
|
|
5182
|
+
} else if (trellisSortOrder === "descending") {
|
|
5183
|
+
keys.reverse();
|
|
5184
|
+
}
|
|
5185
|
+
};
|
|
4825
5186
|
var TrellisContainer = styled_components_default.div`
|
|
4826
5187
|
overflow: hidden;
|
|
4827
5188
|
display: flex;
|
|
@@ -4866,6 +5227,14 @@ var showErrorMessage = (errorCode, width, height) => {
|
|
|
4866
5227
|
}
|
|
4867
5228
|
return /* @__PURE__ */ react_exports.createElement(Message_default, { width, height, message: (0, i18n_exports._)("Error render in trellis"), level: "info" });
|
|
4868
5229
|
};
|
|
5230
|
+
var resolveTrellisSplitBy = (trellisSplitBy, fields) => {
|
|
5231
|
+
var _a;
|
|
5232
|
+
if (trellisSplitBy && trellisSplitBy.length > 0) {
|
|
5233
|
+
return trellisSplitBy;
|
|
5234
|
+
}
|
|
5235
|
+
const splitByPossibleFields = (0, trellisUtils_exports.getAllPossibleSplitByFields)(fields);
|
|
5236
|
+
return ((_a = splitByPossibleFields.fields) == null ? void 0 : _a.length) ? splitByPossibleFields.fields[0] : AGGREGATIONS;
|
|
5237
|
+
};
|
|
4869
5238
|
var withTrellis = (Viz) => {
|
|
4870
5239
|
const VizWithTrellis = (opts) => {
|
|
4871
5240
|
const cachedHandleResize = react_exports.useCallback((w, h) => {
|
|
@@ -4874,7 +5243,7 @@ var withTrellis = (Viz) => {
|
|
|
4874
5243
|
}, []);
|
|
4875
5244
|
const [containerWidth, setContainerWidth] = react_exports.useState(Number(opts.width));
|
|
4876
5245
|
const [containerHeight, setContainerHeight] = react_exports.useState(Number(opts.height));
|
|
4877
|
-
const _a = opts, { options = {}, height, width } = _a, otherProps = __objRest(_a, ["options", "height", "width"]);
|
|
5246
|
+
const _a = opts, { options = {}, context = {}, height, width } = _a, otherProps = __objRest(_a, ["options", "context", "height", "width"]);
|
|
4878
5247
|
const defaultOptions = (0, JSONSchemaUtils_exports.pickFieldFromJSONSchema)(Viz.config.optionsSchema, "default");
|
|
4879
5248
|
const mergedOptions = (0, hocUtils_exports.deepMergeWithArrayPrimitiveOverrides)({}, options, defaultOptions);
|
|
4880
5249
|
const {
|
|
@@ -4884,6 +5253,8 @@ var withTrellis = (Viz) => {
|
|
|
4884
5253
|
trellisRowHeight,
|
|
4885
5254
|
splitByLayout,
|
|
4886
5255
|
trellisSplitBy,
|
|
5256
|
+
trellisSortBy,
|
|
5257
|
+
trellisSortOrder,
|
|
4887
5258
|
trellisSharedScale,
|
|
4888
5259
|
stackMode,
|
|
4889
5260
|
yAxisMin,
|
|
@@ -4952,7 +5323,7 @@ var withTrellis = (Viz) => {
|
|
|
4952
5323
|
}, [pageCount, trellisSplitBy]);
|
|
4953
5324
|
(0, react_exports.useEffect)(() => {
|
|
4954
5325
|
updateDataDisplay(pageNum);
|
|
4955
|
-
}, [columns, fields, trellisSplitBy, pageNum, splitByLayout]);
|
|
5326
|
+
}, [columns, fields, trellisSplitBy, trellisSortBy, trellisSortOrder, pageNum, splitByLayout]);
|
|
4956
5327
|
const handlePageChange = (0, react_exports.useCallback)(
|
|
4957
5328
|
(event, { page }) => {
|
|
4958
5329
|
setPageNum(page);
|
|
@@ -4960,9 +5331,7 @@ var withTrellis = (Viz) => {
|
|
|
4960
5331
|
[pageNum, pagedData]
|
|
4961
5332
|
);
|
|
4962
5333
|
const featureFlagContext = react_exports.useContext(FeatureFlagContext_default);
|
|
4963
|
-
const isTrellisFeatureFlagOn5 = Boolean(
|
|
4964
|
-
featureFlagContext && featureFlagContext.visualizations_enableTrellis
|
|
4965
|
-
);
|
|
5334
|
+
const isTrellisFeatureFlagOn5 = Boolean(featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableTrellis);
|
|
4966
5335
|
if (!isTrellisFeatureFlagOn5 || !splitByLayout || splitByLayout !== visualization_schemas_exports.LAYOUT_TYPE.Trellis) {
|
|
4967
5336
|
return /* @__PURE__ */ react_exports.createElement(Viz, __spreadValues({}, opts));
|
|
4968
5337
|
}
|
|
@@ -4970,14 +5339,9 @@ var withTrellis = (Viz) => {
|
|
|
4970
5339
|
if (noColumns || noFields) {
|
|
4971
5340
|
return /* @__PURE__ */ react_exports.createElement(Message_default, { width, height, message: (0, i18n_exports._)("Loading"), level: "info" });
|
|
4972
5341
|
}
|
|
4973
|
-
|
|
4974
|
-
if (!trellisSplitBy || trellisSplitBy.length === 0) {
|
|
4975
|
-
const splitByPossibleFields = (0, trellisUtils_exports.getAllPossibleSplitByFields)(fields);
|
|
4976
|
-
currTrellisSplitBy = splitByPossibleFields.fields && splitByPossibleFields.fields.length ? splitByPossibleFields.fields[0] : AGGREGATIONS;
|
|
4977
|
-
}
|
|
4978
|
-
const splitMode = (0, trellisUtils_exports.getTrellisDataSplitterMode)(fields);
|
|
5342
|
+
const currTrellisSplitBy = resolveTrellisSplitBy(trellisSplitBy, fields);
|
|
4979
5343
|
const dataSplitResult = getTrellisDataSourcesBySplitMode(
|
|
4980
|
-
|
|
5344
|
+
(0, trellisUtils_exports.getTrellisDataSplitterMode)(fields),
|
|
4981
5345
|
dataSources,
|
|
4982
5346
|
currTrellisSplitBy
|
|
4983
5347
|
);
|
|
@@ -4986,12 +5350,19 @@ var withTrellis = (Viz) => {
|
|
|
4986
5350
|
if (!modifiedDataSourceBySplitBy || Object.keys(modifiedDataSourceBySplitBy).length === 0 || dataSplitErrorCode) {
|
|
4987
5351
|
return showErrorMessage(dataSplitErrorCode, width, height);
|
|
4988
5352
|
}
|
|
4989
|
-
const splitByKeysModified =
|
|
4990
|
-
|
|
4991
|
-
|
|
4992
|
-
|
|
4993
|
-
|
|
4994
|
-
|
|
5353
|
+
const splitByKeysModified = Object.keys(modifiedDataSourceBySplitBy);
|
|
5354
|
+
const vizContext = (0, lodash_exports.defaultsDeep)({}, context, Viz.config.defaultContext);
|
|
5355
|
+
sortTrellisKeys(
|
|
5356
|
+
splitByKeysModified,
|
|
5357
|
+
trellisSortBy,
|
|
5358
|
+
trellisSortOrder,
|
|
5359
|
+
modifiedDataSourceBySplitBy,
|
|
5360
|
+
mergedOptions,
|
|
5361
|
+
vizContext
|
|
5362
|
+
);
|
|
5363
|
+
showPaginator = splitByKeysModified.length > pageCount;
|
|
5364
|
+
splitByKeys = splitByKeysModified;
|
|
5365
|
+
totalPages = Math.ceil(splitByKeysModified.length / pageCount);
|
|
4995
5366
|
const [calculatedMin, calculatedMax] = determineMinMax(
|
|
4996
5367
|
modifiedDataSourceBySplitBy,
|
|
4997
5368
|
trellisSharedScale,
|
|
@@ -5025,6 +5396,7 @@ var withTrellis = (Viz) => {
|
|
|
5025
5396
|
/* @__PURE__ */ react_exports.createElement(
|
|
5026
5397
|
Viz,
|
|
5027
5398
|
__spreadProps(__spreadValues({}, otherProps), {
|
|
5399
|
+
context,
|
|
5028
5400
|
trellisKey: splitByKey,
|
|
5029
5401
|
trellisSplitBy: currTrellisSplitBy,
|
|
5030
5402
|
dataSources: modifiedDataSourceBySplitBy[splitByKey],
|
|
@@ -5057,6 +5429,7 @@ var withTrellis = (Viz) => {
|
|
|
5057
5429
|
var withTrellis_default = withTrellis;
|
|
5058
5430
|
|
|
5059
5431
|
// src/Area/Area.tsx
|
|
5432
|
+
var getMemoizedAdditionalTooltipValues = createAdditionalTooltipValuesMemoizer();
|
|
5060
5433
|
var computeVizProps = (_a) => {
|
|
5061
5434
|
var _b = _a, {
|
|
5062
5435
|
dataSources,
|
|
@@ -5072,7 +5445,8 @@ var computeVizProps = (_a) => {
|
|
|
5072
5445
|
visualizationApiRef,
|
|
5073
5446
|
trellisKey,
|
|
5074
5447
|
trellisSplitBy,
|
|
5075
|
-
themeFunc
|
|
5448
|
+
themeFunc,
|
|
5449
|
+
isAcceleratedRenderOn
|
|
5076
5450
|
} = _b, otherOptions = __objRest(_b, [
|
|
5077
5451
|
"dataSources",
|
|
5078
5452
|
"onEventTrigger",
|
|
@@ -5087,18 +5461,23 @@ var computeVizProps = (_a) => {
|
|
|
5087
5461
|
"visualizationApiRef",
|
|
5088
5462
|
"trellisKey",
|
|
5089
5463
|
"trellisSplitBy",
|
|
5090
|
-
"themeFunc"
|
|
5464
|
+
"themeFunc",
|
|
5465
|
+
"isAcceleratedRenderOn"
|
|
5091
5466
|
]);
|
|
5467
|
+
var _a2;
|
|
5092
5468
|
const defaultFontColor = themeFunc("defaultFontColor");
|
|
5093
5469
|
const computedProps = {
|
|
5094
5470
|
visualizationApiRef,
|
|
5095
5471
|
trellisKey,
|
|
5096
5472
|
trellisSplitBy,
|
|
5097
5473
|
defaultFontColor,
|
|
5098
|
-
onEventTrigger
|
|
5474
|
+
onEventTrigger,
|
|
5475
|
+
// we want to turn marker Display off for area charts since it is not a supported option.
|
|
5476
|
+
// but it is supported for Line
|
|
5477
|
+
markerDisplay: "off"
|
|
5099
5478
|
};
|
|
5100
5479
|
const { y2, y2Fields, hasEventHandlers, eventHandlers } = otherOptions;
|
|
5101
|
-
computedProps.options = transformOptions(otherOptions);
|
|
5480
|
+
computedProps.options = transformOptions(otherOptions, isAcceleratedRenderOn);
|
|
5102
5481
|
const chartingAnnotations = getAnnotations({
|
|
5103
5482
|
annotationX,
|
|
5104
5483
|
annotationColor,
|
|
@@ -5127,6 +5506,16 @@ var computeVizProps = (_a) => {
|
|
|
5127
5506
|
computedProps.onPointMouseOver = onEventTrigger;
|
|
5128
5507
|
computedProps.onPointMouseOut = onEventTrigger;
|
|
5129
5508
|
}
|
|
5509
|
+
computedProps.eventHandlers = eventHandlers;
|
|
5510
|
+
computedProps.xField = xField;
|
|
5511
|
+
if (((_a2 = dataSources == null ? void 0 : dataSources.primary) == null ? void 0 : _a2.data) && (additionalTooltipFields == null ? void 0 : additionalTooltipFields.length)) {
|
|
5512
|
+
const { columns: originalColumns, fields: originalFields } = dataSources.primary.data;
|
|
5513
|
+
computedProps.additionalTooltipValues = getMemoizedAdditionalTooltipValues(
|
|
5514
|
+
originalColumns,
|
|
5515
|
+
originalFields,
|
|
5516
|
+
additionalTooltipFields
|
|
5517
|
+
);
|
|
5518
|
+
}
|
|
5130
5519
|
return computedProps;
|
|
5131
5520
|
};
|
|
5132
5521
|
var Area = withTrellis_default(
|