@splunk/visualizations 28.8.0 → 28.9.1
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.config.js +2 -4
- package/Area.config.js.map +2 -2
- package/Area.js +245 -147
- package/Area.js.map +4 -4
- package/Bar.config.js +2 -4
- package/Bar.config.js.map +2 -2
- package/Bar.js +246 -148
- package/Bar.js.map +4 -4
- package/Bubble/Bubble.d.ts +3 -1
- package/Bubble/Bubble.d.ts.map +1 -1
- package/Bubble.js +216 -108
- package/Bubble.js.map +4 -4
- package/CHANGELOG.external.md +43 -1
- package/ChoroplethSvg/ChoroplethSvg.d.ts +3 -1
- package/ChoroplethSvg/ChoroplethSvg.d.ts.map +1 -1
- package/ChoroplethSvg/PureChoroplethSvg/PureChoroplethSvg.d.ts.map +1 -1
- package/ChoroplethSvg/PureChoroplethSvg/SvgMutator.d.ts.map +1 -1
- package/ChoroplethSvg.js +638 -209
- package/ChoroplethSvg.js.map +4 -4
- package/Column.config.js +2 -4
- package/Column.config.js.map +2 -2
- package/Column.js +246 -148
- package/Column.js.map +4 -4
- package/Ellipse/Ellipse.d.ts +3 -1
- package/Ellipse/Ellipse.d.ts.map +1 -1
- package/Ellipse.js +216 -105
- package/Ellipse.js.map +4 -4
- package/Events/Events.d.ts +5 -3
- package/Events/Events.d.ts.map +1 -1
- package/Events/PureEvents/FieldSummaryTooltip.d.ts.map +1 -1
- package/Events/PureEvents/PureEvents.d.ts +0 -1
- package/Events/PureEvents/PureEvents.d.ts.map +1 -1
- package/Events.js +270 -157
- package/Events.js.map +4 -4
- package/FillerGauge.js +243 -140
- package/FillerGauge.js.map +4 -4
- package/Image/Image.d.ts +3 -1
- package/Image/Image.d.ts.map +1 -1
- package/Image.js +217 -106
- package/Image.js.map +4 -4
- package/Line.config.js +2 -4
- package/Line.config.js.map +2 -2
- package/Line.js +246 -148
- package/Line.js.map +4 -4
- package/LinkGraph/LinkGraph.d.ts +3 -1
- package/LinkGraph/LinkGraph.d.ts.map +1 -1
- package/LinkGraph/PureLinkGraph/PureLinkGraphUtils.d.ts.map +1 -1
- package/LinkGraph/PureLinkGraph/components/Node.d.ts.map +1 -1
- package/LinkGraph.config.js +1 -1
- package/LinkGraph.config.js.map +2 -2
- package/LinkGraph.js +802 -682
- package/LinkGraph.js.map +4 -4
- package/Map/Map.d.ts +10 -9
- package/Map/Map.d.ts.map +1 -1
- package/Map/PureMap/BubbleLayer.d.ts.map +1 -1
- package/Map/PureMap/ChoroplethLayer.d.ts.map +1 -1
- package/Map/PureMap/ClusterLayer.d.ts.map +1 -1
- package/Map/PureMap/MapUtils.d.ts.map +1 -1
- package/Map/PureMap/MarkerWrapper.d.ts.map +1 -1
- package/Map/PureMap/PureMap.d.ts +8 -65
- package/Map/PureMap/PureMap.d.ts.map +1 -1
- package/Map/PureMap/mapWorker.d.ts +2 -0
- package/Map/PureMap/mapWorker.d.ts.map +1 -0
- package/Map.config.js +1 -1
- package/Map.config.js.map +2 -2
- package/Map.js +439 -336
- package/Map.js.map +4 -4
- package/Markdown/Markdown.d.ts +9 -1
- package/Markdown/Markdown.d.ts.map +1 -1
- package/Markdown/config.d.ts.map +1 -1
- package/Markdown.config.js +5 -0
- package/Markdown.config.js.map +2 -2
- package/Markdown.js +225 -94
- package/Markdown.js.map +3 -3
- package/MarkerGauge.js +239 -134
- package/MarkerGauge.js.map +4 -4
- package/NetworkGraph/PureNetworkGraph/PureNetworkGraph.d.ts.map +1 -1
- package/NetworkGraph/PureNetworkGraph/components/NetworkGraphSvg.d.ts +1 -0
- package/NetworkGraph/PureNetworkGraph/components/NetworkGraphSvg.d.ts.map +1 -1
- package/NetworkGraph/PureNetworkGraph/components/Node.d.ts +1 -0
- package/NetworkGraph/PureNetworkGraph/components/Node.d.ts.map +1 -1
- package/NetworkGraph/PureNetworkGraph/utils/networkGraphUtils.d.ts +3 -5
- package/NetworkGraph/PureNetworkGraph/utils/networkGraphUtils.d.ts.map +1 -1
- package/NetworkGraph.config.js +4 -2
- package/NetworkGraph.config.js.map +2 -2
- package/NetworkGraph.js +327 -188
- package/NetworkGraph.js.map +4 -4
- package/ParallelCoordinates/ParallelCoordinates.d.ts +3 -1
- package/ParallelCoordinates/ParallelCoordinates.d.ts.map +1 -1
- package/ParallelCoordinates.js +239 -128
- package/ParallelCoordinates.js.map +4 -4
- package/Pie/config.d.ts.map +1 -1
- package/Pie/pieUtils.d.ts.map +1 -1
- package/Pie.config.js +4 -2
- package/Pie.config.js.map +2 -2
- package/Pie.js +228 -125
- package/Pie.js.map +3 -3
- package/ProcessTree/ProcessTree.d.ts +3 -1
- package/ProcessTree/ProcessTree.d.ts.map +1 -1
- package/ProcessTree/PureProcessTree/PureProcessTree.d.ts +1 -0
- package/ProcessTree/PureProcessTree/PureProcessTree.d.ts.map +1 -1
- package/ProcessTree/PureProcessTree/components/ProcessTreeLeftPanel.d.ts +1 -0
- package/ProcessTree/PureProcessTree/components/ProcessTreeLeftPanel.d.ts.map +1 -1
- package/ProcessTree/PureProcessTree/hooks/useProcessTreeGraphData.d.ts +2 -1
- package/ProcessTree/PureProcessTree/hooks/useProcessTreeGraphData.d.ts.map +1 -1
- package/ProcessTree/PureProcessTree/utils/iconLoader.d.ts +2 -0
- package/ProcessTree/PureProcessTree/utils/iconLoader.d.ts.map +1 -1
- package/ProcessTree/PureProcessTree/utils/processTreeUtils.d.ts +5 -1
- package/ProcessTree/PureProcessTree/utils/processTreeUtils.d.ts.map +1 -1
- package/ProcessTree.js +435 -192
- package/ProcessTree.js.map +4 -4
- package/Punchcard/Punchcard.d.ts +3 -1
- package/Punchcard/Punchcard.d.ts.map +1 -1
- package/Punchcard.js +238 -129
- package/Punchcard.js.map +4 -4
- package/Rectangle/Rectangle.d.ts +3 -1
- package/Rectangle/Rectangle.d.ts.map +1 -1
- package/Rectangle.js +218 -116
- package/Rectangle.js.map +4 -4
- package/RichText/PureRichText/Editor/EditorPanel.d.ts +1 -4
- package/RichText/PureRichText/Editor/EditorPanel.d.ts.map +1 -1
- package/RichText/PureRichText/Editor/hooks/useConfigPanelFocus.d.ts +14 -0
- package/RichText/PureRichText/Editor/hooks/useConfigPanelFocus.d.ts.map +1 -0
- package/RichText/PureRichText/Editor/hooks/useEditorPanelSync.d.ts +15 -0
- package/RichText/PureRichText/Editor/hooks/useEditorPanelSync.d.ts.map +1 -0
- package/RichText/PureRichText/Editor/hooks/useLinkHandlers.d.ts.map +1 -1
- package/RichText/PureRichText/Editor/hooks/usePortalTarget.d.ts +9 -0
- package/RichText/PureRichText/Editor/hooks/usePortalTarget.d.ts.map +1 -0
- package/RichText/PureRichText/InnerEditor.d.ts +15 -9
- package/RichText/PureRichText/InnerEditor.d.ts.map +1 -1
- package/RichText/PureRichText/PureRichText.d.ts +5 -10
- package/RichText/PureRichText/PureRichText.d.ts.map +1 -1
- package/RichText/PureRichText/PureRichTextContext.d.ts +3 -6
- package/RichText/PureRichText/PureRichTextContext.d.ts.map +1 -1
- package/RichText/PureRichText/RichTextStyles.d.ts +5 -4
- package/RichText/PureRichText/RichTextStyles.d.ts.map +1 -1
- package/RichText/PureRichText/activeInstance.d.ts +6 -7
- package/RichText/PureRichText/activeInstance.d.ts.map +1 -1
- package/RichText/PureRichText/config.d.ts.map +1 -1
- package/RichText/PureRichText/hooks/useContentSync.d.ts +9 -9
- package/RichText/PureRichText/hooks/useContentSync.d.ts.map +1 -1
- package/RichText/PureRichText/hooks/useDashboardKeyboardNav.d.ts +2 -7
- package/RichText/PureRichText/hooks/useDashboardKeyboardNav.d.ts.map +1 -1
- package/RichText/PureRichText/hooks/useEditorSetup.d.ts +8 -4
- package/RichText/PureRichText/hooks/useEditorSetup.d.ts.map +1 -1
- package/RichText/PureRichText/hooks/useFocusHandlers.d.ts +2 -4
- package/RichText/PureRichText/hooks/useFocusHandlers.d.ts.map +1 -1
- package/RichText/PureRichText/hooks/useKeyboardShortcuts.d.ts.map +1 -1
- package/RichText/PureRichText/hooks/useMouseHandlers.d.ts +3 -7
- package/RichText/PureRichText/hooks/useMouseHandlers.d.ts.map +1 -1
- package/RichText/PureRichText/hooks/useStepFontSize.d.ts +2 -2
- package/RichText/PureRichText/hooks/useStepLineSpacing.d.ts +2 -3
- package/RichText/PureRichText/hooks/useStepLineSpacing.d.ts.map +1 -1
- package/RichText/PureRichText/hooks/useTokenMap.d.ts +13 -24
- package/RichText/PureRichText/hooks/useTokenMap.d.ts.map +1 -1
- package/RichText/PureRichText/renderers/ElementRenderer.d.ts +2 -5
- package/RichText/PureRichText/renderers/ElementRenderer.d.ts.map +1 -1
- package/RichText/PureRichText/types.d.ts +6 -0
- package/RichText/PureRichText/types.d.ts.map +1 -1
- package/RichText/PureRichText/utils/slateUtils.d.ts +26 -2
- package/RichText/PureRichText/utils/slateUtils.d.ts.map +1 -1
- package/RichText/RichText.d.ts +3 -1
- package/RichText/RichText.d.ts.map +1 -1
- package/RichText/config.d.ts.map +1 -1
- package/RichText.config.js +5 -0
- package/RichText.config.js.map +2 -2
- package/RichText.js +1848 -842
- package/RichText.js.map +4 -4
- package/Sankey/PureSankey/PureSankey.d.ts +2 -0
- package/Sankey/PureSankey/PureSankey.d.ts.map +1 -1
- package/Sankey/PureSankey/SankeyLink.d.ts +3 -1
- package/Sankey/PureSankey/SankeyLink.d.ts.map +1 -1
- package/Sankey/PureSankey/SankeyNode.d.ts +5 -2
- package/Sankey/PureSankey/SankeyNode.d.ts.map +1 -1
- package/Sankey/PureSankey/SankeyUtils.d.ts.map +1 -1
- package/Sankey/Sankey.d.ts +3 -1
- package/Sankey/Sankey.d.ts.map +1 -1
- package/Sankey.js +508 -219
- package/Sankey.js.map +4 -4
- package/Scatter.config.js +3 -5
- package/Scatter.config.js.map +2 -2
- package/Scatter.js +244 -146
- package/Scatter.js.map +4 -4
- package/SingleValue/SingleValue.d.ts.map +1 -1
- package/SingleValue.js +273 -173
- package/SingleValue.js.map +4 -4
- package/SingleValueBasic.js +4 -4
- package/SingleValueBasic.js.map +2 -2
- package/SingleValueIcon/SingleValueIcon.d.ts.map +1 -1
- package/SingleValueIcon.js +264 -164
- package/SingleValueIcon.js.map +4 -4
- package/SingleValueRadial.js +267 -167
- package/SingleValueRadial.js.map +4 -4
- package/SparkLine/SparkLine.d.ts.map +1 -1
- package/SparkLine.js.map +2 -2
- package/Table/PureTable.d.ts.map +1 -1
- package/Table/Table.d.ts +2 -5
- package/Table/Table.d.ts.map +1 -1
- package/Table/hooks.d.ts.map +1 -1
- package/Table.config.js +1 -1
- package/Table.config.js.map +2 -2
- package/Table.js +293 -271
- package/Table.js.map +4 -4
- package/Timeline/Timeline.d.ts +3 -1
- package/Timeline/Timeline.d.ts.map +1 -1
- package/Timeline.config.js +2 -2
- package/Timeline.config.js.map +2 -2
- package/Timeline.js +266 -142
- package/Timeline.js.map +4 -4
- package/Treemap/Treemap.d.ts +3 -1
- package/Treemap/Treemap.d.ts.map +1 -1
- package/Treemap.js +263 -147
- package/Treemap.js.map +4 -4
- package/common/Charting.js +8 -10
- package/common/Charting.js.map +2 -2
- package/common/ChartingApi.d.ts.map +1 -1
- package/common/ChartingApi.js +5 -2
- package/common/ChartingApi.js.map +2 -2
- package/common/DocExampleWithVizSandbox.d.ts +2 -0
- package/common/DocExampleWithVizSandbox.d.ts.map +1 -1
- package/common/DocExampleWithVizSandbox.js +54 -6
- package/common/DocExampleWithVizSandbox.js.map +2 -2
- package/common/GaugeMajorTicks.js.map +2 -2
- package/common/GaugeValueMarker.js.map +2 -2
- package/common/OptionsDoc.js +1 -1
- package/common/OptionsDoc.js.map +2 -2
- package/common/OverviewDoc.js +54 -6
- package/common/OverviewDoc.js.map +2 -2
- package/common/ThemesDoc.js.map +2 -2
- package/common/TimeSeriesChartWrapper.js +10 -9
- package/common/TimeSeriesChartWrapper.js.map +2 -2
- package/common/chartingUtils.d.ts.map +1 -1
- package/common/chartingUtils.js +12 -11
- package/common/chartingUtils.js.map +2 -2
- package/common/components/IconPlaceholder.d.ts.map +1 -1
- package/common/docUtils.d.ts.map +1 -1
- package/common/docUtils.js +15 -6
- package/common/docUtils.js.map +2 -2
- package/common/editorConfig/AxesChartDataDisplay.d.ts.map +1 -1
- package/common/gaugeUtils.d.ts.map +1 -1
- package/common/gaugeUtils.js +4 -2
- package/common/gaugeUtils.js.map +2 -2
- package/common/hooks/useSorting.d.ts.map +1 -1
- package/common/interfaces/VizEvent.d.ts +7 -0
- package/common/interfaces/VizEvent.d.ts.map +1 -1
- package/common/utils/dataUtils.d.ts.map +1 -1
- package/common/utils/dataUtils.js +6 -10
- package/common/utils/dataUtils.js.map +2 -2
- package/common/utils/featureFlagUtils.js +2 -2
- package/common/utils/featureFlagUtils.js.map +2 -2
- package/common/utils/focusUtils.js +1 -1
- package/common/utils/focusUtils.js.map +2 -2
- package/common/utils/mapUtils.d.ts.map +1 -1
- package/common/utils/mapUtils.js +17 -21
- package/common/utils/mapUtils.js.map +3 -3
- package/common/utils/singleValueUtils.js +22 -25
- package/common/utils/singleValueUtils.js.map +2 -2
- package/common/utils/textUtils.d.ts.map +1 -1
- package/common/utils/textUtils.js +37 -23
- package/common/utils/textUtils.js.map +2 -2
- package/common/utils/trellisUtils.d.ts.map +1 -1
- package/common/utils/trellisUtils.js +18 -17
- package/common/utils/trellisUtils.js.map +2 -2
- package/common/utils/urlUtils.js.map +2 -2
- package/common/utils/visualizationTheme.d.ts +15 -0
- package/common/utils/visualizationTheme.d.ts.map +1 -0
- package/common/utils/visualizationTheme.js +72 -0
- package/common/utils/visualizationTheme.js.map +7 -0
- package/common/withDashboardViz.d.ts +3 -1
- package/common/withDashboardViz.d.ts.map +1 -1
- package/common/withDashboardViz.js +216 -105
- package/common/withDashboardViz.js.map +4 -4
- package/docs-llm/map/examples-react.md +39 -39
- package/docs-llm/network-graph/options.md +2 -2
- package/docs-llm/pie/examples-json.md +195 -0
- package/docs-llm/pie/examples-react.md +123 -0
- package/docs-llm/pie/options.md +1 -1
- package/docs-llm/process-tree/options.md +3 -2
- package/package.json +32 -29
package/Column.js
CHANGED
|
@@ -181,17 +181,18 @@ __reExport(themeUtils_exports, require("@splunk/visualizations-shared/themeUtils
|
|
|
181
181
|
var themeUtils_default = "default" in defaultImport12 ? defaultImport12.default : defaultImport12;
|
|
182
182
|
|
|
183
183
|
// src/common/ChartingApi.ts
|
|
184
|
+
var DEFAULT_HIGHLIGHT_POINT = { xValue: "", seriesName: "" };
|
|
184
185
|
var ChartingApiFunctional = class {
|
|
185
186
|
// eslint-disable-next-line no-useless-constructor
|
|
186
187
|
constructor(chartRef) {
|
|
187
|
-
this
|
|
188
|
+
__publicField(this, "chartRef", chartRef);
|
|
188
189
|
}
|
|
189
190
|
/**
|
|
190
191
|
* Allows users to programmatically highlight a point on the chart
|
|
191
192
|
*
|
|
192
193
|
* @memberof ChartingApiFunctional
|
|
193
194
|
*/
|
|
194
|
-
highlight({ xValue, seriesName } =
|
|
195
|
+
highlight({ xValue, seriesName } = DEFAULT_HIGHLIGHT_POINT) {
|
|
195
196
|
this.getChart().highlight(xValue, seriesName);
|
|
196
197
|
}
|
|
197
198
|
/**
|
|
@@ -273,7 +274,7 @@ var largestTriangleThreeBuckets = (data, threshold, preferredDownsampleIndices)
|
|
|
273
274
|
let avgY = 0;
|
|
274
275
|
let avgRangeStart = Math.floor((i + 1) * every) + 1;
|
|
275
276
|
let avgRangeEnd = Math.floor((i + 2) * every) + 1;
|
|
276
|
-
avgRangeEnd = avgRangeEnd
|
|
277
|
+
avgRangeEnd = Math.min(avgRangeEnd, dataLength);
|
|
277
278
|
const avgRangeLength = avgRangeEnd - avgRangeStart;
|
|
278
279
|
for (; avgRangeStart < avgRangeEnd; avgRangeStart++) {
|
|
279
280
|
avgX += Number(data[avgRangeStart][0]);
|
|
@@ -308,9 +309,9 @@ var largestTriangleThreeBuckets = (data, threshold, preferredDownsampleIndices)
|
|
|
308
309
|
};
|
|
309
310
|
var strictlyCoerceYColumn = (column, options) => {
|
|
310
311
|
const isNullCoercionEnabled = options.nullValueDisplay === "zero";
|
|
311
|
-
const canLooselyCoerceSomeValues = column.
|
|
312
|
+
const canLooselyCoerceSomeValues = column.some(
|
|
312
313
|
(value) => (0, numberUtils_exports.startsWithNumber)(`${value}`) || isNullCoercionEnabled && value === null
|
|
313
|
-
)
|
|
314
|
+
);
|
|
314
315
|
const coercedColumn = [];
|
|
315
316
|
const canDownsampleColumn = !column.some((value) => {
|
|
316
317
|
const coercedValue = Number(value);
|
|
@@ -329,7 +330,7 @@ var strictlyCoerceYColumn = (column, options) => {
|
|
|
329
330
|
};
|
|
330
331
|
var strictlyCoerceXColumn = (column, fieldType) => {
|
|
331
332
|
if (fieldType === "number") {
|
|
332
|
-
const coercedXColumn = column.map(
|
|
333
|
+
const coercedXColumn = column.map(Number);
|
|
333
334
|
if (isColumnStrictlyIncreasing(coercedXColumn, fieldType)) {
|
|
334
335
|
return coercedXColumn;
|
|
335
336
|
}
|
|
@@ -383,12 +384,8 @@ var calculateDownsamplingThreshold = ({
|
|
|
383
384
|
}
|
|
384
385
|
const fullSeries = (_c = primaryDataSource == null ? void 0 : primaryDataSource.data) == null ? void 0 : _c.columns[xFieldIndex];
|
|
385
386
|
const downsampledSeries = currentTarget.dataSet.seriesList[downsampledXFieldIndex];
|
|
386
|
-
const firstIndex = fullSeries.
|
|
387
|
-
|
|
388
|
-
});
|
|
389
|
-
const lastIndex = fullSeries.findIndex((x) => {
|
|
390
|
-
return downsampledSeries[endXIndex] === x;
|
|
391
|
-
});
|
|
387
|
+
const firstIndex = fullSeries.indexOf(downsampledSeries[startXIndex]);
|
|
388
|
+
const lastIndex = fullSeries.indexOf(downsampledSeries[endXIndex]);
|
|
392
389
|
if (firstIndex >= 0 && lastIndex >= 0 && firstIndex <= lastIndex) {
|
|
393
390
|
return calculateThresholdOnRangeSelect({
|
|
394
391
|
firstIndex,
|
|
@@ -880,7 +877,7 @@ var Charting = (props) => {
|
|
|
880
877
|
const payload = appendTrellisToPayload(props, {
|
|
881
878
|
width,
|
|
882
879
|
height,
|
|
883
|
-
currentTime:
|
|
880
|
+
currentTime: Date.now()
|
|
884
881
|
});
|
|
885
882
|
chart.current.prepareAndDraw(chartData, updatedOptions, () => {
|
|
886
883
|
onEventTrigger({
|
|
@@ -905,7 +902,7 @@ var Charting = (props) => {
|
|
|
905
902
|
needsInit.current = false;
|
|
906
903
|
needsRedraw.current = false;
|
|
907
904
|
} catch (e) {
|
|
908
|
-
|
|
905
|
+
globalThis.console.error("Caught error rendering chart:", e);
|
|
909
906
|
}
|
|
910
907
|
};
|
|
911
908
|
const onContainerMount = (chartingContainer) => {
|
|
@@ -1562,10 +1559,8 @@ var AxesChartDataDisplayColumn = {
|
|
|
1562
1559
|
};
|
|
1563
1560
|
var AxesChartDataDisplayLine = {
|
|
1564
1561
|
label: AxesChartDataDisplayBase.label,
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
...AxesChartDataDisplayBase.layout.slice(1)
|
|
1568
|
-
]
|
|
1562
|
+
// remove stacked mode editor
|
|
1563
|
+
layout: AxesChartDataDisplayBase.layout.slice(1)
|
|
1569
1564
|
};
|
|
1570
1565
|
|
|
1571
1566
|
// src/common/editorConfig/BackgroundColor.ts
|
|
@@ -2700,7 +2695,10 @@ var useSortingParams = ({ requestParams, onRequestParamsChange }) => {
|
|
|
2700
2695
|
onSort = (e, { sortKey, sortDir }) => {
|
|
2701
2696
|
if (typeof sortKey === "string") {
|
|
2702
2697
|
const nextSortDir = (0, lodash_exports.has)(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : "none";
|
|
2703
|
-
onRequestParamsChange(
|
|
2698
|
+
onRequestParamsChange(__spreadProps(__spreadValues({}, requestParams), {
|
|
2699
|
+
offset: 0,
|
|
2700
|
+
sort: { [sortKey]: nextSortDir }
|
|
2701
|
+
}));
|
|
2704
2702
|
} else {
|
|
2705
2703
|
onRequestParamsChange(requestParams);
|
|
2706
2704
|
}
|
|
@@ -2826,7 +2824,7 @@ var Cover = styled_components_default.div`
|
|
|
2826
2824
|
bottom: 0;
|
|
2827
2825
|
`;
|
|
2828
2826
|
var Blocker = styled_components_default.div.attrs({
|
|
2829
|
-
"data-splunk-visualization-version": "28.
|
|
2827
|
+
"data-splunk-visualization-version": "28.9.1 - fba477a41"
|
|
2830
2828
|
})`
|
|
2831
2829
|
position: relative;
|
|
2832
2830
|
width: 100%;
|
|
@@ -2852,6 +2850,15 @@ var defaultImport32 = __toESM(require("@splunk/visualizations-shared/colorUtils"
|
|
|
2852
2850
|
__reExport(colorUtils_exports, require("@splunk/visualizations-shared/colorUtils"));
|
|
2853
2851
|
var colorUtils_default = "default" in defaultImport32 ? defaultImport32.default : defaultImport32;
|
|
2854
2852
|
|
|
2853
|
+
// esm-externals:@splunk/themes
|
|
2854
|
+
var themes_exports = {};
|
|
2855
|
+
__export(themes_exports, {
|
|
2856
|
+
default: () => themes_default
|
|
2857
|
+
});
|
|
2858
|
+
var defaultImport33 = __toESM(require("@splunk/themes"));
|
|
2859
|
+
__reExport(themes_exports, require("@splunk/themes"));
|
|
2860
|
+
var themes_default = "default" in defaultImport33 ? defaultImport33.default : defaultImport33;
|
|
2861
|
+
|
|
2855
2862
|
// src/common/hocs/FixedSizeContainer.tsx
|
|
2856
2863
|
var Item = styled_components_default.div.attrs(({ width }) => ({
|
|
2857
2864
|
style: {
|
|
@@ -2907,7 +2914,7 @@ var withFixedSizeContainer = (Viz) => {
|
|
|
2907
2914
|
FixSizeItem,
|
|
2908
2915
|
{
|
|
2909
2916
|
"data-test": "fix-size-item",
|
|
2910
|
-
"data-splunk-visualization-version": "28.
|
|
2917
|
+
"data-splunk-visualization-version": "28.9.1 - fba477a41",
|
|
2911
2918
|
width,
|
|
2912
2919
|
height,
|
|
2913
2920
|
backgroundColor
|
|
@@ -2928,6 +2935,14 @@ var shouldShowIconPlaceholder = (dataSources, loading = false) => {
|
|
|
2928
2935
|
const noFields = fields === void 0;
|
|
2929
2936
|
return loading || noData || noFields;
|
|
2930
2937
|
};
|
|
2938
|
+
var PlaceholderContainer = styled_components_default.div`
|
|
2939
|
+
/* The inline token color wins when supported. Older browsers discard an
|
|
2940
|
+
unsupported oklch value and retain this inherited fallback instead. */
|
|
2941
|
+
color: ${(0, themes_exports.pick)({
|
|
2942
|
+
dark: "#fafafa",
|
|
2943
|
+
light: "#2c2c2c"
|
|
2944
|
+
})};
|
|
2945
|
+
`;
|
|
2931
2946
|
var IconPlaceholder = (props) => {
|
|
2932
2947
|
const {
|
|
2933
2948
|
width = SplunkVisualization_default.defaults.width,
|
|
@@ -2942,7 +2957,6 @@ var IconPlaceholder = (props) => {
|
|
|
2942
2957
|
style: {
|
|
2943
2958
|
left: "50%",
|
|
2944
2959
|
top: "50%",
|
|
2945
|
-
color: iconColor,
|
|
2946
2960
|
opacity: 0.15,
|
|
2947
2961
|
position: "absolute",
|
|
2948
2962
|
transform: "translate(-50%, -50%)"
|
|
@@ -2952,7 +2966,14 @@ var IconPlaceholder = (props) => {
|
|
|
2952
2966
|
"data-test": "icon-placeholder"
|
|
2953
2967
|
});
|
|
2954
2968
|
}
|
|
2955
|
-
return /* @__PURE__ */ react_exports.createElement(
|
|
2969
|
+
return /* @__PURE__ */ react_exports.createElement(
|
|
2970
|
+
PlaceholderContainer,
|
|
2971
|
+
{
|
|
2972
|
+
"data-test": "icon-placeholder-container",
|
|
2973
|
+
style: { width, height, background: backgroundColor, color: iconColor }
|
|
2974
|
+
},
|
|
2975
|
+
content
|
|
2976
|
+
);
|
|
2956
2977
|
};
|
|
2957
2978
|
var IconPlaceholder_default = FixedSizeContainer_default(IconPlaceholder);
|
|
2958
2979
|
|
|
@@ -3155,16 +3176,16 @@ var FeatureFlags_exports = {};
|
|
|
3155
3176
|
__export(FeatureFlags_exports, {
|
|
3156
3177
|
default: () => FeatureFlags_default
|
|
3157
3178
|
});
|
|
3158
|
-
var
|
|
3179
|
+
var defaultImport34 = __toESM(require("@splunk/visualization-context/FeatureFlags"));
|
|
3159
3180
|
__reExport(FeatureFlags_exports, require("@splunk/visualization-context/FeatureFlags"));
|
|
3160
|
-
var FeatureFlags_default = "default" in
|
|
3181
|
+
var FeatureFlags_default = "default" in defaultImport34 ? defaultImport34.default : defaultImport34;
|
|
3161
3182
|
|
|
3162
3183
|
// src/common/utils/featureFlagUtils.ts
|
|
3163
3184
|
var getFeatureFlag = (context, flagName) => {
|
|
3164
|
-
if (context && Object.keys(context).
|
|
3185
|
+
if (context && Object.keys(context).includes(flagName)) {
|
|
3165
3186
|
return context[flagName];
|
|
3166
3187
|
}
|
|
3167
|
-
if (Object.keys(FeatureFlags_default).
|
|
3188
|
+
if (Object.keys(FeatureFlags_default).includes(flagName)) {
|
|
3168
3189
|
return FeatureFlags_default[flagName];
|
|
3169
3190
|
}
|
|
3170
3191
|
return false;
|
|
@@ -3175,9 +3196,9 @@ var trellisUtils_exports = {};
|
|
|
3175
3196
|
__export(trellisUtils_exports, {
|
|
3176
3197
|
default: () => trellisUtils_default
|
|
3177
3198
|
});
|
|
3178
|
-
var
|
|
3199
|
+
var defaultImport35 = __toESM(require("@splunk/visualizations-shared/trellisUtils"));
|
|
3179
3200
|
__reExport(trellisUtils_exports, require("@splunk/visualizations-shared/trellisUtils"));
|
|
3180
|
-
var trellisUtils_default = "default" in
|
|
3201
|
+
var trellisUtils_default = "default" in defaultImport35 ? defaultImport35.default : defaultImport35;
|
|
3181
3202
|
|
|
3182
3203
|
// src/common/utils/trellisUtils.ts
|
|
3183
3204
|
var AGGREGATIONS = "aggregations";
|
|
@@ -3398,7 +3419,7 @@ var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
|
|
|
3398
3419
|
splitByFields = (0, trellisUtils_exports.extractSplitByFieldsChartFields)(fields);
|
|
3399
3420
|
}
|
|
3400
3421
|
if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
|
|
3401
|
-
const splitByFieldIdx = splitByFields.
|
|
3422
|
+
const splitByFieldIdx = splitByFields.indexOf(splitBy);
|
|
3402
3423
|
const otherSplitBy = splitByFields.filter((f) => f !== splitBy);
|
|
3403
3424
|
const dataSourceKeys = (0, trellisUtils_exports.extractDataSourceAggregationKeysChart)(fields);
|
|
3404
3425
|
const nonDataSourceAggregations = [];
|
|
@@ -3432,17 +3453,17 @@ var dataSourcesSplitByModeStatsorUnknown = (dataSource, splitBy, splitMode) => {
|
|
|
3432
3453
|
let splitByFields = [];
|
|
3433
3454
|
let errorCode = null;
|
|
3434
3455
|
if (fields.length > 0) {
|
|
3435
|
-
splitByFields = splitMode
|
|
3456
|
+
splitByFields = splitMode === trellisUtils_exports.UNKNOWN ? (0, trellisUtils_exports.extractSplitByFieldsForUnknown)(fields) : (0, trellisUtils_exports.extractSplitByFieldsForStats)(fields);
|
|
3436
3457
|
}
|
|
3437
3458
|
const splitByIndex = fields.findIndex((field) => field.name === splitBy);
|
|
3438
3459
|
if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
|
|
3439
3460
|
const splitByColumn = (_f = (_e = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _e.data) == null ? void 0 : _f.columns[splitByIndex];
|
|
3440
3461
|
splitDataSources = {};
|
|
3441
3462
|
splitByColumn.forEach((val, idx) => {
|
|
3442
|
-
if (
|
|
3443
|
-
splitDataSources[val] = [idx];
|
|
3444
|
-
} else {
|
|
3463
|
+
if (splitDataSources[val]) {
|
|
3445
3464
|
splitDataSources[val].push(idx);
|
|
3465
|
+
} else {
|
|
3466
|
+
splitDataSources[val] = [idx];
|
|
3446
3467
|
}
|
|
3447
3468
|
});
|
|
3448
3469
|
const cloneFields = (0, lodash_exports.cloneDeep)(fields);
|
|
@@ -3493,27 +3514,28 @@ var turnOffLegendDisplayWhenTrellisIsOn = (isTrellisOn, options) => {
|
|
|
3493
3514
|
}
|
|
3494
3515
|
return {};
|
|
3495
3516
|
};
|
|
3517
|
+
var extendMinMaxWithColumn = (column, range2) => column.reduce((acc, point) => {
|
|
3518
|
+
const pointNumber = Number(point);
|
|
3519
|
+
if (Number.isNaN(pointNumber)) {
|
|
3520
|
+
return acc;
|
|
3521
|
+
}
|
|
3522
|
+
return {
|
|
3523
|
+
min: Math.min(pointNumber, acc.min),
|
|
3524
|
+
max: Math.max(pointNumber, acc.max)
|
|
3525
|
+
};
|
|
3526
|
+
}, range2);
|
|
3496
3527
|
var calculateSharedMinMax = (splitData) => {
|
|
3497
|
-
let
|
|
3498
|
-
let min = Infinity;
|
|
3528
|
+
let range2 = { min: Infinity, max: -Infinity };
|
|
3499
3529
|
Object.keys(splitData).forEach((splitByKey) => {
|
|
3500
3530
|
const datasources = splitData[splitByKey];
|
|
3501
3531
|
Object.keys(datasources).forEach((datasourceName) => {
|
|
3502
3532
|
const dataColumns = datasources[datasourceName].data.columns;
|
|
3503
3533
|
dataColumns.forEach((column) => {
|
|
3504
|
-
column
|
|
3505
|
-
const pointNumber = Number(point);
|
|
3506
|
-
if (pointNumber > max) {
|
|
3507
|
-
max = pointNumber;
|
|
3508
|
-
}
|
|
3509
|
-
if (pointNumber < min) {
|
|
3510
|
-
min = pointNumber;
|
|
3511
|
-
}
|
|
3512
|
-
});
|
|
3534
|
+
range2 = extendMinMaxWithColumn(column, range2);
|
|
3513
3535
|
});
|
|
3514
3536
|
});
|
|
3515
3537
|
});
|
|
3516
|
-
return [min, max];
|
|
3538
|
+
return [range2.min, range2.max];
|
|
3517
3539
|
};
|
|
3518
3540
|
var determineMinMax = (splitData, trellisSharedScale, yAxisMin, yAxisMax, stackMode) => {
|
|
3519
3541
|
if (!trellisSharedScale || stackMode === "stacked100" || yAxisMin !== "auto" && yAxisMax !== "auto")
|
|
@@ -3529,9 +3551,9 @@ var visualization_canvas_exports = {};
|
|
|
3529
3551
|
__export(visualization_canvas_exports, {
|
|
3530
3552
|
default: () => visualization_canvas_default
|
|
3531
3553
|
});
|
|
3532
|
-
var
|
|
3554
|
+
var defaultImport36 = __toESM(require("@splunk/visualization-canvas"));
|
|
3533
3555
|
__reExport(visualization_canvas_exports, require("@splunk/visualization-canvas"));
|
|
3534
|
-
var visualization_canvas_default = "default" in
|
|
3556
|
+
var visualization_canvas_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
|
|
3535
3557
|
|
|
3536
3558
|
// src/common/components/VizStyleWrapper.jsx
|
|
3537
3559
|
var VizStyleWrapper = styled_components_default.div.attrs(({ dataTestKey }) => ({
|
|
@@ -3553,18 +3575,18 @@ var Triangle_exports = {};
|
|
|
3553
3575
|
__export(Triangle_exports, {
|
|
3554
3576
|
default: () => Triangle_default
|
|
3555
3577
|
});
|
|
3556
|
-
var
|
|
3578
|
+
var defaultImport37 = __toESM(require("@splunk/react-icons/Triangle"));
|
|
3557
3579
|
__reExport(Triangle_exports, require("@splunk/react-icons/Triangle"));
|
|
3558
|
-
var Triangle_default = "default" in
|
|
3580
|
+
var Triangle_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
|
|
3559
3581
|
|
|
3560
3582
|
// esm-externals:@splunk/visualizations-shared/propUtils
|
|
3561
3583
|
var propUtils_exports = {};
|
|
3562
3584
|
__export(propUtils_exports, {
|
|
3563
3585
|
default: () => propUtils_default
|
|
3564
3586
|
});
|
|
3565
|
-
var
|
|
3587
|
+
var defaultImport38 = __toESM(require("@splunk/visualizations-shared/propUtils"));
|
|
3566
3588
|
__reExport(propUtils_exports, require("@splunk/visualizations-shared/propUtils"));
|
|
3567
|
-
var propUtils_default = "default" in
|
|
3589
|
+
var propUtils_default = "default" in defaultImport38 ? defaultImport38.default : defaultImport38;
|
|
3568
3590
|
|
|
3569
3591
|
// src/common/chartingUtils.ts
|
|
3570
3592
|
var DEFAULT_LINE_WIDTH = 2;
|
|
@@ -3602,7 +3624,7 @@ var truncateData = (dataSet, truncationLimit) => {
|
|
|
3602
3624
|
if (!dataSet) {
|
|
3603
3625
|
return null;
|
|
3604
3626
|
}
|
|
3605
|
-
const limit = parseInt(truncationLimit, 10);
|
|
3627
|
+
const limit = Number.parseInt(truncationLimit, 10);
|
|
3606
3628
|
if (!limit || limit <= 0) {
|
|
3607
3629
|
return dataSet;
|
|
3608
3630
|
}
|
|
@@ -3633,7 +3655,7 @@ var convertY2AxisOptions = (_a) => {
|
|
|
3633
3655
|
const convertedOptions = __spreadValues({}, originalOptions);
|
|
3634
3656
|
if (y2Fields) {
|
|
3635
3657
|
convertedOptions["axisY2.enabled"] = true;
|
|
3636
|
-
convertedOptions["axisY2.fields"] = (0, lodash_exports.isArray)(y2Fields) ? y2Fields.filter(
|
|
3658
|
+
convertedOptions["axisY2.fields"] = (0, lodash_exports.isArray)(y2Fields) ? y2Fields.filter(Boolean).join(",") : y2Fields;
|
|
3637
3659
|
}
|
|
3638
3660
|
return convertedOptions;
|
|
3639
3661
|
};
|
|
@@ -3641,7 +3663,7 @@ var convertOverlayFields = (originalOptions) => {
|
|
|
3641
3663
|
const convertedOptions = __spreadValues({}, originalOptions);
|
|
3642
3664
|
const { overlayFields } = originalOptions;
|
|
3643
3665
|
if (overlayFields) {
|
|
3644
|
-
convertedOptions.overlayFields = Array.isArray(overlayFields) ? overlayFields.filter(
|
|
3666
|
+
convertedOptions.overlayFields = Array.isArray(overlayFields) ? overlayFields.filter(Boolean).map((field) => field.trim()).join(",") : overlayFields;
|
|
3645
3667
|
}
|
|
3646
3668
|
return convertedOptions;
|
|
3647
3669
|
};
|
|
@@ -3667,7 +3689,7 @@ var constructFieldsAndColumns = ({
|
|
|
3667
3689
|
const y2FieldsArray = toArrayForSeries(y2, y2Fields);
|
|
3668
3690
|
const y2AsArray = toArrayForSeries(y2, y2).map((series) => series == null ? void 0 : series.map(String));
|
|
3669
3691
|
y2FieldsArray.forEach((y2Field, index) => {
|
|
3670
|
-
if (yFieldsArray.
|
|
3692
|
+
if (!yFieldsArray.includes(y2Field) && y2AsArray[index]) {
|
|
3671
3693
|
fields.push({
|
|
3672
3694
|
name: y2Field
|
|
3673
3695
|
});
|
|
@@ -3700,9 +3722,9 @@ var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
|
|
|
3700
3722
|
const xAxisIsTime = xField === "_time";
|
|
3701
3723
|
return !!rangeSelectEventHandler && xAxisIsTime;
|
|
3702
3724
|
};
|
|
3703
|
-
var canvasSupportedTimeSeriesCharts = ["splunk.line", "splunk.area"];
|
|
3725
|
+
var canvasSupportedTimeSeriesCharts = /* @__PURE__ */ new Set(["splunk.line", "splunk.area"]);
|
|
3704
3726
|
var isTimeSeriesCanvasRenderSupported = (vizConfigKey) => {
|
|
3705
|
-
return canvasSupportedTimeSeriesCharts.
|
|
3727
|
+
return canvasSupportedTimeSeriesCharts.has(vizConfigKey);
|
|
3706
3728
|
};
|
|
3707
3729
|
var filterChartDataFromInternalFields = (chartData) => {
|
|
3708
3730
|
const { fields, columns } = chartData;
|
|
@@ -3718,7 +3740,7 @@ var filterChartDataFromInternalFields = (chartData) => {
|
|
|
3718
3740
|
return { fields: filteredFields, columns: filteredColumns };
|
|
3719
3741
|
};
|
|
3720
3742
|
var convert2DArrayToNumbers = (arr) => {
|
|
3721
|
-
return arr.map((subArray) => subArray.map((element) => parseFloat(element)));
|
|
3743
|
+
return arr.map((subArray) => subArray.map((element) => Number.parseFloat(element)));
|
|
3722
3744
|
};
|
|
3723
3745
|
var parseAxisValue = (val) => {
|
|
3724
3746
|
if (val === void 0 || val === null || val === "auto" || val === "") {
|
|
@@ -3756,6 +3778,7 @@ var getLegend = (props) => {
|
|
|
3756
3778
|
return (0, visualization_canvas_exports.TopLegendFactory)(__spreadValues({
|
|
3757
3779
|
wrap: true
|
|
3758
3780
|
}, commonLegendProps));
|
|
3781
|
+
// Note: By default, use right legend
|
|
3759
3782
|
default:
|
|
3760
3783
|
return (0, visualization_canvas_exports.SideLegendFactory)(__spreadValues({}, commonLegendProps));
|
|
3761
3784
|
}
|
|
@@ -3888,10 +3911,10 @@ var getSeriesOverrides = (opts) => {
|
|
|
3888
3911
|
let spanGaps;
|
|
3889
3912
|
if (nullValueMode === "gaps") {
|
|
3890
3913
|
spanGaps = false;
|
|
3891
|
-
} else if (nullValueMode
|
|
3892
|
-
spanGaps = true;
|
|
3893
|
-
} else {
|
|
3914
|
+
} else if (nullValueMode == null) {
|
|
3894
3915
|
spanGaps = void 0;
|
|
3916
|
+
} else {
|
|
3917
|
+
spanGaps = true;
|
|
3895
3918
|
}
|
|
3896
3919
|
const replaceNullsWithZero = nullValueMode === "zero" ? true : void 0;
|
|
3897
3920
|
const isAreaChart = type === "area";
|
|
@@ -4261,11 +4284,11 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4261
4284
|
y2AxisMajorUnitFromSimpleXML,
|
|
4262
4285
|
y2AxisMajorTickInterval
|
|
4263
4286
|
);
|
|
4264
|
-
const xAxisMajorTickSizeNum = xAxisMajorTickSize
|
|
4265
|
-
const yAxisMajorTickSizeNum = yAxisMajorTickSize
|
|
4266
|
-
const y2AxisMajorTickSizeNum = y2AxisMajorTickSize
|
|
4267
|
-
const yAxisMinorTickSizeNum = yAxisMinorTickSize
|
|
4268
|
-
const y2AxisMinorTickSizeNum = y2AxisMinorTickSize
|
|
4287
|
+
const xAxisMajorTickSizeNum = xAxisMajorTickSize == null ? void 0 : Number(xAxisMajorTickSize);
|
|
4288
|
+
const yAxisMajorTickSizeNum = yAxisMajorTickSize == null ? void 0 : Number(yAxisMajorTickSize);
|
|
4289
|
+
const y2AxisMajorTickSizeNum = y2AxisMajorTickSize == null ? void 0 : Number(y2AxisMajorTickSize);
|
|
4290
|
+
const yAxisMinorTickSizeNum = yAxisMinorTickSize == null ? void 0 : Number(yAxisMinorTickSize);
|
|
4291
|
+
const y2AxisMinorTickSizeNum = y2AxisMinorTickSize == null ? void 0 : Number(y2AxisMinorTickSize);
|
|
4269
4292
|
const areaOpacityForCanvas = getAreaOpacityForCanvas(areaOpacity);
|
|
4270
4293
|
const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
|
|
4271
4294
|
const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
|
|
@@ -4677,6 +4700,76 @@ var buildEventCallbackProps = (supportedEvents, evaluatedOptionsToUse, onEventTr
|
|
|
4677
4700
|
});
|
|
4678
4701
|
return result;
|
|
4679
4702
|
};
|
|
4703
|
+
var buildAllEventCallbackProps = (events, evaluatedOptionsToUse, onEventTrigger, { supportsEvents, hasEventHandlers, mode }) => {
|
|
4704
|
+
if (!supportsEvents) return {};
|
|
4705
|
+
const defaultEvents = {};
|
|
4706
|
+
const userEvents = {};
|
|
4707
|
+
Object.entries(events || {}).forEach(([eventKey, eventConfig]) => {
|
|
4708
|
+
(eventConfig.source === "default" ? defaultEvents : userEvents)[eventKey] = eventConfig;
|
|
4709
|
+
});
|
|
4710
|
+
const userProps = hasEventHandlers && mode === "view" ? buildEventCallbackProps(userEvents, evaluatedOptionsToUse, onEventTrigger) : {};
|
|
4711
|
+
return __spreadValues(__spreadValues({}, userProps), buildEventCallbackProps(defaultEvents, evaluatedOptionsToUse, onEventTrigger));
|
|
4712
|
+
};
|
|
4713
|
+
var applyContextTimezone = (localeContext) => {
|
|
4714
|
+
if (localeContext.serializedTimezone && !moment_default.getDefaultSplunkTimezone()) {
|
|
4715
|
+
moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
|
|
4716
|
+
}
|
|
4717
|
+
};
|
|
4718
|
+
var getAsyncOptionsEvaluationParams = ({
|
|
4719
|
+
visualizationID,
|
|
4720
|
+
props,
|
|
4721
|
+
optionsToEvaluate,
|
|
4722
|
+
downsampledDataSources,
|
|
4723
|
+
vizConfig,
|
|
4724
|
+
bypassCloneDeepOptionScope,
|
|
4725
|
+
lazyLoadingDataFrame
|
|
4726
|
+
}) => {
|
|
4727
|
+
return {
|
|
4728
|
+
visualizationID,
|
|
4729
|
+
props,
|
|
4730
|
+
options: __spreadValues({}, optionsToEvaluate),
|
|
4731
|
+
dataSources: downsampledDataSources,
|
|
4732
|
+
theme: vizConfig.themes,
|
|
4733
|
+
bypassCloneDeepOptionScope,
|
|
4734
|
+
lazyLoadingDataFrame
|
|
4735
|
+
};
|
|
4736
|
+
};
|
|
4737
|
+
var evaluateOptionsSync = ({
|
|
4738
|
+
optionsToEvaluate,
|
|
4739
|
+
downsampledDataSources,
|
|
4740
|
+
dataSourcesInState,
|
|
4741
|
+
dataFramesInState,
|
|
4742
|
+
setDataSourcesInState,
|
|
4743
|
+
setDataFramesInState,
|
|
4744
|
+
computeDataFrames,
|
|
4745
|
+
featureFlagContext,
|
|
4746
|
+
themeFunc
|
|
4747
|
+
}) => {
|
|
4748
|
+
let dataFrames = dataFramesInState;
|
|
4749
|
+
if (downsampledDataSources !== dataSourcesInState) {
|
|
4750
|
+
setDataSourcesInState(downsampledDataSources);
|
|
4751
|
+
dataFrames = Options_exports.Options.dataFrameFromDataSource(
|
|
4752
|
+
downsampledDataSources,
|
|
4753
|
+
getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
|
|
4754
|
+
);
|
|
4755
|
+
setDataFramesInState(dataFrames);
|
|
4756
|
+
}
|
|
4757
|
+
let mergedFrames = dataFrames;
|
|
4758
|
+
if (computeDataFrames && dataFrames) {
|
|
4759
|
+
const derivedFrames = computeDataFrames({
|
|
4760
|
+
dataSources: downsampledDataSources,
|
|
4761
|
+
options: optionsToEvaluate.options
|
|
4762
|
+
});
|
|
4763
|
+
mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
|
|
4764
|
+
}
|
|
4765
|
+
return Options_exports.Options.evaluate(
|
|
4766
|
+
optionsToEvaluate,
|
|
4767
|
+
downsampledDataSources,
|
|
4768
|
+
themeFunc,
|
|
4769
|
+
mergedFrames,
|
|
4770
|
+
getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
|
|
4771
|
+
);
|
|
4772
|
+
};
|
|
4680
4773
|
var withDashboardViz = (opts) => {
|
|
4681
4774
|
const {
|
|
4682
4775
|
ReactViz,
|
|
@@ -4708,11 +4801,7 @@ var withDashboardViz = (opts) => {
|
|
|
4708
4801
|
onRequestParamsChange = lodash_exports.noop
|
|
4709
4802
|
} = props;
|
|
4710
4803
|
const localeContext = react_exports.useContext(TimezoneContext_default);
|
|
4711
|
-
|
|
4712
|
-
if (!moment_default.getDefaultSplunkTimezone()) {
|
|
4713
|
-
moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
|
|
4714
|
-
}
|
|
4715
|
-
}
|
|
4804
|
+
applyContextTimezone(localeContext);
|
|
4716
4805
|
const themeFunc = (themeVar) => {
|
|
4717
4806
|
var _a2, _b;
|
|
4718
4807
|
return (_b = (_a2 = vizConfig.themes)[themeVar]) == null ? void 0 : _b.call(_a2, props);
|
|
@@ -4740,7 +4829,12 @@ var withDashboardViz = (opts) => {
|
|
|
4740
4829
|
featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableAcceleratedRender
|
|
4741
4830
|
);
|
|
4742
4831
|
const isAcceleratedRenderOn = isAcceleratedRenderFeatureFlagOn2 && isTimeSeriesCanvasRenderSupported(vizConfig.key) && (options == null ? void 0 : options.acceleratedRender) === true;
|
|
4743
|
-
const
|
|
4832
|
+
const bypassCloneDeepOptionScope = Boolean(
|
|
4833
|
+
getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
|
|
4834
|
+
);
|
|
4835
|
+
const lazyLoadingDataFrame = Boolean(
|
|
4836
|
+
getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
|
|
4837
|
+
);
|
|
4744
4838
|
const optionsToEvaluate = react_exports.useMemo(() => {
|
|
4745
4839
|
var _a2;
|
|
4746
4840
|
const legendDisplay = turnOffLegendDisplayWhenTrellisIsOn(isTrellisOn, options);
|
|
@@ -4779,63 +4873,74 @@ var withDashboardViz = (opts) => {
|
|
|
4779
4873
|
threshold,
|
|
4780
4874
|
isDownsamplingEnabled
|
|
4781
4875
|
});
|
|
4782
|
-
|
|
4876
|
+
const asyncOptionsEvaluationParams = useDeepMemo(
|
|
4877
|
+
() => getAsyncOptionsEvaluationParams({
|
|
4878
|
+
visualizationID,
|
|
4879
|
+
props,
|
|
4880
|
+
optionsToEvaluate,
|
|
4881
|
+
downsampledDataSources,
|
|
4882
|
+
vizConfig,
|
|
4883
|
+
bypassCloneDeepOptionScope,
|
|
4884
|
+
lazyLoadingDataFrame
|
|
4885
|
+
}),
|
|
4886
|
+
[
|
|
4887
|
+
visualizationID,
|
|
4888
|
+
optionsToEvaluate,
|
|
4889
|
+
downsampledDataSources,
|
|
4890
|
+
vizConfig,
|
|
4891
|
+
bypassCloneDeepOptionScope,
|
|
4892
|
+
lazyLoadingDataFrame,
|
|
4893
|
+
currentThemeFamily,
|
|
4894
|
+
currentThemeColorScheme,
|
|
4895
|
+
currentThemeDensity,
|
|
4896
|
+
localeContext.serializedTimezone
|
|
4897
|
+
]
|
|
4898
|
+
);
|
|
4899
|
+
react_exports.useEffect(() => {
|
|
4900
|
+
if (!useAsyncEvaluatedOptions) {
|
|
4901
|
+
return void 0;
|
|
4902
|
+
}
|
|
4903
|
+
let ownsEvaluation = true;
|
|
4783
4904
|
try {
|
|
4784
|
-
|
|
4785
|
-
|
|
4786
|
-
visualizationID,
|
|
4787
|
-
props,
|
|
4788
|
-
options: optionsToEvaluate,
|
|
4789
|
-
dataSources: downsampledDataSources,
|
|
4790
|
-
theme: vizConfig.themes,
|
|
4791
|
-
bypassCloneDeepOptionScope: Boolean(
|
|
4792
|
-
getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
|
|
4793
|
-
),
|
|
4794
|
-
lazyLoadingDataFrame: Boolean(
|
|
4795
|
-
getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
|
|
4796
|
-
)
|
|
4797
|
-
};
|
|
4798
|
-
async_dynamic_options_evaluator_default.evaluate(asyncDynamicOptionsEvaluatorParams).then((results) => {
|
|
4905
|
+
async_dynamic_options_evaluator_default.evaluate(asyncOptionsEvaluationParams).then((results) => {
|
|
4906
|
+
if (ownsEvaluation) {
|
|
4799
4907
|
setEvaluatedOptionsAsync(results.results);
|
|
4800
|
-
}).catch(() => {
|
|
4801
|
-
if (isMounted.current) {
|
|
4802
|
-
setUseAsyncEvaluatedOptions(false);
|
|
4803
|
-
}
|
|
4804
|
-
});
|
|
4805
|
-
} else {
|
|
4806
|
-
let dataFrames = dataFramesInState;
|
|
4807
|
-
if (downsampledDataSources !== dataSourcesInState) {
|
|
4808
|
-
setDataSourcesInState(downsampledDataSources);
|
|
4809
|
-
dataFrames = Options_exports.Options.dataFrameFromDataSource(
|
|
4810
|
-
downsampledDataSources,
|
|
4811
|
-
getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
|
|
4812
|
-
);
|
|
4813
|
-
setDataFramesInState(dataFrames);
|
|
4814
4908
|
}
|
|
4815
|
-
|
|
4816
|
-
if (
|
|
4817
|
-
|
|
4818
|
-
dataSources: downsampledDataSources,
|
|
4819
|
-
options: optionsToEvaluate.options
|
|
4820
|
-
});
|
|
4821
|
-
mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
|
|
4909
|
+
}).catch(() => {
|
|
4910
|
+
if (ownsEvaluation) {
|
|
4911
|
+
setUseAsyncEvaluatedOptions(false);
|
|
4822
4912
|
}
|
|
4823
|
-
|
|
4824
|
-
|
|
4825
|
-
|
|
4826
|
-
|
|
4827
|
-
|
|
4828
|
-
|
|
4829
|
-
|
|
4830
|
-
|
|
4913
|
+
});
|
|
4914
|
+
} catch (e) {
|
|
4915
|
+
setUseAsyncEvaluatedOptions(false);
|
|
4916
|
+
}
|
|
4917
|
+
return () => {
|
|
4918
|
+
ownsEvaluation = false;
|
|
4919
|
+
async_dynamic_options_evaluator_default.reset(visualizationID);
|
|
4920
|
+
};
|
|
4921
|
+
}, [asyncOptionsEvaluationParams, useAsyncEvaluatedOptions, visualizationID]);
|
|
4922
|
+
evaluatedOptions = useDeepMemo(() => {
|
|
4923
|
+
try {
|
|
4924
|
+
if (useAsyncEvaluatedOptions) {
|
|
4925
|
+
return {};
|
|
4831
4926
|
}
|
|
4927
|
+
return evaluateOptionsSync({
|
|
4928
|
+
optionsToEvaluate,
|
|
4929
|
+
downsampledDataSources,
|
|
4930
|
+
dataSourcesInState,
|
|
4931
|
+
dataFramesInState,
|
|
4932
|
+
setDataSourcesInState,
|
|
4933
|
+
setDataFramesInState,
|
|
4934
|
+
computeDataFrames,
|
|
4935
|
+
featureFlagContext,
|
|
4936
|
+
themeFunc
|
|
4937
|
+
});
|
|
4832
4938
|
} catch (e) {
|
|
4833
4939
|
if (e instanceof Error) {
|
|
4834
4940
|
console.error(`unexpected error evaluating options: ${e.message}`);
|
|
4835
4941
|
}
|
|
4836
4942
|
return {};
|
|
4837
4943
|
}
|
|
4838
|
-
return {};
|
|
4839
4944
|
}, [
|
|
4840
4945
|
currentThemeFamily,
|
|
4841
4946
|
currentThemeColorScheme,
|
|
@@ -4845,7 +4950,7 @@ var withDashboardViz = (opts) => {
|
|
|
4845
4950
|
localeContext.serializedTimezone,
|
|
4846
4951
|
useAsyncEvaluatedOptions
|
|
4847
4952
|
]);
|
|
4848
|
-
const evaluatedOptionsToUse =
|
|
4953
|
+
const evaluatedOptionsToUse = useAsyncEvaluatedOptions ? evaluatedOptionsAsync : evaluatedOptions;
|
|
4849
4954
|
let dataSourceMetadata = {};
|
|
4850
4955
|
const OptionKey = "paginateDataSourceKey";
|
|
4851
4956
|
const optsKey = (0, lodash_exports.has)(evaluatedOptionsToUse, OptionKey) && evaluatedOptionsToUse[OptionKey];
|
|
@@ -4867,7 +4972,7 @@ var withDashboardViz = (opts) => {
|
|
|
4867
4972
|
sortParams,
|
|
4868
4973
|
paginatorParams
|
|
4869
4974
|
};
|
|
4870
|
-
if (vizConfig.supports.
|
|
4975
|
+
if (!vizConfig.supports.includes("page-and-sort" /* PAGE_AND_SORT */) && !(0, lodash_exports.has)(dataSources, paginateDataSourceKey)) {
|
|
4871
4976
|
dataSourceMetadata = {};
|
|
4872
4977
|
}
|
|
4873
4978
|
const clonedEvaluatedOptions = __spreadValues({}, evaluatedOptionsToUse);
|
|
@@ -4877,14 +4982,6 @@ var withDashboardViz = (opts) => {
|
|
|
4877
4982
|
react_exports.useEffect(() => {
|
|
4878
4983
|
onComputedProps(clonedEvaluatedOptions);
|
|
4879
4984
|
});
|
|
4880
|
-
react_exports.useEffect(() => {
|
|
4881
|
-
return () => {
|
|
4882
|
-
if (useAsyncEvaluatedOptions) {
|
|
4883
|
-
isMounted.current = false;
|
|
4884
|
-
async_dynamic_options_evaluator_default.reset(visualizationID);
|
|
4885
|
-
}
|
|
4886
|
-
};
|
|
4887
|
-
}, []);
|
|
4888
4985
|
const { requiredProps = [], supports } = vizConfig;
|
|
4889
4986
|
const missing = missingKeys(requiredProps, evaluatedOptionsToUse);
|
|
4890
4987
|
if (missing.length > 0 && supports.includes("placeholder" /* PLACEHOLDER */) && vizConfig.key !== "splunk.singlevalue") {
|
|
@@ -4899,7 +4996,16 @@ var withDashboardViz = (opts) => {
|
|
|
4899
4996
|
}
|
|
4900
4997
|
);
|
|
4901
4998
|
}
|
|
4902
|
-
const eventCallbackProps =
|
|
4999
|
+
const eventCallbackProps = buildAllEventCallbackProps(
|
|
5000
|
+
vizConfig.events,
|
|
5001
|
+
evaluatedOptionsToUse,
|
|
5002
|
+
onEventTrigger,
|
|
5003
|
+
{
|
|
5004
|
+
supportsEvents: vizConfig.supports.includes("events" /* EVENTS */),
|
|
5005
|
+
hasEventHandlers,
|
|
5006
|
+
mode
|
|
5007
|
+
}
|
|
5008
|
+
);
|
|
4903
5009
|
const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), {
|
|
4904
5010
|
// Align option transformation with the actual renderer selected below.
|
|
4905
5011
|
// This prevents canvas-only option preservation from leaking into Highcharts mode.
|
|
@@ -4927,8 +5033,9 @@ var withDashboardViz = (opts) => {
|
|
|
4927
5033
|
onEventTrigger: SplunkVisualization_default.defaults.onEventTrigger
|
|
4928
5034
|
});
|
|
4929
5035
|
DashboardViz.config = vizConfig;
|
|
4930
|
-
return
|
|
4931
|
-
withPlaceholder_default(withEditModeCover_default(DashboardViz, disableEditModeCover), useIconPlaceholder)
|
|
5036
|
+
return Object.assign(
|
|
5037
|
+
(0, styled_components_exports.withTheme)(withPlaceholder_default(withEditModeCover_default(DashboardViz, disableEditModeCover), useIconPlaceholder)),
|
|
5038
|
+
{ config: vizConfig }
|
|
4932
5039
|
);
|
|
4933
5040
|
};
|
|
4934
5041
|
var withDashboardViz_default = withDashboardViz;
|
|
@@ -5044,18 +5151,9 @@ var Paginator_exports = {};
|
|
|
5044
5151
|
__export(Paginator_exports, {
|
|
5045
5152
|
default: () => Paginator_default
|
|
5046
5153
|
});
|
|
5047
|
-
var
|
|
5154
|
+
var defaultImport39 = __toESM(require("@splunk/react-ui/Paginator"));
|
|
5048
5155
|
__reExport(Paginator_exports, require("@splunk/react-ui/Paginator"));
|
|
5049
|
-
var Paginator_default = "default" in
|
|
5050
|
-
|
|
5051
|
-
// esm-externals:@splunk/themes
|
|
5052
|
-
var themes_exports = {};
|
|
5053
|
-
__export(themes_exports, {
|
|
5054
|
-
default: () => themes_default
|
|
5055
|
-
});
|
|
5056
|
-
var defaultImport39 = __toESM(require("@splunk/themes"));
|
|
5057
|
-
__reExport(themes_exports, require("@splunk/themes"));
|
|
5058
|
-
var themes_default = "default" in defaultImport39 ? defaultImport39.default : defaultImport39;
|
|
5156
|
+
var Paginator_default = "default" in defaultImport39 ? defaultImport39.default : defaultImport39;
|
|
5059
5157
|
|
|
5060
5158
|
// src/common/hocs/withTrellis.tsx
|
|
5061
5159
|
var evaluatePanelOption = (panelDataSources, allOptions, optionKey, vizContext) => {
|
|
@@ -5078,7 +5176,7 @@ var sortTrellisKeys = (keys, trellisSortBy, trellisSortOrder, modifiedDataSource
|
|
|
5078
5176
|
if (trellisSortBy === "trend") {
|
|
5079
5177
|
optionKey = "trendValue";
|
|
5080
5178
|
} else {
|
|
5081
|
-
optionKey = mergedOptions.value
|
|
5179
|
+
optionKey = mergedOptions.value === void 0 ? "majorValue" : "value";
|
|
5082
5180
|
}
|
|
5083
5181
|
keys.sort((a, b) => {
|
|
5084
5182
|
const valA = evaluatePanelOption(
|
|
@@ -5230,13 +5328,13 @@ var withTrellis = (Viz) => {
|
|
|
5230
5328
|
const noColumns = columns === void 0;
|
|
5231
5329
|
const noFields = fields === void 0;
|
|
5232
5330
|
const updateDataDisplay = (currPage) => {
|
|
5233
|
-
if (
|
|
5234
|
-
setPagedData(splitByKeys);
|
|
5235
|
-
setPageNum(1);
|
|
5236
|
-
} else {
|
|
5331
|
+
if (showPaginator) {
|
|
5237
5332
|
const startIdx = pageCount * (currPage - 1);
|
|
5238
5333
|
const paged = splitByKeys.slice(startIdx, startIdx + pageCount);
|
|
5239
5334
|
setPagedData(paged);
|
|
5335
|
+
} else {
|
|
5336
|
+
setPagedData(splitByKeys);
|
|
5337
|
+
setPageNum(1);
|
|
5240
5338
|
}
|
|
5241
5339
|
};
|
|
5242
5340
|
(0, react_exports.useEffect)(() => {
|