@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trellisUtils.d.ts","sourceRoot":"","sources":["../../src/common/utils/trellisUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,aAAa,EAUhB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,MAAM,MAAM,eAAe,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE,CAAA;CAAE,CAAC;AAChF,MAAM,WAAW,eAAe;IAC5B,gBAAgB,EAAE,eAAe,CAAC;IAClC,SAAS,EAAE,yBAAyB,GAAG,wBAAwB,GAAG,SAAS,CAAC;CAC/E;AACD,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAE3C;;;;;;;GAOG;AACH,eAAO,MAAM,qCAAqC,GAAI,YAAY;IAC9D,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;CAC9B,KAAG,eAsBH,CAAC;AAWF,eAAO,MAAM,+CAA+C,GAAI,YAAY;IACxE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;CAC9B,KAAG,eAkDH,CAAC;AAEF,eAAO,MAAM,mCAAmC,GAAI,YAAY;IAC5D,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;CAC9B,KAAG,eA4BH,CAAC;AAEF,eAAO,MAAM,+BAA+B,GACxC,YAAY;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,EAC1C,SAAS,MAAM,KAChB,eAyCF,CAAC;
|
|
1
|
+
{"version":3,"file":"trellisUtils.d.ts","sourceRoot":"","sources":["../../src/common/utils/trellisUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,aAAa,EAUhB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,MAAM,MAAM,eAAe,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE,CAAA;CAAE,CAAC;AAChF,MAAM,WAAW,eAAe;IAC5B,gBAAgB,EAAE,eAAe,CAAC;IAClC,SAAS,EAAE,yBAAyB,GAAG,wBAAwB,GAAG,SAAS,CAAC;CAC/E;AACD,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAE3C;;;;;;;GAOG;AACH,eAAO,MAAM,qCAAqC,GAAI,YAAY;IAC9D,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;CAC9B,KAAG,eAsBH,CAAC;AAWF,eAAO,MAAM,+CAA+C,GAAI,YAAY;IACxE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;CAC9B,KAAG,eAkDH,CAAC;AAEF,eAAO,MAAM,mCAAmC,GAAI,YAAY;IAC5D,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;CAC9B,KAAG,eA4BH,CAAC;AAEF,eAAO,MAAM,+BAA+B,GACxC,YAAY;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,EAC1C,SAAS,MAAM,KAChB,eAyCF,CAAC;AA+EF,eAAO,MAAM,2BAA2B,GACpC,YAAY;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,EAC1C,SAAS,MAAM,KAChB,eAwCF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oCAAoC,GAC7C,YAAY;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,EAC1C,SAAS,MAAM,EACf,YAAY,aAAa,KAC1B,eA4CF,CAAC;AAEF,eAAO,MAAM,gCAAgC,GACzC,WAAW,aAAa,EACxB,aAAa;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,EAC3C,gBAAgB,MAAM,KACvB,eA8BF,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mCAAmC,GAC5C,aAAa,OAAO,EACpB,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAC7B,MAAM,CAAC,MAAM,EAAE,MAAM,CAOvB,CAAC;AAiCF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GACxB,WAAW,eAAe,EAC1B,oBAAoB,OAAO,EAC3B,UAAU,MAAM,GAAG,MAAM,EACzB,UAAU,MAAM,GAAG,MAAM,EACzB,YAAY,MAAM,wBAWrB,CAAC"}
|
|
@@ -73,7 +73,7 @@ var dataSourcesSplitByAggregationsUnknown = (dataSource) => {
|
|
|
73
73
|
const columns = (_d = (_c = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _c.data) == null ? void 0 : _d.columns;
|
|
74
74
|
let splitDataSources = null;
|
|
75
75
|
let errorCode = null;
|
|
76
|
-
if (fields
|
|
76
|
+
if (fields == null ? void 0 : fields.length) {
|
|
77
77
|
splitDataSources = {};
|
|
78
78
|
for (let i = 0; i < fields.length; i += 1) {
|
|
79
79
|
const fieldName = fields[i].name;
|
|
@@ -124,7 +124,7 @@ var dataSourcesSplitByAggregationsTimechartAndChart = (dataSource) => {
|
|
|
124
124
|
}
|
|
125
125
|
});
|
|
126
126
|
});
|
|
127
|
-
} else if ((
|
|
127
|
+
} else if (!(splitByFields == null ? void 0 : splitByFields.length) && fields.length > 1) {
|
|
128
128
|
splitDataSources = {};
|
|
129
129
|
for (let i = 1; i < fields.length; i += 1) {
|
|
130
130
|
const fieldName = fields[i].name;
|
|
@@ -180,7 +180,7 @@ var dataSourcesSplitByModeTimechart = (dataSource, splitBy) => {
|
|
|
180
180
|
if (fields.length > 0) {
|
|
181
181
|
splitByFields = (0, trellisUtils_exports.extractSplitByFieldsChartFields)(fields);
|
|
182
182
|
}
|
|
183
|
-
if (splitByFields
|
|
183
|
+
if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
|
|
184
184
|
splitDataSources = {};
|
|
185
185
|
const dataSourceKeys = (0, trellisUtils_exports.extractDataSourceAggregationKeysChart)(fields);
|
|
186
186
|
const valueKeys = [];
|
|
@@ -211,6 +211,68 @@ var dataSourcesSplitByModeTimechart = (dataSource, splitBy) => {
|
|
|
211
211
|
}
|
|
212
212
|
return { splitDataSources, errorCode };
|
|
213
213
|
};
|
|
214
|
+
var splitRowWise = (dataSource, columns, fields, otherSplitBy, dataSourceKeys, nonDataSourceAggregations) => {
|
|
215
|
+
const splitDataSources = {};
|
|
216
|
+
const valueKeys = (0, lodash_exports.cloneDeep)(columns[0]);
|
|
217
|
+
valueKeys.forEach((val, idx) => {
|
|
218
|
+
splitDataSources[val] = (0, lodash_exports.cloneDeep)((0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"]));
|
|
219
|
+
splitDataSources[val].primary.data.fields = [];
|
|
220
|
+
if (otherSplitBy.length) {
|
|
221
|
+
splitDataSources[val].primary.data.fields = [{ name: otherSplitBy[0] }];
|
|
222
|
+
}
|
|
223
|
+
if (dataSourceKeys.length) {
|
|
224
|
+
const columnValues = [[]];
|
|
225
|
+
splitDataSources[val].primary.data.fields = [
|
|
226
|
+
...splitDataSources[val].primary.data.fields,
|
|
227
|
+
...dataSourceKeys.map((k) => ({ name: k }))
|
|
228
|
+
];
|
|
229
|
+
dataSourceKeys.forEach(() => {
|
|
230
|
+
columnValues.push([]);
|
|
231
|
+
});
|
|
232
|
+
for (let i = 1; i <= Math.ceil((fields.length - 1) / dataSourceKeys.length); i += 1) {
|
|
233
|
+
columnValues[0].push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);
|
|
234
|
+
dataSourceKeys.forEach((dskey, dsIndx) => {
|
|
235
|
+
const mul = (fields.length - 1) / dataSourceKeys.length;
|
|
236
|
+
columnValues[dsIndx + 1].push(columns[i + dsIndx * mul][idx]);
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
splitDataSources[val].primary.data.columns = columnValues;
|
|
240
|
+
} else if (nonDataSourceAggregations.length) {
|
|
241
|
+
const columnValues = [];
|
|
242
|
+
fields.forEach((aggregationField, fieldIdx) => {
|
|
243
|
+
if (fieldIdx > 0) {
|
|
244
|
+
splitDataSources[val].primary.data.fields.push(aggregationField);
|
|
245
|
+
columnValues.push([columns[fieldIdx][idx]]);
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
splitDataSources[val].primary.data.columns = columnValues;
|
|
249
|
+
}
|
|
250
|
+
});
|
|
251
|
+
return splitDataSources;
|
|
252
|
+
};
|
|
253
|
+
var splitColumnWise = (dataSource, columns, fields, otherSplitBy, dataSourceKeys) => {
|
|
254
|
+
const splitDataSources = {};
|
|
255
|
+
const valueKeys = [];
|
|
256
|
+
for (let i = 1; i < fields.length; i += 1) {
|
|
257
|
+
valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);
|
|
258
|
+
}
|
|
259
|
+
valueKeys.forEach((val) => {
|
|
260
|
+
splitDataSources[val] = (0, lodash_exports.cloneDeep)((0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"]));
|
|
261
|
+
splitDataSources[val].primary.data.fields = [
|
|
262
|
+
{ name: otherSplitBy[0] },
|
|
263
|
+
...dataSourceKeys.map((k) => ({ name: k }))
|
|
264
|
+
];
|
|
265
|
+
splitDataSources[val].primary.data.columns = [[...columns[0]]];
|
|
266
|
+
dataSourceKeys.forEach((dsKey) => {
|
|
267
|
+
fields.forEach((field, idx) => {
|
|
268
|
+
if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {
|
|
269
|
+
splitDataSources[val].primary.data.columns.push([...columns[idx]]);
|
|
270
|
+
}
|
|
271
|
+
});
|
|
272
|
+
});
|
|
273
|
+
});
|
|
274
|
+
return splitDataSources;
|
|
275
|
+
};
|
|
214
276
|
var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
|
|
215
277
|
var _a, _b, _c, _d;
|
|
216
278
|
const fields = toFieldEntries((_b = (_a = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _a.data) == null ? void 0 : _b.fields);
|
|
@@ -221,8 +283,7 @@ var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
|
|
|
221
283
|
if (fields.length > 0) {
|
|
222
284
|
splitByFields = (0, trellisUtils_exports.extractSplitByFieldsChartFields)(fields);
|
|
223
285
|
}
|
|
224
|
-
if (splitByFields
|
|
225
|
-
splitDataSources = {};
|
|
286
|
+
if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
|
|
226
287
|
const splitByFieldIdx = splitByFields.findIndex((f) => f === splitBy);
|
|
227
288
|
const otherSplitBy = splitByFields.filter((f) => f !== splitBy);
|
|
228
289
|
const dataSourceKeys = (0, trellisUtils_exports.extractDataSourceAggregationKeysChart)(fields);
|
|
@@ -233,71 +294,16 @@ var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
|
|
|
233
294
|
}
|
|
234
295
|
}
|
|
235
296
|
if (splitByFieldIdx === 0) {
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
}
|
|
245
|
-
if (dataSourceKeys.length) {
|
|
246
|
-
const columnValues = [[]];
|
|
247
|
-
splitDataSources[val].primary.data.fields = [
|
|
248
|
-
...splitDataSources[val].primary.data.fields,
|
|
249
|
-
...dataSourceKeys.map((k) => ({
|
|
250
|
-
name: k
|
|
251
|
-
}))
|
|
252
|
-
];
|
|
253
|
-
dataSourceKeys.forEach(() => {
|
|
254
|
-
columnValues.push([]);
|
|
255
|
-
});
|
|
256
|
-
for (let i = 1; i <= Math.ceil((fields.length - 1) / dataSourceKeys.length); i += 1) {
|
|
257
|
-
columnValues[0].push(
|
|
258
|
-
fields[i].splitby_value ? fields[i].splitby_value : fields[i].name
|
|
259
|
-
);
|
|
260
|
-
dataSourceKeys.forEach((dskey, dsIndx) => {
|
|
261
|
-
const mul = (fields.length - 1) / dataSourceKeys.length;
|
|
262
|
-
columnValues[dsIndx + 1].push(columns[i + dsIndx * mul][idx]);
|
|
263
|
-
});
|
|
264
|
-
}
|
|
265
|
-
splitDataSources[val].primary.data.columns = columnValues;
|
|
266
|
-
} else if (nonDataSourceAggregations.length) {
|
|
267
|
-
const columnValues = [];
|
|
268
|
-
fields.forEach((aggregationField, fieldIdx) => {
|
|
269
|
-
if (fieldIdx > 0) {
|
|
270
|
-
splitDataSources[val].primary.data.fields.push(aggregationField);
|
|
271
|
-
columnValues.push([columns[fieldIdx][idx]]);
|
|
272
|
-
}
|
|
273
|
-
});
|
|
274
|
-
splitDataSources[val].primary.data.columns = columnValues;
|
|
275
|
-
}
|
|
276
|
-
});
|
|
297
|
+
splitDataSources = splitRowWise(
|
|
298
|
+
dataSource,
|
|
299
|
+
columns,
|
|
300
|
+
fields,
|
|
301
|
+
otherSplitBy,
|
|
302
|
+
dataSourceKeys,
|
|
303
|
+
nonDataSourceAggregations
|
|
304
|
+
);
|
|
277
305
|
} else {
|
|
278
|
-
|
|
279
|
-
for (let i = 1; i < fields.length; i += 1) {
|
|
280
|
-
valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);
|
|
281
|
-
}
|
|
282
|
-
valueKeys.forEach((val) => {
|
|
283
|
-
splitDataSources[val] = (0, lodash_exports.cloneDeep)(
|
|
284
|
-
(0, lodash_exports.omit)(dataSource, ["primary.data.fields", "primary.data.columns"])
|
|
285
|
-
);
|
|
286
|
-
splitDataSources[val].primary.data.fields = [
|
|
287
|
-
{ name: otherSplitBy[0] },
|
|
288
|
-
...dataSourceKeys.map((k) => ({
|
|
289
|
-
name: k
|
|
290
|
-
}))
|
|
291
|
-
];
|
|
292
|
-
splitDataSources[val].primary.data.columns = [[...columns[0]]];
|
|
293
|
-
dataSourceKeys.forEach((dsKey) => {
|
|
294
|
-
fields.forEach((field, idx) => {
|
|
295
|
-
if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {
|
|
296
|
-
splitDataSources[val].primary.data.columns.push([...columns[idx]]);
|
|
297
|
-
}
|
|
298
|
-
});
|
|
299
|
-
});
|
|
300
|
-
});
|
|
306
|
+
splitDataSources = splitColumnWise(dataSource, columns, fields, otherSplitBy, dataSourceKeys);
|
|
301
307
|
}
|
|
302
308
|
} else {
|
|
303
309
|
errorCode = "INVALID_SPLIT_BY_FIELD";
|
|
@@ -315,7 +321,7 @@ var dataSourcesSplitByModeStatsorUnknown = (dataSource, splitBy, splitMode) => {
|
|
|
315
321
|
splitByFields = splitMode !== trellisUtils_exports.UNKNOWN ? (0, trellisUtils_exports.extractSplitByFieldsForStats)(fields) : (0, trellisUtils_exports.extractSplitByFieldsForUnknown)(fields);
|
|
316
322
|
}
|
|
317
323
|
const splitByIndex = fields.findIndex((field) => field.name === splitBy);
|
|
318
|
-
if (splitByFields
|
|
324
|
+
if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
|
|
319
325
|
const splitByColumn = (_f = (_e = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _e.data) == null ? void 0 : _f.columns[splitByIndex];
|
|
320
326
|
splitDataSources = {};
|
|
321
327
|
splitByColumn.forEach((val, idx) => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/common/utils/trellisUtils.ts", "esm-externals:lodash", "esm-externals:@splunk/visualizations-shared/trellisUtils"],
|
|
4
|
-
"sourcesContent": ["import { cloneDeep, omit } from 'lodash';\nimport { FieldEntry } from '@splunk/visualizations-shared/dataSourceUtils';\nimport {\n DataSplitMode,\n CHART,\n TIMECHART,\n STATS,\n UNKNOWN,\n extractDataSourceAggregationKeysChart,\n extractDataSourceAggregationKeysStats,\n extractSplitByFieldsChartFields,\n extractSplitByFieldsForStats,\n extractSplitByFieldsForUnknown,\n} from '@splunk/visualizations-shared/trellisUtils';\nimport { DataSource } from '../interfaces/DataSource';\n\nexport type SplitDataSource = { [key: string]: { [name: string]: DataSource } };\nexport interface DataSplitResult {\n splitDataSources: SplitDataSource;\n errorCode: 'UNKNOWN_DATA_SPLIT_MODE' | 'INVALID_SPLIT_BY_FIELD' | 'UNKNOWN';\n}\nexport const AGGREGATIONS = 'aggregations';\n\n/**\n * There can be certain SPL cmds that can produce dataSource without a specific field meta info (like group_by_rank, split_by_field etc),\n * to categorize it,\n * Example1:- `index = \"_internal\" | chart count`\n * Example2:- `index=_internal | chart avg(count), max(count)`\n * Example3:- `index = \"_internal\" | stats count`\n * Example4:- `index=_internal | stats avg(count), max(count)`\n */\nexport const dataSourcesSplitByAggregationsUnknown = (dataSource: {\n [name: string]: DataSource;\n}): DataSplitResult => {\n const fields = toFieldEntries(dataSource?.primary?.data?.fields);\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let errorCode = null;\n\n if (fields && fields.length) {\n splitDataSources = {};\n for (let i = 0; i < fields.length; i += 1) {\n const fieldName = fields[i].name;\n if (!fieldName?.startsWith('_')) {\n splitDataSources[fieldName] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[fieldName].primary.data.fields = [fields[i]];\n splitDataSources[fieldName].primary.data.columns = [columns[i]];\n }\n }\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nconst toFieldEntries = (fields: FieldEntry[] | string[] = []): FieldEntry[] => {\n return fields.map(field => {\n if (typeof field === 'string') {\n return { name: field };\n }\n return field;\n });\n};\n\nexport const dataSourcesSplitByAggregationsTimechartAndChart = (dataSource: {\n [name: string]: DataSource;\n}): DataSplitResult => {\n const fields = toFieldEntries(dataSource?.primary?.data?.fields);\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n\n if (fields.length > 0) {\n splitByFields = extractDataSourceAggregationKeysChart(fields);\n }\n\n if (splitByFields && splitByFields.length > 0) {\n splitDataSources = {};\n splitByFields.forEach(splitByField => {\n splitDataSources[splitByField] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[splitByField].primary.data.fields = [fields[0]];\n splitDataSources[splitByField].primary.data.columns = [columns[0]];\n fields.forEach((field: FieldEntry, idx) => {\n const fieldName = field?.name;\n if (\n fieldName !== '_time' &&\n !fieldName?.startsWith('_') &&\n field.data_source === splitByField\n ) {\n splitDataSources[splitByField].primary.data.fields.push(field);\n splitDataSources[splitByField].primary.data.columns.push(columns[idx]);\n }\n });\n });\n } else if ((!splitByFields || !splitByFields.length) && fields.length > 1) {\n // handle where data_source doesnot exist in fields\n // example1 :- index=_internal | timechart count\n // example2 :- index=_internal | timechart max(count) avg(count)\n splitDataSources = {};\n for (let i = 1; i < fields.length; i += 1) {\n const fieldName = fields[i].name;\n if (!fieldName?.startsWith('_')) {\n splitDataSources[fieldName] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[fieldName].primary.data.fields = [fields[0], fields[i]];\n splitDataSources[fieldName].primary.data.columns = [columns[0], columns[i]];\n }\n }\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const dataSourcesSplitByAggregationsStats = (dataSource: {\n [name: string]: DataSource;\n}): DataSplitResult => {\n const fields = toFieldEntries(dataSource?.primary?.data?.fields);\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (fields.length > 0) {\n splitByFields = extractDataSourceAggregationKeysStats(fields);\n }\n\n if (splitByFields && splitByFields.length > 0) {\n splitDataSources = {};\n splitByFields.forEach(splitByField => {\n splitDataSources[splitByField] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[splitByField].primary.data.fields = [fields[0]];\n splitDataSources[splitByField].primary.data.columns = [columns[0]];\n const idx = fields.findIndex(field => field.name === splitByField);\n if (idx > 0) {\n splitDataSources[splitByField].primary.data.fields.push(fields[idx]);\n splitDataSources[splitByField].primary.data.columns.push(columns[idx]);\n }\n });\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const dataSourcesSplitByModeTimechart = (\n dataSource: { [name: string]: DataSource },\n splitBy: string\n): DataSplitResult => {\n const fields = toFieldEntries(dataSource?.primary?.data?.fields);\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (fields.length > 0) {\n splitByFields = extractSplitByFieldsChartFields(fields);\n }\n if (splitByFields && splitByFields.indexOf(splitBy) > -1) {\n splitDataSources = {};\n const dataSourceKeys = extractDataSourceAggregationKeysChart(fields);\n const valueKeys = [];\n for (let i = 1; i < fields.length; i += 1) {\n // not including internal fields\n if (!fields[i].name?.startsWith('_')) {\n valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);\n }\n }\n valueKeys.forEach(val => {\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = [{ name: fields[0].name }];\n splitDataSources[val].primary.data.columns = [[...columns[0]]];\n dataSourceKeys.forEach(dsKey => {\n fields.forEach((field, idx) => {\n if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {\n // only push valid fields for the current split by valueKey, instead of all fields.\n splitDataSources[val].primary.data.fields.push({\n name: dsKey,\n });\n splitDataSources[val].primary.data.columns.push([...columns[idx]]);\n }\n });\n });\n });\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const dataSourcesSplitByModeChart = (\n dataSource: { [name: string]: DataSource },\n splitBy: string\n): DataSplitResult => {\n const fields = toFieldEntries(dataSource?.primary?.data?.fields);\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (fields.length > 0) {\n splitByFields = extractSplitByFieldsChartFields(fields);\n }\n if (splitByFields && splitByFields.indexOf(splitBy) > -1) {\n splitDataSources = {};\n const splitByFieldIdx = splitByFields.findIndex(f => f === splitBy);\n const otherSplitBy = splitByFields.filter(f => f !== splitBy);\n const dataSourceKeys = extractDataSourceAggregationKeysChart(fields);\n const nonDataSourceAggregations = [];\n if (\n !dataSourceKeys.length &&\n fields[0].groupby_rank === '0' &&\n fields.length &&\n !fields[1].groupby_rank\n ) {\n /* check for another aggregation scenario where no key 'data_source' will be returned (applies for both chart and stats cmd)\n For example :-\n index=_internal | chart count by status\n index = \"_internal\" | chart max(count) avg(count) by status\n index = \"_internal\" | stats max(count) avg(count) by status\n where field meta info is in this format -\n \"fields\": [\n {\n \"name\": \"status\",\n \"groupby_rank\": \"0\"\n },\n {\n \"name\": \"max(count)\"\n },\n {\n \"name\": \"avg(count)\"\n }\n ]\n */\n\n for (let i = 1; i < fields.length; i += 1) {\n nonDataSourceAggregations.push(fields[i].name);\n }\n }\n if (splitByFieldIdx === 0) {\n // if splitBy is the first field, split row wise\n const valueKeys = cloneDeep(columns[0]);\n valueKeys.forEach((val, idx) => {\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = [];\n if (otherSplitBy.length) {\n splitDataSources[val].primary.data.fields = [{ name: otherSplitBy[0] }]; // there can only be one otherSplitBy for chart cmd\n }\n if (dataSourceKeys.length) {\n const columnValues = [[]];\n splitDataSources[val].primary.data.fields = [\n ...splitDataSources[val].primary.data.fields,\n ...dataSourceKeys.map(k => ({\n name: k,\n })),\n ];\n dataSourceKeys.forEach(() => {\n columnValues.push([]);\n });\n /**\n * There can be chart SPL cmd where there are multiple data_source keys in the field meta info.\n * For eg - index = \"_internal\" | chart avg(count) max(count) by status , user) can result in fields and columns as below where \"data_source\" keys are \"avg(count)\" and \"max(count)\"\n * 'fields' : [\n {\n \"name\": \"status\",\n \"groupby_rank\": \"0\"\n },\n {\n \"name\": \"avg(count): userA\",\n \"data_source\": \"avg(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userA\"\n },\n {\n \"name\": \"avg(count): userB\",\n \"data_source\": \"avg(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userB\"\n },\n {\n \"name\": \"avg(count): userC\",\n \"data_source\": \"avg(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userC\"\n },\n {\n \"name\": \"max(count): userA\",\n \"data_source\": \"max(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userA\"\n },\n {\n \"name\": \"max(count): userB\",\n \"data_source\": \"max(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userB\"\n },\n {\n \"name\": \"max(count): userC\",\n \"data_source\": \"max(count)\",\n \"splitby_field\": \"user\",\n \"splitby_value\": \"userC\"\n },\n ]\n 'columns' : [['200','303','304','400'], ['1','2','3','4'], ['10','20','30','40'], ['100','200','300','400'], ['5','6','7','8'], ['50','60','70','80'],['500','600','700','800']]\n\n In this case when we split row wise, the data_source keys for userA appears in indices [1, 4, ..], the data_source keys for userB appears in indices [2, 5, ..]\n The resulting dataSplit for status '200', will have the fields => ['user','avg(count)', 'max(count)'] columns => [['userA', 'userB', 'userC'],['1','10','100'], ['5', '50', '500'] ]\n\n For the example above for..loop below will iterate from i= 1 to 3 (Math.ceil((fields.length - 1) / dataSourceKeys.length)). Exclude i = 0 as first column is the splitBy input.\n Since there are 2 data_source keys 'avg(count)' and 'max(count)', dataSourceKeys.forEach loop will collect individual arrays specific to the columnValues[indx] as below.\n columnValues[0] = ['userA', 'userB', 'userC']\n columnValues[1] = ['1','10','100']\n columnValues[2] = ['5', '50', '500']\n */\n for (let i = 1; i <= Math.ceil((fields.length - 1) / dataSourceKeys.length); i += 1) {\n columnValues[0].push(\n fields[i].splitby_value ? fields[i].splitby_value : fields[i].name\n );\n dataSourceKeys.forEach((dskey, dsIndx) => {\n const mul = (fields.length - 1) / dataSourceKeys.length; // This line does the index calculation\n columnValues[dsIndx + 1].push(columns[i + dsIndx * mul][idx]);\n });\n }\n splitDataSources[val].primary.data.columns = columnValues;\n } else if (nonDataSourceAggregations.length) {\n // There can be SPL where data_source field metainfo is not available and needs special handling\n // For eg :-\n // index=_internal | chart count by status\n // index = \"_internal\" | chart max(count) avg(count) by status\n // index = \"_internal\" | stats max(count) avg(count) by status\n const columnValues = [];\n fields.forEach((aggregationField, fieldIdx) => {\n if (fieldIdx > 0) {\n splitDataSources[val].primary.data.fields.push(aggregationField);\n columnValues.push([columns[fieldIdx][idx]]);\n }\n });\n splitDataSources[val].primary.data.columns = columnValues;\n }\n });\n } else {\n // split column wise\n const valueKeys = [];\n for (let i = 1; i < fields.length; i += 1) {\n valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);\n }\n valueKeys.forEach(val => {\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = [\n { name: otherSplitBy[0] },\n ...dataSourceKeys.map(k => ({\n name: k,\n })),\n ];\n splitDataSources[val].primary.data.columns = [[...columns[0]]];\n dataSourceKeys.forEach(dsKey => {\n fields.forEach((field, idx) => {\n if (\n field.data_source === dsKey &&\n (field.splitby_value === val || field.name === val)\n ) {\n splitDataSources[val].primary.data.columns.push([...columns[idx]]);\n }\n });\n });\n });\n }\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\n/**\n * This method does datasplitting for 'stats' and generic cmds('makeresults','table' etc - categoried as 'unknown' splitMode).\n * The main difference is for 'stats' cmd possible splitBy fields have 'group_by_rank' in field meta info, whereas for 'unknown' cmd it can be any fieldnames\n */\nexport const dataSourcesSplitByModeStatsorUnknown = (\n dataSource: { [name: string]: DataSource },\n splitBy: string,\n splitMode?: DataSplitMode\n): DataSplitResult => {\n const fields = toFieldEntries(dataSource?.primary?.data?.fields);\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (fields.length > 0) {\n splitByFields =\n splitMode !== UNKNOWN\n ? extractSplitByFieldsForStats(fields)\n : extractSplitByFieldsForUnknown(fields);\n }\n const splitByIndex = fields.findIndex(field => field.name === splitBy);\n if (splitByFields && splitByFields.indexOf(splitBy) > -1) {\n const splitByColumn = dataSource?.primary?.data?.columns[splitByIndex];\n splitDataSources = {};\n splitByColumn.forEach((val, idx) => {\n if (!splitDataSources[val]) {\n splitDataSources[val] = [idx];\n } else {\n splitDataSources[val].push(idx);\n }\n });\n const cloneFields = cloneDeep(fields);\n cloneFields.splice(splitByIndex, 1);\n const valueKeys = Object.keys(splitDataSources);\n valueKeys.forEach(val => {\n const valIndices = cloneDeep(splitDataSources[val]);\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = cloneFields;\n splitDataSources[val].primary.data.columns = [];\n columns.forEach((col, idx) => {\n if (idx !== splitByIndex) {\n const newCol = valIndices.map(valIdx => col[valIdx]);\n splitDataSources[val].primary.data.columns.push(newCol);\n }\n });\n });\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const getTrellisDataSourcesBySplitMode = (\n splitMode: DataSplitMode,\n dataSources: { [name: string]: DataSource },\n trellisSplitBy: string\n): DataSplitResult => {\n let result: DataSplitResult = null;\n try {\n if (splitMode === TIMECHART) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsTimechartAndChart(dataSources)\n : dataSourcesSplitByModeTimechart(dataSources, trellisSplitBy);\n } else if (splitMode === STATS) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsStats(dataSources)\n : dataSourcesSplitByModeStatsorUnknown(dataSources, trellisSplitBy, STATS);\n } else if (splitMode === CHART) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsTimechartAndChart(dataSources)\n : dataSourcesSplitByModeChart(dataSources, trellisSplitBy);\n } else if (splitMode === UNKNOWN) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsUnknown(dataSources)\n : dataSourcesSplitByModeStatsorUnknown(dataSources, trellisSplitBy, UNKNOWN);\n }\n } catch (ex) {\n // eslint-disable-next-line no-console\n console.error('getTrellisDataSourcesBySplitMode ', ex);\n result = { splitDataSources: null, errorCode: 'UNKNOWN' };\n }\n return result;\n};\n\n/**\n * sets legendDisplay to off when a visualization is in trellis mode and not set by the user\n * @param {Boolean} isTrellisOn\n * @param {DashboardVizOpts} options\n * @param {DashboardVizOpts} defaultOptions\n * @returns { {'legendDisplay', 'off'} or {} }\n */\nexport const turnOffLegendDisplayWhenTrellisIsOn = (\n isTrellisOn: boolean,\n options: Record<string, any>\n): Record<string, string> => {\n if (isTrellisOn && !options.legendDisplay) {\n return {\n legendDisplay: 'off',\n };\n }\n return {};\n};\n\n/**\n * helper fn that calculates shared min and max from the split data in trellis mode\n * @param {splitData} SplitDataSource\n * @returns {Array<number>} [min, max]\n */\nconst calculateSharedMinMax = (splitData: SplitDataSource): Array<number> => {\n let max = -Infinity;\n let min = Infinity;\n\n Object.keys(splitData).forEach(splitByKey => {\n const datasources = splitData[splitByKey];\n Object.keys(datasources).forEach(datasourceName => {\n const dataColumns = datasources[datasourceName].data.columns;\n dataColumns.forEach(column => {\n column.forEach(point => {\n // Convert the string to a number. Non-numeric strings are converted to 'nan' and will be ignored.\n const pointNumber = Number(point);\n if (pointNumber > max) {\n max = pointNumber;\n }\n if (pointNumber < min) {\n min = pointNumber;\n }\n });\n });\n });\n });\n\n return [min, max];\n};\n\n/**\n * determines min and max to use in trellis mode\n * @param {splitData} SplitDataSource\n * @returns {Array<number | string>} [min, max]\n */\nexport const determineMinMax = (\n splitData: SplitDataSource,\n trellisSharedScale: boolean,\n yAxisMin: number | string,\n yAxisMax: number | string,\n stackMode?: string\n) => {\n if (!trellisSharedScale || stackMode === 'stacked100' || (yAxisMin !== 'auto' && yAxisMax !== 'auto'))\n return [yAxisMin, yAxisMax];\n\n const [sharedMin, sharedMax] = calculateSharedMinMax(splitData);\n\n const shouldUseSharedMax = sharedMax !== -Infinity && yAxisMax === 'auto';\n const shouldUseSharedMin = sharedMin !== Infinity && yAxisMin === 'auto';\n\n return [shouldUseSharedMin ? sharedMin : yAxisMin, shouldUseSharedMax ? sharedMax : yAxisMax];\n};\n", "\nimport * as defaultImport from \"lodash\";\nexport * from \"lodash\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualizations-shared/trellisUtils\";\nexport * from \"@splunk/visualizations-shared/trellisUtils\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,wBAAA;AAAA,SAAAA,uBAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAAA;;;ACAA;AAAA;AAAA;AAAA;AACA,oBAA+B;AAC/B,2BAAc;AACd,IAAO,iBAAS,aAAa,gBAA8B,wBAAU;;;ACHrE;AAAA;AAAA;AAAA;AACA,IAAAC,iBAA+B;AAC/B,iCAAc;AACd,IAAO,uBAAS,aAAaA,iBAA8B,yBAAUA;;;AFkB9D,IAAM,eAAe;AAUrB,IAAM,wCAAwC,CAAC,eAE/B;AAjCvB;AAkCI,QAAM,SAAS,gBAAe,oDAAY,YAAZ,mBAAqB,SAArB,mBAA2B,MAAM;AAC/D,QAAM,WAAU,oDAAY,YAAZ,mBAAqB,SAArB,mBAA2B;AAC3C,MAAI,mBAAmB;AACvB,MAAI,YAAY;AAEhB,MAAI,
|
|
4
|
+
"sourcesContent": ["import { cloneDeep, omit } from 'lodash';\nimport { FieldEntry } from '@splunk/visualizations-shared/dataSourceUtils';\nimport {\n DataSplitMode,\n CHART,\n TIMECHART,\n STATS,\n UNKNOWN,\n extractDataSourceAggregationKeysChart,\n extractDataSourceAggregationKeysStats,\n extractSplitByFieldsChartFields,\n extractSplitByFieldsForStats,\n extractSplitByFieldsForUnknown,\n} from '@splunk/visualizations-shared/trellisUtils';\nimport { DataSource } from '../interfaces/DataSource';\n\nexport type SplitDataSource = { [key: string]: { [name: string]: DataSource } };\nexport interface DataSplitResult {\n splitDataSources: SplitDataSource;\n errorCode: 'UNKNOWN_DATA_SPLIT_MODE' | 'INVALID_SPLIT_BY_FIELD' | 'UNKNOWN';\n}\nexport const AGGREGATIONS = 'aggregations';\n\n/**\n * There can be certain SPL cmds that can produce dataSource without a specific field meta info (like group_by_rank, split_by_field etc),\n * to categorize it,\n * Example1:- `index = \"_internal\" | chart count`\n * Example2:- `index=_internal | chart avg(count), max(count)`\n * Example3:- `index = \"_internal\" | stats count`\n * Example4:- `index=_internal | stats avg(count), max(count)`\n */\nexport const dataSourcesSplitByAggregationsUnknown = (dataSource: {\n [name: string]: DataSource;\n}): DataSplitResult => {\n const fields = toFieldEntries(dataSource?.primary?.data?.fields);\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let errorCode = null;\n\n if (fields?.length) {\n splitDataSources = {};\n for (let i = 0; i < fields.length; i += 1) {\n const fieldName = fields[i].name;\n if (!fieldName?.startsWith('_')) {\n splitDataSources[fieldName] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[fieldName].primary.data.fields = [fields[i]];\n splitDataSources[fieldName].primary.data.columns = [columns[i]];\n }\n }\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nconst toFieldEntries = (fields: FieldEntry[] | string[] = []): FieldEntry[] => {\n return fields.map(field => {\n if (typeof field === 'string') {\n return { name: field };\n }\n return field;\n });\n};\n\nexport const dataSourcesSplitByAggregationsTimechartAndChart = (dataSource: {\n [name: string]: DataSource;\n}): DataSplitResult => {\n const fields = toFieldEntries(dataSource?.primary?.data?.fields);\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n\n if (fields.length > 0) {\n splitByFields = extractDataSourceAggregationKeysChart(fields);\n }\n\n if (splitByFields && splitByFields.length > 0) {\n splitDataSources = {};\n splitByFields.forEach(splitByField => {\n splitDataSources[splitByField] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[splitByField].primary.data.fields = [fields[0]];\n splitDataSources[splitByField].primary.data.columns = [columns[0]];\n fields.forEach((field: FieldEntry, idx) => {\n const fieldName = field?.name;\n if (\n fieldName !== '_time' &&\n !fieldName?.startsWith('_') &&\n field.data_source === splitByField\n ) {\n splitDataSources[splitByField].primary.data.fields.push(field);\n splitDataSources[splitByField].primary.data.columns.push(columns[idx]);\n }\n });\n });\n } else if (!splitByFields?.length && fields.length > 1) {\n // handle where data_source doesnot exist in fields\n // example1 :- index=_internal | timechart count\n // example2 :- index=_internal | timechart max(count) avg(count)\n splitDataSources = {};\n for (let i = 1; i < fields.length; i += 1) {\n const fieldName = fields[i].name;\n if (!fieldName?.startsWith('_')) {\n splitDataSources[fieldName] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[fieldName].primary.data.fields = [fields[0], fields[i]];\n splitDataSources[fieldName].primary.data.columns = [columns[0], columns[i]];\n }\n }\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const dataSourcesSplitByAggregationsStats = (dataSource: {\n [name: string]: DataSource;\n}): DataSplitResult => {\n const fields = toFieldEntries(dataSource?.primary?.data?.fields);\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (fields.length > 0) {\n splitByFields = extractDataSourceAggregationKeysStats(fields);\n }\n\n if (splitByFields && splitByFields.length > 0) {\n splitDataSources = {};\n splitByFields.forEach(splitByField => {\n splitDataSources[splitByField] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[splitByField].primary.data.fields = [fields[0]];\n splitDataSources[splitByField].primary.data.columns = [columns[0]];\n const idx = fields.findIndex(field => field.name === splitByField);\n if (idx > 0) {\n splitDataSources[splitByField].primary.data.fields.push(fields[idx]);\n splitDataSources[splitByField].primary.data.columns.push(columns[idx]);\n }\n });\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const dataSourcesSplitByModeTimechart = (\n dataSource: { [name: string]: DataSource },\n splitBy: string\n): DataSplitResult => {\n const fields = toFieldEntries(dataSource?.primary?.data?.fields);\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (fields.length > 0) {\n splitByFields = extractSplitByFieldsChartFields(fields);\n }\n if (splitByFields?.includes(splitBy)) {\n splitDataSources = {};\n const dataSourceKeys = extractDataSourceAggregationKeysChart(fields);\n const valueKeys = [];\n for (let i = 1; i < fields.length; i += 1) {\n // not including internal fields\n if (!fields[i].name?.startsWith('_')) {\n valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);\n }\n }\n valueKeys.forEach(val => {\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = [{ name: fields[0].name }];\n splitDataSources[val].primary.data.columns = [[...columns[0]]];\n dataSourceKeys.forEach(dsKey => {\n fields.forEach((field, idx) => {\n if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {\n // only push valid fields for the current split by valueKey, instead of all fields.\n splitDataSources[val].primary.data.fields.push({\n name: dsKey,\n });\n splitDataSources[val].primary.data.columns.push([...columns[idx]]);\n }\n });\n });\n });\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nconst splitRowWise = (\n dataSource: { [name: string]: DataSource },\n columns,\n fields,\n otherSplitBy: string[],\n dataSourceKeys: string[],\n nonDataSourceAggregations: string[]\n) => {\n const splitDataSources = {};\n const valueKeys = cloneDeep(columns[0]);\n valueKeys.forEach((val, idx) => {\n splitDataSources[val] = cloneDeep(omit(dataSource, ['primary.data.fields', 'primary.data.columns']));\n splitDataSources[val].primary.data.fields = [];\n if (otherSplitBy.length) {\n splitDataSources[val].primary.data.fields = [{ name: otherSplitBy[0] }];\n }\n if (dataSourceKeys.length) {\n const columnValues = [[]];\n splitDataSources[val].primary.data.fields = [\n ...splitDataSources[val].primary.data.fields,\n ...dataSourceKeys.map(k => ({ name: k })),\n ];\n dataSourceKeys.forEach(() => {\n columnValues.push([]);\n });\n for (let i = 1; i <= Math.ceil((fields.length - 1) / dataSourceKeys.length); i += 1) {\n columnValues[0].push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);\n dataSourceKeys.forEach((dskey, dsIndx) => {\n const mul = (fields.length - 1) / dataSourceKeys.length;\n columnValues[dsIndx + 1].push(columns[i + dsIndx * mul][idx]);\n });\n }\n splitDataSources[val].primary.data.columns = columnValues;\n } else if (nonDataSourceAggregations.length) {\n const columnValues = [];\n fields.forEach((aggregationField, fieldIdx) => {\n if (fieldIdx > 0) {\n splitDataSources[val].primary.data.fields.push(aggregationField);\n columnValues.push([columns[fieldIdx][idx]]);\n }\n });\n splitDataSources[val].primary.data.columns = columnValues;\n }\n });\n return splitDataSources;\n};\n\nconst splitColumnWise = (\n dataSource: { [name: string]: DataSource },\n columns,\n fields,\n otherSplitBy: string[],\n dataSourceKeys: string[]\n) => {\n const splitDataSources = {};\n const valueKeys = [];\n for (let i = 1; i < fields.length; i += 1) {\n valueKeys.push(fields[i].splitby_value ? fields[i].splitby_value : fields[i].name);\n }\n valueKeys.forEach(val => {\n splitDataSources[val] = cloneDeep(omit(dataSource, ['primary.data.fields', 'primary.data.columns']));\n splitDataSources[val].primary.data.fields = [\n { name: otherSplitBy[0] },\n ...dataSourceKeys.map(k => ({ name: k })),\n ];\n splitDataSources[val].primary.data.columns = [[...columns[0]]];\n dataSourceKeys.forEach(dsKey => {\n fields.forEach((field, idx) => {\n if (field.data_source === dsKey && (field.splitby_value === val || field.name === val)) {\n splitDataSources[val].primary.data.columns.push([...columns[idx]]);\n }\n });\n });\n });\n return splitDataSources;\n};\n\nexport const dataSourcesSplitByModeChart = (\n dataSource: { [name: string]: DataSource },\n splitBy: string\n): DataSplitResult => {\n const fields = toFieldEntries(dataSource?.primary?.data?.fields);\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (fields.length > 0) {\n splitByFields = extractSplitByFieldsChartFields(fields);\n }\n if (splitByFields?.includes(splitBy)) {\n const splitByFieldIdx = splitByFields.findIndex(f => f === splitBy);\n const otherSplitBy = splitByFields.filter(f => f !== splitBy);\n const dataSourceKeys = extractDataSourceAggregationKeysChart(fields);\n const nonDataSourceAggregations = [];\n if (\n !dataSourceKeys.length &&\n fields[0].groupby_rank === '0' &&\n fields.length &&\n !fields[1].groupby_rank\n ) {\n for (let i = 1; i < fields.length; i += 1) {\n nonDataSourceAggregations.push(fields[i].name);\n }\n }\n if (splitByFieldIdx === 0) {\n splitDataSources = splitRowWise(\n dataSource,\n columns,\n fields,\n otherSplitBy,\n dataSourceKeys,\n nonDataSourceAggregations\n );\n } else {\n splitDataSources = splitColumnWise(dataSource, columns, fields, otherSplitBy, dataSourceKeys);\n }\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\n/**\n * This method does datasplitting for 'stats' and generic cmds('makeresults','table' etc - categoried as 'unknown' splitMode).\n * The main difference is for 'stats' cmd possible splitBy fields have 'group_by_rank' in field meta info, whereas for 'unknown' cmd it can be any fieldnames\n */\nexport const dataSourcesSplitByModeStatsorUnknown = (\n dataSource: { [name: string]: DataSource },\n splitBy: string,\n splitMode?: DataSplitMode\n): DataSplitResult => {\n const fields = toFieldEntries(dataSource?.primary?.data?.fields);\n const columns = dataSource?.primary?.data?.columns;\n let splitDataSources = null;\n let splitByFields = [];\n let errorCode = null;\n if (fields.length > 0) {\n splitByFields =\n splitMode !== UNKNOWN\n ? extractSplitByFieldsForStats(fields)\n : extractSplitByFieldsForUnknown(fields);\n }\n const splitByIndex = fields.findIndex(field => field.name === splitBy);\n if (splitByFields?.includes(splitBy)) {\n const splitByColumn = dataSource?.primary?.data?.columns[splitByIndex];\n splitDataSources = {};\n splitByColumn.forEach((val, idx) => {\n if (!splitDataSources[val]) {\n splitDataSources[val] = [idx];\n } else {\n splitDataSources[val].push(idx);\n }\n });\n const cloneFields = cloneDeep(fields);\n cloneFields.splice(splitByIndex, 1);\n const valueKeys = Object.keys(splitDataSources);\n valueKeys.forEach(val => {\n const valIndices = cloneDeep(splitDataSources[val]);\n splitDataSources[val] = cloneDeep(\n omit(dataSource, ['primary.data.fields', 'primary.data.columns'])\n );\n splitDataSources[val].primary.data.fields = cloneFields;\n splitDataSources[val].primary.data.columns = [];\n columns.forEach((col, idx) => {\n if (idx !== splitByIndex) {\n const newCol = valIndices.map(valIdx => col[valIdx]);\n splitDataSources[val].primary.data.columns.push(newCol);\n }\n });\n });\n } else {\n errorCode = 'INVALID_SPLIT_BY_FIELD';\n }\n return { splitDataSources, errorCode };\n};\n\nexport const getTrellisDataSourcesBySplitMode = (\n splitMode: DataSplitMode,\n dataSources: { [name: string]: DataSource },\n trellisSplitBy: string\n): DataSplitResult => {\n let result: DataSplitResult = null;\n try {\n if (splitMode === TIMECHART) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsTimechartAndChart(dataSources)\n : dataSourcesSplitByModeTimechart(dataSources, trellisSplitBy);\n } else if (splitMode === STATS) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsStats(dataSources)\n : dataSourcesSplitByModeStatsorUnknown(dataSources, trellisSplitBy, STATS);\n } else if (splitMode === CHART) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsTimechartAndChart(dataSources)\n : dataSourcesSplitByModeChart(dataSources, trellisSplitBy);\n } else if (splitMode === UNKNOWN) {\n result =\n trellisSplitBy === AGGREGATIONS\n ? dataSourcesSplitByAggregationsUnknown(dataSources)\n : dataSourcesSplitByModeStatsorUnknown(dataSources, trellisSplitBy, UNKNOWN);\n }\n } catch (ex) {\n // eslint-disable-next-line no-console\n console.error('getTrellisDataSourcesBySplitMode ', ex);\n result = { splitDataSources: null, errorCode: 'UNKNOWN' };\n }\n return result;\n};\n\n/**\n * sets legendDisplay to off when a visualization is in trellis mode and not set by the user\n * @param {Boolean} isTrellisOn\n * @param {DashboardVizOpts} options\n * @param {DashboardVizOpts} defaultOptions\n * @returns { {'legendDisplay', 'off'} or {} }\n */\nexport const turnOffLegendDisplayWhenTrellisIsOn = (\n isTrellisOn: boolean,\n options: Record<string, any>\n): Record<string, string> => {\n if (isTrellisOn && !options.legendDisplay) {\n return {\n legendDisplay: 'off',\n };\n }\n return {};\n};\n\n/**\n * helper fn that calculates shared min and max from the split data in trellis mode\n * @param {splitData} SplitDataSource\n * @returns {Array<number>} [min, max]\n */\nconst calculateSharedMinMax = (splitData: SplitDataSource): Array<number> => {\n let max = -Infinity;\n let min = Infinity;\n\n Object.keys(splitData).forEach(splitByKey => {\n const datasources = splitData[splitByKey];\n Object.keys(datasources).forEach(datasourceName => {\n const dataColumns = datasources[datasourceName].data.columns;\n dataColumns.forEach(column => {\n column.forEach(point => {\n // Convert the string to a number. Non-numeric strings are converted to 'nan' and will be ignored.\n const pointNumber = Number(point);\n if (pointNumber > max) {\n max = pointNumber;\n }\n if (pointNumber < min) {\n min = pointNumber;\n }\n });\n });\n });\n });\n\n return [min, max];\n};\n\n/**\n * determines min and max to use in trellis mode\n * @param {splitData} SplitDataSource\n * @returns {Array<number | string>} [min, max]\n */\nexport const determineMinMax = (\n splitData: SplitDataSource,\n trellisSharedScale: boolean,\n yAxisMin: number | string,\n yAxisMax: number | string,\n stackMode?: string\n) => {\n if (!trellisSharedScale || stackMode === 'stacked100' || (yAxisMin !== 'auto' && yAxisMax !== 'auto'))\n return [yAxisMin, yAxisMax];\n\n const [sharedMin, sharedMax] = calculateSharedMinMax(splitData);\n\n const shouldUseSharedMax = sharedMax !== -Infinity && yAxisMax === 'auto';\n const shouldUseSharedMin = sharedMin !== Infinity && yAxisMin === 'auto';\n\n return [shouldUseSharedMin ? sharedMin : yAxisMin, shouldUseSharedMax ? sharedMax : yAxisMax];\n};\n", "\nimport * as defaultImport from \"lodash\";\nexport * from \"lodash\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualizations-shared/trellisUtils\";\nexport * from \"@splunk/visualizations-shared/trellisUtils\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["trellisUtils_exports", "defaultImport"]
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withDashboardViz.d.ts","sourceRoot":"","sources":["../src/common/withDashboardViz.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgB/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iDAAiD,CAAC;AAE9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAQvF,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAa3C,KAAK,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;AAClD,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC;IACxD,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,CAAC,EAAE,CAAC,KAAK,KAAA,KAAK,GAAG,CAAC;IACjC,yBAAyB,CAAC,EAAE,CAAC,KAAK,KAAA,KAAK,GAAG,CAAC;IAC3C,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;QACvB,WAAW,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;SAAE,CAAC;QAC3C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kBAAkB,CAAC,EAAE,CACjB,WAAW,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE,EAC3C,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC/B,OAAO,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"withDashboardViz.d.ts","sourceRoot":"","sources":["../src/common/withDashboardViz.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAgB/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iDAAiD,CAAC;AAE9E,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAQvF,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAa3C,KAAK,GAAG,GAAG,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;AAClD,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC;IACxD,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,CAAC,EAAE,CAAC,KAAK,KAAA,KAAK,GAAG,CAAC;IACjC,yBAAyB,CAAC,EAAE,CAAC,KAAK,KAAA,KAAK,GAAG,CAAC;IAC3C,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;QACvB,WAAW,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;SAAE,CAAC;QAC3C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,kBAAkB,CAAC,EAAE,CACjB,WAAW,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;KAAE,EAC3C,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC/B,OAAO,CAAC;CAChB;AAyCD;;;;GAIG;AACH,QAAA,MAAM,gBAAgB,GAAI,MAAM,gBAAgB,KAAG,GAiVlD,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|