@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/Area.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) => {
|
|
@@ -1554,10 +1551,8 @@ var AxesChartDataDisplayColumn = {
|
|
|
1554
1551
|
};
|
|
1555
1552
|
var AxesChartDataDisplayLine = {
|
|
1556
1553
|
label: AxesChartDataDisplayBase.label,
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
...AxesChartDataDisplayBase.layout.slice(1)
|
|
1560
|
-
]
|
|
1554
|
+
// remove stacked mode editor
|
|
1555
|
+
layout: AxesChartDataDisplayBase.layout.slice(1)
|
|
1561
1556
|
};
|
|
1562
1557
|
|
|
1563
1558
|
// src/common/editorConfig/BackgroundColor.ts
|
|
@@ -2712,7 +2707,10 @@ var useSortingParams = ({ requestParams, onRequestParamsChange }) => {
|
|
|
2712
2707
|
onSort = (e, { sortKey, sortDir }) => {
|
|
2713
2708
|
if (typeof sortKey === "string") {
|
|
2714
2709
|
const nextSortDir = (0, lodash_exports.has)(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : "none";
|
|
2715
|
-
onRequestParamsChange(
|
|
2710
|
+
onRequestParamsChange(__spreadProps(__spreadValues({}, requestParams), {
|
|
2711
|
+
offset: 0,
|
|
2712
|
+
sort: { [sortKey]: nextSortDir }
|
|
2713
|
+
}));
|
|
2716
2714
|
} else {
|
|
2717
2715
|
onRequestParamsChange(requestParams);
|
|
2718
2716
|
}
|
|
@@ -2838,7 +2836,7 @@ var Cover = styled_components_default.div`
|
|
|
2838
2836
|
bottom: 0;
|
|
2839
2837
|
`;
|
|
2840
2838
|
var Blocker = styled_components_default.div.attrs({
|
|
2841
|
-
"data-splunk-visualization-version": "28.
|
|
2839
|
+
"data-splunk-visualization-version": "28.9.1 - fba477a41"
|
|
2842
2840
|
})`
|
|
2843
2841
|
position: relative;
|
|
2844
2842
|
width: 100%;
|
|
@@ -2864,6 +2862,15 @@ var defaultImport31 = __toESM(require("@splunk/visualizations-shared/colorUtils"
|
|
|
2864
2862
|
__reExport(colorUtils_exports, require("@splunk/visualizations-shared/colorUtils"));
|
|
2865
2863
|
var colorUtils_default = "default" in defaultImport31 ? defaultImport31.default : defaultImport31;
|
|
2866
2864
|
|
|
2865
|
+
// esm-externals:@splunk/themes
|
|
2866
|
+
var themes_exports = {};
|
|
2867
|
+
__export(themes_exports, {
|
|
2868
|
+
default: () => themes_default
|
|
2869
|
+
});
|
|
2870
|
+
var defaultImport32 = __toESM(require("@splunk/themes"));
|
|
2871
|
+
__reExport(themes_exports, require("@splunk/themes"));
|
|
2872
|
+
var themes_default = "default" in defaultImport32 ? defaultImport32.default : defaultImport32;
|
|
2873
|
+
|
|
2867
2874
|
// src/common/hocs/FixedSizeContainer.tsx
|
|
2868
2875
|
var Item = styled_components_default.div.attrs(({ width }) => ({
|
|
2869
2876
|
style: {
|
|
@@ -2919,7 +2926,7 @@ var withFixedSizeContainer = (Viz) => {
|
|
|
2919
2926
|
FixSizeItem,
|
|
2920
2927
|
{
|
|
2921
2928
|
"data-test": "fix-size-item",
|
|
2922
|
-
"data-splunk-visualization-version": "28.
|
|
2929
|
+
"data-splunk-visualization-version": "28.9.1 - fba477a41",
|
|
2923
2930
|
width,
|
|
2924
2931
|
height,
|
|
2925
2932
|
backgroundColor
|
|
@@ -2940,6 +2947,14 @@ var shouldShowIconPlaceholder = (dataSources, loading = false) => {
|
|
|
2940
2947
|
const noFields = fields === void 0;
|
|
2941
2948
|
return loading || noData || noFields;
|
|
2942
2949
|
};
|
|
2950
|
+
var PlaceholderContainer = styled_components_default.div`
|
|
2951
|
+
/* The inline token color wins when supported. Older browsers discard an
|
|
2952
|
+
unsupported oklch value and retain this inherited fallback instead. */
|
|
2953
|
+
color: ${(0, themes_exports.pick)({
|
|
2954
|
+
dark: "#fafafa",
|
|
2955
|
+
light: "#2c2c2c"
|
|
2956
|
+
})};
|
|
2957
|
+
`;
|
|
2943
2958
|
var IconPlaceholder = (props) => {
|
|
2944
2959
|
const {
|
|
2945
2960
|
width = SplunkVisualization_default.defaults.width,
|
|
@@ -2954,7 +2969,6 @@ var IconPlaceholder = (props) => {
|
|
|
2954
2969
|
style: {
|
|
2955
2970
|
left: "50%",
|
|
2956
2971
|
top: "50%",
|
|
2957
|
-
color: iconColor,
|
|
2958
2972
|
opacity: 0.15,
|
|
2959
2973
|
position: "absolute",
|
|
2960
2974
|
transform: "translate(-50%, -50%)"
|
|
@@ -2964,7 +2978,14 @@ var IconPlaceholder = (props) => {
|
|
|
2964
2978
|
"data-test": "icon-placeholder"
|
|
2965
2979
|
});
|
|
2966
2980
|
}
|
|
2967
|
-
return /* @__PURE__ */ react_exports.createElement(
|
|
2981
|
+
return /* @__PURE__ */ react_exports.createElement(
|
|
2982
|
+
PlaceholderContainer,
|
|
2983
|
+
{
|
|
2984
|
+
"data-test": "icon-placeholder-container",
|
|
2985
|
+
style: { width, height, background: backgroundColor, color: iconColor }
|
|
2986
|
+
},
|
|
2987
|
+
content
|
|
2988
|
+
);
|
|
2968
2989
|
};
|
|
2969
2990
|
var IconPlaceholder_default = FixedSizeContainer_default(IconPlaceholder);
|
|
2970
2991
|
|
|
@@ -3167,16 +3188,16 @@ var FeatureFlags_exports = {};
|
|
|
3167
3188
|
__export(FeatureFlags_exports, {
|
|
3168
3189
|
default: () => FeatureFlags_default
|
|
3169
3190
|
});
|
|
3170
|
-
var
|
|
3191
|
+
var defaultImport33 = __toESM(require("@splunk/visualization-context/FeatureFlags"));
|
|
3171
3192
|
__reExport(FeatureFlags_exports, require("@splunk/visualization-context/FeatureFlags"));
|
|
3172
|
-
var FeatureFlags_default = "default" in
|
|
3193
|
+
var FeatureFlags_default = "default" in defaultImport33 ? defaultImport33.default : defaultImport33;
|
|
3173
3194
|
|
|
3174
3195
|
// src/common/utils/featureFlagUtils.ts
|
|
3175
3196
|
var getFeatureFlag = (context, flagName) => {
|
|
3176
|
-
if (context && Object.keys(context).
|
|
3197
|
+
if (context && Object.keys(context).includes(flagName)) {
|
|
3177
3198
|
return context[flagName];
|
|
3178
3199
|
}
|
|
3179
|
-
if (Object.keys(FeatureFlags_default).
|
|
3200
|
+
if (Object.keys(FeatureFlags_default).includes(flagName)) {
|
|
3180
3201
|
return FeatureFlags_default[flagName];
|
|
3181
3202
|
}
|
|
3182
3203
|
return false;
|
|
@@ -3187,9 +3208,9 @@ var trellisUtils_exports = {};
|
|
|
3187
3208
|
__export(trellisUtils_exports, {
|
|
3188
3209
|
default: () => trellisUtils_default
|
|
3189
3210
|
});
|
|
3190
|
-
var
|
|
3211
|
+
var defaultImport34 = __toESM(require("@splunk/visualizations-shared/trellisUtils"));
|
|
3191
3212
|
__reExport(trellisUtils_exports, require("@splunk/visualizations-shared/trellisUtils"));
|
|
3192
|
-
var trellisUtils_default = "default" in
|
|
3213
|
+
var trellisUtils_default = "default" in defaultImport34 ? defaultImport34.default : defaultImport34;
|
|
3193
3214
|
|
|
3194
3215
|
// src/common/utils/trellisUtils.ts
|
|
3195
3216
|
var AGGREGATIONS = "aggregations";
|
|
@@ -3410,7 +3431,7 @@ var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
|
|
|
3410
3431
|
splitByFields = (0, trellisUtils_exports.extractSplitByFieldsChartFields)(fields);
|
|
3411
3432
|
}
|
|
3412
3433
|
if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
|
|
3413
|
-
const splitByFieldIdx = splitByFields.
|
|
3434
|
+
const splitByFieldIdx = splitByFields.indexOf(splitBy);
|
|
3414
3435
|
const otherSplitBy = splitByFields.filter((f) => f !== splitBy);
|
|
3415
3436
|
const dataSourceKeys = (0, trellisUtils_exports.extractDataSourceAggregationKeysChart)(fields);
|
|
3416
3437
|
const nonDataSourceAggregations = [];
|
|
@@ -3444,17 +3465,17 @@ var dataSourcesSplitByModeStatsorUnknown = (dataSource, splitBy, splitMode) => {
|
|
|
3444
3465
|
let splitByFields = [];
|
|
3445
3466
|
let errorCode = null;
|
|
3446
3467
|
if (fields.length > 0) {
|
|
3447
|
-
splitByFields = splitMode
|
|
3468
|
+
splitByFields = splitMode === trellisUtils_exports.UNKNOWN ? (0, trellisUtils_exports.extractSplitByFieldsForUnknown)(fields) : (0, trellisUtils_exports.extractSplitByFieldsForStats)(fields);
|
|
3448
3469
|
}
|
|
3449
3470
|
const splitByIndex = fields.findIndex((field) => field.name === splitBy);
|
|
3450
3471
|
if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
|
|
3451
3472
|
const splitByColumn = (_f = (_e = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _e.data) == null ? void 0 : _f.columns[splitByIndex];
|
|
3452
3473
|
splitDataSources = {};
|
|
3453
3474
|
splitByColumn.forEach((val, idx) => {
|
|
3454
|
-
if (
|
|
3455
|
-
splitDataSources[val] = [idx];
|
|
3456
|
-
} else {
|
|
3475
|
+
if (splitDataSources[val]) {
|
|
3457
3476
|
splitDataSources[val].push(idx);
|
|
3477
|
+
} else {
|
|
3478
|
+
splitDataSources[val] = [idx];
|
|
3458
3479
|
}
|
|
3459
3480
|
});
|
|
3460
3481
|
const cloneFields = (0, lodash_exports.cloneDeep)(fields);
|
|
@@ -3505,27 +3526,28 @@ var turnOffLegendDisplayWhenTrellisIsOn = (isTrellisOn, options) => {
|
|
|
3505
3526
|
}
|
|
3506
3527
|
return {};
|
|
3507
3528
|
};
|
|
3529
|
+
var extendMinMaxWithColumn = (column, range2) => column.reduce((acc, point) => {
|
|
3530
|
+
const pointNumber = Number(point);
|
|
3531
|
+
if (Number.isNaN(pointNumber)) {
|
|
3532
|
+
return acc;
|
|
3533
|
+
}
|
|
3534
|
+
return {
|
|
3535
|
+
min: Math.min(pointNumber, acc.min),
|
|
3536
|
+
max: Math.max(pointNumber, acc.max)
|
|
3537
|
+
};
|
|
3538
|
+
}, range2);
|
|
3508
3539
|
var calculateSharedMinMax = (splitData) => {
|
|
3509
|
-
let
|
|
3510
|
-
let min = Infinity;
|
|
3540
|
+
let range2 = { min: Infinity, max: -Infinity };
|
|
3511
3541
|
Object.keys(splitData).forEach((splitByKey) => {
|
|
3512
3542
|
const datasources = splitData[splitByKey];
|
|
3513
3543
|
Object.keys(datasources).forEach((datasourceName) => {
|
|
3514
3544
|
const dataColumns = datasources[datasourceName].data.columns;
|
|
3515
3545
|
dataColumns.forEach((column) => {
|
|
3516
|
-
column
|
|
3517
|
-
const pointNumber = Number(point);
|
|
3518
|
-
if (pointNumber > max) {
|
|
3519
|
-
max = pointNumber;
|
|
3520
|
-
}
|
|
3521
|
-
if (pointNumber < min) {
|
|
3522
|
-
min = pointNumber;
|
|
3523
|
-
}
|
|
3524
|
-
});
|
|
3546
|
+
range2 = extendMinMaxWithColumn(column, range2);
|
|
3525
3547
|
});
|
|
3526
3548
|
});
|
|
3527
3549
|
});
|
|
3528
|
-
return [min, max];
|
|
3550
|
+
return [range2.min, range2.max];
|
|
3529
3551
|
};
|
|
3530
3552
|
var determineMinMax = (splitData, trellisSharedScale, yAxisMin, yAxisMax, stackMode) => {
|
|
3531
3553
|
if (!trellisSharedScale || stackMode === "stacked100" || yAxisMin !== "auto" && yAxisMax !== "auto")
|
|
@@ -3541,9 +3563,9 @@ var visualization_canvas_exports = {};
|
|
|
3541
3563
|
__export(visualization_canvas_exports, {
|
|
3542
3564
|
default: () => visualization_canvas_default
|
|
3543
3565
|
});
|
|
3544
|
-
var
|
|
3566
|
+
var defaultImport35 = __toESM(require("@splunk/visualization-canvas"));
|
|
3545
3567
|
__reExport(visualization_canvas_exports, require("@splunk/visualization-canvas"));
|
|
3546
|
-
var visualization_canvas_default = "default" in
|
|
3568
|
+
var visualization_canvas_default = "default" in defaultImport35 ? defaultImport35.default : defaultImport35;
|
|
3547
3569
|
|
|
3548
3570
|
// src/common/components/VizStyleWrapper.jsx
|
|
3549
3571
|
var VizStyleWrapper = styled_components_default.div.attrs(({ dataTestKey }) => ({
|
|
@@ -3565,27 +3587,27 @@ var Triangle_exports = {};
|
|
|
3565
3587
|
__export(Triangle_exports, {
|
|
3566
3588
|
default: () => Triangle_default
|
|
3567
3589
|
});
|
|
3568
|
-
var
|
|
3590
|
+
var defaultImport36 = __toESM(require("@splunk/react-icons/Triangle"));
|
|
3569
3591
|
__reExport(Triangle_exports, require("@splunk/react-icons/Triangle"));
|
|
3570
|
-
var Triangle_default = "default" in
|
|
3592
|
+
var Triangle_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
|
|
3571
3593
|
|
|
3572
3594
|
// esm-externals:@splunk/visualizations-shared/propUtils
|
|
3573
3595
|
var propUtils_exports = {};
|
|
3574
3596
|
__export(propUtils_exports, {
|
|
3575
3597
|
default: () => propUtils_default
|
|
3576
3598
|
});
|
|
3577
|
-
var
|
|
3599
|
+
var defaultImport37 = __toESM(require("@splunk/visualizations-shared/propUtils"));
|
|
3578
3600
|
__reExport(propUtils_exports, require("@splunk/visualizations-shared/propUtils"));
|
|
3579
|
-
var propUtils_default = "default" in
|
|
3601
|
+
var propUtils_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
|
|
3580
3602
|
|
|
3581
3603
|
// esm-externals:@splunk/visualizations-shared/simpleXMLOptions
|
|
3582
3604
|
var simpleXMLOptions_exports = {};
|
|
3583
3605
|
__export(simpleXMLOptions_exports, {
|
|
3584
3606
|
default: () => simpleXMLOptions_default
|
|
3585
3607
|
});
|
|
3586
|
-
var
|
|
3608
|
+
var defaultImport38 = __toESM(require("@splunk/visualizations-shared/simpleXMLOptions"));
|
|
3587
3609
|
__reExport(simpleXMLOptions_exports, require("@splunk/visualizations-shared/simpleXMLOptions"));
|
|
3588
|
-
var simpleXMLOptions_default = "default" in
|
|
3610
|
+
var simpleXMLOptions_default = "default" in defaultImport38 ? defaultImport38.default : defaultImport38;
|
|
3589
3611
|
|
|
3590
3612
|
// src/common/chartingUtils.ts
|
|
3591
3613
|
var SHARED_AXIS_CHART_CANVAS_SPECIFIC_PROPS = [
|
|
@@ -3690,7 +3712,7 @@ var constructFieldsAndColumns = ({
|
|
|
3690
3712
|
const y2FieldsArray = toArrayForSeries(y2, y2Fields);
|
|
3691
3713
|
const y2AsArray = toArrayForSeries(y2, y2).map((series) => series == null ? void 0 : series.map(String));
|
|
3692
3714
|
y2FieldsArray.forEach((y2Field, index) => {
|
|
3693
|
-
if (yFieldsArray.
|
|
3715
|
+
if (!yFieldsArray.includes(y2Field) && y2AsArray[index]) {
|
|
3694
3716
|
fields.push({
|
|
3695
3717
|
name: y2Field
|
|
3696
3718
|
});
|
|
@@ -3782,9 +3804,9 @@ var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
|
|
|
3782
3804
|
const xAxisIsTime = xField === "_time";
|
|
3783
3805
|
return !!rangeSelectEventHandler && xAxisIsTime;
|
|
3784
3806
|
};
|
|
3785
|
-
var canvasSupportedTimeSeriesCharts = ["splunk.line", "splunk.area"];
|
|
3807
|
+
var canvasSupportedTimeSeriesCharts = /* @__PURE__ */ new Set(["splunk.line", "splunk.area"]);
|
|
3786
3808
|
var isTimeSeriesCanvasRenderSupported = (vizConfigKey) => {
|
|
3787
|
-
return canvasSupportedTimeSeriesCharts.
|
|
3809
|
+
return canvasSupportedTimeSeriesCharts.has(vizConfigKey);
|
|
3788
3810
|
};
|
|
3789
3811
|
var filterChartDataFromInternalFields = (chartData) => {
|
|
3790
3812
|
const { fields, columns } = chartData;
|
|
@@ -3800,7 +3822,7 @@ var filterChartDataFromInternalFields = (chartData) => {
|
|
|
3800
3822
|
return { fields: filteredFields, columns: filteredColumns };
|
|
3801
3823
|
};
|
|
3802
3824
|
var convert2DArrayToNumbers = (arr) => {
|
|
3803
|
-
return arr.map((subArray) => subArray.map((element) => parseFloat(element)));
|
|
3825
|
+
return arr.map((subArray) => subArray.map((element) => Number.parseFloat(element)));
|
|
3804
3826
|
};
|
|
3805
3827
|
var parseAxisValue = (val) => {
|
|
3806
3828
|
if (val === void 0 || val === null || val === "auto" || val === "") {
|
|
@@ -3838,6 +3860,7 @@ var getLegend = (props) => {
|
|
|
3838
3860
|
return (0, visualization_canvas_exports.TopLegendFactory)(__spreadValues({
|
|
3839
3861
|
wrap: true
|
|
3840
3862
|
}, commonLegendProps));
|
|
3863
|
+
// Note: By default, use right legend
|
|
3841
3864
|
default:
|
|
3842
3865
|
return (0, visualization_canvas_exports.SideLegendFactory)(__spreadValues({}, commonLegendProps));
|
|
3843
3866
|
}
|
|
@@ -3970,10 +3993,10 @@ var getSeriesOverrides = (opts) => {
|
|
|
3970
3993
|
let spanGaps;
|
|
3971
3994
|
if (nullValueMode === "gaps") {
|
|
3972
3995
|
spanGaps = false;
|
|
3973
|
-
} else if (nullValueMode
|
|
3974
|
-
spanGaps = true;
|
|
3975
|
-
} else {
|
|
3996
|
+
} else if (nullValueMode == null) {
|
|
3976
3997
|
spanGaps = void 0;
|
|
3998
|
+
} else {
|
|
3999
|
+
spanGaps = true;
|
|
3977
4000
|
}
|
|
3978
4001
|
const replaceNullsWithZero = nullValueMode === "zero" ? true : void 0;
|
|
3979
4002
|
const isAreaChart = type === "area";
|
|
@@ -4343,11 +4366,11 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
4343
4366
|
y2AxisMajorUnitFromSimpleXML,
|
|
4344
4367
|
y2AxisMajorTickInterval
|
|
4345
4368
|
);
|
|
4346
|
-
const xAxisMajorTickSizeNum = xAxisMajorTickSize
|
|
4347
|
-
const yAxisMajorTickSizeNum = yAxisMajorTickSize
|
|
4348
|
-
const y2AxisMajorTickSizeNum = y2AxisMajorTickSize
|
|
4349
|
-
const yAxisMinorTickSizeNum = yAxisMinorTickSize
|
|
4350
|
-
const y2AxisMinorTickSizeNum = y2AxisMinorTickSize
|
|
4369
|
+
const xAxisMajorTickSizeNum = xAxisMajorTickSize == null ? void 0 : Number(xAxisMajorTickSize);
|
|
4370
|
+
const yAxisMajorTickSizeNum = yAxisMajorTickSize == null ? void 0 : Number(yAxisMajorTickSize);
|
|
4371
|
+
const y2AxisMajorTickSizeNum = y2AxisMajorTickSize == null ? void 0 : Number(y2AxisMajorTickSize);
|
|
4372
|
+
const yAxisMinorTickSizeNum = yAxisMinorTickSize == null ? void 0 : Number(yAxisMinorTickSize);
|
|
4373
|
+
const y2AxisMinorTickSizeNum = y2AxisMinorTickSize == null ? void 0 : Number(y2AxisMinorTickSize);
|
|
4351
4374
|
const areaOpacityForCanvas = getAreaOpacityForCanvas(areaOpacity);
|
|
4352
4375
|
const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
|
|
4353
4376
|
const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
|
|
@@ -4759,6 +4782,76 @@ var buildEventCallbackProps = (supportedEvents, evaluatedOptionsToUse, onEventTr
|
|
|
4759
4782
|
});
|
|
4760
4783
|
return result;
|
|
4761
4784
|
};
|
|
4785
|
+
var buildAllEventCallbackProps = (events, evaluatedOptionsToUse, onEventTrigger, { supportsEvents, hasEventHandlers, mode }) => {
|
|
4786
|
+
if (!supportsEvents) return {};
|
|
4787
|
+
const defaultEvents = {};
|
|
4788
|
+
const userEvents = {};
|
|
4789
|
+
Object.entries(events || {}).forEach(([eventKey, eventConfig]) => {
|
|
4790
|
+
(eventConfig.source === "default" ? defaultEvents : userEvents)[eventKey] = eventConfig;
|
|
4791
|
+
});
|
|
4792
|
+
const userProps = hasEventHandlers && mode === "view" ? buildEventCallbackProps(userEvents, evaluatedOptionsToUse, onEventTrigger) : {};
|
|
4793
|
+
return __spreadValues(__spreadValues({}, userProps), buildEventCallbackProps(defaultEvents, evaluatedOptionsToUse, onEventTrigger));
|
|
4794
|
+
};
|
|
4795
|
+
var applyContextTimezone = (localeContext) => {
|
|
4796
|
+
if (localeContext.serializedTimezone && !moment_default.getDefaultSplunkTimezone()) {
|
|
4797
|
+
moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
|
|
4798
|
+
}
|
|
4799
|
+
};
|
|
4800
|
+
var getAsyncOptionsEvaluationParams = ({
|
|
4801
|
+
visualizationID,
|
|
4802
|
+
props,
|
|
4803
|
+
optionsToEvaluate,
|
|
4804
|
+
downsampledDataSources,
|
|
4805
|
+
vizConfig,
|
|
4806
|
+
bypassCloneDeepOptionScope,
|
|
4807
|
+
lazyLoadingDataFrame
|
|
4808
|
+
}) => {
|
|
4809
|
+
return {
|
|
4810
|
+
visualizationID,
|
|
4811
|
+
props,
|
|
4812
|
+
options: __spreadValues({}, optionsToEvaluate),
|
|
4813
|
+
dataSources: downsampledDataSources,
|
|
4814
|
+
theme: vizConfig.themes,
|
|
4815
|
+
bypassCloneDeepOptionScope,
|
|
4816
|
+
lazyLoadingDataFrame
|
|
4817
|
+
};
|
|
4818
|
+
};
|
|
4819
|
+
var evaluateOptionsSync = ({
|
|
4820
|
+
optionsToEvaluate,
|
|
4821
|
+
downsampledDataSources,
|
|
4822
|
+
dataSourcesInState,
|
|
4823
|
+
dataFramesInState,
|
|
4824
|
+
setDataSourcesInState,
|
|
4825
|
+
setDataFramesInState,
|
|
4826
|
+
computeDataFrames,
|
|
4827
|
+
featureFlagContext,
|
|
4828
|
+
themeFunc
|
|
4829
|
+
}) => {
|
|
4830
|
+
let dataFrames = dataFramesInState;
|
|
4831
|
+
if (downsampledDataSources !== dataSourcesInState) {
|
|
4832
|
+
setDataSourcesInState(downsampledDataSources);
|
|
4833
|
+
dataFrames = Options_exports.Options.dataFrameFromDataSource(
|
|
4834
|
+
downsampledDataSources,
|
|
4835
|
+
getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
|
|
4836
|
+
);
|
|
4837
|
+
setDataFramesInState(dataFrames);
|
|
4838
|
+
}
|
|
4839
|
+
let mergedFrames = dataFrames;
|
|
4840
|
+
if (computeDataFrames && dataFrames) {
|
|
4841
|
+
const derivedFrames = computeDataFrames({
|
|
4842
|
+
dataSources: downsampledDataSources,
|
|
4843
|
+
options: optionsToEvaluate.options
|
|
4844
|
+
});
|
|
4845
|
+
mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
|
|
4846
|
+
}
|
|
4847
|
+
return Options_exports.Options.evaluate(
|
|
4848
|
+
optionsToEvaluate,
|
|
4849
|
+
downsampledDataSources,
|
|
4850
|
+
themeFunc,
|
|
4851
|
+
mergedFrames,
|
|
4852
|
+
getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
|
|
4853
|
+
);
|
|
4854
|
+
};
|
|
4762
4855
|
var withDashboardViz = (opts) => {
|
|
4763
4856
|
const {
|
|
4764
4857
|
ReactViz,
|
|
@@ -4790,11 +4883,7 @@ var withDashboardViz = (opts) => {
|
|
|
4790
4883
|
onRequestParamsChange = lodash_exports.noop
|
|
4791
4884
|
} = props;
|
|
4792
4885
|
const localeContext = react_exports.useContext(TimezoneContext_default);
|
|
4793
|
-
|
|
4794
|
-
if (!moment_default.getDefaultSplunkTimezone()) {
|
|
4795
|
-
moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
|
|
4796
|
-
}
|
|
4797
|
-
}
|
|
4886
|
+
applyContextTimezone(localeContext);
|
|
4798
4887
|
const themeFunc = (themeVar) => {
|
|
4799
4888
|
var _a2, _b;
|
|
4800
4889
|
return (_b = (_a2 = vizConfig.themes)[themeVar]) == null ? void 0 : _b.call(_a2, props);
|
|
@@ -4822,7 +4911,12 @@ var withDashboardViz = (opts) => {
|
|
|
4822
4911
|
featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableAcceleratedRender
|
|
4823
4912
|
);
|
|
4824
4913
|
const isAcceleratedRenderOn = isAcceleratedRenderFeatureFlagOn2 && isTimeSeriesCanvasRenderSupported(vizConfig.key) && (options == null ? void 0 : options.acceleratedRender) === true;
|
|
4825
|
-
const
|
|
4914
|
+
const bypassCloneDeepOptionScope = Boolean(
|
|
4915
|
+
getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
|
|
4916
|
+
);
|
|
4917
|
+
const lazyLoadingDataFrame = Boolean(
|
|
4918
|
+
getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
|
|
4919
|
+
);
|
|
4826
4920
|
const optionsToEvaluate = react_exports.useMemo(() => {
|
|
4827
4921
|
var _a2;
|
|
4828
4922
|
const legendDisplay = turnOffLegendDisplayWhenTrellisIsOn(isTrellisOn, options);
|
|
@@ -4861,63 +4955,74 @@ var withDashboardViz = (opts) => {
|
|
|
4861
4955
|
threshold,
|
|
4862
4956
|
isDownsamplingEnabled
|
|
4863
4957
|
});
|
|
4864
|
-
|
|
4958
|
+
const asyncOptionsEvaluationParams = useDeepMemo(
|
|
4959
|
+
() => getAsyncOptionsEvaluationParams({
|
|
4960
|
+
visualizationID,
|
|
4961
|
+
props,
|
|
4962
|
+
optionsToEvaluate,
|
|
4963
|
+
downsampledDataSources,
|
|
4964
|
+
vizConfig,
|
|
4965
|
+
bypassCloneDeepOptionScope,
|
|
4966
|
+
lazyLoadingDataFrame
|
|
4967
|
+
}),
|
|
4968
|
+
[
|
|
4969
|
+
visualizationID,
|
|
4970
|
+
optionsToEvaluate,
|
|
4971
|
+
downsampledDataSources,
|
|
4972
|
+
vizConfig,
|
|
4973
|
+
bypassCloneDeepOptionScope,
|
|
4974
|
+
lazyLoadingDataFrame,
|
|
4975
|
+
currentThemeFamily,
|
|
4976
|
+
currentThemeColorScheme,
|
|
4977
|
+
currentThemeDensity,
|
|
4978
|
+
localeContext.serializedTimezone
|
|
4979
|
+
]
|
|
4980
|
+
);
|
|
4981
|
+
react_exports.useEffect(() => {
|
|
4982
|
+
if (!useAsyncEvaluatedOptions) {
|
|
4983
|
+
return void 0;
|
|
4984
|
+
}
|
|
4985
|
+
let ownsEvaluation = true;
|
|
4865
4986
|
try {
|
|
4866
|
-
|
|
4867
|
-
|
|
4868
|
-
visualizationID,
|
|
4869
|
-
props,
|
|
4870
|
-
options: optionsToEvaluate,
|
|
4871
|
-
dataSources: downsampledDataSources,
|
|
4872
|
-
theme: vizConfig.themes,
|
|
4873
|
-
bypassCloneDeepOptionScope: Boolean(
|
|
4874
|
-
getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
|
|
4875
|
-
),
|
|
4876
|
-
lazyLoadingDataFrame: Boolean(
|
|
4877
|
-
getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
|
|
4878
|
-
)
|
|
4879
|
-
};
|
|
4880
|
-
async_dynamic_options_evaluator_default.evaluate(asyncDynamicOptionsEvaluatorParams).then((results) => {
|
|
4987
|
+
async_dynamic_options_evaluator_default.evaluate(asyncOptionsEvaluationParams).then((results) => {
|
|
4988
|
+
if (ownsEvaluation) {
|
|
4881
4989
|
setEvaluatedOptionsAsync(results.results);
|
|
4882
|
-
}).catch(() => {
|
|
4883
|
-
if (isMounted.current) {
|
|
4884
|
-
setUseAsyncEvaluatedOptions(false);
|
|
4885
|
-
}
|
|
4886
|
-
});
|
|
4887
|
-
} else {
|
|
4888
|
-
let dataFrames = dataFramesInState;
|
|
4889
|
-
if (downsampledDataSources !== dataSourcesInState) {
|
|
4890
|
-
setDataSourcesInState(downsampledDataSources);
|
|
4891
|
-
dataFrames = Options_exports.Options.dataFrameFromDataSource(
|
|
4892
|
-
downsampledDataSources,
|
|
4893
|
-
getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
|
|
4894
|
-
);
|
|
4895
|
-
setDataFramesInState(dataFrames);
|
|
4896
4990
|
}
|
|
4897
|
-
|
|
4898
|
-
if (
|
|
4899
|
-
|
|
4900
|
-
dataSources: downsampledDataSources,
|
|
4901
|
-
options: optionsToEvaluate.options
|
|
4902
|
-
});
|
|
4903
|
-
mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
|
|
4991
|
+
}).catch(() => {
|
|
4992
|
+
if (ownsEvaluation) {
|
|
4993
|
+
setUseAsyncEvaluatedOptions(false);
|
|
4904
4994
|
}
|
|
4905
|
-
|
|
4906
|
-
|
|
4907
|
-
|
|
4908
|
-
|
|
4909
|
-
|
|
4910
|
-
|
|
4911
|
-
|
|
4912
|
-
|
|
4995
|
+
});
|
|
4996
|
+
} catch (e) {
|
|
4997
|
+
setUseAsyncEvaluatedOptions(false);
|
|
4998
|
+
}
|
|
4999
|
+
return () => {
|
|
5000
|
+
ownsEvaluation = false;
|
|
5001
|
+
async_dynamic_options_evaluator_default.reset(visualizationID);
|
|
5002
|
+
};
|
|
5003
|
+
}, [asyncOptionsEvaluationParams, useAsyncEvaluatedOptions, visualizationID]);
|
|
5004
|
+
evaluatedOptions = useDeepMemo(() => {
|
|
5005
|
+
try {
|
|
5006
|
+
if (useAsyncEvaluatedOptions) {
|
|
5007
|
+
return {};
|
|
4913
5008
|
}
|
|
5009
|
+
return evaluateOptionsSync({
|
|
5010
|
+
optionsToEvaluate,
|
|
5011
|
+
downsampledDataSources,
|
|
5012
|
+
dataSourcesInState,
|
|
5013
|
+
dataFramesInState,
|
|
5014
|
+
setDataSourcesInState,
|
|
5015
|
+
setDataFramesInState,
|
|
5016
|
+
computeDataFrames,
|
|
5017
|
+
featureFlagContext,
|
|
5018
|
+
themeFunc
|
|
5019
|
+
});
|
|
4914
5020
|
} catch (e) {
|
|
4915
5021
|
if (e instanceof Error) {
|
|
4916
5022
|
console.error(`unexpected error evaluating options: ${e.message}`);
|
|
4917
5023
|
}
|
|
4918
5024
|
return {};
|
|
4919
5025
|
}
|
|
4920
|
-
return {};
|
|
4921
5026
|
}, [
|
|
4922
5027
|
currentThemeFamily,
|
|
4923
5028
|
currentThemeColorScheme,
|
|
@@ -4927,7 +5032,7 @@ var withDashboardViz = (opts) => {
|
|
|
4927
5032
|
localeContext.serializedTimezone,
|
|
4928
5033
|
useAsyncEvaluatedOptions
|
|
4929
5034
|
]);
|
|
4930
|
-
const evaluatedOptionsToUse =
|
|
5035
|
+
const evaluatedOptionsToUse = useAsyncEvaluatedOptions ? evaluatedOptionsAsync : evaluatedOptions;
|
|
4931
5036
|
let dataSourceMetadata = {};
|
|
4932
5037
|
const OptionKey = "paginateDataSourceKey";
|
|
4933
5038
|
const optsKey = (0, lodash_exports.has)(evaluatedOptionsToUse, OptionKey) && evaluatedOptionsToUse[OptionKey];
|
|
@@ -4949,7 +5054,7 @@ var withDashboardViz = (opts) => {
|
|
|
4949
5054
|
sortParams,
|
|
4950
5055
|
paginatorParams
|
|
4951
5056
|
};
|
|
4952
|
-
if (vizConfig.supports.
|
|
5057
|
+
if (!vizConfig.supports.includes("page-and-sort" /* PAGE_AND_SORT */) && !(0, lodash_exports.has)(dataSources, paginateDataSourceKey)) {
|
|
4953
5058
|
dataSourceMetadata = {};
|
|
4954
5059
|
}
|
|
4955
5060
|
const clonedEvaluatedOptions = __spreadValues({}, evaluatedOptionsToUse);
|
|
@@ -4959,14 +5064,6 @@ var withDashboardViz = (opts) => {
|
|
|
4959
5064
|
react_exports.useEffect(() => {
|
|
4960
5065
|
onComputedProps(clonedEvaluatedOptions);
|
|
4961
5066
|
});
|
|
4962
|
-
react_exports.useEffect(() => {
|
|
4963
|
-
return () => {
|
|
4964
|
-
if (useAsyncEvaluatedOptions) {
|
|
4965
|
-
isMounted.current = false;
|
|
4966
|
-
async_dynamic_options_evaluator_default.reset(visualizationID);
|
|
4967
|
-
}
|
|
4968
|
-
};
|
|
4969
|
-
}, []);
|
|
4970
5067
|
const { requiredProps = [], supports } = vizConfig;
|
|
4971
5068
|
const missing = missingKeys(requiredProps, evaluatedOptionsToUse);
|
|
4972
5069
|
if (missing.length > 0 && supports.includes("placeholder" /* PLACEHOLDER */) && vizConfig.key !== "splunk.singlevalue") {
|
|
@@ -4981,7 +5078,16 @@ var withDashboardViz = (opts) => {
|
|
|
4981
5078
|
}
|
|
4982
5079
|
);
|
|
4983
5080
|
}
|
|
4984
|
-
const eventCallbackProps =
|
|
5081
|
+
const eventCallbackProps = buildAllEventCallbackProps(
|
|
5082
|
+
vizConfig.events,
|
|
5083
|
+
evaluatedOptionsToUse,
|
|
5084
|
+
onEventTrigger,
|
|
5085
|
+
{
|
|
5086
|
+
supportsEvents: vizConfig.supports.includes("events" /* EVENTS */),
|
|
5087
|
+
hasEventHandlers,
|
|
5088
|
+
mode
|
|
5089
|
+
}
|
|
5090
|
+
);
|
|
4985
5091
|
const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), {
|
|
4986
5092
|
// Align option transformation with the actual renderer selected below.
|
|
4987
5093
|
// This prevents canvas-only option preservation from leaking into Highcharts mode.
|
|
@@ -5009,8 +5115,9 @@ var withDashboardViz = (opts) => {
|
|
|
5009
5115
|
onEventTrigger: SplunkVisualization_default.defaults.onEventTrigger
|
|
5010
5116
|
});
|
|
5011
5117
|
DashboardViz.config = vizConfig;
|
|
5012
|
-
return
|
|
5013
|
-
withPlaceholder_default(withEditModeCover_default(DashboardViz, disableEditModeCover), useIconPlaceholder)
|
|
5118
|
+
return Object.assign(
|
|
5119
|
+
(0, styled_components_exports.withTheme)(withPlaceholder_default(withEditModeCover_default(DashboardViz, disableEditModeCover), useIconPlaceholder)),
|
|
5120
|
+
{ config: vizConfig }
|
|
5014
5121
|
);
|
|
5015
5122
|
};
|
|
5016
5123
|
var withDashboardViz_default = withDashboardViz;
|
|
@@ -5122,18 +5229,9 @@ var Paginator_exports = {};
|
|
|
5122
5229
|
__export(Paginator_exports, {
|
|
5123
5230
|
default: () => Paginator_default
|
|
5124
5231
|
});
|
|
5125
|
-
var
|
|
5232
|
+
var defaultImport39 = __toESM(require("@splunk/react-ui/Paginator"));
|
|
5126
5233
|
__reExport(Paginator_exports, require("@splunk/react-ui/Paginator"));
|
|
5127
|
-
var Paginator_default = "default" in
|
|
5128
|
-
|
|
5129
|
-
// esm-externals:@splunk/themes
|
|
5130
|
-
var themes_exports = {};
|
|
5131
|
-
__export(themes_exports, {
|
|
5132
|
-
default: () => themes_default
|
|
5133
|
-
});
|
|
5134
|
-
var defaultImport39 = __toESM(require("@splunk/themes"));
|
|
5135
|
-
__reExport(themes_exports, require("@splunk/themes"));
|
|
5136
|
-
var themes_default = "default" in defaultImport39 ? defaultImport39.default : defaultImport39;
|
|
5234
|
+
var Paginator_default = "default" in defaultImport39 ? defaultImport39.default : defaultImport39;
|
|
5137
5235
|
|
|
5138
5236
|
// src/common/hocs/withTrellis.tsx
|
|
5139
5237
|
var evaluatePanelOption = (panelDataSources, allOptions, optionKey, vizContext) => {
|
|
@@ -5156,7 +5254,7 @@ var sortTrellisKeys = (keys, trellisSortBy, trellisSortOrder, modifiedDataSource
|
|
|
5156
5254
|
if (trellisSortBy === "trend") {
|
|
5157
5255
|
optionKey = "trendValue";
|
|
5158
5256
|
} else {
|
|
5159
|
-
optionKey = mergedOptions.value
|
|
5257
|
+
optionKey = mergedOptions.value === void 0 ? "majorValue" : "value";
|
|
5160
5258
|
}
|
|
5161
5259
|
keys.sort((a, b) => {
|
|
5162
5260
|
const valA = evaluatePanelOption(
|
|
@@ -5308,13 +5406,13 @@ var withTrellis = (Viz) => {
|
|
|
5308
5406
|
const noColumns = columns === void 0;
|
|
5309
5407
|
const noFields = fields === void 0;
|
|
5310
5408
|
const updateDataDisplay = (currPage) => {
|
|
5311
|
-
if (
|
|
5312
|
-
setPagedData(splitByKeys);
|
|
5313
|
-
setPageNum(1);
|
|
5314
|
-
} else {
|
|
5409
|
+
if (showPaginator) {
|
|
5315
5410
|
const startIdx = pageCount * (currPage - 1);
|
|
5316
5411
|
const paged = splitByKeys.slice(startIdx, startIdx + pageCount);
|
|
5317
5412
|
setPagedData(paged);
|
|
5413
|
+
} else {
|
|
5414
|
+
setPagedData(splitByKeys);
|
|
5415
|
+
setPageNum(1);
|
|
5318
5416
|
}
|
|
5319
5417
|
};
|
|
5320
5418
|
(0, react_exports.useEffect)(() => {
|