@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/SingleValue.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 = {}))
|
|
@@ -196,8 +197,27 @@ var TrellisTitleDiv = styled_components_default.div`
|
|
|
196
197
|
background-color: ${(props) => props.backgroundColor};
|
|
197
198
|
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.
|
|
198
199
|
`;
|
|
200
|
+
var formatTrellisKey = (value) => {
|
|
201
|
+
if (value === null || value === void 0) {
|
|
202
|
+
return "";
|
|
203
|
+
}
|
|
204
|
+
if (typeof value === "string") {
|
|
205
|
+
return value;
|
|
206
|
+
}
|
|
207
|
+
if (typeof value === "number" || typeof value === "boolean") {
|
|
208
|
+
return value.toString();
|
|
209
|
+
}
|
|
210
|
+
if (typeof value === "symbol") {
|
|
211
|
+
return value.toString();
|
|
212
|
+
}
|
|
213
|
+
try {
|
|
214
|
+
return JSON.stringify(value);
|
|
215
|
+
} catch (e) {
|
|
216
|
+
return typeof value === "bigint" ? value.toString() : "";
|
|
217
|
+
}
|
|
218
|
+
};
|
|
199
219
|
var TrellisTitle = (props) => {
|
|
200
|
-
const titleText =
|
|
220
|
+
const titleText = formatTrellisKey(props.trellisKey);
|
|
201
221
|
return /* @__PURE__ */ react_exports.createElement(
|
|
202
222
|
TrellisTitleDiv,
|
|
203
223
|
{
|
|
@@ -327,7 +347,7 @@ var computeColors = (props, defaultColors) => {
|
|
|
327
347
|
trendDisplay: props.trendDisplay,
|
|
328
348
|
defaultColors
|
|
329
349
|
});
|
|
330
|
-
const underLabelColor = majorColor;
|
|
350
|
+
const underLabelColor = getFormattedColor(props.underLabelColor, majorColor);
|
|
331
351
|
return {
|
|
332
352
|
backgroundColor,
|
|
333
353
|
backgroundEnabled,
|
|
@@ -614,6 +634,15 @@ var adjustRGB = (rgb, delta) => {
|
|
|
614
634
|
}
|
|
615
635
|
return rgb;
|
|
616
636
|
};
|
|
637
|
+
var getUnchangedColorDelta = (r, g, b, ratio) => {
|
|
638
|
+
if (r === 0 && g === 0 && b === 0) {
|
|
639
|
+
return ratio > 1 ? 80 : 40;
|
|
640
|
+
}
|
|
641
|
+
if (r === 255 && g === 255 && b === 255) {
|
|
642
|
+
return ratio > 1 ? 20 : 80;
|
|
643
|
+
}
|
|
644
|
+
return 20;
|
|
645
|
+
};
|
|
617
646
|
var changeColor = (color, ratio) => {
|
|
618
647
|
const hex = color.replace(/(0x|#)/, "");
|
|
619
648
|
const r = parseInt(hex.substr(0, 2), 16);
|
|
@@ -623,31 +652,10 @@ var changeColor = (color, ratio) => {
|
|
|
623
652
|
let newG = Math.max(Math.min(Math.floor(g * ratio), 255), 0);
|
|
624
653
|
let newB = Math.max(Math.min(Math.floor(b * ratio), 255), 0);
|
|
625
654
|
if (newR === r && newG === g && newB === b) {
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
newB = adjustRGB(newB, 80);
|
|
631
|
-
} else {
|
|
632
|
-
newR = adjustRGB(newR, 40);
|
|
633
|
-
newG = adjustRGB(newG, 40);
|
|
634
|
-
newB = adjustRGB(newB, 40);
|
|
635
|
-
}
|
|
636
|
-
} else if (newR === 255 && newG === 255 && newB === 255) {
|
|
637
|
-
if (ratio > 1) {
|
|
638
|
-
newR = adjustRGB(newR, 20);
|
|
639
|
-
newG = adjustRGB(newG, 20);
|
|
640
|
-
newB = adjustRGB(newB, 20);
|
|
641
|
-
} else {
|
|
642
|
-
newR = adjustRGB(newR, 80);
|
|
643
|
-
newG = adjustRGB(newG, 80);
|
|
644
|
-
newB = adjustRGB(newB, 80);
|
|
645
|
-
}
|
|
646
|
-
} else {
|
|
647
|
-
newR = adjustRGB(newR, 20);
|
|
648
|
-
newG = adjustRGB(newG, 20);
|
|
649
|
-
newB = adjustRGB(newB, 20);
|
|
650
|
-
}
|
|
655
|
+
const delta = getUnchangedColorDelta(newR, newG, newB, ratio);
|
|
656
|
+
newR = adjustRGB(newR, delta);
|
|
657
|
+
newG = adjustRGB(newG, delta);
|
|
658
|
+
newB = adjustRGB(newB, delta);
|
|
651
659
|
}
|
|
652
660
|
return `#${newR.toString(16).padStart(2, 0)}${newG.toString(16).padStart(2, 0)}${newB.toString(16).padStart(2, 0)}`;
|
|
653
661
|
};
|
|
@@ -1679,7 +1687,7 @@ var getAvailableContentHeight = ({
|
|
|
1679
1687
|
}
|
|
1680
1688
|
return majorTextFontSize + CONTENT_SPARKLINE_SPACING + underLabelHeight;
|
|
1681
1689
|
};
|
|
1682
|
-
var isValidPosition = (sparklinePosition) => VALID_SPARKLINE_POSITIONS.
|
|
1690
|
+
var isValidPosition = (sparklinePosition) => VALID_SPARKLINE_POSITIONS.includes(sparklinePosition);
|
|
1683
1691
|
var parseSparklineValues = ({ sparklineValues }) => Array.isArray(sparklineValues) ? sparklineValues.map((v) => {
|
|
1684
1692
|
const numV = (0, numberUtils_exports.parseNumber)(v);
|
|
1685
1693
|
if (numV === 0) {
|
|
@@ -2008,15 +2016,13 @@ var SingleValue = (_a) => {
|
|
|
2008
2016
|
}
|
|
2009
2017
|
let { sparklineDisplay = "below", trendDisplay = "absolute", unit, underLabel } = props;
|
|
2010
2018
|
const parsedSparklineValues = parseSparklineValues({ sparklineValues });
|
|
2019
|
+
if (!isValidPosition(sparklineDisplay)) {
|
|
2020
|
+
sparklineDisplay = "below";
|
|
2021
|
+
}
|
|
2011
2022
|
let hasSparkline = shouldShowSparkline({
|
|
2012
|
-
showSparkline:
|
|
2023
|
+
showSparkline: sparklineDisplay !== "off",
|
|
2013
2024
|
sparklineValues: parsedSparklineValues
|
|
2014
2025
|
});
|
|
2015
|
-
if (hasSparkline) {
|
|
2016
|
-
if (!isValidPosition(sparklineDisplay)) {
|
|
2017
|
-
sparklineDisplay = "below";
|
|
2018
|
-
}
|
|
2019
|
-
}
|
|
2020
2026
|
const isSparklinePositionBelow = hasSparkline && sparklineDisplay === "below";
|
|
2021
2027
|
const contentWidth = getAvailableContentWidth({
|
|
2022
2028
|
hasSparkline,
|
|
@@ -2050,8 +2056,11 @@ var SingleValue = (_a) => {
|
|
|
2050
2056
|
});
|
|
2051
2057
|
if (!isEmpty_default(smallVizProps)) {
|
|
2052
2058
|
({ sparklineDisplay, trendDisplay, unit, underLabel } = smallVizProps);
|
|
2059
|
+
if (!isValidPosition(sparklineDisplay)) {
|
|
2060
|
+
sparklineDisplay = "below";
|
|
2061
|
+
}
|
|
2053
2062
|
hasSparkline = shouldShowSparkline({
|
|
2054
|
-
showSparkline:
|
|
2063
|
+
showSparkline: sparklineDisplay !== "off",
|
|
2055
2064
|
sparklineValues: parsedSparklineValues
|
|
2056
2065
|
});
|
|
2057
2066
|
}
|
|
@@ -2253,7 +2262,7 @@ var DefaultVizActionHandler = class {
|
|
|
2253
2262
|
var INITIAL_HEIGHT = 250;
|
|
2254
2263
|
var SplunkVisualization = class {
|
|
2255
2264
|
};
|
|
2256
|
-
SplunkVisualization
|
|
2265
|
+
__publicField(SplunkVisualization, "propTypes", {
|
|
2257
2266
|
/**
|
|
2258
2267
|
* display mode
|
|
2259
2268
|
*/
|
|
@@ -2329,11 +2338,11 @@ SplunkVisualization.propTypes = {
|
|
|
2329
2338
|
* A callback to request new data with updated request params
|
|
2330
2339
|
*/
|
|
2331
2340
|
onRequestParamsChange: prop_types_exports.func
|
|
2332
|
-
};
|
|
2341
|
+
});
|
|
2333
2342
|
/**
|
|
2334
2343
|
*
|
|
2335
2344
|
*/
|
|
2336
|
-
SplunkVisualization
|
|
2345
|
+
__publicField(SplunkVisualization, "defaults", {
|
|
2337
2346
|
// BaseVisualization in dashboard-visualizations uses 100% for width but 250 for height
|
|
2338
2347
|
width: "100%",
|
|
2339
2348
|
height: INITIAL_HEIGHT,
|
|
@@ -2348,7 +2357,7 @@ SplunkVisualization.defaults = {
|
|
|
2348
2357
|
onComputedProps: () => ({}),
|
|
2349
2358
|
loading: false,
|
|
2350
2359
|
onRequestParamsChange: lodash_exports.noop
|
|
2351
|
-
};
|
|
2360
|
+
});
|
|
2352
2361
|
var SplunkVisualization_default = SplunkVisualization;
|
|
2353
2362
|
|
|
2354
2363
|
// src/common/interfaces/DataSource.ts
|
|
@@ -2402,9 +2411,9 @@ var usePaginationParams = ({
|
|
|
2402
2411
|
meta,
|
|
2403
2412
|
onRequestParamsChange
|
|
2404
2413
|
}) => {
|
|
2405
|
-
const totalCount = meta
|
|
2406
|
-
const offset = requestParams
|
|
2407
|
-
const count = requestParams
|
|
2414
|
+
const totalCount = (meta == null ? void 0 : meta.totalCount) || 0;
|
|
2415
|
+
const offset = (requestParams == null ? void 0 : requestParams.offset) || 0;
|
|
2416
|
+
const count = requestParams == null ? void 0 : requestParams.count;
|
|
2408
2417
|
const totalPages = typeof count === "number" && count > 0 ? Math.ceil(totalCount / count) : 0;
|
|
2409
2418
|
const current = typeof count === "number" && count > 0 ? Math.floor(offset / count) + 1 : 0;
|
|
2410
2419
|
const isPaging = totalPages > 1 && typeof onRequestParamsChange === "function";
|
|
@@ -2503,7 +2512,7 @@ var Cover = styled_components_default.div`
|
|
|
2503
2512
|
bottom: 0;
|
|
2504
2513
|
`;
|
|
2505
2514
|
var Blocker = styled_components_default.div.attrs({
|
|
2506
|
-
"data-splunk-visualization-version": "28.
|
|
2515
|
+
"data-splunk-visualization-version": "28.6.0 - 92427899a"
|
|
2507
2516
|
})`
|
|
2508
2517
|
position: relative;
|
|
2509
2518
|
width: 100%;
|
|
@@ -2593,7 +2602,7 @@ var withFixedSizeContainer = (Viz) => {
|
|
|
2593
2602
|
FixSizeItem,
|
|
2594
2603
|
{
|
|
2595
2604
|
"data-test": "fix-size-item",
|
|
2596
|
-
"data-splunk-visualization-version": "28.
|
|
2605
|
+
"data-splunk-visualization-version": "28.6.0 - 92427899a",
|
|
2597
2606
|
width,
|
|
2598
2607
|
height,
|
|
2599
2608
|
backgroundColor
|
|
@@ -3090,7 +3099,7 @@ var dataSourcesSplitByAggregationsUnknown = (dataSource) => {
|
|
|
3090
3099
|
const columns = (_d = (_c = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _c.data) == null ? void 0 : _d.columns;
|
|
3091
3100
|
let splitDataSources = null;
|
|
3092
3101
|
let errorCode = null;
|
|
3093
|
-
if (fields
|
|
3102
|
+
if (fields == null ? void 0 : fields.length) {
|
|
3094
3103
|
splitDataSources = {};
|
|
3095
3104
|
for (let i = 0; i < fields.length; i += 1) {
|
|
3096
3105
|
const fieldName = fields[i].name;
|
|
@@ -3141,7 +3150,7 @@ var dataSourcesSplitByAggregationsTimechartAndChart = (dataSource) => {
|
|
|
3141
3150
|
}
|
|
3142
3151
|
});
|
|
3143
3152
|
});
|
|
3144
|
-
} else if ((
|
|
3153
|
+
} else if (!(splitByFields == null ? void 0 : splitByFields.length) && fields.length > 1) {
|
|
3145
3154
|
splitDataSources = {};
|
|
3146
3155
|
for (let i = 1; i < fields.length; i += 1) {
|
|
3147
3156
|
const fieldName = fields[i].name;
|
|
@@ -3197,7 +3206,7 @@ var dataSourcesSplitByModeTimechart = (dataSource, splitBy) => {
|
|
|
3197
3206
|
if (fields.length > 0) {
|
|
3198
3207
|
splitByFields = (0, trellisUtils_exports.extractSplitByFieldsChartFields)(fields);
|
|
3199
3208
|
}
|
|
3200
|
-
if (splitByFields
|
|
3209
|
+
if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
|
|
3201
3210
|
splitDataSources = {};
|
|
3202
3211
|
const dataSourceKeys = (0, trellisUtils_exports.extractDataSourceAggregationKeysChart)(fields);
|
|
3203
3212
|
const valueKeys = [];
|
|
@@ -3228,6 +3237,68 @@ var dataSourcesSplitByModeTimechart = (dataSource, splitBy) => {
|
|
|
3228
3237
|
}
|
|
3229
3238
|
return { splitDataSources, errorCode };
|
|
3230
3239
|
};
|
|
3240
|
+
var splitRowWise = (dataSource, columns, fields, otherSplitBy, dataSourceKeys, nonDataSourceAggregations) => {
|
|
3241
|
+
const splitDataSources = {};
|
|
3242
|
+
const valueKeys = (0, lodash_exports.cloneDeep)(columns[0]);
|
|
3243
|
+
valueKeys.forEach((val, idx) => {
|
|
3244
|
+
splitDataSources[val] = (0, lodash_exports.cloneDeep)((0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"]));
|
|
3245
|
+
splitDataSources[val].primary.data.fields = [];
|
|
3246
|
+
if (otherSplitBy.length) {
|
|
3247
|
+
splitDataSources[val].primary.data.fields = [{ name: otherSplitBy[0] }];
|
|
3248
|
+
}
|
|
3249
|
+
if (dataSourceKeys.length) {
|
|
3250
|
+
const columnValues = [[]];
|
|
3251
|
+
splitDataSources[val].primary.data.fields = [
|
|
3252
|
+
...splitDataSources[val].primary.data.fields,
|
|
3253
|
+
...dataSourceKeys.map((k) => ({ name: k }))
|
|
3254
|
+
];
|
|
3255
|
+
dataSourceKeys.forEach(() => {
|
|
3256
|
+
columnValues.push([]);
|
|
3257
|
+
});
|
|
3258
|
+
for (let i = 1; i <= Math.ceil((fields.length - 1) / dataSourceKeys.length); i += 1) {
|
|
3259
|
+
columnValues[0].push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);
|
|
3260
|
+
dataSourceKeys.forEach((dskey, dsIndx) => {
|
|
3261
|
+
const mul = (fields.length - 1) / dataSourceKeys.length;
|
|
3262
|
+
columnValues[dsIndx + 1].push(columns[i + dsIndx * mul][idx]);
|
|
3263
|
+
});
|
|
3264
|
+
}
|
|
3265
|
+
splitDataSources[val].primary.data.columns = columnValues;
|
|
3266
|
+
} else if (nonDataSourceAggregations.length) {
|
|
3267
|
+
const columnValues = [];
|
|
3268
|
+
fields.forEach((aggregationField, fieldIdx) => {
|
|
3269
|
+
if (fieldIdx > 0) {
|
|
3270
|
+
splitDataSources[val].primary.data.fields.push(aggregationField);
|
|
3271
|
+
columnValues.push([columns[fieldIdx][idx]]);
|
|
3272
|
+
}
|
|
3273
|
+
});
|
|
3274
|
+
splitDataSources[val].primary.data.columns = columnValues;
|
|
3275
|
+
}
|
|
3276
|
+
});
|
|
3277
|
+
return splitDataSources;
|
|
3278
|
+
};
|
|
3279
|
+
var splitColumnWise = (dataSource, columns, fields, otherSplitBy, dataSourceKeys) => {
|
|
3280
|
+
const splitDataSources = {};
|
|
3281
|
+
const valueKeys = [];
|
|
3282
|
+
for (let i = 1; i < fields.length; i += 1) {
|
|
3283
|
+
valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);
|
|
3284
|
+
}
|
|
3285
|
+
valueKeys.forEach((val) => {
|
|
3286
|
+
splitDataSources[val] = (0, lodash_exports.cloneDeep)((0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"]));
|
|
3287
|
+
splitDataSources[val].primary.data.fields = [
|
|
3288
|
+
{ name: otherSplitBy[0] },
|
|
3289
|
+
...dataSourceKeys.map((k) => ({ name: k }))
|
|
3290
|
+
];
|
|
3291
|
+
splitDataSources[val].primary.data.columns = [[...columns[0]]];
|
|
3292
|
+
dataSourceKeys.forEach((dsKey) => {
|
|
3293
|
+
fields.forEach((field, idx) => {
|
|
3294
|
+
if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {
|
|
3295
|
+
splitDataSources[val].primary.data.columns.push([...columns[idx]]);
|
|
3296
|
+
}
|
|
3297
|
+
});
|
|
3298
|
+
});
|
|
3299
|
+
});
|
|
3300
|
+
return splitDataSources;
|
|
3301
|
+
};
|
|
3231
3302
|
var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
|
|
3232
3303
|
var _a, _b, _c, _d;
|
|
3233
3304
|
const fields = toFieldEntries((_b = (_a = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _a.data) == null ? void 0 : _b.fields);
|
|
@@ -3238,8 +3309,7 @@ var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
|
|
|
3238
3309
|
if (fields.length > 0) {
|
|
3239
3310
|
splitByFields = (0, trellisUtils_exports.extractSplitByFieldsChartFields)(fields);
|
|
3240
3311
|
}
|
|
3241
|
-
if (splitByFields
|
|
3242
|
-
splitDataSources = {};
|
|
3312
|
+
if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
|
|
3243
3313
|
const splitByFieldIdx = splitByFields.findIndex((f) => f === splitBy);
|
|
3244
3314
|
const otherSplitBy = splitByFields.filter((f) => f !== splitBy);
|
|
3245
3315
|
const dataSourceKeys = (0, trellisUtils_exports.extractDataSourceAggregationKeysChart)(fields);
|
|
@@ -3250,71 +3320,16 @@ var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
|
|
|
3250
3320
|
}
|
|
3251
3321
|
}
|
|
3252
3322
|
if (splitByFieldIdx === 0) {
|
|
3253
|
-
|
|
3254
|
-
|
|
3255
|
-
|
|
3256
|
-
|
|
3257
|
-
|
|
3258
|
-
|
|
3259
|
-
|
|
3260
|
-
|
|
3261
|
-
}
|
|
3262
|
-
if (dataSourceKeys.length) {
|
|
3263
|
-
const columnValues = [[]];
|
|
3264
|
-
splitDataSources[val].primary.data.fields = [
|
|
3265
|
-
...splitDataSources[val].primary.data.fields,
|
|
3266
|
-
...dataSourceKeys.map((k) => ({
|
|
3267
|
-
name: k
|
|
3268
|
-
}))
|
|
3269
|
-
];
|
|
3270
|
-
dataSourceKeys.forEach(() => {
|
|
3271
|
-
columnValues.push([]);
|
|
3272
|
-
});
|
|
3273
|
-
for (let i = 1; i <= Math.ceil((fields.length - 1) / dataSourceKeys.length); i += 1) {
|
|
3274
|
-
columnValues[0].push(
|
|
3275
|
-
fields[i].splitby_value ? fields[i].splitby_value : fields[i].name
|
|
3276
|
-
);
|
|
3277
|
-
dataSourceKeys.forEach((dskey, dsIndx) => {
|
|
3278
|
-
const mul = (fields.length - 1) / dataSourceKeys.length;
|
|
3279
|
-
columnValues[dsIndx + 1].push(columns[i + dsIndx * mul][idx]);
|
|
3280
|
-
});
|
|
3281
|
-
}
|
|
3282
|
-
splitDataSources[val].primary.data.columns = columnValues;
|
|
3283
|
-
} else if (nonDataSourceAggregations.length) {
|
|
3284
|
-
const columnValues = [];
|
|
3285
|
-
fields.forEach((aggregationField, fieldIdx) => {
|
|
3286
|
-
if (fieldIdx > 0) {
|
|
3287
|
-
splitDataSources[val].primary.data.fields.push(aggregationField);
|
|
3288
|
-
columnValues.push([columns[fieldIdx][idx]]);
|
|
3289
|
-
}
|
|
3290
|
-
});
|
|
3291
|
-
splitDataSources[val].primary.data.columns = columnValues;
|
|
3292
|
-
}
|
|
3293
|
-
});
|
|
3323
|
+
splitDataSources = splitRowWise(
|
|
3324
|
+
dataSource,
|
|
3325
|
+
columns,
|
|
3326
|
+
fields,
|
|
3327
|
+
otherSplitBy,
|
|
3328
|
+
dataSourceKeys,
|
|
3329
|
+
nonDataSourceAggregations
|
|
3330
|
+
);
|
|
3294
3331
|
} else {
|
|
3295
|
-
|
|
3296
|
-
for (let i = 1; i < fields.length; i += 1) {
|
|
3297
|
-
valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);
|
|
3298
|
-
}
|
|
3299
|
-
valueKeys.forEach((val) => {
|
|
3300
|
-
splitDataSources[val] = (0, lodash_exports.cloneDeep)(
|
|
3301
|
-
(0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"])
|
|
3302
|
-
);
|
|
3303
|
-
splitDataSources[val].primary.data.fields = [
|
|
3304
|
-
{ name: otherSplitBy[0] },
|
|
3305
|
-
...dataSourceKeys.map((k) => ({
|
|
3306
|
-
name: k
|
|
3307
|
-
}))
|
|
3308
|
-
];
|
|
3309
|
-
splitDataSources[val].primary.data.columns = [[...columns[0]]];
|
|
3310
|
-
dataSourceKeys.forEach((dsKey) => {
|
|
3311
|
-
fields.forEach((field, idx) => {
|
|
3312
|
-
if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {
|
|
3313
|
-
splitDataSources[val].primary.data.columns.push([...columns[idx]]);
|
|
3314
|
-
}
|
|
3315
|
-
});
|
|
3316
|
-
});
|
|
3317
|
-
});
|
|
3332
|
+
splitDataSources = splitColumnWise(dataSource, columns, fields, otherSplitBy, dataSourceKeys);
|
|
3318
3333
|
}
|
|
3319
3334
|
} else {
|
|
3320
3335
|
errorCode = "INVALID_SPLIT_BY_FIELD";
|
|
@@ -3332,7 +3347,7 @@ var dataSourcesSplitByModeStatsorUnknown = (dataSource, splitBy, splitMode) => {
|
|
|
3332
3347
|
splitByFields = splitMode !== trellisUtils_exports.UNKNOWN ? (0, trellisUtils_exports.extractSplitByFieldsForStats)(fields) : (0, trellisUtils_exports.extractSplitByFieldsForUnknown)(fields);
|
|
3333
3348
|
}
|
|
3334
3349
|
const splitByIndex = fields.findIndex((field) => field.name === splitBy);
|
|
3335
|
-
if (splitByFields
|
|
3350
|
+
if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
|
|
3336
3351
|
const splitByColumn = (_f = (_e = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _e.data) == null ? void 0 : _f.columns[splitByIndex];
|
|
3337
3352
|
splitDataSources = {};
|
|
3338
3353
|
splitByColumn.forEach((val, idx) => {
|
|
@@ -3439,6 +3454,15 @@ var defaultImport35 = __toESM(require("@splunk/react-icons/Triangle"));
|
|
|
3439
3454
|
__reExport(Triangle_exports, require("@splunk/react-icons/Triangle"));
|
|
3440
3455
|
var Triangle_default = "default" in defaultImport35 ? defaultImport35.default : defaultImport35;
|
|
3441
3456
|
|
|
3457
|
+
// esm-externals:@splunk/visualizations-shared/simpleXMLOptions
|
|
3458
|
+
var simpleXMLOptions_exports = {};
|
|
3459
|
+
__export(simpleXMLOptions_exports, {
|
|
3460
|
+
default: () => simpleXMLOptions_default
|
|
3461
|
+
});
|
|
3462
|
+
var defaultImport36 = __toESM(require("@splunk/visualizations-shared/simpleXMLOptions"));
|
|
3463
|
+
__reExport(simpleXMLOptions_exports, require("@splunk/visualizations-shared/simpleXMLOptions"));
|
|
3464
|
+
var simpleXMLOptions_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
|
|
3465
|
+
|
|
3442
3466
|
// src/common/chartingUtils.ts
|
|
3443
3467
|
var DEFAULT_LINE_WIDTH = 2;
|
|
3444
3468
|
var getAnnotationsForCanvas = ({
|
|
@@ -3476,9 +3500,9 @@ var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
|
|
|
3476
3500
|
const xAxisIsTime = xField === "_time";
|
|
3477
3501
|
return !!rangeSelectEventHandler && xAxisIsTime;
|
|
3478
3502
|
};
|
|
3479
|
-
var canvasSupportedTimeSeriesCharts = ["splunk.line"];
|
|
3503
|
+
var canvasSupportedTimeSeriesCharts = ["splunk.line", "splunk.area"];
|
|
3480
3504
|
var isTimeSeriesCanvasRenderSupported = (vizConfigKey) => {
|
|
3481
|
-
return canvasSupportedTimeSeriesCharts.
|
|
3505
|
+
return canvasSupportedTimeSeriesCharts.includes(vizConfigKey);
|
|
3482
3506
|
};
|
|
3483
3507
|
var filterChartDataFromInternalFields = (chartData) => {
|
|
3484
3508
|
const { fields, columns } = chartData;
|
|
@@ -3633,46 +3657,66 @@ var getY2ScaleConfig = (label, axisAbbreviation, axisScale, roundAxisLabelsToInt
|
|
|
3633
3657
|
}
|
|
3634
3658
|
return y2Config;
|
|
3635
3659
|
};
|
|
3636
|
-
var
|
|
3660
|
+
var getSeriesType = (isOverlay, isAreaChart, isStacked) => {
|
|
3661
|
+
if (isOverlay) return "line";
|
|
3662
|
+
if (!isAreaChart) return void 0;
|
|
3663
|
+
return isStacked ? "stacked-area" : "area";
|
|
3664
|
+
};
|
|
3665
|
+
var getY2Scale = (field, y2fields, overlayFields) => {
|
|
3666
|
+
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));
|
|
3667
|
+
return assignToY2 ? "y2" : "y";
|
|
3668
|
+
};
|
|
3669
|
+
var getSeriesOverrides = (opts) => {
|
|
3670
|
+
var _a;
|
|
3671
|
+
const {
|
|
3672
|
+
yfields,
|
|
3673
|
+
y2fields,
|
|
3674
|
+
lineWidth,
|
|
3675
|
+
overlayFields,
|
|
3676
|
+
y2Enabled,
|
|
3677
|
+
nullValueMode,
|
|
3678
|
+
markerDisplay,
|
|
3679
|
+
lineDashStyle,
|
|
3680
|
+
lineDashStylesByField,
|
|
3681
|
+
stepPosition,
|
|
3682
|
+
stepPositionsByField,
|
|
3683
|
+
type,
|
|
3684
|
+
stackMode,
|
|
3685
|
+
showLines
|
|
3686
|
+
} = opts;
|
|
3637
3687
|
const seriesConfig = {};
|
|
3638
3688
|
let spanGaps;
|
|
3639
|
-
let replaceNullsWithZero;
|
|
3640
3689
|
if (nullValueMode === "gaps") {
|
|
3641
3690
|
spanGaps = false;
|
|
3642
|
-
} else if (nullValueMode
|
|
3691
|
+
} else if (nullValueMode != null) {
|
|
3643
3692
|
spanGaps = true;
|
|
3644
|
-
|
|
3645
|
-
|
|
3646
|
-
|
|
3647
|
-
|
|
3648
|
-
|
|
3693
|
+
} else {
|
|
3694
|
+
spanGaps = void 0;
|
|
3695
|
+
}
|
|
3696
|
+
const replaceNullsWithZero = nullValueMode === "zero" ? true : void 0;
|
|
3697
|
+
const isAreaChart = type === "area";
|
|
3698
|
+
const isStacked = isAreaChart && (stackMode === "stacked" || stackMode === "stacked100");
|
|
3699
|
+
const areaFields = isAreaChart ? yfields.filter((f) => !(overlayFields == null ? void 0 : overlayFields.includes(f))) : yfields;
|
|
3700
|
+
const overlayFieldsInOrder = (_a = overlayFields == null ? void 0 : overlayFields.filter((f) => yfields.includes(f))) != null ? _a : [];
|
|
3701
|
+
const orderedFields = isAreaChart ? [...areaFields, ...overlayFieldsInOrder] : yfields;
|
|
3702
|
+
orderedFields.forEach((field) => {
|
|
3703
|
+
var _a2;
|
|
3704
|
+
const isOverlay = (_a2 = overlayFields == null ? void 0 : overlayFields.includes(field)) != null ? _a2 : false;
|
|
3705
|
+
const isPercent = isAreaChart && stackMode === "stacked100" && !isOverlay;
|
|
3706
|
+
const shouldHideAreaOutline = isAreaChart && showLines === false && !isOverlay;
|
|
3649
3707
|
seriesConfig[field] = {
|
|
3650
|
-
overrides: {
|
|
3708
|
+
overrides: __spreadValues({
|
|
3709
|
+
width: shouldHideAreaOutline ? 0 : lineWidth != null ? lineWidth : DEFAULT_LINE_WIDTH
|
|
3710
|
+
}, isPercent ? { stacking: { mode: "percent", group: "A" } } : {})
|
|
3651
3711
|
};
|
|
3652
|
-
|
|
3653
|
-
|
|
3654
|
-
|
|
3655
|
-
if (y2Enabled)
|
|
3656
|
-
|
|
3657
|
-
|
|
3658
|
-
|
|
3659
|
-
|
|
3660
|
-
);
|
|
3661
|
-
if (shouldAssignToY2) {
|
|
3662
|
-
seriesConfig[field].overrides.scale = "y2";
|
|
3663
|
-
} else {
|
|
3664
|
-
seriesConfig[field].overrides.scale = "y";
|
|
3665
|
-
}
|
|
3666
|
-
}
|
|
3667
|
-
if (overlayFields == null ? void 0 : overlayFields.includes(field)) {
|
|
3668
|
-
seriesConfig[field].type = "line";
|
|
3669
|
-
}
|
|
3670
|
-
if (markerDisplay !== void 0) {
|
|
3671
|
-
seriesConfig[field].markerDisplay = markerDisplay;
|
|
3672
|
-
}
|
|
3673
|
-
const fieldDashStyle = (lineDashStylesByField == null ? void 0 : lineDashStylesByField[field]) || lineDashStyle;
|
|
3674
|
-
if (fieldDashStyle) {
|
|
3675
|
-
seriesConfig[field].lineDashStyle = fieldDashStyle;
|
|
3712
|
+
const seriesType = getSeriesType(isOverlay, isAreaChart, isStacked);
|
|
3713
|
+
if (seriesType !== void 0) seriesConfig[field].type = seriesType;
|
|
3714
|
+
if (spanGaps !== void 0) seriesConfig[field].overrides.spanGaps = spanGaps;
|
|
3715
|
+
if (y2Enabled) seriesConfig[field].overrides.scale = getY2Scale(field, y2fields, overlayFields);
|
|
3716
|
+
if (markerDisplay !== void 0) seriesConfig[field].markerDisplay = markerDisplay;
|
|
3717
|
+
if (!isAreaChart || isOverlay) {
|
|
3718
|
+
const fieldDashStyle = (lineDashStylesByField == null ? void 0 : lineDashStylesByField[field]) || lineDashStyle;
|
|
3719
|
+
if (fieldDashStyle) seriesConfig[field].lineDashStyle = fieldDashStyle;
|
|
3676
3720
|
}
|
|
3677
3721
|
const hasFieldStepPosition = Object.hasOwn(stepPositionsByField || {}, field);
|
|
3678
3722
|
const fieldStepPosition = hasFieldStepPosition ? stepPositionsByField == null ? void 0 : stepPositionsByField[field] : stepPosition;
|
|
@@ -3838,6 +3882,38 @@ var parseArrayOption = (value) => {
|
|
|
3838
3882
|
}
|
|
3839
3883
|
return void 0;
|
|
3840
3884
|
};
|
|
3885
|
+
var getAreaOpacityForCanvas = (areaOpacity) => (
|
|
3886
|
+
// Preserve legacy visualizations behavior where area opacity is squared to match charting output.
|
|
3887
|
+
areaOpacity !== void 0 && areaOpacity !== null ? __pow(areaOpacity, 2) : areaOpacity
|
|
3888
|
+
);
|
|
3889
|
+
var parseTickIntervalOption = (simpleXMLValue, canvasValue) => {
|
|
3890
|
+
if (simpleXMLValue) return Number(simpleXMLValue);
|
|
3891
|
+
if (canvasValue) return Number(canvasValue);
|
|
3892
|
+
return void 0;
|
|
3893
|
+
};
|
|
3894
|
+
var getYAxisTitles = ({
|
|
3895
|
+
y2Enabled,
|
|
3896
|
+
yFields,
|
|
3897
|
+
y2Fields,
|
|
3898
|
+
overlayFields,
|
|
3899
|
+
yAxisTitleText,
|
|
3900
|
+
yAxisTitleVisibility,
|
|
3901
|
+
y2AxisTitleText,
|
|
3902
|
+
y2AxisTitleVisibility,
|
|
3903
|
+
containerHeight
|
|
3904
|
+
}) => {
|
|
3905
|
+
const yFieldsForTitle = y2Enabled ? yFields.filter((field) => !y2Fields.includes(field)) : yFields;
|
|
3906
|
+
const fieldsForY2Axis = y2Fields.length > 0 ? y2Fields : overlayFields;
|
|
3907
|
+
const yAxisTitle = ellipsisAxisTitle(
|
|
3908
|
+
getComputedAxisTitles(yAxisTitleText, yFieldsForTitle, yAxisTitleVisibility),
|
|
3909
|
+
containerHeight
|
|
3910
|
+
);
|
|
3911
|
+
const y2AxisTitle = ellipsisAxisTitle(
|
|
3912
|
+
getComputedAxisTitles(y2AxisTitleText, fieldsForY2Axis, y2AxisTitleVisibility),
|
|
3913
|
+
containerHeight
|
|
3914
|
+
);
|
|
3915
|
+
return { yAxisTitle, y2AxisTitle };
|
|
3916
|
+
};
|
|
3841
3917
|
var TimeSeriesChartWrapper = (props) => {
|
|
3842
3918
|
var _b, _c, _d;
|
|
3843
3919
|
const _a = props, {
|
|
@@ -3927,6 +4003,8 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
3927
4003
|
"chart.overlayFields": overlayFieldsStr,
|
|
3928
4004
|
"chart.nullValueMode": nullValueMode,
|
|
3929
4005
|
"chart.showDataLabels": showDataLabels,
|
|
4006
|
+
"chart.showLines": showLines,
|
|
4007
|
+
"chart.stackMode": stackMode,
|
|
3930
4008
|
lineWidth,
|
|
3931
4009
|
lineDashStyle,
|
|
3932
4010
|
fieldDashStyles: lineDashStylesByFieldStr,
|
|
@@ -3955,7 +4033,10 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
3955
4033
|
yAxisMinorTickSize,
|
|
3956
4034
|
y2AxisMinorTickSize,
|
|
3957
4035
|
showYAxisWithZero: showYAxisWithZeroFromOptions,
|
|
3958
|
-
showY2AxisWithZero: showY2AxisWithZeroFromOptions
|
|
4036
|
+
showY2AxisWithZero: showY2AxisWithZeroFromOptions,
|
|
4037
|
+
// area only props
|
|
4038
|
+
areaFillOpacity: areaOpacity,
|
|
4039
|
+
chart: chartType
|
|
3959
4040
|
} = options;
|
|
3960
4041
|
const dataValuesDisplay = showDataLabels === "none" ? "off" : showDataLabels;
|
|
3961
4042
|
const showYAxisWithZero = showYAxisWithZeroFromProps != null ? showYAxisWithZeroFromProps : showYAxisWithZeroFromOptions;
|
|
@@ -3972,13 +4053,11 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
3972
4053
|
const yAxisMax = parseAxisValue(yAxisMaxRaw);
|
|
3973
4054
|
const y2AxisMin = parseAxisValue(y2AxisMinRaw);
|
|
3974
4055
|
const y2AxisMax = parseAxisValue(y2AxisMaxRaw);
|
|
3975
|
-
const
|
|
3976
|
-
|
|
3977
|
-
|
|
3978
|
-
|
|
3979
|
-
|
|
3980
|
-
const yAxisMajorTickIntervalNum = parseTickInterval(yAxisMajorUnitFromSimpleXML, yAxisMajorTickInterval);
|
|
3981
|
-
const y2AxisMajorTickIntervalNum = parseTickInterval(
|
|
4056
|
+
const yAxisMajorTickIntervalNum = parseTickIntervalOption(
|
|
4057
|
+
yAxisMajorUnitFromSimpleXML,
|
|
4058
|
+
yAxisMajorTickInterval
|
|
4059
|
+
);
|
|
4060
|
+
const y2AxisMajorTickIntervalNum = parseTickIntervalOption(
|
|
3982
4061
|
y2AxisMajorUnitFromSimpleXML,
|
|
3983
4062
|
y2AxisMajorTickInterval
|
|
3984
4063
|
);
|
|
@@ -3987,6 +4066,7 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
3987
4066
|
const y2AxisMajorTickSizeNum = y2AxisMajorTickSize != null ? Number(y2AxisMajorTickSize) : void 0;
|
|
3988
4067
|
const yAxisMinorTickSizeNum = yAxisMinorTickSize != null ? Number(yAxisMinorTickSize) : void 0;
|
|
3989
4068
|
const y2AxisMinorTickSizeNum = y2AxisMinorTickSize != null ? Number(y2AxisMinorTickSize) : void 0;
|
|
4069
|
+
const areaOpacityForCanvas = getAreaOpacityForCanvas(areaOpacity);
|
|
3990
4070
|
const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
|
|
3991
4071
|
const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
|
|
3992
4072
|
const lineDashStylesByField = lineDashStylesByFieldStr ? JSON.parse(lineDashStylesByFieldStr) : void 0;
|
|
@@ -4017,26 +4097,40 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4017
4097
|
);
|
|
4018
4098
|
let xAxisTitle = getComputedAxisTitles(xAxisTitleText, [xField], xAxisTitleVisibility);
|
|
4019
4099
|
xAxisTitle = ellipsisAxisTitle(xAxisTitle, containerWidth);
|
|
4020
|
-
const
|
|
4021
|
-
|
|
4022
|
-
|
|
4023
|
-
|
|
4024
|
-
|
|
4025
|
-
|
|
4100
|
+
const { yAxisTitle, y2AxisTitle } = getYAxisTitles({
|
|
4101
|
+
y2Enabled,
|
|
4102
|
+
yFields,
|
|
4103
|
+
y2Fields,
|
|
4104
|
+
overlayFields,
|
|
4105
|
+
yAxisTitleText,
|
|
4106
|
+
yAxisTitleVisibility,
|
|
4107
|
+
y2AxisTitleText,
|
|
4108
|
+
y2AxisTitleVisibility,
|
|
4109
|
+
containerHeight
|
|
4110
|
+
});
|
|
4026
4111
|
const xScaleConfig = (0, react_exports.useMemo)(
|
|
4027
4112
|
() => getXScaleConfig(xAxisTitle, xAxisLabelVisibility, xAxisLabelRotation),
|
|
4028
4113
|
[xAxisTitle, xAxisLabelVisibility, xAxisLabelRotation]
|
|
4029
4114
|
);
|
|
4115
|
+
const isStacked100 = stackMode === "stacked100";
|
|
4030
4116
|
const yScaleConfig = (0, react_exports.useMemo)(
|
|
4031
|
-
() =>
|
|
4032
|
-
|
|
4033
|
-
|
|
4034
|
-
|
|
4035
|
-
|
|
4036
|
-
|
|
4037
|
-
|
|
4038
|
-
|
|
4039
|
-
|
|
4117
|
+
() => {
|
|
4118
|
+
const config3 = getYScaleConfig(
|
|
4119
|
+
yAxisTitle,
|
|
4120
|
+
yAxisAbbreviation,
|
|
4121
|
+
yAxisScale,
|
|
4122
|
+
yAxisLabelVisibility,
|
|
4123
|
+
yAxisMin,
|
|
4124
|
+
yAxisMax
|
|
4125
|
+
);
|
|
4126
|
+
if (isStacked100) {
|
|
4127
|
+
config3.y.tickFmt = (v) => `${Math.round(v * 100)}%`;
|
|
4128
|
+
config3.y.range = () => [0, 1];
|
|
4129
|
+
}
|
|
4130
|
+
return config3;
|
|
4131
|
+
},
|
|
4132
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
4133
|
+
[yAxisTitle, yAxisAbbreviation, yAxisScale, yAxisLabelVisibility, yAxisMin, yAxisMax, isStacked100]
|
|
4040
4134
|
);
|
|
4041
4135
|
const y2ScaleConfig = (0, react_exports.useMemo)(() => {
|
|
4042
4136
|
if (y2Enabled) {
|
|
@@ -4068,10 +4162,11 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4068
4162
|
];
|
|
4069
4163
|
chartData.fields = filteredChartData.fields;
|
|
4070
4164
|
chartData.columns = seriesDataFormatted;
|
|
4165
|
+
const normalizedStackMode = stackMode === "stacked" || stackMode === "stacked100" ? stackMode : "auto";
|
|
4071
4166
|
const seriesOverrides = (0, react_exports.useMemo)(
|
|
4072
|
-
() => getSeriesOverrides(
|
|
4073
|
-
yFields,
|
|
4074
|
-
y2Fields,
|
|
4167
|
+
() => getSeriesOverrides({
|
|
4168
|
+
yfields: yFields,
|
|
4169
|
+
y2fields: y2Fields,
|
|
4075
4170
|
lineWidth,
|
|
4076
4171
|
overlayFields,
|
|
4077
4172
|
y2Enabled,
|
|
@@ -4080,8 +4175,11 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4080
4175
|
lineDashStyle,
|
|
4081
4176
|
lineDashStylesByField,
|
|
4082
4177
|
stepPosition,
|
|
4083
|
-
stepPositionsByField
|
|
4084
|
-
|
|
4178
|
+
stepPositionsByField,
|
|
4179
|
+
type: chartType,
|
|
4180
|
+
stackMode: normalizedStackMode,
|
|
4181
|
+
showLines
|
|
4182
|
+
}),
|
|
4085
4183
|
[
|
|
4086
4184
|
yFields,
|
|
4087
4185
|
y2Fields,
|
|
@@ -4093,7 +4191,10 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4093
4191
|
lineDashStyle,
|
|
4094
4192
|
lineDashStylesByField,
|
|
4095
4193
|
stepPosition,
|
|
4096
|
-
stepPositionsByField
|
|
4194
|
+
stepPositionsByField,
|
|
4195
|
+
chartType,
|
|
4196
|
+
normalizedStackMode,
|
|
4197
|
+
showLines
|
|
4097
4198
|
]
|
|
4098
4199
|
);
|
|
4099
4200
|
const chartingEventAnnotations = (0, react_exports.useMemo)(
|
|
@@ -4161,50 +4262,54 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4161
4262
|
react_exports.useEffect(() => {
|
|
4162
4263
|
additionalTooltipValuesRef.current = additionalTooltipValues;
|
|
4163
4264
|
}, [additionalTooltipValues]);
|
|
4265
|
+
const handleCrosshairMouseout = react_exports.useCallback(() => {
|
|
4266
|
+
if (onPointMouseOut && lastPayloadRef.current) {
|
|
4267
|
+
onPointMouseOut({
|
|
4268
|
+
type: "point.mouseout",
|
|
4269
|
+
originalEvent: lastOriginalEventRef.current,
|
|
4270
|
+
payload: lastPayloadRef.current
|
|
4271
|
+
});
|
|
4272
|
+
}
|
|
4273
|
+
previousMouseoverPayloadRef.current = null;
|
|
4274
|
+
}, [onPointMouseOut]);
|
|
4164
4275
|
const handleChartCrosshairChange = react_exports.useCallback(
|
|
4165
4276
|
(event) => {
|
|
4166
|
-
if (onPointMouseOver
|
|
4167
|
-
|
|
4168
|
-
|
|
4169
|
-
|
|
4170
|
-
|
|
4171
|
-
|
|
4172
|
-
|
|
4173
|
-
|
|
4174
|
-
|
|
4175
|
-
|
|
4176
|
-
|
|
4177
|
-
|
|
4178
|
-
|
|
4179
|
-
|
|
4277
|
+
if (!onPointMouseOver && !onPointMouseOut) {
|
|
4278
|
+
return;
|
|
4279
|
+
}
|
|
4280
|
+
if (!event) {
|
|
4281
|
+
handleCrosshairMouseout();
|
|
4282
|
+
return;
|
|
4283
|
+
}
|
|
4284
|
+
const payload = __spreadProps(__spreadValues({}, (0, lodash_exports.pick)(event, "value", "seriesKey", "time", "index", "seriesIndex")), {
|
|
4285
|
+
name: event.seriesKey
|
|
4286
|
+
});
|
|
4287
|
+
delete payload.seriesKey;
|
|
4288
|
+
if (event.rowContext) {
|
|
4289
|
+
Object.assign(
|
|
4290
|
+
payload,
|
|
4291
|
+
Object.keys(event.rowContext).reduce((acc, fieldName) => {
|
|
4292
|
+
acc[`row.${fieldName}.value`] = event.rowContext[fieldName];
|
|
4293
|
+
return acc;
|
|
4294
|
+
}, {})
|
|
4295
|
+
);
|
|
4296
|
+
}
|
|
4297
|
+
const updatedPayload = appendTrellisToPayload(payload, trellisKey, trellisSplitBy);
|
|
4298
|
+
if (!hasMouseoverPayloadChanged(updatedPayload, previousMouseoverPayloadRef.current)) {
|
|
4299
|
+
return;
|
|
4300
|
+
}
|
|
4301
|
+
lastPayloadRef.current = updatedPayload;
|
|
4302
|
+
lastOriginalEventRef.current = event;
|
|
4303
|
+
previousMouseoverPayloadRef.current = __spreadValues({}, updatedPayload);
|
|
4304
|
+
if (onPointMouseOver) {
|
|
4305
|
+
onPointMouseOver({
|
|
4306
|
+
type: "point.mouseover",
|
|
4307
|
+
originalEvent: event,
|
|
4308
|
+
payload: updatedPayload
|
|
4180
4309
|
});
|
|
4181
|
-
delete payload.seriesKey;
|
|
4182
|
-
if (event.rowContext) {
|
|
4183
|
-
Object.assign(
|
|
4184
|
-
payload,
|
|
4185
|
-
Object.keys(event.rowContext).reduce((acc, fieldName) => {
|
|
4186
|
-
acc[`row.${fieldName}.value`] = event.rowContext[fieldName];
|
|
4187
|
-
return acc;
|
|
4188
|
-
}, {})
|
|
4189
|
-
);
|
|
4190
|
-
}
|
|
4191
|
-
const updatedPayload = appendTrellisToPayload(payload, trellisKey, trellisSplitBy);
|
|
4192
|
-
if (!hasMouseoverPayloadChanged(updatedPayload, previousMouseoverPayloadRef.current)) {
|
|
4193
|
-
return;
|
|
4194
|
-
}
|
|
4195
|
-
lastPayloadRef.current = updatedPayload;
|
|
4196
|
-
lastOriginalEventRef.current = event;
|
|
4197
|
-
previousMouseoverPayloadRef.current = __spreadValues({}, updatedPayload);
|
|
4198
|
-
if (onPointMouseOver) {
|
|
4199
|
-
onPointMouseOver({
|
|
4200
|
-
type: "point.mouseover",
|
|
4201
|
-
originalEvent: event,
|
|
4202
|
-
payload: updatedPayload
|
|
4203
|
-
});
|
|
4204
|
-
}
|
|
4205
4310
|
}
|
|
4206
4311
|
},
|
|
4207
|
-
[onPointMouseOver, onPointMouseOut, trellisKey, trellisSplitBy]
|
|
4312
|
+
[onPointMouseOver, onPointMouseOut, trellisKey, trellisSplitBy, handleCrosshairMouseout]
|
|
4208
4313
|
);
|
|
4209
4314
|
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}`;
|
|
4210
4315
|
const memoizedChart = (0, react_exports.useMemo)(() => {
|
|
@@ -4259,7 +4364,8 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4259
4364
|
showXAxisLine,
|
|
4260
4365
|
showYAxisLine,
|
|
4261
4366
|
showY2AxisLine,
|
|
4262
|
-
xAxisMaxLabelParts
|
|
4367
|
+
xAxisMaxLabelParts,
|
|
4368
|
+
areaOpacity: areaOpacityForCanvas
|
|
4263
4369
|
}
|
|
4264
4370
|
));
|
|
4265
4371
|
}, [
|
|
@@ -4311,7 +4417,8 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4311
4417
|
showYAxisLine,
|
|
4312
4418
|
showY2AxisLine,
|
|
4313
4419
|
legendMode,
|
|
4314
|
-
xAxisMaxLabelParts
|
|
4420
|
+
xAxisMaxLabelParts,
|
|
4421
|
+
areaOpacityForCanvas
|
|
4315
4422
|
]);
|
|
4316
4423
|
const memoizedVisualization = (0, react_exports.useMemo)(() => {
|
|
4317
4424
|
return /* @__PURE__ */ react_exports.createElement(VizStyleWrapper_default, { backgroundColor: bgColor }, memoizedChart);
|
|
@@ -4339,6 +4446,37 @@ var TimeSeriesChartWrapper_default = TimeSeriesChartWrapper;
|
|
|
4339
4446
|
|
|
4340
4447
|
// src/common/withDashboardViz.tsx
|
|
4341
4448
|
var SanitizedTimeSeriesChartWrapper = (0, SanitizeProps_exports.withSanitizedProps)(TimeSeriesChartWrapper_default);
|
|
4449
|
+
var buildEventCallbackProps = (supportedEvents, evaluatedOptionsToUse, onEventTrigger) => {
|
|
4450
|
+
const result = {};
|
|
4451
|
+
Object.keys(supportedEvents).forEach((eventName) => {
|
|
4452
|
+
const { parentKeys, payloadKeys } = supportedEvents[eventName];
|
|
4453
|
+
const eventCallbackPropName = (0, lodash_exports.camelCase)(`on.${eventName}`);
|
|
4454
|
+
let payload = {};
|
|
4455
|
+
if (Array.isArray(payloadKeys) && payloadKeys.length) {
|
|
4456
|
+
payloadKeys.forEach((p) => {
|
|
4457
|
+
payload[p] = evaluatedOptionsToUse[p];
|
|
4458
|
+
});
|
|
4459
|
+
}
|
|
4460
|
+
result[eventCallbackPropName] = (ev) => {
|
|
4461
|
+
if (ev == null ? void 0 : ev.payload) {
|
|
4462
|
+
payload = __spreadValues({}, ev.payload);
|
|
4463
|
+
}
|
|
4464
|
+
return onEventTrigger({
|
|
4465
|
+
originalEvent: ev,
|
|
4466
|
+
payload,
|
|
4467
|
+
type: eventName
|
|
4468
|
+
});
|
|
4469
|
+
};
|
|
4470
|
+
if (parentKeys) {
|
|
4471
|
+
for (let i = parentKeys.length - 1; i >= 0; i -= 1) {
|
|
4472
|
+
const newObject = {};
|
|
4473
|
+
newObject[parentKeys[i]] = result[eventCallbackPropName];
|
|
4474
|
+
result[eventCallbackPropName] = newObject;
|
|
4475
|
+
}
|
|
4476
|
+
}
|
|
4477
|
+
});
|
|
4478
|
+
return result;
|
|
4479
|
+
};
|
|
4342
4480
|
var withDashboardViz = (opts) => {
|
|
4343
4481
|
const {
|
|
4344
4482
|
ReactViz,
|
|
@@ -4396,9 +4534,7 @@ var withDashboardViz = (opts) => {
|
|
|
4396
4534
|
const isDownsamplingEnabledByFeatureFlag = Boolean(
|
|
4397
4535
|
featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableDownsampling
|
|
4398
4536
|
);
|
|
4399
|
-
const isTrellisFeatureFlagOn2 = Boolean(
|
|
4400
|
-
featureFlagContext && featureFlagContext.visualizations_enableTrellis
|
|
4401
|
-
);
|
|
4537
|
+
const isTrellisFeatureFlagOn2 = Boolean(featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableTrellis);
|
|
4402
4538
|
const isTrellisOn = isTrellisFeatureFlagOn2 && ((_a = vizConfig == null ? void 0 : vizConfig.supports) == null ? void 0 : _a.includes("trellis" /* TRELLIS */)) && (options == null ? void 0 : options.splitByLayout) === "trellis" /* TRELLIS */;
|
|
4403
4539
|
const isAcceleratedRenderFeatureFlagOn = Boolean(
|
|
4404
4540
|
featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableAcceleratedRender
|
|
@@ -4563,38 +4699,12 @@ var withDashboardViz = (opts) => {
|
|
|
4563
4699
|
}
|
|
4564
4700
|
);
|
|
4565
4701
|
}
|
|
4566
|
-
const eventCallbackProps = {};
|
|
4567
|
-
|
|
4568
|
-
|
|
4569
|
-
|
|
4570
|
-
|
|
4571
|
-
|
|
4572
|
-
let payload = {};
|
|
4573
|
-
if (Array.isArray(payloadKeys) && payloadKeys.length) {
|
|
4574
|
-
payloadKeys.forEach((p) => {
|
|
4575
|
-
payload[p] = evaluatedOptionsToUse[p];
|
|
4576
|
-
});
|
|
4577
|
-
}
|
|
4578
|
-
eventCallbackProps[eventCallbackPropName] = (ev) => {
|
|
4579
|
-
if (ev == null ? void 0 : ev.payload) {
|
|
4580
|
-
payload = __spreadValues({}, ev.payload);
|
|
4581
|
-
}
|
|
4582
|
-
return onEventTrigger({
|
|
4583
|
-
originalEvent: ev,
|
|
4584
|
-
payload,
|
|
4585
|
-
type: eventName
|
|
4586
|
-
});
|
|
4587
|
-
};
|
|
4588
|
-
if (parentKeys) {
|
|
4589
|
-
for (let i = parentKeys.length - 1; i >= 0; i -= 1) {
|
|
4590
|
-
const newObject = {};
|
|
4591
|
-
newObject[parentKeys[i]] = eventCallbackProps[eventCallbackPropName];
|
|
4592
|
-
eventCallbackProps[eventCallbackPropName] = newObject;
|
|
4593
|
-
}
|
|
4594
|
-
}
|
|
4595
|
-
});
|
|
4596
|
-
}
|
|
4597
|
-
const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), eventCallbackProps), {
|
|
4702
|
+
const eventCallbackProps = hasEventHandlers && mode === "view" && vizConfig.supports.includes("events" /* EVENTS */) ? buildEventCallbackProps(vizConfig.events, evaluatedOptionsToUse, onEventTrigger) : {};
|
|
4703
|
+
const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), {
|
|
4704
|
+
// Align option transformation with the actual renderer selected below.
|
|
4705
|
+
// This prevents canvas-only option preservation from leaking into Highcharts mode.
|
|
4706
|
+
isAcceleratedRenderOn
|
|
4707
|
+
}), eventCallbackProps), {
|
|
4598
4708
|
themeFunc
|
|
4599
4709
|
}));
|
|
4600
4710
|
if (useAsyncEvaluatedOptions && Object.keys(evaluatedOptionsToUse).length === 0) {
|
|
@@ -4628,45 +4738,45 @@ var PresetPalettes_exports = {};
|
|
|
4628
4738
|
__export(PresetPalettes_exports, {
|
|
4629
4739
|
default: () => PresetPalettes_default
|
|
4630
4740
|
});
|
|
4631
|
-
var
|
|
4741
|
+
var defaultImport37 = __toESM(require("@splunk/visualization-color-palettes/editors/PresetPalettes"));
|
|
4632
4742
|
__reExport(PresetPalettes_exports, require("@splunk/visualization-color-palettes/editors/PresetPalettes"));
|
|
4633
|
-
var PresetPalettes_default = "default" in
|
|
4743
|
+
var PresetPalettes_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
|
|
4634
4744
|
|
|
4635
4745
|
// esm-externals:@splunk/visualization-themes/variables
|
|
4636
4746
|
var variables_exports2 = {};
|
|
4637
4747
|
__export(variables_exports2, {
|
|
4638
4748
|
default: () => variables_default2
|
|
4639
4749
|
});
|
|
4640
|
-
var
|
|
4750
|
+
var defaultImport38 = __toESM(require("@splunk/visualization-themes/variables"));
|
|
4641
4751
|
__reExport(variables_exports2, require("@splunk/visualization-themes/variables"));
|
|
4642
|
-
var variables_default2 = "default" in
|
|
4752
|
+
var variables_default2 = "default" in defaultImport38 ? defaultImport38.default : defaultImport38;
|
|
4643
4753
|
|
|
4644
4754
|
// esm-externals:@splunk/themes/pick
|
|
4645
4755
|
var pick_exports2 = {};
|
|
4646
4756
|
__export(pick_exports2, {
|
|
4647
4757
|
default: () => pick_default2
|
|
4648
4758
|
});
|
|
4649
|
-
var
|
|
4759
|
+
var defaultImport39 = __toESM(require("@splunk/themes/pick"));
|
|
4650
4760
|
__reExport(pick_exports2, require("@splunk/themes/pick"));
|
|
4651
|
-
var pick_default2 = "default" in
|
|
4761
|
+
var pick_default2 = "default" in defaultImport39 ? defaultImport39.default : defaultImport39;
|
|
4652
4762
|
|
|
4653
4763
|
// esm-externals:@splunk/visualization-icons
|
|
4654
4764
|
var visualization_icons_exports = {};
|
|
4655
4765
|
__export(visualization_icons_exports, {
|
|
4656
4766
|
default: () => visualization_icons_default
|
|
4657
4767
|
});
|
|
4658
|
-
var
|
|
4768
|
+
var defaultImport40 = __toESM(require("@splunk/visualization-icons"));
|
|
4659
4769
|
__reExport(visualization_icons_exports, require("@splunk/visualization-icons"));
|
|
4660
|
-
var visualization_icons_default = "default" in
|
|
4770
|
+
var visualization_icons_default = "default" in defaultImport40 ? defaultImport40.default : defaultImport40;
|
|
4661
4771
|
|
|
4662
4772
|
// esm-externals:@splunk/visualization-icons/placeholders
|
|
4663
4773
|
var placeholders_exports = {};
|
|
4664
4774
|
__export(placeholders_exports, {
|
|
4665
4775
|
default: () => placeholders_default
|
|
4666
4776
|
});
|
|
4667
|
-
var
|
|
4777
|
+
var defaultImport41 = __toESM(require("@splunk/visualization-icons/placeholders"));
|
|
4668
4778
|
__reExport(placeholders_exports, require("@splunk/visualization-icons/placeholders"));
|
|
4669
|
-
var placeholders_default = "default" in
|
|
4779
|
+
var placeholders_default = "default" in defaultImport41 ? defaultImport41.default : defaultImport41;
|
|
4670
4780
|
|
|
4671
4781
|
// src/common/configContext/singleValueContext.ts
|
|
4672
4782
|
var defaultContext = {
|
|
@@ -4698,9 +4808,9 @@ var configUtils_exports = {};
|
|
|
4698
4808
|
__export(configUtils_exports, {
|
|
4699
4809
|
default: () => configUtils_default
|
|
4700
4810
|
});
|
|
4701
|
-
var
|
|
4811
|
+
var defaultImport42 = __toESM(require("@splunk/visualizations-shared/configUtils"));
|
|
4702
4812
|
__reExport(configUtils_exports, require("@splunk/visualizations-shared/configUtils"));
|
|
4703
|
-
var configUtils_default = "default" in
|
|
4813
|
+
var configUtils_default = "default" in defaultImport42 ? defaultImport42.default : defaultImport42;
|
|
4704
4814
|
|
|
4705
4815
|
// src/common/editorConfig/DynamicMajorColorEditor.js
|
|
4706
4816
|
var getDynamicMajorColorEditor = ({ defaultContext: defaultContext2, defaultPalettesConfig: defaultPalettesConfig2 }) => ({
|
|
@@ -4912,26 +5022,59 @@ var isTrellisEnabled = ({ options, featureFlags }) => {
|
|
|
4912
5022
|
const { splitByLayout = visualization_schemas_exports.LAYOUT_TYPE.Off } = options;
|
|
4913
5023
|
return isTrellisFeatureFlagOn({ featureFlags }) && splitByLayout === visualization_schemas_exports.LAYOUT_TYPE.Trellis;
|
|
4914
5024
|
};
|
|
4915
|
-
var
|
|
4916
|
-
|
|
4917
|
-
|
|
4918
|
-
|
|
4919
|
-
|
|
4920
|
-
|
|
4921
|
-
|
|
4922
|
-
|
|
4923
|
-
|
|
4924
|
-
|
|
4925
|
-
|
|
4926
|
-
|
|
4927
|
-
|
|
4928
|
-
|
|
4929
|
-
|
|
4930
|
-
|
|
4931
|
-
|
|
4932
|
-
|
|
4933
|
-
|
|
4934
|
-
|
|
5025
|
+
var sortByValuesBase = [
|
|
5026
|
+
{ label: (0, i18n_exports._)("Result"), value: "result" },
|
|
5027
|
+
{ label: (0, i18n_exports._)("Name"), value: "name" }
|
|
5028
|
+
];
|
|
5029
|
+
var sortByValuesWithValue = [...sortByValuesBase, { label: (0, i18n_exports._)("Value"), value: "value" }];
|
|
5030
|
+
var sortByValuesWithValueAndTrend = [
|
|
5031
|
+
...sortByValuesBase,
|
|
5032
|
+
{ label: (0, i18n_exports._)("Value"), value: "value" },
|
|
5033
|
+
{ label: (0, i18n_exports._)("Trend"), value: "trend" }
|
|
5034
|
+
];
|
|
5035
|
+
var makeSortRow = (sortByValues) => [
|
|
5036
|
+
{
|
|
5037
|
+
label: (0, i18n_exports._)("Sort by"),
|
|
5038
|
+
option: "trellisSortBy",
|
|
5039
|
+
editor: "editor.select",
|
|
5040
|
+
editorProps: {
|
|
5041
|
+
values: sortByValues
|
|
5042
|
+
},
|
|
5043
|
+
showEditor: isTrellisEnabled
|
|
5044
|
+
},
|
|
5045
|
+
{
|
|
5046
|
+
label: (0, i18n_exports._)("Sort order"),
|
|
5047
|
+
option: "trellisSortOrder",
|
|
5048
|
+
editor: "editor.select",
|
|
5049
|
+
editorProps: {
|
|
5050
|
+
values: [
|
|
5051
|
+
{ label: (0, i18n_exports._)("Ascending"), value: "ascending" },
|
|
5052
|
+
{ label: (0, i18n_exports._)("Descending"), value: "descending" }
|
|
5053
|
+
]
|
|
5054
|
+
},
|
|
5055
|
+
showEditor: isTrellisEnabled
|
|
5056
|
+
}
|
|
5057
|
+
];
|
|
5058
|
+
var trellisLayoutRow = [
|
|
5059
|
+
{
|
|
5060
|
+
label: (0, i18n_exports._)("Trellis layout"),
|
|
5061
|
+
option: "splitByLayout",
|
|
5062
|
+
editor: "editor.toggle",
|
|
5063
|
+
showEditor: isTrellisFeatureFlagOn
|
|
5064
|
+
}
|
|
5065
|
+
];
|
|
5066
|
+
var trellisSplitByRow = [
|
|
5067
|
+
{
|
|
5068
|
+
label: (0, i18n_exports._)("Split by"),
|
|
5069
|
+
option: "trellisSplitBy",
|
|
5070
|
+
editor: "editor.trellisSplitBy",
|
|
5071
|
+
editorProps: {
|
|
5072
|
+
dataSourceKey: "primary"
|
|
5073
|
+
},
|
|
5074
|
+
showEditor: isTrellisEnabled
|
|
5075
|
+
}
|
|
5076
|
+
];
|
|
5077
|
+
var trellisLayoutRows = [
|
|
4935
5078
|
[
|
|
4936
5079
|
{
|
|
4937
5080
|
label: (0, i18n_exports._)("Number of columns"),
|
|
@@ -4975,6 +5118,24 @@ var TrellisEditorConfig = [
|
|
|
4975
5118
|
}
|
|
4976
5119
|
]
|
|
4977
5120
|
];
|
|
5121
|
+
var TrellisEditorConfig = [
|
|
5122
|
+
trellisLayoutRow,
|
|
5123
|
+
trellisSplitByRow,
|
|
5124
|
+
makeSortRow(sortByValuesBase),
|
|
5125
|
+
...trellisLayoutRows
|
|
5126
|
+
];
|
|
5127
|
+
var GaugeTrellisEditorConfig = [
|
|
5128
|
+
trellisLayoutRow,
|
|
5129
|
+
trellisSplitByRow,
|
|
5130
|
+
makeSortRow(sortByValuesWithValue),
|
|
5131
|
+
...trellisLayoutRows
|
|
5132
|
+
];
|
|
5133
|
+
var SingleValueTrellisEditorConfig = [
|
|
5134
|
+
trellisLayoutRow,
|
|
5135
|
+
trellisSplitByRow,
|
|
5136
|
+
makeSortRow(sortByValuesWithValueAndTrend),
|
|
5137
|
+
...trellisLayoutRows
|
|
5138
|
+
];
|
|
4978
5139
|
var TimechartTrellisEditorConfig = [
|
|
4979
5140
|
[
|
|
4980
5141
|
{
|
|
@@ -4982,7 +5143,6 @@ var TimechartTrellisEditorConfig = [
|
|
|
4982
5143
|
option: "splitByLayout",
|
|
4983
5144
|
editor: "editor.toggle",
|
|
4984
5145
|
showEditor: isTrellisFeatureFlagOn,
|
|
4985
|
-
// add help text for timecharts
|
|
4986
5146
|
editorProps: {
|
|
4987
5147
|
help: (0, i18n_exports._)(
|
|
4988
5148
|
"Y2-axis and overlay field configurations are not supported when trellis is enabled."
|
|
@@ -4991,7 +5151,9 @@ var TimechartTrellisEditorConfig = [
|
|
|
4991
5151
|
}
|
|
4992
5152
|
}
|
|
4993
5153
|
],
|
|
4994
|
-
|
|
5154
|
+
trellisSplitByRow,
|
|
5155
|
+
makeSortRow(sortByValuesBase),
|
|
5156
|
+
...trellisLayoutRows,
|
|
4995
5157
|
[
|
|
4996
5158
|
{
|
|
4997
5159
|
label: (0, i18n_exports._)("Shared y-axis scale"),
|
|
@@ -5284,7 +5446,7 @@ var editorConfig = [
|
|
|
5284
5446
|
showEditor: ({ options }) => options.sparklineDisplay !== "off"
|
|
5285
5447
|
}
|
|
5286
5448
|
],
|
|
5287
|
-
...
|
|
5449
|
+
...SingleValueTrellisEditorConfig
|
|
5288
5450
|
]
|
|
5289
5451
|
},
|
|
5290
5452
|
{
|
|
@@ -5299,7 +5461,7 @@ var editorConfig = [
|
|
|
5299
5461
|
presets,
|
|
5300
5462
|
value: ({ context, options }) => {
|
|
5301
5463
|
const initialPreset = getInitialPreset(context, options, presets);
|
|
5302
|
-
return initialPreset
|
|
5464
|
+
return (initialPreset == null ? void 0 : initialPreset.label) || null;
|
|
5303
5465
|
}
|
|
5304
5466
|
}
|
|
5305
5467
|
}
|
|
@@ -5440,29 +5602,76 @@ var Paginator_exports = {};
|
|
|
5440
5602
|
__export(Paginator_exports, {
|
|
5441
5603
|
default: () => Paginator_default
|
|
5442
5604
|
});
|
|
5443
|
-
var
|
|
5605
|
+
var defaultImport43 = __toESM(require("@splunk/react-ui/Paginator"));
|
|
5444
5606
|
__reExport(Paginator_exports, require("@splunk/react-ui/Paginator"));
|
|
5445
|
-
var Paginator_default = "default" in
|
|
5607
|
+
var Paginator_default = "default" in defaultImport43 ? defaultImport43.default : defaultImport43;
|
|
5446
5608
|
|
|
5447
5609
|
// esm-externals:@splunk/themes
|
|
5448
5610
|
var themes_exports = {};
|
|
5449
5611
|
__export(themes_exports, {
|
|
5450
5612
|
default: () => themes_default
|
|
5451
5613
|
});
|
|
5452
|
-
var
|
|
5614
|
+
var defaultImport44 = __toESM(require("@splunk/themes"));
|
|
5453
5615
|
__reExport(themes_exports, require("@splunk/themes"));
|
|
5454
|
-
var themes_default = "default" in
|
|
5616
|
+
var themes_default = "default" in defaultImport44 ? defaultImport44.default : defaultImport44;
|
|
5455
5617
|
|
|
5456
5618
|
// esm-externals:@splunk/themes/useSplunkTheme
|
|
5457
5619
|
var useSplunkTheme_exports = {};
|
|
5458
5620
|
__export(useSplunkTheme_exports, {
|
|
5459
5621
|
default: () => useSplunkTheme_default
|
|
5460
5622
|
});
|
|
5461
|
-
var
|
|
5623
|
+
var defaultImport45 = __toESM(require("@splunk/themes/useSplunkTheme"));
|
|
5462
5624
|
__reExport(useSplunkTheme_exports, require("@splunk/themes/useSplunkTheme"));
|
|
5463
|
-
var useSplunkTheme_default = "default" in
|
|
5625
|
+
var useSplunkTheme_default = "default" in defaultImport45 ? defaultImport45.default : defaultImport45;
|
|
5464
5626
|
|
|
5465
5627
|
// src/common/hocs/withTrellis.tsx
|
|
5628
|
+
var evaluatePanelOption = (panelDataSources, allOptions, optionKey, vizContext) => {
|
|
5629
|
+
try {
|
|
5630
|
+
const evaluated = Options_exports.Options.evaluate({ context: vizContext, options: allOptions }, panelDataSources);
|
|
5631
|
+
const num = Number(evaluated == null ? void 0 : evaluated[optionKey]);
|
|
5632
|
+
return Number.isNaN(num) ? Number.NaN : num;
|
|
5633
|
+
} catch (e) {
|
|
5634
|
+
return Number.NaN;
|
|
5635
|
+
}
|
|
5636
|
+
};
|
|
5637
|
+
var sortTrellisKeys = (keys2, trellisSortBy, trellisSortOrder, modifiedDataSourceBySplitBy, mergedOptions, vizContext) => {
|
|
5638
|
+
if (trellisSortBy === "name") {
|
|
5639
|
+
keys2.sort((a, b) => {
|
|
5640
|
+
const cmp = a.localeCompare(b, void 0, { numeric: true, sensitivity: "base" });
|
|
5641
|
+
return trellisSortOrder === "descending" ? -cmp : cmp;
|
|
5642
|
+
});
|
|
5643
|
+
} else if (trellisSortBy === "value" || trellisSortBy === "trend") {
|
|
5644
|
+
let optionKey;
|
|
5645
|
+
if (trellisSortBy === "trend") {
|
|
5646
|
+
optionKey = "trendValue";
|
|
5647
|
+
} else {
|
|
5648
|
+
optionKey = mergedOptions.value !== void 0 ? "value" : "majorValue";
|
|
5649
|
+
}
|
|
5650
|
+
keys2.sort((a, b) => {
|
|
5651
|
+
const valA = evaluatePanelOption(
|
|
5652
|
+
modifiedDataSourceBySplitBy[a],
|
|
5653
|
+
mergedOptions,
|
|
5654
|
+
optionKey,
|
|
5655
|
+
vizContext
|
|
5656
|
+
);
|
|
5657
|
+
const valB = evaluatePanelOption(
|
|
5658
|
+
modifiedDataSourceBySplitBy[b],
|
|
5659
|
+
mergedOptions,
|
|
5660
|
+
optionKey,
|
|
5661
|
+
vizContext
|
|
5662
|
+
);
|
|
5663
|
+
const nanA = Number.isNaN(valA);
|
|
5664
|
+
const nanB = Number.isNaN(valB);
|
|
5665
|
+
if (nanA && nanB) return 0;
|
|
5666
|
+
if (nanA) return 1;
|
|
5667
|
+
if (nanB) return -1;
|
|
5668
|
+
const cmp = valA - valB;
|
|
5669
|
+
return trellisSortOrder === "descending" ? -cmp : cmp;
|
|
5670
|
+
});
|
|
5671
|
+
} else if (trellisSortOrder === "descending") {
|
|
5672
|
+
keys2.reverse();
|
|
5673
|
+
}
|
|
5674
|
+
};
|
|
5466
5675
|
var TrellisContainer = styled_components_default.div`
|
|
5467
5676
|
overflow: hidden;
|
|
5468
5677
|
display: flex;
|
|
@@ -5507,6 +5716,14 @@ var showErrorMessage = (errorCode, width, height) => {
|
|
|
5507
5716
|
}
|
|
5508
5717
|
return /* @__PURE__ */ react_exports.createElement(Message_default, { width, height, message: (0, i18n_exports._)("Error render in trellis"), level: "info" });
|
|
5509
5718
|
};
|
|
5719
|
+
var resolveTrellisSplitBy = (trellisSplitBy, fields) => {
|
|
5720
|
+
var _a;
|
|
5721
|
+
if (trellisSplitBy && trellisSplitBy.length > 0) {
|
|
5722
|
+
return trellisSplitBy;
|
|
5723
|
+
}
|
|
5724
|
+
const splitByPossibleFields = (0, trellisUtils_exports.getAllPossibleSplitByFields)(fields);
|
|
5725
|
+
return ((_a = splitByPossibleFields.fields) == null ? void 0 : _a.length) ? splitByPossibleFields.fields[0] : AGGREGATIONS;
|
|
5726
|
+
};
|
|
5510
5727
|
var withTrellis = (Viz) => {
|
|
5511
5728
|
const VizWithTrellis = (opts) => {
|
|
5512
5729
|
const cachedHandleResize = react_exports.useCallback((w, h) => {
|
|
@@ -5515,7 +5732,7 @@ var withTrellis = (Viz) => {
|
|
|
5515
5732
|
}, []);
|
|
5516
5733
|
const [containerWidth, setContainerWidth] = react_exports.useState(Number(opts.width));
|
|
5517
5734
|
const [containerHeight, setContainerHeight] = react_exports.useState(Number(opts.height));
|
|
5518
|
-
const _a = opts, { options = {}, height, width } = _a, otherProps = __objRest(_a, ["options", "height", "width"]);
|
|
5735
|
+
const _a = opts, { options = {}, context = {}, height, width } = _a, otherProps = __objRest(_a, ["options", "context", "height", "width"]);
|
|
5519
5736
|
const defaultOptions = (0, JSONSchemaUtils_exports.pickFieldFromJSONSchema)(Viz.config.optionsSchema, "default");
|
|
5520
5737
|
const mergedOptions = (0, hocUtils_exports.deepMergeWithArrayPrimitiveOverrides)({}, options, defaultOptions);
|
|
5521
5738
|
const {
|
|
@@ -5525,6 +5742,8 @@ var withTrellis = (Viz) => {
|
|
|
5525
5742
|
trellisRowHeight,
|
|
5526
5743
|
splitByLayout,
|
|
5527
5744
|
trellisSplitBy,
|
|
5745
|
+
trellisSortBy,
|
|
5746
|
+
trellisSortOrder,
|
|
5528
5747
|
trellisSharedScale,
|
|
5529
5748
|
stackMode,
|
|
5530
5749
|
yAxisMin,
|
|
@@ -5593,7 +5812,7 @@ var withTrellis = (Viz) => {
|
|
|
5593
5812
|
}, [pageCount, trellisSplitBy]);
|
|
5594
5813
|
(0, react_exports.useEffect)(() => {
|
|
5595
5814
|
updateDataDisplay(pageNum);
|
|
5596
|
-
}, [columns, fields, trellisSplitBy, pageNum, splitByLayout]);
|
|
5815
|
+
}, [columns, fields, trellisSplitBy, trellisSortBy, trellisSortOrder, pageNum, splitByLayout]);
|
|
5597
5816
|
const handlePageChange = (0, react_exports.useCallback)(
|
|
5598
5817
|
(event, { page }) => {
|
|
5599
5818
|
setPageNum(page);
|
|
@@ -5601,9 +5820,7 @@ var withTrellis = (Viz) => {
|
|
|
5601
5820
|
[pageNum, pagedData]
|
|
5602
5821
|
);
|
|
5603
5822
|
const featureFlagContext = react_exports.useContext(FeatureFlagContext_default);
|
|
5604
|
-
const isTrellisFeatureFlagOn2 = Boolean(
|
|
5605
|
-
featureFlagContext && featureFlagContext.visualizations_enableTrellis
|
|
5606
|
-
);
|
|
5823
|
+
const isTrellisFeatureFlagOn2 = Boolean(featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableTrellis);
|
|
5607
5824
|
if (!isTrellisFeatureFlagOn2 || !splitByLayout || splitByLayout !== visualization_schemas_exports.LAYOUT_TYPE.Trellis) {
|
|
5608
5825
|
return /* @__PURE__ */ react_exports.createElement(Viz, __spreadValues({}, opts));
|
|
5609
5826
|
}
|
|
@@ -5611,14 +5828,9 @@ var withTrellis = (Viz) => {
|
|
|
5611
5828
|
if (noColumns || noFields) {
|
|
5612
5829
|
return /* @__PURE__ */ react_exports.createElement(Message_default, { width, height, message: (0, i18n_exports._)("Loading"), level: "info" });
|
|
5613
5830
|
}
|
|
5614
|
-
|
|
5615
|
-
if (!trellisSplitBy || trellisSplitBy.length === 0) {
|
|
5616
|
-
const splitByPossibleFields = (0, trellisUtils_exports.getAllPossibleSplitByFields)(fields);
|
|
5617
|
-
currTrellisSplitBy = splitByPossibleFields.fields && splitByPossibleFields.fields.length ? splitByPossibleFields.fields[0] : AGGREGATIONS;
|
|
5618
|
-
}
|
|
5619
|
-
const splitMode = (0, trellisUtils_exports.getTrellisDataSplitterMode)(fields);
|
|
5831
|
+
const currTrellisSplitBy = resolveTrellisSplitBy(trellisSplitBy, fields);
|
|
5620
5832
|
const dataSplitResult = getTrellisDataSourcesBySplitMode(
|
|
5621
|
-
|
|
5833
|
+
(0, trellisUtils_exports.getTrellisDataSplitterMode)(fields),
|
|
5622
5834
|
dataSources,
|
|
5623
5835
|
currTrellisSplitBy
|
|
5624
5836
|
);
|
|
@@ -5627,12 +5839,19 @@ var withTrellis = (Viz) => {
|
|
|
5627
5839
|
if (!modifiedDataSourceBySplitBy || Object.keys(modifiedDataSourceBySplitBy).length === 0 || dataSplitErrorCode) {
|
|
5628
5840
|
return showErrorMessage(dataSplitErrorCode, width, height);
|
|
5629
5841
|
}
|
|
5630
|
-
const splitByKeysModified =
|
|
5631
|
-
|
|
5632
|
-
|
|
5633
|
-
|
|
5634
|
-
|
|
5635
|
-
|
|
5842
|
+
const splitByKeysModified = Object.keys(modifiedDataSourceBySplitBy);
|
|
5843
|
+
const vizContext = (0, lodash_exports.defaultsDeep)({}, context, Viz.config.defaultContext);
|
|
5844
|
+
sortTrellisKeys(
|
|
5845
|
+
splitByKeysModified,
|
|
5846
|
+
trellisSortBy,
|
|
5847
|
+
trellisSortOrder,
|
|
5848
|
+
modifiedDataSourceBySplitBy,
|
|
5849
|
+
mergedOptions,
|
|
5850
|
+
vizContext
|
|
5851
|
+
);
|
|
5852
|
+
showPaginator = splitByKeysModified.length > pageCount;
|
|
5853
|
+
splitByKeys = splitByKeysModified;
|
|
5854
|
+
totalPages = Math.ceil(splitByKeysModified.length / pageCount);
|
|
5636
5855
|
const [calculatedMin, calculatedMax] = determineMinMax(
|
|
5637
5856
|
modifiedDataSourceBySplitBy,
|
|
5638
5857
|
trellisSharedScale,
|
|
@@ -5666,6 +5885,7 @@ var withTrellis = (Viz) => {
|
|
|
5666
5885
|
/* @__PURE__ */ react_exports.createElement(
|
|
5667
5886
|
Viz,
|
|
5668
5887
|
__spreadProps(__spreadValues({}, otherProps), {
|
|
5888
|
+
context,
|
|
5669
5889
|
trellisKey: splitByKey,
|
|
5670
5890
|
trellisSplitBy: currTrellisSplitBy,
|
|
5671
5891
|
dataSources: modifiedDataSourceBySplitBy[splitByKey],
|