@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/Scatter.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/AxesChartXGridAndLabels.ts
|
|
@@ -2234,7 +2229,7 @@ var editorConfig = [
|
|
|
2234
2229
|
},
|
|
2235
2230
|
{
|
|
2236
2231
|
label: AxesChartLegend_default.label,
|
|
2237
|
-
layout:
|
|
2232
|
+
layout: AxesChartLegendWithTrellisAndMode({ showLegendTooltip: false }).layout.slice(0, 2)
|
|
2238
2233
|
// Legendmode not required hence slice
|
|
2239
2234
|
},
|
|
2240
2235
|
AxesChartXGridAndLabelsBubbleScatter,
|
|
@@ -2479,7 +2474,10 @@ var useSortingParams = ({ requestParams, onRequestParamsChange }) => {
|
|
|
2479
2474
|
onSort = (e, { sortKey, sortDir }) => {
|
|
2480
2475
|
if (typeof sortKey === "string") {
|
|
2481
2476
|
const nextSortDir = (0, lodash_exports.has)(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : "none";
|
|
2482
|
-
onRequestParamsChange(
|
|
2477
|
+
onRequestParamsChange(__spreadProps(__spreadValues({}, requestParams), {
|
|
2478
|
+
offset: 0,
|
|
2479
|
+
sort: { [sortKey]: nextSortDir }
|
|
2480
|
+
}));
|
|
2483
2481
|
} else {
|
|
2484
2482
|
onRequestParamsChange(requestParams);
|
|
2485
2483
|
}
|
|
@@ -2605,7 +2603,7 @@ var Cover = styled_components_default.div`
|
|
|
2605
2603
|
bottom: 0;
|
|
2606
2604
|
`;
|
|
2607
2605
|
var Blocker = styled_components_default.div.attrs({
|
|
2608
|
-
"data-splunk-visualization-version": "28.
|
|
2606
|
+
"data-splunk-visualization-version": "28.9.1 - fba477a41"
|
|
2609
2607
|
})`
|
|
2610
2608
|
position: relative;
|
|
2611
2609
|
width: 100%;
|
|
@@ -2631,6 +2629,15 @@ var defaultImport32 = __toESM(require("@splunk/visualizations-shared/colorUtils"
|
|
|
2631
2629
|
__reExport(colorUtils_exports, require("@splunk/visualizations-shared/colorUtils"));
|
|
2632
2630
|
var colorUtils_default = "default" in defaultImport32 ? defaultImport32.default : defaultImport32;
|
|
2633
2631
|
|
|
2632
|
+
// esm-externals:@splunk/themes
|
|
2633
|
+
var themes_exports = {};
|
|
2634
|
+
__export(themes_exports, {
|
|
2635
|
+
default: () => themes_default
|
|
2636
|
+
});
|
|
2637
|
+
var defaultImport33 = __toESM(require("@splunk/themes"));
|
|
2638
|
+
__reExport(themes_exports, require("@splunk/themes"));
|
|
2639
|
+
var themes_default = "default" in defaultImport33 ? defaultImport33.default : defaultImport33;
|
|
2640
|
+
|
|
2634
2641
|
// src/common/hocs/FixedSizeContainer.tsx
|
|
2635
2642
|
var Item = styled_components_default.div.attrs(({ width }) => ({
|
|
2636
2643
|
style: {
|
|
@@ -2686,7 +2693,7 @@ var withFixedSizeContainer = (Viz) => {
|
|
|
2686
2693
|
FixSizeItem,
|
|
2687
2694
|
{
|
|
2688
2695
|
"data-test": "fix-size-item",
|
|
2689
|
-
"data-splunk-visualization-version": "28.
|
|
2696
|
+
"data-splunk-visualization-version": "28.9.1 - fba477a41",
|
|
2690
2697
|
width,
|
|
2691
2698
|
height,
|
|
2692
2699
|
backgroundColor
|
|
@@ -2707,6 +2714,14 @@ var shouldShowIconPlaceholder = (dataSources, loading = false) => {
|
|
|
2707
2714
|
const noFields = fields === void 0;
|
|
2708
2715
|
return loading || noData || noFields;
|
|
2709
2716
|
};
|
|
2717
|
+
var PlaceholderContainer = styled_components_default.div`
|
|
2718
|
+
/* The inline token color wins when supported. Older browsers discard an
|
|
2719
|
+
unsupported oklch value and retain this inherited fallback instead. */
|
|
2720
|
+
color: ${(0, themes_exports.pick)({
|
|
2721
|
+
dark: "#fafafa",
|
|
2722
|
+
light: "#2c2c2c"
|
|
2723
|
+
})};
|
|
2724
|
+
`;
|
|
2710
2725
|
var IconPlaceholder = (props) => {
|
|
2711
2726
|
const {
|
|
2712
2727
|
width = SplunkVisualization_default.defaults.width,
|
|
@@ -2721,7 +2736,6 @@ var IconPlaceholder = (props) => {
|
|
|
2721
2736
|
style: {
|
|
2722
2737
|
left: "50%",
|
|
2723
2738
|
top: "50%",
|
|
2724
|
-
color: iconColor,
|
|
2725
2739
|
opacity: 0.15,
|
|
2726
2740
|
position: "absolute",
|
|
2727
2741
|
transform: "translate(-50%, -50%)"
|
|
@@ -2731,7 +2745,14 @@ var IconPlaceholder = (props) => {
|
|
|
2731
2745
|
"data-test": "icon-placeholder"
|
|
2732
2746
|
});
|
|
2733
2747
|
}
|
|
2734
|
-
return /* @__PURE__ */ react_exports.createElement(
|
|
2748
|
+
return /* @__PURE__ */ react_exports.createElement(
|
|
2749
|
+
PlaceholderContainer,
|
|
2750
|
+
{
|
|
2751
|
+
"data-test": "icon-placeholder-container",
|
|
2752
|
+
style: { width, height, background: backgroundColor, color: iconColor }
|
|
2753
|
+
},
|
|
2754
|
+
content
|
|
2755
|
+
);
|
|
2735
2756
|
};
|
|
2736
2757
|
var IconPlaceholder_default = FixedSizeContainer_default(IconPlaceholder);
|
|
2737
2758
|
|
|
@@ -2934,16 +2955,16 @@ var FeatureFlags_exports = {};
|
|
|
2934
2955
|
__export(FeatureFlags_exports, {
|
|
2935
2956
|
default: () => FeatureFlags_default
|
|
2936
2957
|
});
|
|
2937
|
-
var
|
|
2958
|
+
var defaultImport34 = __toESM(require("@splunk/visualization-context/FeatureFlags"));
|
|
2938
2959
|
__reExport(FeatureFlags_exports, require("@splunk/visualization-context/FeatureFlags"));
|
|
2939
|
-
var FeatureFlags_default = "default" in
|
|
2960
|
+
var FeatureFlags_default = "default" in defaultImport34 ? defaultImport34.default : defaultImport34;
|
|
2940
2961
|
|
|
2941
2962
|
// src/common/utils/featureFlagUtils.ts
|
|
2942
2963
|
var getFeatureFlag = (context, flagName) => {
|
|
2943
|
-
if (context && Object.keys(context).
|
|
2964
|
+
if (context && Object.keys(context).includes(flagName)) {
|
|
2944
2965
|
return context[flagName];
|
|
2945
2966
|
}
|
|
2946
|
-
if (Object.keys(FeatureFlags_default).
|
|
2967
|
+
if (Object.keys(FeatureFlags_default).includes(flagName)) {
|
|
2947
2968
|
return FeatureFlags_default[flagName];
|
|
2948
2969
|
}
|
|
2949
2970
|
return false;
|
|
@@ -2954,9 +2975,9 @@ var trellisUtils_exports = {};
|
|
|
2954
2975
|
__export(trellisUtils_exports, {
|
|
2955
2976
|
default: () => trellisUtils_default
|
|
2956
2977
|
});
|
|
2957
|
-
var
|
|
2978
|
+
var defaultImport35 = __toESM(require("@splunk/visualizations-shared/trellisUtils"));
|
|
2958
2979
|
__reExport(trellisUtils_exports, require("@splunk/visualizations-shared/trellisUtils"));
|
|
2959
|
-
var trellisUtils_default = "default" in
|
|
2980
|
+
var trellisUtils_default = "default" in defaultImport35 ? defaultImport35.default : defaultImport35;
|
|
2960
2981
|
|
|
2961
2982
|
// src/common/utils/trellisUtils.ts
|
|
2962
2983
|
var AGGREGATIONS = "aggregations";
|
|
@@ -3177,7 +3198,7 @@ var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
|
|
|
3177
3198
|
splitByFields = (0, trellisUtils_exports.extractSplitByFieldsChartFields)(fields);
|
|
3178
3199
|
}
|
|
3179
3200
|
if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
|
|
3180
|
-
const splitByFieldIdx = splitByFields.
|
|
3201
|
+
const splitByFieldIdx = splitByFields.indexOf(splitBy);
|
|
3181
3202
|
const otherSplitBy = splitByFields.filter((f) => f !== splitBy);
|
|
3182
3203
|
const dataSourceKeys = (0, trellisUtils_exports.extractDataSourceAggregationKeysChart)(fields);
|
|
3183
3204
|
const nonDataSourceAggregations = [];
|
|
@@ -3211,17 +3232,17 @@ var dataSourcesSplitByModeStatsorUnknown = (dataSource, splitBy, splitMode) => {
|
|
|
3211
3232
|
let splitByFields = [];
|
|
3212
3233
|
let errorCode = null;
|
|
3213
3234
|
if (fields.length > 0) {
|
|
3214
|
-
splitByFields = splitMode
|
|
3235
|
+
splitByFields = splitMode === trellisUtils_exports.UNKNOWN ? (0, trellisUtils_exports.extractSplitByFieldsForUnknown)(fields) : (0, trellisUtils_exports.extractSplitByFieldsForStats)(fields);
|
|
3215
3236
|
}
|
|
3216
3237
|
const splitByIndex = fields.findIndex((field) => field.name === splitBy);
|
|
3217
3238
|
if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
|
|
3218
3239
|
const splitByColumn = (_f = (_e = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _e.data) == null ? void 0 : _f.columns[splitByIndex];
|
|
3219
3240
|
splitDataSources = {};
|
|
3220
3241
|
splitByColumn.forEach((val, idx) => {
|
|
3221
|
-
if (
|
|
3222
|
-
splitDataSources[val] = [idx];
|
|
3223
|
-
} else {
|
|
3242
|
+
if (splitDataSources[val]) {
|
|
3224
3243
|
splitDataSources[val].push(idx);
|
|
3244
|
+
} else {
|
|
3245
|
+
splitDataSources[val] = [idx];
|
|
3225
3246
|
}
|
|
3226
3247
|
});
|
|
3227
3248
|
const cloneFields = (0, lodash_exports.cloneDeep)(fields);
|
|
@@ -3272,27 +3293,28 @@ var turnOffLegendDisplayWhenTrellisIsOn = (isTrellisOn, options) => {
|
|
|
3272
3293
|
}
|
|
3273
3294
|
return {};
|
|
3274
3295
|
};
|
|
3296
|
+
var extendMinMaxWithColumn = (column, range2) => column.reduce((acc, point) => {
|
|
3297
|
+
const pointNumber = Number(point);
|
|
3298
|
+
if (Number.isNaN(pointNumber)) {
|
|
3299
|
+
return acc;
|
|
3300
|
+
}
|
|
3301
|
+
return {
|
|
3302
|
+
min: Math.min(pointNumber, acc.min),
|
|
3303
|
+
max: Math.max(pointNumber, acc.max)
|
|
3304
|
+
};
|
|
3305
|
+
}, range2);
|
|
3275
3306
|
var calculateSharedMinMax = (splitData) => {
|
|
3276
|
-
let
|
|
3277
|
-
let min = Infinity;
|
|
3307
|
+
let range2 = { min: Infinity, max: -Infinity };
|
|
3278
3308
|
Object.keys(splitData).forEach((splitByKey) => {
|
|
3279
3309
|
const datasources = splitData[splitByKey];
|
|
3280
3310
|
Object.keys(datasources).forEach((datasourceName) => {
|
|
3281
3311
|
const dataColumns = datasources[datasourceName].data.columns;
|
|
3282
3312
|
dataColumns.forEach((column) => {
|
|
3283
|
-
column
|
|
3284
|
-
const pointNumber = Number(point);
|
|
3285
|
-
if (pointNumber > max) {
|
|
3286
|
-
max = pointNumber;
|
|
3287
|
-
}
|
|
3288
|
-
if (pointNumber < min) {
|
|
3289
|
-
min = pointNumber;
|
|
3290
|
-
}
|
|
3291
|
-
});
|
|
3313
|
+
range2 = extendMinMaxWithColumn(column, range2);
|
|
3292
3314
|
});
|
|
3293
3315
|
});
|
|
3294
3316
|
});
|
|
3295
|
-
return [min, max];
|
|
3317
|
+
return [range2.min, range2.max];
|
|
3296
3318
|
};
|
|
3297
3319
|
var determineMinMax = (splitData, trellisSharedScale, yAxisMin, yAxisMax, stackMode) => {
|
|
3298
3320
|
if (!trellisSharedScale || stackMode === "stacked100" || yAxisMin !== "auto" && yAxisMax !== "auto")
|
|
@@ -3308,9 +3330,9 @@ var visualization_canvas_exports = {};
|
|
|
3308
3330
|
__export(visualization_canvas_exports, {
|
|
3309
3331
|
default: () => visualization_canvas_default
|
|
3310
3332
|
});
|
|
3311
|
-
var
|
|
3333
|
+
var defaultImport36 = __toESM(require("@splunk/visualization-canvas"));
|
|
3312
3334
|
__reExport(visualization_canvas_exports, require("@splunk/visualization-canvas"));
|
|
3313
|
-
var visualization_canvas_default = "default" in
|
|
3335
|
+
var visualization_canvas_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
|
|
3314
3336
|
|
|
3315
3337
|
// src/common/components/VizStyleWrapper.jsx
|
|
3316
3338
|
var VizStyleWrapper = styled_components_default.div.attrs(({ dataTestKey }) => ({
|
|
@@ -3332,18 +3354,18 @@ var Triangle_exports = {};
|
|
|
3332
3354
|
__export(Triangle_exports, {
|
|
3333
3355
|
default: () => Triangle_default
|
|
3334
3356
|
});
|
|
3335
|
-
var
|
|
3357
|
+
var defaultImport37 = __toESM(require("@splunk/react-icons/Triangle"));
|
|
3336
3358
|
__reExport(Triangle_exports, require("@splunk/react-icons/Triangle"));
|
|
3337
|
-
var Triangle_default = "default" in
|
|
3359
|
+
var Triangle_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
|
|
3338
3360
|
|
|
3339
3361
|
// esm-externals:@splunk/visualizations-shared/propUtils
|
|
3340
3362
|
var propUtils_exports = {};
|
|
3341
3363
|
__export(propUtils_exports, {
|
|
3342
3364
|
default: () => propUtils_default
|
|
3343
3365
|
});
|
|
3344
|
-
var
|
|
3366
|
+
var defaultImport38 = __toESM(require("@splunk/visualizations-shared/propUtils"));
|
|
3345
3367
|
__reExport(propUtils_exports, require("@splunk/visualizations-shared/propUtils"));
|
|
3346
|
-
var propUtils_default = "default" in
|
|
3368
|
+
var propUtils_default = "default" in defaultImport38 ? defaultImport38.default : defaultImport38;
|
|
3347
3369
|
|
|
3348
3370
|
// src/common/chartingUtils.ts
|
|
3349
3371
|
var DEFAULT_LINE_WIDTH = 2;
|
|
@@ -3376,7 +3398,7 @@ var truncateData = (dataSet, truncationLimit) => {
|
|
|
3376
3398
|
if (!dataSet) {
|
|
3377
3399
|
return null;
|
|
3378
3400
|
}
|
|
3379
|
-
const limit = parseInt(truncationLimit, 10);
|
|
3401
|
+
const limit = Number.parseInt(truncationLimit, 10);
|
|
3380
3402
|
if (!limit || limit <= 0) {
|
|
3381
3403
|
return dataSet;
|
|
3382
3404
|
}
|
|
@@ -3408,9 +3430,9 @@ var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
|
|
|
3408
3430
|
const xAxisIsTime = xField === "_time";
|
|
3409
3431
|
return !!rangeSelectEventHandler && xAxisIsTime;
|
|
3410
3432
|
};
|
|
3411
|
-
var canvasSupportedTimeSeriesCharts = ["splunk.line", "splunk.area"];
|
|
3433
|
+
var canvasSupportedTimeSeriesCharts = /* @__PURE__ */ new Set(["splunk.line", "splunk.area"]);
|
|
3412
3434
|
var isTimeSeriesCanvasRenderSupported = (vizConfigKey) => {
|
|
3413
|
-
return canvasSupportedTimeSeriesCharts.
|
|
3435
|
+
return canvasSupportedTimeSeriesCharts.has(vizConfigKey);
|
|
3414
3436
|
};
|
|
3415
3437
|
var filterChartDataFromInternalFields = (chartData) => {
|
|
3416
3438
|
const { fields, columns } = chartData;
|
|
@@ -3426,7 +3448,7 @@ var filterChartDataFromInternalFields = (chartData) => {
|
|
|
3426
3448
|
return { fields: filteredFields, columns: filteredColumns };
|
|
3427
3449
|
};
|
|
3428
3450
|
var convert2DArrayToNumbers = (arr) => {
|
|
3429
|
-
return arr.map((subArray) => subArray.map((element) => parseFloat(element)));
|
|
3451
|
+
return arr.map((subArray) => subArray.map((element) => Number.parseFloat(element)));
|
|
3430
3452
|
};
|
|
3431
3453
|
var parseAxisValue = (val) => {
|
|
3432
3454
|
if (val === void 0 || val === null || val === "auto" || val === "") {
|
|
@@ -3464,6 +3486,7 @@ var getLegend = (props) => {
|
|
|
3464
3486
|
return (0, visualization_canvas_exports.TopLegendFactory)(__spreadValues({
|
|
3465
3487
|
wrap: true
|
|
3466
3488
|
}, commonLegendProps));
|
|
3489
|
+
// Note: By default, use right legend
|
|
3467
3490
|
default:
|
|
3468
3491
|
return (0, visualization_canvas_exports.SideLegendFactory)(__spreadValues({}, commonLegendProps));
|
|
3469
3492
|
}
|
|
@@ -3596,10 +3619,10 @@ var getSeriesOverrides = (opts) => {
|
|
|
3596
3619
|
let spanGaps;
|
|
3597
3620
|
if (nullValueMode === "gaps") {
|
|
3598
3621
|
spanGaps = false;
|
|
3599
|
-
} else if (nullValueMode
|
|
3600
|
-
spanGaps = true;
|
|
3601
|
-
} else {
|
|
3622
|
+
} else if (nullValueMode == null) {
|
|
3602
3623
|
spanGaps = void 0;
|
|
3624
|
+
} else {
|
|
3625
|
+
spanGaps = true;
|
|
3603
3626
|
}
|
|
3604
3627
|
const replaceNullsWithZero = nullValueMode === "zero" ? true : void 0;
|
|
3605
3628
|
const isAreaChart = type === "area";
|
|
@@ -3969,11 +3992,11 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
3969
3992
|
y2AxisMajorUnitFromSimpleXML,
|
|
3970
3993
|
y2AxisMajorTickInterval
|
|
3971
3994
|
);
|
|
3972
|
-
const xAxisMajorTickSizeNum = xAxisMajorTickSize
|
|
3973
|
-
const yAxisMajorTickSizeNum = yAxisMajorTickSize
|
|
3974
|
-
const y2AxisMajorTickSizeNum = y2AxisMajorTickSize
|
|
3975
|
-
const yAxisMinorTickSizeNum = yAxisMinorTickSize
|
|
3976
|
-
const y2AxisMinorTickSizeNum = y2AxisMinorTickSize
|
|
3995
|
+
const xAxisMajorTickSizeNum = xAxisMajorTickSize == null ? void 0 : Number(xAxisMajorTickSize);
|
|
3996
|
+
const yAxisMajorTickSizeNum = yAxisMajorTickSize == null ? void 0 : Number(yAxisMajorTickSize);
|
|
3997
|
+
const y2AxisMajorTickSizeNum = y2AxisMajorTickSize == null ? void 0 : Number(y2AxisMajorTickSize);
|
|
3998
|
+
const yAxisMinorTickSizeNum = yAxisMinorTickSize == null ? void 0 : Number(yAxisMinorTickSize);
|
|
3999
|
+
const y2AxisMinorTickSizeNum = y2AxisMinorTickSize == null ? void 0 : Number(y2AxisMinorTickSize);
|
|
3977
4000
|
const areaOpacityForCanvas = getAreaOpacityForCanvas(areaOpacity);
|
|
3978
4001
|
const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
|
|
3979
4002
|
const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
|
|
@@ -4385,6 +4408,76 @@ var buildEventCallbackProps = (supportedEvents, evaluatedOptionsToUse, onEventTr
|
|
|
4385
4408
|
});
|
|
4386
4409
|
return result;
|
|
4387
4410
|
};
|
|
4411
|
+
var buildAllEventCallbackProps = (events, evaluatedOptionsToUse, onEventTrigger, { supportsEvents, hasEventHandlers, mode }) => {
|
|
4412
|
+
if (!supportsEvents) return {};
|
|
4413
|
+
const defaultEvents = {};
|
|
4414
|
+
const userEvents = {};
|
|
4415
|
+
Object.entries(events || {}).forEach(([eventKey, eventConfig]) => {
|
|
4416
|
+
(eventConfig.source === "default" ? defaultEvents : userEvents)[eventKey] = eventConfig;
|
|
4417
|
+
});
|
|
4418
|
+
const userProps = hasEventHandlers && mode === "view" ? buildEventCallbackProps(userEvents, evaluatedOptionsToUse, onEventTrigger) : {};
|
|
4419
|
+
return __spreadValues(__spreadValues({}, userProps), buildEventCallbackProps(defaultEvents, evaluatedOptionsToUse, onEventTrigger));
|
|
4420
|
+
};
|
|
4421
|
+
var applyContextTimezone = (localeContext) => {
|
|
4422
|
+
if (localeContext.serializedTimezone && !moment_default.getDefaultSplunkTimezone()) {
|
|
4423
|
+
moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
|
|
4424
|
+
}
|
|
4425
|
+
};
|
|
4426
|
+
var getAsyncOptionsEvaluationParams = ({
|
|
4427
|
+
visualizationID,
|
|
4428
|
+
props,
|
|
4429
|
+
optionsToEvaluate,
|
|
4430
|
+
downsampledDataSources,
|
|
4431
|
+
vizConfig,
|
|
4432
|
+
bypassCloneDeepOptionScope,
|
|
4433
|
+
lazyLoadingDataFrame
|
|
4434
|
+
}) => {
|
|
4435
|
+
return {
|
|
4436
|
+
visualizationID,
|
|
4437
|
+
props,
|
|
4438
|
+
options: __spreadValues({}, optionsToEvaluate),
|
|
4439
|
+
dataSources: downsampledDataSources,
|
|
4440
|
+
theme: vizConfig.themes,
|
|
4441
|
+
bypassCloneDeepOptionScope,
|
|
4442
|
+
lazyLoadingDataFrame
|
|
4443
|
+
};
|
|
4444
|
+
};
|
|
4445
|
+
var evaluateOptionsSync = ({
|
|
4446
|
+
optionsToEvaluate,
|
|
4447
|
+
downsampledDataSources,
|
|
4448
|
+
dataSourcesInState,
|
|
4449
|
+
dataFramesInState,
|
|
4450
|
+
setDataSourcesInState,
|
|
4451
|
+
setDataFramesInState,
|
|
4452
|
+
computeDataFrames,
|
|
4453
|
+
featureFlagContext,
|
|
4454
|
+
themeFunc
|
|
4455
|
+
}) => {
|
|
4456
|
+
let dataFrames = dataFramesInState;
|
|
4457
|
+
if (downsampledDataSources !== dataSourcesInState) {
|
|
4458
|
+
setDataSourcesInState(downsampledDataSources);
|
|
4459
|
+
dataFrames = Options_exports.Options.dataFrameFromDataSource(
|
|
4460
|
+
downsampledDataSources,
|
|
4461
|
+
getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
|
|
4462
|
+
);
|
|
4463
|
+
setDataFramesInState(dataFrames);
|
|
4464
|
+
}
|
|
4465
|
+
let mergedFrames = dataFrames;
|
|
4466
|
+
if (computeDataFrames && dataFrames) {
|
|
4467
|
+
const derivedFrames = computeDataFrames({
|
|
4468
|
+
dataSources: downsampledDataSources,
|
|
4469
|
+
options: optionsToEvaluate.options
|
|
4470
|
+
});
|
|
4471
|
+
mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
|
|
4472
|
+
}
|
|
4473
|
+
return Options_exports.Options.evaluate(
|
|
4474
|
+
optionsToEvaluate,
|
|
4475
|
+
downsampledDataSources,
|
|
4476
|
+
themeFunc,
|
|
4477
|
+
mergedFrames,
|
|
4478
|
+
getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
|
|
4479
|
+
);
|
|
4480
|
+
};
|
|
4388
4481
|
var withDashboardViz = (opts) => {
|
|
4389
4482
|
const {
|
|
4390
4483
|
ReactViz,
|
|
@@ -4416,11 +4509,7 @@ var withDashboardViz = (opts) => {
|
|
|
4416
4509
|
onRequestParamsChange = lodash_exports.noop
|
|
4417
4510
|
} = props;
|
|
4418
4511
|
const localeContext = react_exports.useContext(TimezoneContext_default);
|
|
4419
|
-
|
|
4420
|
-
if (!moment_default.getDefaultSplunkTimezone()) {
|
|
4421
|
-
moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
|
|
4422
|
-
}
|
|
4423
|
-
}
|
|
4512
|
+
applyContextTimezone(localeContext);
|
|
4424
4513
|
const themeFunc = (themeVar) => {
|
|
4425
4514
|
var _a2, _b;
|
|
4426
4515
|
return (_b = (_a2 = vizConfig.themes)[themeVar]) == null ? void 0 : _b.call(_a2, props);
|
|
@@ -4448,7 +4537,12 @@ var withDashboardViz = (opts) => {
|
|
|
4448
4537
|
featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableAcceleratedRender
|
|
4449
4538
|
);
|
|
4450
4539
|
const isAcceleratedRenderOn = isAcceleratedRenderFeatureFlagOn2 && isTimeSeriesCanvasRenderSupported(vizConfig.key) && (options == null ? void 0 : options.acceleratedRender) === true;
|
|
4451
|
-
const
|
|
4540
|
+
const bypassCloneDeepOptionScope = Boolean(
|
|
4541
|
+
getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
|
|
4542
|
+
);
|
|
4543
|
+
const lazyLoadingDataFrame = Boolean(
|
|
4544
|
+
getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
|
|
4545
|
+
);
|
|
4452
4546
|
const optionsToEvaluate = react_exports.useMemo(() => {
|
|
4453
4547
|
var _a2;
|
|
4454
4548
|
const legendDisplay = turnOffLegendDisplayWhenTrellisIsOn(isTrellisOn, options);
|
|
@@ -4487,63 +4581,74 @@ var withDashboardViz = (opts) => {
|
|
|
4487
4581
|
threshold,
|
|
4488
4582
|
isDownsamplingEnabled
|
|
4489
4583
|
});
|
|
4490
|
-
|
|
4584
|
+
const asyncOptionsEvaluationParams = useDeepMemo(
|
|
4585
|
+
() => getAsyncOptionsEvaluationParams({
|
|
4586
|
+
visualizationID,
|
|
4587
|
+
props,
|
|
4588
|
+
optionsToEvaluate,
|
|
4589
|
+
downsampledDataSources,
|
|
4590
|
+
vizConfig,
|
|
4591
|
+
bypassCloneDeepOptionScope,
|
|
4592
|
+
lazyLoadingDataFrame
|
|
4593
|
+
}),
|
|
4594
|
+
[
|
|
4595
|
+
visualizationID,
|
|
4596
|
+
optionsToEvaluate,
|
|
4597
|
+
downsampledDataSources,
|
|
4598
|
+
vizConfig,
|
|
4599
|
+
bypassCloneDeepOptionScope,
|
|
4600
|
+
lazyLoadingDataFrame,
|
|
4601
|
+
currentThemeFamily,
|
|
4602
|
+
currentThemeColorScheme,
|
|
4603
|
+
currentThemeDensity,
|
|
4604
|
+
localeContext.serializedTimezone
|
|
4605
|
+
]
|
|
4606
|
+
);
|
|
4607
|
+
react_exports.useEffect(() => {
|
|
4608
|
+
if (!useAsyncEvaluatedOptions) {
|
|
4609
|
+
return void 0;
|
|
4610
|
+
}
|
|
4611
|
+
let ownsEvaluation = true;
|
|
4491
4612
|
try {
|
|
4492
|
-
|
|
4493
|
-
|
|
4494
|
-
visualizationID,
|
|
4495
|
-
props,
|
|
4496
|
-
options: optionsToEvaluate,
|
|
4497
|
-
dataSources: downsampledDataSources,
|
|
4498
|
-
theme: vizConfig.themes,
|
|
4499
|
-
bypassCloneDeepOptionScope: Boolean(
|
|
4500
|
-
getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
|
|
4501
|
-
),
|
|
4502
|
-
lazyLoadingDataFrame: Boolean(
|
|
4503
|
-
getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
|
|
4504
|
-
)
|
|
4505
|
-
};
|
|
4506
|
-
async_dynamic_options_evaluator_default.evaluate(asyncDynamicOptionsEvaluatorParams).then((results) => {
|
|
4613
|
+
async_dynamic_options_evaluator_default.evaluate(asyncOptionsEvaluationParams).then((results) => {
|
|
4614
|
+
if (ownsEvaluation) {
|
|
4507
4615
|
setEvaluatedOptionsAsync(results.results);
|
|
4508
|
-
}).catch(() => {
|
|
4509
|
-
if (isMounted.current) {
|
|
4510
|
-
setUseAsyncEvaluatedOptions(false);
|
|
4511
|
-
}
|
|
4512
|
-
});
|
|
4513
|
-
} else {
|
|
4514
|
-
let dataFrames = dataFramesInState;
|
|
4515
|
-
if (downsampledDataSources !== dataSourcesInState) {
|
|
4516
|
-
setDataSourcesInState(downsampledDataSources);
|
|
4517
|
-
dataFrames = Options_exports.Options.dataFrameFromDataSource(
|
|
4518
|
-
downsampledDataSources,
|
|
4519
|
-
getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
|
|
4520
|
-
);
|
|
4521
|
-
setDataFramesInState(dataFrames);
|
|
4522
4616
|
}
|
|
4523
|
-
|
|
4524
|
-
if (
|
|
4525
|
-
|
|
4526
|
-
dataSources: downsampledDataSources,
|
|
4527
|
-
options: optionsToEvaluate.options
|
|
4528
|
-
});
|
|
4529
|
-
mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
|
|
4617
|
+
}).catch(() => {
|
|
4618
|
+
if (ownsEvaluation) {
|
|
4619
|
+
setUseAsyncEvaluatedOptions(false);
|
|
4530
4620
|
}
|
|
4531
|
-
|
|
4532
|
-
|
|
4533
|
-
|
|
4534
|
-
|
|
4535
|
-
|
|
4536
|
-
|
|
4537
|
-
|
|
4538
|
-
|
|
4621
|
+
});
|
|
4622
|
+
} catch (e) {
|
|
4623
|
+
setUseAsyncEvaluatedOptions(false);
|
|
4624
|
+
}
|
|
4625
|
+
return () => {
|
|
4626
|
+
ownsEvaluation = false;
|
|
4627
|
+
async_dynamic_options_evaluator_default.reset(visualizationID);
|
|
4628
|
+
};
|
|
4629
|
+
}, [asyncOptionsEvaluationParams, useAsyncEvaluatedOptions, visualizationID]);
|
|
4630
|
+
evaluatedOptions = useDeepMemo(() => {
|
|
4631
|
+
try {
|
|
4632
|
+
if (useAsyncEvaluatedOptions) {
|
|
4633
|
+
return {};
|
|
4539
4634
|
}
|
|
4635
|
+
return evaluateOptionsSync({
|
|
4636
|
+
optionsToEvaluate,
|
|
4637
|
+
downsampledDataSources,
|
|
4638
|
+
dataSourcesInState,
|
|
4639
|
+
dataFramesInState,
|
|
4640
|
+
setDataSourcesInState,
|
|
4641
|
+
setDataFramesInState,
|
|
4642
|
+
computeDataFrames,
|
|
4643
|
+
featureFlagContext,
|
|
4644
|
+
themeFunc
|
|
4645
|
+
});
|
|
4540
4646
|
} catch (e) {
|
|
4541
4647
|
if (e instanceof Error) {
|
|
4542
4648
|
console.error(`unexpected error evaluating options: ${e.message}`);
|
|
4543
4649
|
}
|
|
4544
4650
|
return {};
|
|
4545
4651
|
}
|
|
4546
|
-
return {};
|
|
4547
4652
|
}, [
|
|
4548
4653
|
currentThemeFamily,
|
|
4549
4654
|
currentThemeColorScheme,
|
|
@@ -4553,7 +4658,7 @@ var withDashboardViz = (opts) => {
|
|
|
4553
4658
|
localeContext.serializedTimezone,
|
|
4554
4659
|
useAsyncEvaluatedOptions
|
|
4555
4660
|
]);
|
|
4556
|
-
const evaluatedOptionsToUse =
|
|
4661
|
+
const evaluatedOptionsToUse = useAsyncEvaluatedOptions ? evaluatedOptionsAsync : evaluatedOptions;
|
|
4557
4662
|
let dataSourceMetadata = {};
|
|
4558
4663
|
const OptionKey = "paginateDataSourceKey";
|
|
4559
4664
|
const optsKey = (0, lodash_exports.has)(evaluatedOptionsToUse, OptionKey) && evaluatedOptionsToUse[OptionKey];
|
|
@@ -4575,7 +4680,7 @@ var withDashboardViz = (opts) => {
|
|
|
4575
4680
|
sortParams,
|
|
4576
4681
|
paginatorParams
|
|
4577
4682
|
};
|
|
4578
|
-
if (vizConfig.supports.
|
|
4683
|
+
if (!vizConfig.supports.includes("page-and-sort" /* PAGE_AND_SORT */) && !(0, lodash_exports.has)(dataSources, paginateDataSourceKey)) {
|
|
4579
4684
|
dataSourceMetadata = {};
|
|
4580
4685
|
}
|
|
4581
4686
|
const clonedEvaluatedOptions = __spreadValues({}, evaluatedOptionsToUse);
|
|
@@ -4585,14 +4690,6 @@ var withDashboardViz = (opts) => {
|
|
|
4585
4690
|
react_exports.useEffect(() => {
|
|
4586
4691
|
onComputedProps(clonedEvaluatedOptions);
|
|
4587
4692
|
});
|
|
4588
|
-
react_exports.useEffect(() => {
|
|
4589
|
-
return () => {
|
|
4590
|
-
if (useAsyncEvaluatedOptions) {
|
|
4591
|
-
isMounted.current = false;
|
|
4592
|
-
async_dynamic_options_evaluator_default.reset(visualizationID);
|
|
4593
|
-
}
|
|
4594
|
-
};
|
|
4595
|
-
}, []);
|
|
4596
4693
|
const { requiredProps = [], supports } = vizConfig;
|
|
4597
4694
|
const missing = missingKeys(requiredProps, evaluatedOptionsToUse);
|
|
4598
4695
|
if (missing.length > 0 && supports.includes("placeholder" /* PLACEHOLDER */) && vizConfig.key !== "splunk.singlevalue") {
|
|
@@ -4607,7 +4704,16 @@ var withDashboardViz = (opts) => {
|
|
|
4607
4704
|
}
|
|
4608
4705
|
);
|
|
4609
4706
|
}
|
|
4610
|
-
const eventCallbackProps =
|
|
4707
|
+
const eventCallbackProps = buildAllEventCallbackProps(
|
|
4708
|
+
vizConfig.events,
|
|
4709
|
+
evaluatedOptionsToUse,
|
|
4710
|
+
onEventTrigger,
|
|
4711
|
+
{
|
|
4712
|
+
supportsEvents: vizConfig.supports.includes("events" /* EVENTS */),
|
|
4713
|
+
hasEventHandlers,
|
|
4714
|
+
mode
|
|
4715
|
+
}
|
|
4716
|
+
);
|
|
4611
4717
|
const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), {
|
|
4612
4718
|
// Align option transformation with the actual renderer selected below.
|
|
4613
4719
|
// This prevents canvas-only option preservation from leaking into Highcharts mode.
|
|
@@ -4635,8 +4741,9 @@ var withDashboardViz = (opts) => {
|
|
|
4635
4741
|
onEventTrigger: SplunkVisualization_default.defaults.onEventTrigger
|
|
4636
4742
|
});
|
|
4637
4743
|
DashboardViz.config = vizConfig;
|
|
4638
|
-
return
|
|
4639
|
-
withPlaceholder_default(withEditModeCover_default(DashboardViz, disableEditModeCover), useIconPlaceholder)
|
|
4744
|
+
return Object.assign(
|
|
4745
|
+
(0, styled_components_exports.withTheme)(withPlaceholder_default(withEditModeCover_default(DashboardViz, disableEditModeCover), useIconPlaceholder)),
|
|
4746
|
+
{ config: vizConfig }
|
|
4640
4747
|
);
|
|
4641
4748
|
};
|
|
4642
4749
|
var withDashboardViz_default = withDashboardViz;
|
|
@@ -4698,18 +4805,9 @@ var Paginator_exports = {};
|
|
|
4698
4805
|
__export(Paginator_exports, {
|
|
4699
4806
|
default: () => Paginator_default
|
|
4700
4807
|
});
|
|
4701
|
-
var
|
|
4808
|
+
var defaultImport39 = __toESM(require("@splunk/react-ui/Paginator"));
|
|
4702
4809
|
__reExport(Paginator_exports, require("@splunk/react-ui/Paginator"));
|
|
4703
|
-
var Paginator_default = "default" in
|
|
4704
|
-
|
|
4705
|
-
// esm-externals:@splunk/themes
|
|
4706
|
-
var themes_exports = {};
|
|
4707
|
-
__export(themes_exports, {
|
|
4708
|
-
default: () => themes_default
|
|
4709
|
-
});
|
|
4710
|
-
var defaultImport39 = __toESM(require("@splunk/themes"));
|
|
4711
|
-
__reExport(themes_exports, require("@splunk/themes"));
|
|
4712
|
-
var themes_default = "default" in defaultImport39 ? defaultImport39.default : defaultImport39;
|
|
4810
|
+
var Paginator_default = "default" in defaultImport39 ? defaultImport39.default : defaultImport39;
|
|
4713
4811
|
|
|
4714
4812
|
// src/common/hocs/withTrellis.tsx
|
|
4715
4813
|
var evaluatePanelOption = (panelDataSources, allOptions, optionKey, vizContext) => {
|
|
@@ -4732,7 +4830,7 @@ var sortTrellisKeys = (keys, trellisSortBy, trellisSortOrder, modifiedDataSource
|
|
|
4732
4830
|
if (trellisSortBy === "trend") {
|
|
4733
4831
|
optionKey = "trendValue";
|
|
4734
4832
|
} else {
|
|
4735
|
-
optionKey = mergedOptions.value
|
|
4833
|
+
optionKey = mergedOptions.value === void 0 ? "majorValue" : "value";
|
|
4736
4834
|
}
|
|
4737
4835
|
keys.sort((a, b) => {
|
|
4738
4836
|
const valA = evaluatePanelOption(
|
|
@@ -4884,13 +4982,13 @@ var withTrellis = (Viz) => {
|
|
|
4884
4982
|
const noColumns = columns === void 0;
|
|
4885
4983
|
const noFields = fields === void 0;
|
|
4886
4984
|
const updateDataDisplay = (currPage) => {
|
|
4887
|
-
if (
|
|
4888
|
-
setPagedData(splitByKeys);
|
|
4889
|
-
setPageNum(1);
|
|
4890
|
-
} else {
|
|
4985
|
+
if (showPaginator) {
|
|
4891
4986
|
const startIdx = pageCount * (currPage - 1);
|
|
4892
4987
|
const paged = splitByKeys.slice(startIdx, startIdx + pageCount);
|
|
4893
4988
|
setPagedData(paged);
|
|
4989
|
+
} else {
|
|
4990
|
+
setPagedData(splitByKeys);
|
|
4991
|
+
setPageNum(1);
|
|
4894
4992
|
}
|
|
4895
4993
|
};
|
|
4896
4994
|
(0, react_exports.useEffect)(() => {
|