@splunk/visualizations 28.5.3 → 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 +56 -10
- 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.config.js.map +1 -1
- package/NetworkGraph.js +544 -417
- 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/SingleValueRadial.js
CHANGED
|
@@ -60,6 +60,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
60
60
|
mod
|
|
61
61
|
));
|
|
62
62
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
63
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
63
64
|
|
|
64
65
|
// src/SingleValueRadial/index.ts
|
|
65
66
|
var SingleValueRadial_exports = {};
|
|
@@ -187,8 +188,27 @@ var TrellisTitleDiv = styled_components_default.div`
|
|
|
187
188
|
background-color: ${(props) => props.backgroundColor};
|
|
188
189
|
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.
|
|
189
190
|
`;
|
|
191
|
+
var formatTrellisKey = (value) => {
|
|
192
|
+
if (value === null || value === void 0) {
|
|
193
|
+
return "";
|
|
194
|
+
}
|
|
195
|
+
if (typeof value === "string") {
|
|
196
|
+
return value;
|
|
197
|
+
}
|
|
198
|
+
if (typeof value === "number" || typeof value === "boolean") {
|
|
199
|
+
return value.toString();
|
|
200
|
+
}
|
|
201
|
+
if (typeof value === "symbol") {
|
|
202
|
+
return value.toString();
|
|
203
|
+
}
|
|
204
|
+
try {
|
|
205
|
+
return JSON.stringify(value);
|
|
206
|
+
} catch (e) {
|
|
207
|
+
return typeof value === "bigint" ? value.toString() : "";
|
|
208
|
+
}
|
|
209
|
+
};
|
|
190
210
|
var TrellisTitle = (props) => {
|
|
191
|
-
const titleText =
|
|
211
|
+
const titleText = formatTrellisKey(props.trellisKey);
|
|
192
212
|
return /* @__PURE__ */ react_exports.createElement(
|
|
193
213
|
TrellisTitleDiv,
|
|
194
214
|
{
|
|
@@ -314,7 +334,7 @@ var computeColors = (props, defaultColors) => {
|
|
|
314
334
|
trendDisplay: props.trendDisplay,
|
|
315
335
|
defaultColors
|
|
316
336
|
});
|
|
317
|
-
const underLabelColor = majorColor;
|
|
337
|
+
const underLabelColor = getFormattedColor(props.underLabelColor, majorColor);
|
|
318
338
|
return {
|
|
319
339
|
backgroundColor,
|
|
320
340
|
backgroundEnabled,
|
|
@@ -570,6 +590,15 @@ var adjustRGB = (rgb, delta) => {
|
|
|
570
590
|
}
|
|
571
591
|
return rgb;
|
|
572
592
|
};
|
|
593
|
+
var getUnchangedColorDelta = (r, g, b, ratio) => {
|
|
594
|
+
if (r === 0 && g === 0 && b === 0) {
|
|
595
|
+
return ratio > 1 ? 80 : 40;
|
|
596
|
+
}
|
|
597
|
+
if (r === 255 && g === 255 && b === 255) {
|
|
598
|
+
return ratio > 1 ? 20 : 80;
|
|
599
|
+
}
|
|
600
|
+
return 20;
|
|
601
|
+
};
|
|
573
602
|
var changeColor = (color, ratio) => {
|
|
574
603
|
const hex = color.replace(/(0x|#)/, "");
|
|
575
604
|
const r = parseInt(hex.substr(0, 2), 16);
|
|
@@ -579,31 +608,10 @@ var changeColor = (color, ratio) => {
|
|
|
579
608
|
let newG = Math.max(Math.min(Math.floor(g * ratio), 255), 0);
|
|
580
609
|
let newB = Math.max(Math.min(Math.floor(b * ratio), 255), 0);
|
|
581
610
|
if (newR === r && newG === g && newB === b) {
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
newB = adjustRGB(newB, 80);
|
|
587
|
-
} else {
|
|
588
|
-
newR = adjustRGB(newR, 40);
|
|
589
|
-
newG = adjustRGB(newG, 40);
|
|
590
|
-
newB = adjustRGB(newB, 40);
|
|
591
|
-
}
|
|
592
|
-
} else if (newR === 255 && newG === 255 && newB === 255) {
|
|
593
|
-
if (ratio > 1) {
|
|
594
|
-
newR = adjustRGB(newR, 20);
|
|
595
|
-
newG = adjustRGB(newG, 20);
|
|
596
|
-
newB = adjustRGB(newB, 20);
|
|
597
|
-
} else {
|
|
598
|
-
newR = adjustRGB(newR, 80);
|
|
599
|
-
newG = adjustRGB(newG, 80);
|
|
600
|
-
newB = adjustRGB(newB, 80);
|
|
601
|
-
}
|
|
602
|
-
} else {
|
|
603
|
-
newR = adjustRGB(newR, 20);
|
|
604
|
-
newG = adjustRGB(newG, 20);
|
|
605
|
-
newB = adjustRGB(newB, 20);
|
|
606
|
-
}
|
|
611
|
+
const delta = getUnchangedColorDelta(newR, newG, newB, ratio);
|
|
612
|
+
newR = adjustRGB(newR, delta);
|
|
613
|
+
newG = adjustRGB(newG, delta);
|
|
614
|
+
newB = adjustRGB(newB, delta);
|
|
607
615
|
}
|
|
608
616
|
return `#${newR.toString(16).padStart(2, 0)}${newG.toString(16).padStart(2, 0)}${newB.toString(16).padStart(2, 0)}`;
|
|
609
617
|
};
|
|
@@ -1063,39 +1071,37 @@ var getSortedGaugeRanges = (gaugeRanges) => {
|
|
|
1063
1071
|
});
|
|
1064
1072
|
return gaugeRanges;
|
|
1065
1073
|
};
|
|
1074
|
+
var clampFirstRange = (range2, minValue, maxValue) => ({
|
|
1075
|
+
from: minValue,
|
|
1076
|
+
to: Math.min(range2.to, maxValue),
|
|
1077
|
+
value: range2.value
|
|
1078
|
+
});
|
|
1079
|
+
var clampLastRange = (range2, minValue, maxValue) => ({
|
|
1080
|
+
from: Math.max(range2.from, minValue),
|
|
1081
|
+
to: maxValue,
|
|
1082
|
+
value: range2.value
|
|
1083
|
+
});
|
|
1084
|
+
var clampMiddleRange = (range2, minValue, maxValue) => {
|
|
1085
|
+
const newRange = __spreadValues({}, range2);
|
|
1086
|
+
if (minValue > range2.from && minValue < range2.to) {
|
|
1087
|
+
newRange.from = minValue;
|
|
1088
|
+
}
|
|
1089
|
+
if (maxValue > range2.from && maxValue < range2.to) {
|
|
1090
|
+
newRange.to = maxValue;
|
|
1091
|
+
}
|
|
1092
|
+
return newRange;
|
|
1093
|
+
};
|
|
1066
1094
|
var getFormattedGaugeRanges = (gaugeRanges, minValue, maxValue) => {
|
|
1067
1095
|
const formattedGaugeRanges = [];
|
|
1068
1096
|
gaugeRanges.forEach((range2, index) => {
|
|
1069
1097
|
if (index === 0 && minValue < range2.to) {
|
|
1070
|
-
|
|
1071
|
-
from: minValue,
|
|
1072
|
-
to: range2.to,
|
|
1073
|
-
value: range2.value
|
|
1074
|
-
};
|
|
1075
|
-
if (maxValue < range2.to) {
|
|
1076
|
-
newRange.to = maxValue;
|
|
1077
|
-
}
|
|
1078
|
-
formattedGaugeRanges.push(newRange);
|
|
1098
|
+
formattedGaugeRanges.push(clampFirstRange(range2, minValue, maxValue));
|
|
1079
1099
|
}
|
|
1080
1100
|
if (index === gaugeRanges.length - 1 && maxValue > range2.from) {
|
|
1081
|
-
|
|
1082
|
-
from: range2.from,
|
|
1083
|
-
to: maxValue,
|
|
1084
|
-
value: range2.value
|
|
1085
|
-
};
|
|
1086
|
-
if (minValue > range2.from) {
|
|
1087
|
-
newRange.from = minValue;
|
|
1088
|
-
}
|
|
1089
|
-
formattedGaugeRanges.push(newRange);
|
|
1101
|
+
formattedGaugeRanges.push(clampLastRange(range2, minValue, maxValue));
|
|
1090
1102
|
}
|
|
1091
1103
|
if (Object.keys(range2).includes("from") && Object.keys(range2).includes("to")) {
|
|
1092
|
-
const newRange =
|
|
1093
|
-
if (minValue > range2.from && minValue < range2.to) {
|
|
1094
|
-
newRange.from = minValue;
|
|
1095
|
-
}
|
|
1096
|
-
if (maxValue > range2.from && maxValue < range2.to) {
|
|
1097
|
-
newRange.to = maxValue;
|
|
1098
|
-
}
|
|
1104
|
+
const newRange = clampMiddleRange(range2, minValue, maxValue);
|
|
1099
1105
|
if (minValue < range2.to && maxValue > range2.from) {
|
|
1100
1106
|
formattedGaugeRanges.push(newRange);
|
|
1101
1107
|
}
|
|
@@ -1866,7 +1872,7 @@ var DefaultVizActionHandler = class {
|
|
|
1866
1872
|
var INITIAL_HEIGHT = 250;
|
|
1867
1873
|
var SplunkVisualization = class {
|
|
1868
1874
|
};
|
|
1869
|
-
SplunkVisualization
|
|
1875
|
+
__publicField(SplunkVisualization, "propTypes", {
|
|
1870
1876
|
/**
|
|
1871
1877
|
* display mode
|
|
1872
1878
|
*/
|
|
@@ -1942,11 +1948,11 @@ SplunkVisualization.propTypes = {
|
|
|
1942
1948
|
* A callback to request new data with updated request params
|
|
1943
1949
|
*/
|
|
1944
1950
|
onRequestParamsChange: prop_types_exports.func
|
|
1945
|
-
};
|
|
1951
|
+
});
|
|
1946
1952
|
/**
|
|
1947
1953
|
*
|
|
1948
1954
|
*/
|
|
1949
|
-
SplunkVisualization
|
|
1955
|
+
__publicField(SplunkVisualization, "defaults", {
|
|
1950
1956
|
// BaseVisualization in dashboard-visualizations uses 100% for width but 250 for height
|
|
1951
1957
|
width: "100%",
|
|
1952
1958
|
height: INITIAL_HEIGHT,
|
|
@@ -1961,7 +1967,7 @@ SplunkVisualization.defaults = {
|
|
|
1961
1967
|
onComputedProps: () => ({}),
|
|
1962
1968
|
loading: false,
|
|
1963
1969
|
onRequestParamsChange: lodash_exports.noop
|
|
1964
|
-
};
|
|
1970
|
+
});
|
|
1965
1971
|
var SplunkVisualization_default = SplunkVisualization;
|
|
1966
1972
|
|
|
1967
1973
|
// src/common/interfaces/DataSource.ts
|
|
@@ -2015,9 +2021,9 @@ var usePaginationParams = ({
|
|
|
2015
2021
|
meta,
|
|
2016
2022
|
onRequestParamsChange
|
|
2017
2023
|
}) => {
|
|
2018
|
-
const totalCount = meta
|
|
2019
|
-
const offset = requestParams
|
|
2020
|
-
const count = requestParams
|
|
2024
|
+
const totalCount = (meta == null ? void 0 : meta.totalCount) || 0;
|
|
2025
|
+
const offset = (requestParams == null ? void 0 : requestParams.offset) || 0;
|
|
2026
|
+
const count = requestParams == null ? void 0 : requestParams.count;
|
|
2021
2027
|
const totalPages = typeof count === "number" && count > 0 ? Math.ceil(totalCount / count) : 0;
|
|
2022
2028
|
const current = typeof count === "number" && count > 0 ? Math.floor(offset / count) + 1 : 0;
|
|
2023
2029
|
const isPaging = totalPages > 1 && typeof onRequestParamsChange === "function";
|
|
@@ -2116,7 +2122,7 @@ var Cover = styled_components_default.div`
|
|
|
2116
2122
|
bottom: 0;
|
|
2117
2123
|
`;
|
|
2118
2124
|
var Blocker = styled_components_default.div.attrs({
|
|
2119
|
-
"data-splunk-visualization-version": "28.
|
|
2125
|
+
"data-splunk-visualization-version": "28.6.0 - 92427899a"
|
|
2120
2126
|
})`
|
|
2121
2127
|
position: relative;
|
|
2122
2128
|
width: 100%;
|
|
@@ -2197,7 +2203,7 @@ var withFixedSizeContainer = (Viz) => {
|
|
|
2197
2203
|
FixSizeItem,
|
|
2198
2204
|
{
|
|
2199
2205
|
"data-test": "fix-size-item",
|
|
2200
|
-
"data-splunk-visualization-version": "28.
|
|
2206
|
+
"data-splunk-visualization-version": "28.6.0 - 92427899a",
|
|
2201
2207
|
width,
|
|
2202
2208
|
height,
|
|
2203
2209
|
backgroundColor
|
|
@@ -2694,7 +2700,7 @@ var dataSourcesSplitByAggregationsUnknown = (dataSource) => {
|
|
|
2694
2700
|
const columns = (_d = (_c = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _c.data) == null ? void 0 : _d.columns;
|
|
2695
2701
|
let splitDataSources = null;
|
|
2696
2702
|
let errorCode = null;
|
|
2697
|
-
if (fields
|
|
2703
|
+
if (fields == null ? void 0 : fields.length) {
|
|
2698
2704
|
splitDataSources = {};
|
|
2699
2705
|
for (let i = 0; i < fields.length; i += 1) {
|
|
2700
2706
|
const fieldName = fields[i].name;
|
|
@@ -2745,7 +2751,7 @@ var dataSourcesSplitByAggregationsTimechartAndChart = (dataSource) => {
|
|
|
2745
2751
|
}
|
|
2746
2752
|
});
|
|
2747
2753
|
});
|
|
2748
|
-
} else if ((
|
|
2754
|
+
} else if (!(splitByFields == null ? void 0 : splitByFields.length) && fields.length > 1) {
|
|
2749
2755
|
splitDataSources = {};
|
|
2750
2756
|
for (let i = 1; i < fields.length; i += 1) {
|
|
2751
2757
|
const fieldName = fields[i].name;
|
|
@@ -2801,7 +2807,7 @@ var dataSourcesSplitByModeTimechart = (dataSource, splitBy) => {
|
|
|
2801
2807
|
if (fields.length > 0) {
|
|
2802
2808
|
splitByFields = (0, trellisUtils_exports.extractSplitByFieldsChartFields)(fields);
|
|
2803
2809
|
}
|
|
2804
|
-
if (splitByFields
|
|
2810
|
+
if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
|
|
2805
2811
|
splitDataSources = {};
|
|
2806
2812
|
const dataSourceKeys = (0, trellisUtils_exports.extractDataSourceAggregationKeysChart)(fields);
|
|
2807
2813
|
const valueKeys = [];
|
|
@@ -2832,6 +2838,68 @@ var dataSourcesSplitByModeTimechart = (dataSource, splitBy) => {
|
|
|
2832
2838
|
}
|
|
2833
2839
|
return { splitDataSources, errorCode };
|
|
2834
2840
|
};
|
|
2841
|
+
var splitRowWise = (dataSource, columns, fields, otherSplitBy, dataSourceKeys, nonDataSourceAggregations) => {
|
|
2842
|
+
const splitDataSources = {};
|
|
2843
|
+
const valueKeys = (0, lodash_exports.cloneDeep)(columns[0]);
|
|
2844
|
+
valueKeys.forEach((val, idx) => {
|
|
2845
|
+
splitDataSources[val] = (0, lodash_exports.cloneDeep)((0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"]));
|
|
2846
|
+
splitDataSources[val].primary.data.fields = [];
|
|
2847
|
+
if (otherSplitBy.length) {
|
|
2848
|
+
splitDataSources[val].primary.data.fields = [{ name: otherSplitBy[0] }];
|
|
2849
|
+
}
|
|
2850
|
+
if (dataSourceKeys.length) {
|
|
2851
|
+
const columnValues = [[]];
|
|
2852
|
+
splitDataSources[val].primary.data.fields = [
|
|
2853
|
+
...splitDataSources[val].primary.data.fields,
|
|
2854
|
+
...dataSourceKeys.map((k) => ({ name: k }))
|
|
2855
|
+
];
|
|
2856
|
+
dataSourceKeys.forEach(() => {
|
|
2857
|
+
columnValues.push([]);
|
|
2858
|
+
});
|
|
2859
|
+
for (let i = 1; i <= Math.ceil((fields.length - 1) / dataSourceKeys.length); i += 1) {
|
|
2860
|
+
columnValues[0].push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);
|
|
2861
|
+
dataSourceKeys.forEach((dskey, dsIndx) => {
|
|
2862
|
+
const mul = (fields.length - 1) / dataSourceKeys.length;
|
|
2863
|
+
columnValues[dsIndx + 1].push(columns[i + dsIndx * mul][idx]);
|
|
2864
|
+
});
|
|
2865
|
+
}
|
|
2866
|
+
splitDataSources[val].primary.data.columns = columnValues;
|
|
2867
|
+
} else if (nonDataSourceAggregations.length) {
|
|
2868
|
+
const columnValues = [];
|
|
2869
|
+
fields.forEach((aggregationField, fieldIdx) => {
|
|
2870
|
+
if (fieldIdx > 0) {
|
|
2871
|
+
splitDataSources[val].primary.data.fields.push(aggregationField);
|
|
2872
|
+
columnValues.push([columns[fieldIdx][idx]]);
|
|
2873
|
+
}
|
|
2874
|
+
});
|
|
2875
|
+
splitDataSources[val].primary.data.columns = columnValues;
|
|
2876
|
+
}
|
|
2877
|
+
});
|
|
2878
|
+
return splitDataSources;
|
|
2879
|
+
};
|
|
2880
|
+
var splitColumnWise = (dataSource, columns, fields, otherSplitBy, dataSourceKeys) => {
|
|
2881
|
+
const splitDataSources = {};
|
|
2882
|
+
const valueKeys = [];
|
|
2883
|
+
for (let i = 1; i < fields.length; i += 1) {
|
|
2884
|
+
valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);
|
|
2885
|
+
}
|
|
2886
|
+
valueKeys.forEach((val) => {
|
|
2887
|
+
splitDataSources[val] = (0, lodash_exports.cloneDeep)((0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"]));
|
|
2888
|
+
splitDataSources[val].primary.data.fields = [
|
|
2889
|
+
{ name: otherSplitBy[0] },
|
|
2890
|
+
...dataSourceKeys.map((k) => ({ name: k }))
|
|
2891
|
+
];
|
|
2892
|
+
splitDataSources[val].primary.data.columns = [[...columns[0]]];
|
|
2893
|
+
dataSourceKeys.forEach((dsKey) => {
|
|
2894
|
+
fields.forEach((field, idx) => {
|
|
2895
|
+
if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {
|
|
2896
|
+
splitDataSources[val].primary.data.columns.push([...columns[idx]]);
|
|
2897
|
+
}
|
|
2898
|
+
});
|
|
2899
|
+
});
|
|
2900
|
+
});
|
|
2901
|
+
return splitDataSources;
|
|
2902
|
+
};
|
|
2835
2903
|
var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
|
|
2836
2904
|
var _a, _b, _c, _d;
|
|
2837
2905
|
const fields = toFieldEntries((_b = (_a = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _a.data) == null ? void 0 : _b.fields);
|
|
@@ -2842,8 +2910,7 @@ var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
|
|
|
2842
2910
|
if (fields.length > 0) {
|
|
2843
2911
|
splitByFields = (0, trellisUtils_exports.extractSplitByFieldsChartFields)(fields);
|
|
2844
2912
|
}
|
|
2845
|
-
if (splitByFields
|
|
2846
|
-
splitDataSources = {};
|
|
2913
|
+
if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
|
|
2847
2914
|
const splitByFieldIdx = splitByFields.findIndex((f) => f === splitBy);
|
|
2848
2915
|
const otherSplitBy = splitByFields.filter((f) => f !== splitBy);
|
|
2849
2916
|
const dataSourceKeys = (0, trellisUtils_exports.extractDataSourceAggregationKeysChart)(fields);
|
|
@@ -2854,71 +2921,16 @@ var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
|
|
|
2854
2921
|
}
|
|
2855
2922
|
}
|
|
2856
2923
|
if (splitByFieldIdx === 0) {
|
|
2857
|
-
|
|
2858
|
-
|
|
2859
|
-
|
|
2860
|
-
|
|
2861
|
-
|
|
2862
|
-
|
|
2863
|
-
|
|
2864
|
-
|
|
2865
|
-
}
|
|
2866
|
-
if (dataSourceKeys.length) {
|
|
2867
|
-
const columnValues = [[]];
|
|
2868
|
-
splitDataSources[val].primary.data.fields = [
|
|
2869
|
-
...splitDataSources[val].primary.data.fields,
|
|
2870
|
-
...dataSourceKeys.map((k) => ({
|
|
2871
|
-
name: k
|
|
2872
|
-
}))
|
|
2873
|
-
];
|
|
2874
|
-
dataSourceKeys.forEach(() => {
|
|
2875
|
-
columnValues.push([]);
|
|
2876
|
-
});
|
|
2877
|
-
for (let i = 1; i <= Math.ceil((fields.length - 1) / dataSourceKeys.length); i += 1) {
|
|
2878
|
-
columnValues[0].push(
|
|
2879
|
-
fields[i].splitby_value ? fields[i].splitby_value : fields[i].name
|
|
2880
|
-
);
|
|
2881
|
-
dataSourceKeys.forEach((dskey, dsIndx) => {
|
|
2882
|
-
const mul = (fields.length - 1) / dataSourceKeys.length;
|
|
2883
|
-
columnValues[dsIndx + 1].push(columns[i + dsIndx * mul][idx]);
|
|
2884
|
-
});
|
|
2885
|
-
}
|
|
2886
|
-
splitDataSources[val].primary.data.columns = columnValues;
|
|
2887
|
-
} else if (nonDataSourceAggregations.length) {
|
|
2888
|
-
const columnValues = [];
|
|
2889
|
-
fields.forEach((aggregationField, fieldIdx) => {
|
|
2890
|
-
if (fieldIdx > 0) {
|
|
2891
|
-
splitDataSources[val].primary.data.fields.push(aggregationField);
|
|
2892
|
-
columnValues.push([columns[fieldIdx][idx]]);
|
|
2893
|
-
}
|
|
2894
|
-
});
|
|
2895
|
-
splitDataSources[val].primary.data.columns = columnValues;
|
|
2896
|
-
}
|
|
2897
|
-
});
|
|
2924
|
+
splitDataSources = splitRowWise(
|
|
2925
|
+
dataSource,
|
|
2926
|
+
columns,
|
|
2927
|
+
fields,
|
|
2928
|
+
otherSplitBy,
|
|
2929
|
+
dataSourceKeys,
|
|
2930
|
+
nonDataSourceAggregations
|
|
2931
|
+
);
|
|
2898
2932
|
} else {
|
|
2899
|
-
|
|
2900
|
-
for (let i = 1; i < fields.length; i += 1) {
|
|
2901
|
-
valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);
|
|
2902
|
-
}
|
|
2903
|
-
valueKeys.forEach((val) => {
|
|
2904
|
-
splitDataSources[val] = (0, lodash_exports.cloneDeep)(
|
|
2905
|
-
(0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"])
|
|
2906
|
-
);
|
|
2907
|
-
splitDataSources[val].primary.data.fields = [
|
|
2908
|
-
{ name: otherSplitBy[0] },
|
|
2909
|
-
...dataSourceKeys.map((k) => ({
|
|
2910
|
-
name: k
|
|
2911
|
-
}))
|
|
2912
|
-
];
|
|
2913
|
-
splitDataSources[val].primary.data.columns = [[...columns[0]]];
|
|
2914
|
-
dataSourceKeys.forEach((dsKey) => {
|
|
2915
|
-
fields.forEach((field, idx) => {
|
|
2916
|
-
if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {
|
|
2917
|
-
splitDataSources[val].primary.data.columns.push([...columns[idx]]);
|
|
2918
|
-
}
|
|
2919
|
-
});
|
|
2920
|
-
});
|
|
2921
|
-
});
|
|
2933
|
+
splitDataSources = splitColumnWise(dataSource, columns, fields, otherSplitBy, dataSourceKeys);
|
|
2922
2934
|
}
|
|
2923
2935
|
} else {
|
|
2924
2936
|
errorCode = "INVALID_SPLIT_BY_FIELD";
|
|
@@ -2936,7 +2948,7 @@ var dataSourcesSplitByModeStatsorUnknown = (dataSource, splitBy, splitMode) => {
|
|
|
2936
2948
|
splitByFields = splitMode !== trellisUtils_exports.UNKNOWN ? (0, trellisUtils_exports.extractSplitByFieldsForStats)(fields) : (0, trellisUtils_exports.extractSplitByFieldsForUnknown)(fields);
|
|
2937
2949
|
}
|
|
2938
2950
|
const splitByIndex = fields.findIndex((field) => field.name === splitBy);
|
|
2939
|
-
if (splitByFields
|
|
2951
|
+
if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
|
|
2940
2952
|
const splitByColumn = (_f = (_e = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _e.data) == null ? void 0 : _f.columns[splitByIndex];
|
|
2941
2953
|
splitDataSources = {};
|
|
2942
2954
|
splitByColumn.forEach((val, idx) => {
|
|
@@ -3043,6 +3055,15 @@ var defaultImport35 = __toESM(require("@splunk/react-icons/Triangle"));
|
|
|
3043
3055
|
__reExport(Triangle_exports, require("@splunk/react-icons/Triangle"));
|
|
3044
3056
|
var Triangle_default = "default" in defaultImport35 ? defaultImport35.default : defaultImport35;
|
|
3045
3057
|
|
|
3058
|
+
// esm-externals:@splunk/visualizations-shared/simpleXMLOptions
|
|
3059
|
+
var simpleXMLOptions_exports = {};
|
|
3060
|
+
__export(simpleXMLOptions_exports, {
|
|
3061
|
+
default: () => simpleXMLOptions_default
|
|
3062
|
+
});
|
|
3063
|
+
var defaultImport36 = __toESM(require("@splunk/visualizations-shared/simpleXMLOptions"));
|
|
3064
|
+
__reExport(simpleXMLOptions_exports, require("@splunk/visualizations-shared/simpleXMLOptions"));
|
|
3065
|
+
var simpleXMLOptions_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
|
|
3066
|
+
|
|
3046
3067
|
// src/common/chartingUtils.ts
|
|
3047
3068
|
var DEFAULT_LINE_WIDTH = 2;
|
|
3048
3069
|
var getAnnotationsForCanvas = ({
|
|
@@ -3080,9 +3101,9 @@ var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
|
|
|
3080
3101
|
const xAxisIsTime = xField === "_time";
|
|
3081
3102
|
return !!rangeSelectEventHandler && xAxisIsTime;
|
|
3082
3103
|
};
|
|
3083
|
-
var canvasSupportedTimeSeriesCharts = ["splunk.line"];
|
|
3104
|
+
var canvasSupportedTimeSeriesCharts = ["splunk.line", "splunk.area"];
|
|
3084
3105
|
var isTimeSeriesCanvasRenderSupported = (vizConfigKey) => {
|
|
3085
|
-
return canvasSupportedTimeSeriesCharts.
|
|
3106
|
+
return canvasSupportedTimeSeriesCharts.includes(vizConfigKey);
|
|
3086
3107
|
};
|
|
3087
3108
|
var filterChartDataFromInternalFields = (chartData) => {
|
|
3088
3109
|
const { fields, columns } = chartData;
|
|
@@ -3237,46 +3258,66 @@ var getY2ScaleConfig = (label, axisAbbreviation, axisScale, roundAxisLabelsToInt
|
|
|
3237
3258
|
}
|
|
3238
3259
|
return y2Config;
|
|
3239
3260
|
};
|
|
3240
|
-
var
|
|
3261
|
+
var getSeriesType = (isOverlay, isAreaChart, isStacked) => {
|
|
3262
|
+
if (isOverlay) return "line";
|
|
3263
|
+
if (!isAreaChart) return void 0;
|
|
3264
|
+
return isStacked ? "stacked-area" : "area";
|
|
3265
|
+
};
|
|
3266
|
+
var getY2Scale = (field, y2fields, overlayFields) => {
|
|
3267
|
+
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));
|
|
3268
|
+
return assignToY2 ? "y2" : "y";
|
|
3269
|
+
};
|
|
3270
|
+
var getSeriesOverrides = (opts) => {
|
|
3271
|
+
var _a;
|
|
3272
|
+
const {
|
|
3273
|
+
yfields,
|
|
3274
|
+
y2fields,
|
|
3275
|
+
lineWidth,
|
|
3276
|
+
overlayFields,
|
|
3277
|
+
y2Enabled,
|
|
3278
|
+
nullValueMode,
|
|
3279
|
+
markerDisplay,
|
|
3280
|
+
lineDashStyle,
|
|
3281
|
+
lineDashStylesByField,
|
|
3282
|
+
stepPosition,
|
|
3283
|
+
stepPositionsByField,
|
|
3284
|
+
type,
|
|
3285
|
+
stackMode,
|
|
3286
|
+
showLines
|
|
3287
|
+
} = opts;
|
|
3241
3288
|
const seriesConfig = {};
|
|
3242
3289
|
let spanGaps;
|
|
3243
|
-
let replaceNullsWithZero;
|
|
3244
3290
|
if (nullValueMode === "gaps") {
|
|
3245
3291
|
spanGaps = false;
|
|
3246
|
-
} else if (nullValueMode
|
|
3292
|
+
} else if (nullValueMode != null) {
|
|
3247
3293
|
spanGaps = true;
|
|
3248
|
-
|
|
3249
|
-
|
|
3250
|
-
}
|
|
3294
|
+
} else {
|
|
3295
|
+
spanGaps = void 0;
|
|
3251
3296
|
}
|
|
3252
|
-
|
|
3297
|
+
const replaceNullsWithZero = nullValueMode === "zero" ? true : void 0;
|
|
3298
|
+
const isAreaChart = type === "area";
|
|
3299
|
+
const isStacked = isAreaChart && (stackMode === "stacked" || stackMode === "stacked100");
|
|
3300
|
+
const areaFields = isAreaChart ? yfields.filter((f) => !(overlayFields == null ? void 0 : overlayFields.includes(f))) : yfields;
|
|
3301
|
+
const overlayFieldsInOrder = (_a = overlayFields == null ? void 0 : overlayFields.filter((f) => yfields.includes(f))) != null ? _a : [];
|
|
3302
|
+
const orderedFields = isAreaChart ? [...areaFields, ...overlayFieldsInOrder] : yfields;
|
|
3303
|
+
orderedFields.forEach((field) => {
|
|
3304
|
+
var _a2;
|
|
3305
|
+
const isOverlay = (_a2 = overlayFields == null ? void 0 : overlayFields.includes(field)) != null ? _a2 : false;
|
|
3306
|
+
const isPercent = isAreaChart && stackMode === "stacked100" && !isOverlay;
|
|
3307
|
+
const shouldHideAreaOutline = isAreaChart && showLines === false && !isOverlay;
|
|
3253
3308
|
seriesConfig[field] = {
|
|
3254
|
-
overrides: {
|
|
3309
|
+
overrides: __spreadValues({
|
|
3310
|
+
width: shouldHideAreaOutline ? 0 : lineWidth != null ? lineWidth : DEFAULT_LINE_WIDTH
|
|
3311
|
+
}, isPercent ? { stacking: { mode: "percent", group: "A" } } : {})
|
|
3255
3312
|
};
|
|
3256
|
-
|
|
3257
|
-
|
|
3258
|
-
|
|
3259
|
-
if (y2Enabled)
|
|
3260
|
-
|
|
3261
|
-
|
|
3262
|
-
|
|
3263
|
-
|
|
3264
|
-
);
|
|
3265
|
-
if (shouldAssignToY2) {
|
|
3266
|
-
seriesConfig[field].overrides.scale = "y2";
|
|
3267
|
-
} else {
|
|
3268
|
-
seriesConfig[field].overrides.scale = "y";
|
|
3269
|
-
}
|
|
3270
|
-
}
|
|
3271
|
-
if (overlayFields == null ? void 0 : overlayFields.includes(field)) {
|
|
3272
|
-
seriesConfig[field].type = "line";
|
|
3273
|
-
}
|
|
3274
|
-
if (markerDisplay !== void 0) {
|
|
3275
|
-
seriesConfig[field].markerDisplay = markerDisplay;
|
|
3276
|
-
}
|
|
3277
|
-
const fieldDashStyle = (lineDashStylesByField == null ? void 0 : lineDashStylesByField[field]) || lineDashStyle;
|
|
3278
|
-
if (fieldDashStyle) {
|
|
3279
|
-
seriesConfig[field].lineDashStyle = fieldDashStyle;
|
|
3313
|
+
const seriesType = getSeriesType(isOverlay, isAreaChart, isStacked);
|
|
3314
|
+
if (seriesType !== void 0) seriesConfig[field].type = seriesType;
|
|
3315
|
+
if (spanGaps !== void 0) seriesConfig[field].overrides.spanGaps = spanGaps;
|
|
3316
|
+
if (y2Enabled) seriesConfig[field].overrides.scale = getY2Scale(field, y2fields, overlayFields);
|
|
3317
|
+
if (markerDisplay !== void 0) seriesConfig[field].markerDisplay = markerDisplay;
|
|
3318
|
+
if (!isAreaChart || isOverlay) {
|
|
3319
|
+
const fieldDashStyle = (lineDashStylesByField == null ? void 0 : lineDashStylesByField[field]) || lineDashStyle;
|
|
3320
|
+
if (fieldDashStyle) seriesConfig[field].lineDashStyle = fieldDashStyle;
|
|
3280
3321
|
}
|
|
3281
3322
|
const hasFieldStepPosition = Object.hasOwn(stepPositionsByField || {}, field);
|
|
3282
3323
|
const fieldStepPosition = hasFieldStepPosition ? stepPositionsByField == null ? void 0 : stepPositionsByField[field] : stepPosition;
|
|
@@ -3442,6 +3483,38 @@ var parseArrayOption = (value) => {
|
|
|
3442
3483
|
}
|
|
3443
3484
|
return void 0;
|
|
3444
3485
|
};
|
|
3486
|
+
var getAreaOpacityForCanvas = (areaOpacity) => (
|
|
3487
|
+
// Preserve legacy visualizations behavior where area opacity is squared to match charting output.
|
|
3488
|
+
areaOpacity !== void 0 && areaOpacity !== null ? __pow(areaOpacity, 2) : areaOpacity
|
|
3489
|
+
);
|
|
3490
|
+
var parseTickIntervalOption = (simpleXMLValue, canvasValue) => {
|
|
3491
|
+
if (simpleXMLValue) return Number(simpleXMLValue);
|
|
3492
|
+
if (canvasValue) return Number(canvasValue);
|
|
3493
|
+
return void 0;
|
|
3494
|
+
};
|
|
3495
|
+
var getYAxisTitles = ({
|
|
3496
|
+
y2Enabled,
|
|
3497
|
+
yFields,
|
|
3498
|
+
y2Fields,
|
|
3499
|
+
overlayFields,
|
|
3500
|
+
yAxisTitleText,
|
|
3501
|
+
yAxisTitleVisibility,
|
|
3502
|
+
y2AxisTitleText,
|
|
3503
|
+
y2AxisTitleVisibility,
|
|
3504
|
+
containerHeight
|
|
3505
|
+
}) => {
|
|
3506
|
+
const yFieldsForTitle = y2Enabled ? yFields.filter((field) => !y2Fields.includes(field)) : yFields;
|
|
3507
|
+
const fieldsForY2Axis = y2Fields.length > 0 ? y2Fields : overlayFields;
|
|
3508
|
+
const yAxisTitle = ellipsisAxisTitle(
|
|
3509
|
+
getComputedAxisTitles(yAxisTitleText, yFieldsForTitle, yAxisTitleVisibility),
|
|
3510
|
+
containerHeight
|
|
3511
|
+
);
|
|
3512
|
+
const y2AxisTitle = ellipsisAxisTitle(
|
|
3513
|
+
getComputedAxisTitles(y2AxisTitleText, fieldsForY2Axis, y2AxisTitleVisibility),
|
|
3514
|
+
containerHeight
|
|
3515
|
+
);
|
|
3516
|
+
return { yAxisTitle, y2AxisTitle };
|
|
3517
|
+
};
|
|
3445
3518
|
var TimeSeriesChartWrapper = (props) => {
|
|
3446
3519
|
var _b, _c, _d;
|
|
3447
3520
|
const _a = props, {
|
|
@@ -3531,6 +3604,8 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
3531
3604
|
"chart.overlayFields": overlayFieldsStr,
|
|
3532
3605
|
"chart.nullValueMode": nullValueMode,
|
|
3533
3606
|
"chart.showDataLabels": showDataLabels,
|
|
3607
|
+
"chart.showLines": showLines,
|
|
3608
|
+
"chart.stackMode": stackMode,
|
|
3534
3609
|
lineWidth,
|
|
3535
3610
|
lineDashStyle,
|
|
3536
3611
|
fieldDashStyles: lineDashStylesByFieldStr,
|
|
@@ -3559,7 +3634,10 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
3559
3634
|
yAxisMinorTickSize,
|
|
3560
3635
|
y2AxisMinorTickSize,
|
|
3561
3636
|
showYAxisWithZero: showYAxisWithZeroFromOptions,
|
|
3562
|
-
showY2AxisWithZero: showY2AxisWithZeroFromOptions
|
|
3637
|
+
showY2AxisWithZero: showY2AxisWithZeroFromOptions,
|
|
3638
|
+
// area only props
|
|
3639
|
+
areaFillOpacity: areaOpacity,
|
|
3640
|
+
chart: chartType
|
|
3563
3641
|
} = options;
|
|
3564
3642
|
const dataValuesDisplay = showDataLabels === "none" ? "off" : showDataLabels;
|
|
3565
3643
|
const showYAxisWithZero = showYAxisWithZeroFromProps != null ? showYAxisWithZeroFromProps : showYAxisWithZeroFromOptions;
|
|
@@ -3576,13 +3654,11 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
3576
3654
|
const yAxisMax = parseAxisValue(yAxisMaxRaw);
|
|
3577
3655
|
const y2AxisMin = parseAxisValue(y2AxisMinRaw);
|
|
3578
3656
|
const y2AxisMax = parseAxisValue(y2AxisMaxRaw);
|
|
3579
|
-
const
|
|
3580
|
-
|
|
3581
|
-
|
|
3582
|
-
|
|
3583
|
-
|
|
3584
|
-
const yAxisMajorTickIntervalNum = parseTickInterval(yAxisMajorUnitFromSimpleXML, yAxisMajorTickInterval);
|
|
3585
|
-
const y2AxisMajorTickIntervalNum = parseTickInterval(
|
|
3657
|
+
const yAxisMajorTickIntervalNum = parseTickIntervalOption(
|
|
3658
|
+
yAxisMajorUnitFromSimpleXML,
|
|
3659
|
+
yAxisMajorTickInterval
|
|
3660
|
+
);
|
|
3661
|
+
const y2AxisMajorTickIntervalNum = parseTickIntervalOption(
|
|
3586
3662
|
y2AxisMajorUnitFromSimpleXML,
|
|
3587
3663
|
y2AxisMajorTickInterval
|
|
3588
3664
|
);
|
|
@@ -3591,6 +3667,7 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
3591
3667
|
const y2AxisMajorTickSizeNum = y2AxisMajorTickSize != null ? Number(y2AxisMajorTickSize) : void 0;
|
|
3592
3668
|
const yAxisMinorTickSizeNum = yAxisMinorTickSize != null ? Number(yAxisMinorTickSize) : void 0;
|
|
3593
3669
|
const y2AxisMinorTickSizeNum = y2AxisMinorTickSize != null ? Number(y2AxisMinorTickSize) : void 0;
|
|
3670
|
+
const areaOpacityForCanvas = getAreaOpacityForCanvas(areaOpacity);
|
|
3594
3671
|
const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
|
|
3595
3672
|
const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
|
|
3596
3673
|
const lineDashStylesByField = lineDashStylesByFieldStr ? JSON.parse(lineDashStylesByFieldStr) : void 0;
|
|
@@ -3621,26 +3698,40 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
3621
3698
|
);
|
|
3622
3699
|
let xAxisTitle = getComputedAxisTitles(xAxisTitleText, [xField], xAxisTitleVisibility);
|
|
3623
3700
|
xAxisTitle = ellipsisAxisTitle(xAxisTitle, containerWidth);
|
|
3624
|
-
const
|
|
3625
|
-
|
|
3626
|
-
|
|
3627
|
-
|
|
3628
|
-
|
|
3629
|
-
|
|
3701
|
+
const { yAxisTitle, y2AxisTitle } = getYAxisTitles({
|
|
3702
|
+
y2Enabled,
|
|
3703
|
+
yFields,
|
|
3704
|
+
y2Fields,
|
|
3705
|
+
overlayFields,
|
|
3706
|
+
yAxisTitleText,
|
|
3707
|
+
yAxisTitleVisibility,
|
|
3708
|
+
y2AxisTitleText,
|
|
3709
|
+
y2AxisTitleVisibility,
|
|
3710
|
+
containerHeight
|
|
3711
|
+
});
|
|
3630
3712
|
const xScaleConfig = (0, react_exports.useMemo)(
|
|
3631
3713
|
() => getXScaleConfig(xAxisTitle, xAxisLabelVisibility, xAxisLabelRotation),
|
|
3632
3714
|
[xAxisTitle, xAxisLabelVisibility, xAxisLabelRotation]
|
|
3633
3715
|
);
|
|
3716
|
+
const isStacked100 = stackMode === "stacked100";
|
|
3634
3717
|
const yScaleConfig = (0, react_exports.useMemo)(
|
|
3635
|
-
() =>
|
|
3636
|
-
|
|
3637
|
-
|
|
3638
|
-
|
|
3639
|
-
|
|
3640
|
-
|
|
3641
|
-
|
|
3642
|
-
|
|
3643
|
-
|
|
3718
|
+
() => {
|
|
3719
|
+
const config3 = getYScaleConfig(
|
|
3720
|
+
yAxisTitle,
|
|
3721
|
+
yAxisAbbreviation,
|
|
3722
|
+
yAxisScale,
|
|
3723
|
+
yAxisLabelVisibility,
|
|
3724
|
+
yAxisMin,
|
|
3725
|
+
yAxisMax
|
|
3726
|
+
);
|
|
3727
|
+
if (isStacked100) {
|
|
3728
|
+
config3.y.tickFmt = (v) => `${Math.round(v * 100)}%`;
|
|
3729
|
+
config3.y.range = () => [0, 1];
|
|
3730
|
+
}
|
|
3731
|
+
return config3;
|
|
3732
|
+
},
|
|
3733
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
3734
|
+
[yAxisTitle, yAxisAbbreviation, yAxisScale, yAxisLabelVisibility, yAxisMin, yAxisMax, isStacked100]
|
|
3644
3735
|
);
|
|
3645
3736
|
const y2ScaleConfig = (0, react_exports.useMemo)(() => {
|
|
3646
3737
|
if (y2Enabled) {
|
|
@@ -3672,10 +3763,11 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
3672
3763
|
];
|
|
3673
3764
|
chartData.fields = filteredChartData.fields;
|
|
3674
3765
|
chartData.columns = seriesDataFormatted;
|
|
3766
|
+
const normalizedStackMode = stackMode === "stacked" || stackMode === "stacked100" ? stackMode : "auto";
|
|
3675
3767
|
const seriesOverrides = (0, react_exports.useMemo)(
|
|
3676
|
-
() => getSeriesOverrides(
|
|
3677
|
-
yFields,
|
|
3678
|
-
y2Fields,
|
|
3768
|
+
() => getSeriesOverrides({
|
|
3769
|
+
yfields: yFields,
|
|
3770
|
+
y2fields: y2Fields,
|
|
3679
3771
|
lineWidth,
|
|
3680
3772
|
overlayFields,
|
|
3681
3773
|
y2Enabled,
|
|
@@ -3684,8 +3776,11 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
3684
3776
|
lineDashStyle,
|
|
3685
3777
|
lineDashStylesByField,
|
|
3686
3778
|
stepPosition,
|
|
3687
|
-
stepPositionsByField
|
|
3688
|
-
|
|
3779
|
+
stepPositionsByField,
|
|
3780
|
+
type: chartType,
|
|
3781
|
+
stackMode: normalizedStackMode,
|
|
3782
|
+
showLines
|
|
3783
|
+
}),
|
|
3689
3784
|
[
|
|
3690
3785
|
yFields,
|
|
3691
3786
|
y2Fields,
|
|
@@ -3697,7 +3792,10 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
3697
3792
|
lineDashStyle,
|
|
3698
3793
|
lineDashStylesByField,
|
|
3699
3794
|
stepPosition,
|
|
3700
|
-
stepPositionsByField
|
|
3795
|
+
stepPositionsByField,
|
|
3796
|
+
chartType,
|
|
3797
|
+
normalizedStackMode,
|
|
3798
|
+
showLines
|
|
3701
3799
|
]
|
|
3702
3800
|
);
|
|
3703
3801
|
const chartingEventAnnotations = (0, react_exports.useMemo)(
|
|
@@ -3765,50 +3863,54 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
3765
3863
|
react_exports.useEffect(() => {
|
|
3766
3864
|
additionalTooltipValuesRef.current = additionalTooltipValues;
|
|
3767
3865
|
}, [additionalTooltipValues]);
|
|
3866
|
+
const handleCrosshairMouseout = react_exports.useCallback(() => {
|
|
3867
|
+
if (onPointMouseOut && lastPayloadRef.current) {
|
|
3868
|
+
onPointMouseOut({
|
|
3869
|
+
type: "point.mouseout",
|
|
3870
|
+
originalEvent: lastOriginalEventRef.current,
|
|
3871
|
+
payload: lastPayloadRef.current
|
|
3872
|
+
});
|
|
3873
|
+
}
|
|
3874
|
+
previousMouseoverPayloadRef.current = null;
|
|
3875
|
+
}, [onPointMouseOut]);
|
|
3768
3876
|
const handleChartCrosshairChange = react_exports.useCallback(
|
|
3769
3877
|
(event) => {
|
|
3770
|
-
if (onPointMouseOver
|
|
3771
|
-
|
|
3772
|
-
|
|
3773
|
-
|
|
3774
|
-
|
|
3775
|
-
|
|
3776
|
-
|
|
3777
|
-
|
|
3778
|
-
|
|
3779
|
-
|
|
3780
|
-
|
|
3781
|
-
|
|
3782
|
-
|
|
3783
|
-
|
|
3878
|
+
if (!onPointMouseOver && !onPointMouseOut) {
|
|
3879
|
+
return;
|
|
3880
|
+
}
|
|
3881
|
+
if (!event) {
|
|
3882
|
+
handleCrosshairMouseout();
|
|
3883
|
+
return;
|
|
3884
|
+
}
|
|
3885
|
+
const payload = __spreadProps(__spreadValues({}, (0, lodash_exports.pick)(event, "value", "seriesKey", "time", "index", "seriesIndex")), {
|
|
3886
|
+
name: event.seriesKey
|
|
3887
|
+
});
|
|
3888
|
+
delete payload.seriesKey;
|
|
3889
|
+
if (event.rowContext) {
|
|
3890
|
+
Object.assign(
|
|
3891
|
+
payload,
|
|
3892
|
+
Object.keys(event.rowContext).reduce((acc, fieldName) => {
|
|
3893
|
+
acc[`row.${fieldName}.value`] = event.rowContext[fieldName];
|
|
3894
|
+
return acc;
|
|
3895
|
+
}, {})
|
|
3896
|
+
);
|
|
3897
|
+
}
|
|
3898
|
+
const updatedPayload = appendTrellisToPayload(payload, trellisKey, trellisSplitBy);
|
|
3899
|
+
if (!hasMouseoverPayloadChanged(updatedPayload, previousMouseoverPayloadRef.current)) {
|
|
3900
|
+
return;
|
|
3901
|
+
}
|
|
3902
|
+
lastPayloadRef.current = updatedPayload;
|
|
3903
|
+
lastOriginalEventRef.current = event;
|
|
3904
|
+
previousMouseoverPayloadRef.current = __spreadValues({}, updatedPayload);
|
|
3905
|
+
if (onPointMouseOver) {
|
|
3906
|
+
onPointMouseOver({
|
|
3907
|
+
type: "point.mouseover",
|
|
3908
|
+
originalEvent: event,
|
|
3909
|
+
payload: updatedPayload
|
|
3784
3910
|
});
|
|
3785
|
-
delete payload.seriesKey;
|
|
3786
|
-
if (event.rowContext) {
|
|
3787
|
-
Object.assign(
|
|
3788
|
-
payload,
|
|
3789
|
-
Object.keys(event.rowContext).reduce((acc, fieldName) => {
|
|
3790
|
-
acc[`row.${fieldName}.value`] = event.rowContext[fieldName];
|
|
3791
|
-
return acc;
|
|
3792
|
-
}, {})
|
|
3793
|
-
);
|
|
3794
|
-
}
|
|
3795
|
-
const updatedPayload = appendTrellisToPayload(payload, trellisKey, trellisSplitBy);
|
|
3796
|
-
if (!hasMouseoverPayloadChanged(updatedPayload, previousMouseoverPayloadRef.current)) {
|
|
3797
|
-
return;
|
|
3798
|
-
}
|
|
3799
|
-
lastPayloadRef.current = updatedPayload;
|
|
3800
|
-
lastOriginalEventRef.current = event;
|
|
3801
|
-
previousMouseoverPayloadRef.current = __spreadValues({}, updatedPayload);
|
|
3802
|
-
if (onPointMouseOver) {
|
|
3803
|
-
onPointMouseOver({
|
|
3804
|
-
type: "point.mouseover",
|
|
3805
|
-
originalEvent: event,
|
|
3806
|
-
payload: updatedPayload
|
|
3807
|
-
});
|
|
3808
|
-
}
|
|
3809
3911
|
}
|
|
3810
3912
|
},
|
|
3811
|
-
[onPointMouseOver, onPointMouseOut, trellisKey, trellisSplitBy]
|
|
3913
|
+
[onPointMouseOver, onPointMouseOut, trellisKey, trellisSplitBy, handleCrosshairMouseout]
|
|
3812
3914
|
);
|
|
3813
3915
|
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}`;
|
|
3814
3916
|
const memoizedChart = (0, react_exports.useMemo)(() => {
|
|
@@ -3863,7 +3965,8 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
3863
3965
|
showXAxisLine,
|
|
3864
3966
|
showYAxisLine,
|
|
3865
3967
|
showY2AxisLine,
|
|
3866
|
-
xAxisMaxLabelParts
|
|
3968
|
+
xAxisMaxLabelParts,
|
|
3969
|
+
areaOpacity: areaOpacityForCanvas
|
|
3867
3970
|
}
|
|
3868
3971
|
));
|
|
3869
3972
|
}, [
|
|
@@ -3915,7 +4018,8 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
3915
4018
|
showYAxisLine,
|
|
3916
4019
|
showY2AxisLine,
|
|
3917
4020
|
legendMode,
|
|
3918
|
-
xAxisMaxLabelParts
|
|
4021
|
+
xAxisMaxLabelParts,
|
|
4022
|
+
areaOpacityForCanvas
|
|
3919
4023
|
]);
|
|
3920
4024
|
const memoizedVisualization = (0, react_exports.useMemo)(() => {
|
|
3921
4025
|
return /* @__PURE__ */ react_exports.createElement(VizStyleWrapper_default, { backgroundColor: bgColor }, memoizedChart);
|
|
@@ -3943,6 +4047,37 @@ var TimeSeriesChartWrapper_default = TimeSeriesChartWrapper;
|
|
|
3943
4047
|
|
|
3944
4048
|
// src/common/withDashboardViz.tsx
|
|
3945
4049
|
var SanitizedTimeSeriesChartWrapper = (0, SanitizeProps_exports.withSanitizedProps)(TimeSeriesChartWrapper_default);
|
|
4050
|
+
var buildEventCallbackProps = (supportedEvents, evaluatedOptionsToUse, onEventTrigger) => {
|
|
4051
|
+
const result = {};
|
|
4052
|
+
Object.keys(supportedEvents).forEach((eventName) => {
|
|
4053
|
+
const { parentKeys, payloadKeys } = supportedEvents[eventName];
|
|
4054
|
+
const eventCallbackPropName = (0, lodash_exports.camelCase)(`on.${eventName}`);
|
|
4055
|
+
let payload = {};
|
|
4056
|
+
if (Array.isArray(payloadKeys) && payloadKeys.length) {
|
|
4057
|
+
payloadKeys.forEach((p) => {
|
|
4058
|
+
payload[p] = evaluatedOptionsToUse[p];
|
|
4059
|
+
});
|
|
4060
|
+
}
|
|
4061
|
+
result[eventCallbackPropName] = (ev) => {
|
|
4062
|
+
if (ev == null ? void 0 : ev.payload) {
|
|
4063
|
+
payload = __spreadValues({}, ev.payload);
|
|
4064
|
+
}
|
|
4065
|
+
return onEventTrigger({
|
|
4066
|
+
originalEvent: ev,
|
|
4067
|
+
payload,
|
|
4068
|
+
type: eventName
|
|
4069
|
+
});
|
|
4070
|
+
};
|
|
4071
|
+
if (parentKeys) {
|
|
4072
|
+
for (let i = parentKeys.length - 1; i >= 0; i -= 1) {
|
|
4073
|
+
const newObject = {};
|
|
4074
|
+
newObject[parentKeys[i]] = result[eventCallbackPropName];
|
|
4075
|
+
result[eventCallbackPropName] = newObject;
|
|
4076
|
+
}
|
|
4077
|
+
}
|
|
4078
|
+
});
|
|
4079
|
+
return result;
|
|
4080
|
+
};
|
|
3946
4081
|
var withDashboardViz = (opts) => {
|
|
3947
4082
|
const {
|
|
3948
4083
|
ReactViz,
|
|
@@ -4000,9 +4135,7 @@ var withDashboardViz = (opts) => {
|
|
|
4000
4135
|
const isDownsamplingEnabledByFeatureFlag = Boolean(
|
|
4001
4136
|
featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableDownsampling
|
|
4002
4137
|
);
|
|
4003
|
-
const isTrellisFeatureFlagOn2 = Boolean(
|
|
4004
|
-
featureFlagContext && featureFlagContext.visualizations_enableTrellis
|
|
4005
|
-
);
|
|
4138
|
+
const isTrellisFeatureFlagOn2 = Boolean(featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableTrellis);
|
|
4006
4139
|
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 */;
|
|
4007
4140
|
const isAcceleratedRenderFeatureFlagOn = Boolean(
|
|
4008
4141
|
featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableAcceleratedRender
|
|
@@ -4167,38 +4300,12 @@ var withDashboardViz = (opts) => {
|
|
|
4167
4300
|
}
|
|
4168
4301
|
);
|
|
4169
4302
|
}
|
|
4170
|
-
const eventCallbackProps = {};
|
|
4171
|
-
|
|
4172
|
-
|
|
4173
|
-
|
|
4174
|
-
|
|
4175
|
-
|
|
4176
|
-
let payload = {};
|
|
4177
|
-
if (Array.isArray(payloadKeys) && payloadKeys.length) {
|
|
4178
|
-
payloadKeys.forEach((p) => {
|
|
4179
|
-
payload[p] = evaluatedOptionsToUse[p];
|
|
4180
|
-
});
|
|
4181
|
-
}
|
|
4182
|
-
eventCallbackProps[eventCallbackPropName] = (ev) => {
|
|
4183
|
-
if (ev == null ? void 0 : ev.payload) {
|
|
4184
|
-
payload = __spreadValues({}, ev.payload);
|
|
4185
|
-
}
|
|
4186
|
-
return onEventTrigger({
|
|
4187
|
-
originalEvent: ev,
|
|
4188
|
-
payload,
|
|
4189
|
-
type: eventName
|
|
4190
|
-
});
|
|
4191
|
-
};
|
|
4192
|
-
if (parentKeys) {
|
|
4193
|
-
for (let i = parentKeys.length - 1; i >= 0; i -= 1) {
|
|
4194
|
-
const newObject = {};
|
|
4195
|
-
newObject[parentKeys[i]] = eventCallbackProps[eventCallbackPropName];
|
|
4196
|
-
eventCallbackProps[eventCallbackPropName] = newObject;
|
|
4197
|
-
}
|
|
4198
|
-
}
|
|
4199
|
-
});
|
|
4200
|
-
}
|
|
4201
|
-
const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), eventCallbackProps), {
|
|
4303
|
+
const eventCallbackProps = hasEventHandlers && mode === "view" && vizConfig.supports.includes("events" /* EVENTS */) ? buildEventCallbackProps(vizConfig.events, evaluatedOptionsToUse, onEventTrigger) : {};
|
|
4304
|
+
const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), {
|
|
4305
|
+
// Align option transformation with the actual renderer selected below.
|
|
4306
|
+
// This prevents canvas-only option preservation from leaking into Highcharts mode.
|
|
4307
|
+
isAcceleratedRenderOn
|
|
4308
|
+
}), eventCallbackProps), {
|
|
4202
4309
|
themeFunc
|
|
4203
4310
|
}));
|
|
4204
4311
|
if (useAsyncEvaluatedOptions && Object.keys(evaluatedOptionsToUse).length === 0) {
|
|
@@ -4232,36 +4339,36 @@ var PresetPalettes_exports = {};
|
|
|
4232
4339
|
__export(PresetPalettes_exports, {
|
|
4233
4340
|
default: () => PresetPalettes_default
|
|
4234
4341
|
});
|
|
4235
|
-
var
|
|
4342
|
+
var defaultImport37 = __toESM(require("@splunk/visualization-color-palettes/editors/PresetPalettes"));
|
|
4236
4343
|
__reExport(PresetPalettes_exports, require("@splunk/visualization-color-palettes/editors/PresetPalettes"));
|
|
4237
|
-
var PresetPalettes_default = "default" in
|
|
4344
|
+
var PresetPalettes_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
|
|
4238
4345
|
|
|
4239
4346
|
// esm-externals:@splunk/visualization-icons
|
|
4240
4347
|
var visualization_icons_exports = {};
|
|
4241
4348
|
__export(visualization_icons_exports, {
|
|
4242
4349
|
default: () => visualization_icons_default
|
|
4243
4350
|
});
|
|
4244
|
-
var
|
|
4351
|
+
var defaultImport38 = __toESM(require("@splunk/visualization-icons"));
|
|
4245
4352
|
__reExport(visualization_icons_exports, require("@splunk/visualization-icons"));
|
|
4246
|
-
var visualization_icons_default = "default" in
|
|
4353
|
+
var visualization_icons_default = "default" in defaultImport38 ? defaultImport38.default : defaultImport38;
|
|
4247
4354
|
|
|
4248
4355
|
// esm-externals:@splunk/visualization-icons/placeholders
|
|
4249
4356
|
var placeholders_exports = {};
|
|
4250
4357
|
__export(placeholders_exports, {
|
|
4251
4358
|
default: () => placeholders_default
|
|
4252
4359
|
});
|
|
4253
|
-
var
|
|
4360
|
+
var defaultImport39 = __toESM(require("@splunk/visualization-icons/placeholders"));
|
|
4254
4361
|
__reExport(placeholders_exports, require("@splunk/visualization-icons/placeholders"));
|
|
4255
|
-
var placeholders_default = "default" in
|
|
4362
|
+
var placeholders_default = "default" in defaultImport39 ? defaultImport39.default : defaultImport39;
|
|
4256
4363
|
|
|
4257
4364
|
// esm-externals:@splunk/visualizations-shared/configUtils
|
|
4258
4365
|
var configUtils_exports = {};
|
|
4259
4366
|
__export(configUtils_exports, {
|
|
4260
4367
|
default: () => configUtils_default
|
|
4261
4368
|
});
|
|
4262
|
-
var
|
|
4369
|
+
var defaultImport40 = __toESM(require("@splunk/visualizations-shared/configUtils"));
|
|
4263
4370
|
__reExport(configUtils_exports, require("@splunk/visualizations-shared/configUtils"));
|
|
4264
|
-
var configUtils_default = "default" in
|
|
4371
|
+
var configUtils_default = "default" in defaultImport40 ? defaultImport40.default : defaultImport40;
|
|
4265
4372
|
|
|
4266
4373
|
// src/common/editorConfig/StaticMajorAndTrendLayout.js
|
|
4267
4374
|
var StaticMajorAndTrendLayout = [
|
|
@@ -4480,26 +4587,59 @@ var isTrellisEnabled = ({ options, featureFlags }) => {
|
|
|
4480
4587
|
const { splitByLayout = visualization_schemas_exports.LAYOUT_TYPE.Off } = options;
|
|
4481
4588
|
return isTrellisFeatureFlagOn({ featureFlags }) && splitByLayout === visualization_schemas_exports.LAYOUT_TYPE.Trellis;
|
|
4482
4589
|
};
|
|
4483
|
-
var
|
|
4484
|
-
|
|
4485
|
-
|
|
4486
|
-
|
|
4487
|
-
|
|
4488
|
-
|
|
4489
|
-
|
|
4490
|
-
|
|
4491
|
-
|
|
4492
|
-
|
|
4493
|
-
|
|
4494
|
-
|
|
4495
|
-
|
|
4496
|
-
|
|
4497
|
-
|
|
4498
|
-
|
|
4499
|
-
|
|
4500
|
-
|
|
4501
|
-
|
|
4502
|
-
|
|
4590
|
+
var sortByValuesBase = [
|
|
4591
|
+
{ label: (0, i18n_exports._)("Result"), value: "result" },
|
|
4592
|
+
{ label: (0, i18n_exports._)("Name"), value: "name" }
|
|
4593
|
+
];
|
|
4594
|
+
var sortByValuesWithValue = [...sortByValuesBase, { label: (0, i18n_exports._)("Value"), value: "value" }];
|
|
4595
|
+
var sortByValuesWithValueAndTrend = [
|
|
4596
|
+
...sortByValuesBase,
|
|
4597
|
+
{ label: (0, i18n_exports._)("Value"), value: "value" },
|
|
4598
|
+
{ label: (0, i18n_exports._)("Trend"), value: "trend" }
|
|
4599
|
+
];
|
|
4600
|
+
var makeSortRow = (sortByValues) => [
|
|
4601
|
+
{
|
|
4602
|
+
label: (0, i18n_exports._)("Sort by"),
|
|
4603
|
+
option: "trellisSortBy",
|
|
4604
|
+
editor: "editor.select",
|
|
4605
|
+
editorProps: {
|
|
4606
|
+
values: sortByValues
|
|
4607
|
+
},
|
|
4608
|
+
showEditor: isTrellisEnabled
|
|
4609
|
+
},
|
|
4610
|
+
{
|
|
4611
|
+
label: (0, i18n_exports._)("Sort order"),
|
|
4612
|
+
option: "trellisSortOrder",
|
|
4613
|
+
editor: "editor.select",
|
|
4614
|
+
editorProps: {
|
|
4615
|
+
values: [
|
|
4616
|
+
{ label: (0, i18n_exports._)("Ascending"), value: "ascending" },
|
|
4617
|
+
{ label: (0, i18n_exports._)("Descending"), value: "descending" }
|
|
4618
|
+
]
|
|
4619
|
+
},
|
|
4620
|
+
showEditor: isTrellisEnabled
|
|
4621
|
+
}
|
|
4622
|
+
];
|
|
4623
|
+
var trellisLayoutRow = [
|
|
4624
|
+
{
|
|
4625
|
+
label: (0, i18n_exports._)("Trellis layout"),
|
|
4626
|
+
option: "splitByLayout",
|
|
4627
|
+
editor: "editor.toggle",
|
|
4628
|
+
showEditor: isTrellisFeatureFlagOn
|
|
4629
|
+
}
|
|
4630
|
+
];
|
|
4631
|
+
var trellisSplitByRow = [
|
|
4632
|
+
{
|
|
4633
|
+
label: (0, i18n_exports._)("Split by"),
|
|
4634
|
+
option: "trellisSplitBy",
|
|
4635
|
+
editor: "editor.trellisSplitBy",
|
|
4636
|
+
editorProps: {
|
|
4637
|
+
dataSourceKey: "primary"
|
|
4638
|
+
},
|
|
4639
|
+
showEditor: isTrellisEnabled
|
|
4640
|
+
}
|
|
4641
|
+
];
|
|
4642
|
+
var trellisLayoutRows = [
|
|
4503
4643
|
[
|
|
4504
4644
|
{
|
|
4505
4645
|
label: (0, i18n_exports._)("Number of columns"),
|
|
@@ -4543,6 +4683,24 @@ var TrellisEditorConfig = [
|
|
|
4543
4683
|
}
|
|
4544
4684
|
]
|
|
4545
4685
|
];
|
|
4686
|
+
var TrellisEditorConfig = [
|
|
4687
|
+
trellisLayoutRow,
|
|
4688
|
+
trellisSplitByRow,
|
|
4689
|
+
makeSortRow(sortByValuesBase),
|
|
4690
|
+
...trellisLayoutRows
|
|
4691
|
+
];
|
|
4692
|
+
var GaugeTrellisEditorConfig = [
|
|
4693
|
+
trellisLayoutRow,
|
|
4694
|
+
trellisSplitByRow,
|
|
4695
|
+
makeSortRow(sortByValuesWithValue),
|
|
4696
|
+
...trellisLayoutRows
|
|
4697
|
+
];
|
|
4698
|
+
var SingleValueTrellisEditorConfig = [
|
|
4699
|
+
trellisLayoutRow,
|
|
4700
|
+
trellisSplitByRow,
|
|
4701
|
+
makeSortRow(sortByValuesWithValueAndTrend),
|
|
4702
|
+
...trellisLayoutRows
|
|
4703
|
+
];
|
|
4546
4704
|
var TimechartTrellisEditorConfig = [
|
|
4547
4705
|
[
|
|
4548
4706
|
{
|
|
@@ -4550,7 +4708,6 @@ var TimechartTrellisEditorConfig = [
|
|
|
4550
4708
|
option: "splitByLayout",
|
|
4551
4709
|
editor: "editor.toggle",
|
|
4552
4710
|
showEditor: isTrellisFeatureFlagOn,
|
|
4553
|
-
// add help text for timecharts
|
|
4554
4711
|
editorProps: {
|
|
4555
4712
|
help: (0, i18n_exports._)(
|
|
4556
4713
|
"Y2-axis and overlay field configurations are not supported when trellis is enabled."
|
|
@@ -4559,7 +4716,9 @@ var TimechartTrellisEditorConfig = [
|
|
|
4559
4716
|
}
|
|
4560
4717
|
}
|
|
4561
4718
|
],
|
|
4562
|
-
|
|
4719
|
+
trellisSplitByRow,
|
|
4720
|
+
makeSortRow(sortByValuesBase),
|
|
4721
|
+
...trellisLayoutRows,
|
|
4563
4722
|
[
|
|
4564
4723
|
{
|
|
4565
4724
|
label: (0, i18n_exports._)("Shared y-axis scale"),
|
|
@@ -4769,7 +4928,7 @@ var editorConfig = [
|
|
|
4769
4928
|
editor: "editor.number"
|
|
4770
4929
|
}
|
|
4771
4930
|
],
|
|
4772
|
-
...
|
|
4931
|
+
...SingleValueTrellisEditorConfig
|
|
4773
4932
|
]
|
|
4774
4933
|
},
|
|
4775
4934
|
{
|
|
@@ -4784,7 +4943,7 @@ var editorConfig = [
|
|
|
4784
4943
|
presets,
|
|
4785
4944
|
value: ({ context, options }) => {
|
|
4786
4945
|
const initialPreset = getInitialPreset(context, options, presets);
|
|
4787
|
-
return initialPreset
|
|
4946
|
+
return (initialPreset == null ? void 0 : initialPreset.label) || null;
|
|
4788
4947
|
}
|
|
4789
4948
|
}
|
|
4790
4949
|
}
|
|
@@ -4897,29 +5056,76 @@ var Paginator_exports = {};
|
|
|
4897
5056
|
__export(Paginator_exports, {
|
|
4898
5057
|
default: () => Paginator_default
|
|
4899
5058
|
});
|
|
4900
|
-
var
|
|
5059
|
+
var defaultImport41 = __toESM(require("@splunk/react-ui/Paginator"));
|
|
4901
5060
|
__reExport(Paginator_exports, require("@splunk/react-ui/Paginator"));
|
|
4902
|
-
var Paginator_default = "default" in
|
|
5061
|
+
var Paginator_default = "default" in defaultImport41 ? defaultImport41.default : defaultImport41;
|
|
4903
5062
|
|
|
4904
5063
|
// esm-externals:@splunk/themes
|
|
4905
5064
|
var themes_exports = {};
|
|
4906
5065
|
__export(themes_exports, {
|
|
4907
5066
|
default: () => themes_default
|
|
4908
5067
|
});
|
|
4909
|
-
var
|
|
5068
|
+
var defaultImport42 = __toESM(require("@splunk/themes"));
|
|
4910
5069
|
__reExport(themes_exports, require("@splunk/themes"));
|
|
4911
|
-
var themes_default = "default" in
|
|
5070
|
+
var themes_default = "default" in defaultImport42 ? defaultImport42.default : defaultImport42;
|
|
4912
5071
|
|
|
4913
5072
|
// esm-externals:@splunk/themes/useSplunkTheme
|
|
4914
5073
|
var useSplunkTheme_exports = {};
|
|
4915
5074
|
__export(useSplunkTheme_exports, {
|
|
4916
5075
|
default: () => useSplunkTheme_default
|
|
4917
5076
|
});
|
|
4918
|
-
var
|
|
5077
|
+
var defaultImport43 = __toESM(require("@splunk/themes/useSplunkTheme"));
|
|
4919
5078
|
__reExport(useSplunkTheme_exports, require("@splunk/themes/useSplunkTheme"));
|
|
4920
|
-
var useSplunkTheme_default = "default" in
|
|
5079
|
+
var useSplunkTheme_default = "default" in defaultImport43 ? defaultImport43.default : defaultImport43;
|
|
4921
5080
|
|
|
4922
5081
|
// src/common/hocs/withTrellis.tsx
|
|
5082
|
+
var evaluatePanelOption = (panelDataSources, allOptions, optionKey, vizContext) => {
|
|
5083
|
+
try {
|
|
5084
|
+
const evaluated = Options_exports.Options.evaluate({ context: vizContext, options: allOptions }, panelDataSources);
|
|
5085
|
+
const num = Number(evaluated == null ? void 0 : evaluated[optionKey]);
|
|
5086
|
+
return Number.isNaN(num) ? Number.NaN : num;
|
|
5087
|
+
} catch (e) {
|
|
5088
|
+
return Number.NaN;
|
|
5089
|
+
}
|
|
5090
|
+
};
|
|
5091
|
+
var sortTrellisKeys = (keys, trellisSortBy, trellisSortOrder, modifiedDataSourceBySplitBy, mergedOptions, vizContext) => {
|
|
5092
|
+
if (trellisSortBy === "name") {
|
|
5093
|
+
keys.sort((a, b) => {
|
|
5094
|
+
const cmp = a.localeCompare(b, void 0, { numeric: true, sensitivity: "base" });
|
|
5095
|
+
return trellisSortOrder === "descending" ? -cmp : cmp;
|
|
5096
|
+
});
|
|
5097
|
+
} else if (trellisSortBy === "value" || trellisSortBy === "trend") {
|
|
5098
|
+
let optionKey;
|
|
5099
|
+
if (trellisSortBy === "trend") {
|
|
5100
|
+
optionKey = "trendValue";
|
|
5101
|
+
} else {
|
|
5102
|
+
optionKey = mergedOptions.value !== void 0 ? "value" : "majorValue";
|
|
5103
|
+
}
|
|
5104
|
+
keys.sort((a, b) => {
|
|
5105
|
+
const valA = evaluatePanelOption(
|
|
5106
|
+
modifiedDataSourceBySplitBy[a],
|
|
5107
|
+
mergedOptions,
|
|
5108
|
+
optionKey,
|
|
5109
|
+
vizContext
|
|
5110
|
+
);
|
|
5111
|
+
const valB = evaluatePanelOption(
|
|
5112
|
+
modifiedDataSourceBySplitBy[b],
|
|
5113
|
+
mergedOptions,
|
|
5114
|
+
optionKey,
|
|
5115
|
+
vizContext
|
|
5116
|
+
);
|
|
5117
|
+
const nanA = Number.isNaN(valA);
|
|
5118
|
+
const nanB = Number.isNaN(valB);
|
|
5119
|
+
if (nanA && nanB) return 0;
|
|
5120
|
+
if (nanA) return 1;
|
|
5121
|
+
if (nanB) return -1;
|
|
5122
|
+
const cmp = valA - valB;
|
|
5123
|
+
return trellisSortOrder === "descending" ? -cmp : cmp;
|
|
5124
|
+
});
|
|
5125
|
+
} else if (trellisSortOrder === "descending") {
|
|
5126
|
+
keys.reverse();
|
|
5127
|
+
}
|
|
5128
|
+
};
|
|
4923
5129
|
var TrellisContainer = styled_components_default.div`
|
|
4924
5130
|
overflow: hidden;
|
|
4925
5131
|
display: flex;
|
|
@@ -4964,6 +5170,14 @@ var showErrorMessage = (errorCode, width, height) => {
|
|
|
4964
5170
|
}
|
|
4965
5171
|
return /* @__PURE__ */ react_exports.createElement(Message_default, { width, height, message: (0, i18n_exports._)("Error render in trellis"), level: "info" });
|
|
4966
5172
|
};
|
|
5173
|
+
var resolveTrellisSplitBy = (trellisSplitBy, fields) => {
|
|
5174
|
+
var _a;
|
|
5175
|
+
if (trellisSplitBy && trellisSplitBy.length > 0) {
|
|
5176
|
+
return trellisSplitBy;
|
|
5177
|
+
}
|
|
5178
|
+
const splitByPossibleFields = (0, trellisUtils_exports.getAllPossibleSplitByFields)(fields);
|
|
5179
|
+
return ((_a = splitByPossibleFields.fields) == null ? void 0 : _a.length) ? splitByPossibleFields.fields[0] : AGGREGATIONS;
|
|
5180
|
+
};
|
|
4967
5181
|
var withTrellis = (Viz) => {
|
|
4968
5182
|
const VizWithTrellis = (opts) => {
|
|
4969
5183
|
const cachedHandleResize = react_exports.useCallback((w, h) => {
|
|
@@ -4972,7 +5186,7 @@ var withTrellis = (Viz) => {
|
|
|
4972
5186
|
}, []);
|
|
4973
5187
|
const [containerWidth, setContainerWidth] = react_exports.useState(Number(opts.width));
|
|
4974
5188
|
const [containerHeight, setContainerHeight] = react_exports.useState(Number(opts.height));
|
|
4975
|
-
const _a = opts, { options = {}, height, width } = _a, otherProps = __objRest(_a, ["options", "height", "width"]);
|
|
5189
|
+
const _a = opts, { options = {}, context = {}, height, width } = _a, otherProps = __objRest(_a, ["options", "context", "height", "width"]);
|
|
4976
5190
|
const defaultOptions = (0, JSONSchemaUtils_exports.pickFieldFromJSONSchema)(Viz.config.optionsSchema, "default");
|
|
4977
5191
|
const mergedOptions = (0, hocUtils_exports.deepMergeWithArrayPrimitiveOverrides)({}, options, defaultOptions);
|
|
4978
5192
|
const {
|
|
@@ -4982,6 +5196,8 @@ var withTrellis = (Viz) => {
|
|
|
4982
5196
|
trellisRowHeight,
|
|
4983
5197
|
splitByLayout,
|
|
4984
5198
|
trellisSplitBy,
|
|
5199
|
+
trellisSortBy,
|
|
5200
|
+
trellisSortOrder,
|
|
4985
5201
|
trellisSharedScale,
|
|
4986
5202
|
stackMode,
|
|
4987
5203
|
yAxisMin,
|
|
@@ -5050,7 +5266,7 @@ var withTrellis = (Viz) => {
|
|
|
5050
5266
|
}, [pageCount, trellisSplitBy]);
|
|
5051
5267
|
(0, react_exports.useEffect)(() => {
|
|
5052
5268
|
updateDataDisplay(pageNum);
|
|
5053
|
-
}, [columns, fields, trellisSplitBy, pageNum, splitByLayout]);
|
|
5269
|
+
}, [columns, fields, trellisSplitBy, trellisSortBy, trellisSortOrder, pageNum, splitByLayout]);
|
|
5054
5270
|
const handlePageChange = (0, react_exports.useCallback)(
|
|
5055
5271
|
(event, { page }) => {
|
|
5056
5272
|
setPageNum(page);
|
|
@@ -5058,9 +5274,7 @@ var withTrellis = (Viz) => {
|
|
|
5058
5274
|
[pageNum, pagedData]
|
|
5059
5275
|
);
|
|
5060
5276
|
const featureFlagContext = react_exports.useContext(FeatureFlagContext_default);
|
|
5061
|
-
const isTrellisFeatureFlagOn2 = Boolean(
|
|
5062
|
-
featureFlagContext && featureFlagContext.visualizations_enableTrellis
|
|
5063
|
-
);
|
|
5277
|
+
const isTrellisFeatureFlagOn2 = Boolean(featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableTrellis);
|
|
5064
5278
|
if (!isTrellisFeatureFlagOn2 || !splitByLayout || splitByLayout !== visualization_schemas_exports.LAYOUT_TYPE.Trellis) {
|
|
5065
5279
|
return /* @__PURE__ */ react_exports.createElement(Viz, __spreadValues({}, opts));
|
|
5066
5280
|
}
|
|
@@ -5068,14 +5282,9 @@ var withTrellis = (Viz) => {
|
|
|
5068
5282
|
if (noColumns || noFields) {
|
|
5069
5283
|
return /* @__PURE__ */ react_exports.createElement(Message_default, { width, height, message: (0, i18n_exports._)("Loading"), level: "info" });
|
|
5070
5284
|
}
|
|
5071
|
-
|
|
5072
|
-
if (!trellisSplitBy || trellisSplitBy.length === 0) {
|
|
5073
|
-
const splitByPossibleFields = (0, trellisUtils_exports.getAllPossibleSplitByFields)(fields);
|
|
5074
|
-
currTrellisSplitBy = splitByPossibleFields.fields && splitByPossibleFields.fields.length ? splitByPossibleFields.fields[0] : AGGREGATIONS;
|
|
5075
|
-
}
|
|
5076
|
-
const splitMode = (0, trellisUtils_exports.getTrellisDataSplitterMode)(fields);
|
|
5285
|
+
const currTrellisSplitBy = resolveTrellisSplitBy(trellisSplitBy, fields);
|
|
5077
5286
|
const dataSplitResult = getTrellisDataSourcesBySplitMode(
|
|
5078
|
-
|
|
5287
|
+
(0, trellisUtils_exports.getTrellisDataSplitterMode)(fields),
|
|
5079
5288
|
dataSources,
|
|
5080
5289
|
currTrellisSplitBy
|
|
5081
5290
|
);
|
|
@@ -5084,12 +5293,19 @@ var withTrellis = (Viz) => {
|
|
|
5084
5293
|
if (!modifiedDataSourceBySplitBy || Object.keys(modifiedDataSourceBySplitBy).length === 0 || dataSplitErrorCode) {
|
|
5085
5294
|
return showErrorMessage(dataSplitErrorCode, width, height);
|
|
5086
5295
|
}
|
|
5087
|
-
const splitByKeysModified =
|
|
5088
|
-
|
|
5089
|
-
|
|
5090
|
-
|
|
5091
|
-
|
|
5092
|
-
|
|
5296
|
+
const splitByKeysModified = Object.keys(modifiedDataSourceBySplitBy);
|
|
5297
|
+
const vizContext = (0, lodash_exports.defaultsDeep)({}, context, Viz.config.defaultContext);
|
|
5298
|
+
sortTrellisKeys(
|
|
5299
|
+
splitByKeysModified,
|
|
5300
|
+
trellisSortBy,
|
|
5301
|
+
trellisSortOrder,
|
|
5302
|
+
modifiedDataSourceBySplitBy,
|
|
5303
|
+
mergedOptions,
|
|
5304
|
+
vizContext
|
|
5305
|
+
);
|
|
5306
|
+
showPaginator = splitByKeysModified.length > pageCount;
|
|
5307
|
+
splitByKeys = splitByKeysModified;
|
|
5308
|
+
totalPages = Math.ceil(splitByKeysModified.length / pageCount);
|
|
5093
5309
|
const [calculatedMin, calculatedMax] = determineMinMax(
|
|
5094
5310
|
modifiedDataSourceBySplitBy,
|
|
5095
5311
|
trellisSharedScale,
|
|
@@ -5123,6 +5339,7 @@ var withTrellis = (Viz) => {
|
|
|
5123
5339
|
/* @__PURE__ */ react_exports.createElement(
|
|
5124
5340
|
Viz,
|
|
5125
5341
|
__spreadProps(__spreadValues({}, otherProps), {
|
|
5342
|
+
context,
|
|
5126
5343
|
trellisKey: splitByKey,
|
|
5127
5344
|
trellisSplitBy: currTrellisSplitBy,
|
|
5128
5345
|
dataSources: modifiedDataSourceBySplitBy[splitByKey],
|