@splunk/visualizations 28.8.0 → 28.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Area.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 +31 -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/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.config.js +1 -1
- package/Map.config.js.map +2 -2
- package/Map.js +363 -313
- 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.js +3 -3
- 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 +3 -3
- 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 +14 -18
- package/common/utils/mapUtils.js.map +2 -2
- 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/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 +24 -24
package/SingleValueIcon.js
CHANGED
|
@@ -327,7 +327,7 @@ var getTrendColor = ({
|
|
|
327
327
|
if (hasBackground(customizedBgColor) && !isIdenticalColor(customizedBgColor, defaultBackgroundColor) && !isIdenticalColor(customizedBgColor, defaultBlockFontColor)) {
|
|
328
328
|
return defaultBlockFontColor;
|
|
329
329
|
}
|
|
330
|
-
const isInvalidTrend = trendDisplay === "percent" && trendValue === parseFloat(majorValue);
|
|
330
|
+
const isInvalidTrend = trendDisplay === "percent" && trendValue === Number.parseFloat(majorValue);
|
|
331
331
|
if (trendValue === 0 || isInvalidTrend) {
|
|
332
332
|
return defaultFontColor;
|
|
333
333
|
}
|
|
@@ -368,7 +368,7 @@ var computeText = ({
|
|
|
368
368
|
let text = (0, numberUtils_exports.isNumerial)(value) ? (0, numberUtils_exports.formatNumber)(value, numberPrecision, {
|
|
369
369
|
useThousandSeparators: shouldUseThousandSeparators,
|
|
370
370
|
useTrendUnits: shouldAbbreviateValue
|
|
371
|
-
}) : value;
|
|
371
|
+
}) : String(value != null ? value : "");
|
|
372
372
|
text = text || "";
|
|
373
373
|
return text;
|
|
374
374
|
};
|
|
@@ -398,23 +398,20 @@ var getTrendText = ({
|
|
|
398
398
|
shouldUseThousandSeparators,
|
|
399
399
|
shouldAbbreviateValue: shouldAbbreviateTrendValue
|
|
400
400
|
});
|
|
401
|
-
|
|
402
|
-
return "";
|
|
403
|
-
}
|
|
401
|
+
let trendText = "";
|
|
404
402
|
const showPercent = trendDisplay === "percent";
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
403
|
+
const isValidTrend = trendValue !== "" && (0, numberUtils_exports.isNumerial)(trendValue);
|
|
404
|
+
if (isValidTrend && !showPercent) {
|
|
405
|
+
trendText = compute(trendValue);
|
|
406
|
+
} else if (isValidTrend && showPercent) {
|
|
407
|
+
const diff = Math.abs(trendValue - majorValue);
|
|
408
|
+
let val = trendValue / diff * 100;
|
|
409
|
+
if (trendValue === 0 && diff === 0) {
|
|
410
|
+
val = 0;
|
|
411
|
+
}
|
|
412
|
+
trendText = Number.isFinite(val) ? `${compute(val)}%` : "N/A";
|
|
415
413
|
}
|
|
416
|
-
|
|
417
|
-
return `${text}%`;
|
|
414
|
+
return trendText;
|
|
418
415
|
};
|
|
419
416
|
var computeFontSize = (text, { width, height }, fontFamily = DEFAULT_FONT_FAMILY, fontWeight = "normal") => {
|
|
420
417
|
const widthInDefaultFont = (0, domUtils_exports.computeTextSize)(text, `${fontWeight} ${DEFAULT_FONT}px ${fontFamily}`);
|
|
@@ -422,7 +419,7 @@ var computeFontSize = (text, { width, height }, fontFamily = DEFAULT_FONT_FAMILY
|
|
|
422
419
|
width / widthInDefaultFont * DEFAULT_FONT,
|
|
423
420
|
height / DEFAULT_FONT * DEFAULT_FONT
|
|
424
421
|
);
|
|
425
|
-
return parseInt(fontSize, 10);
|
|
422
|
+
return Number.parseInt(fontSize, 10);
|
|
426
423
|
};
|
|
427
424
|
var getMajorFontSize = ({ width, height, unit, majorText, spaceRatio = 1 }) => {
|
|
428
425
|
const majorTextCalc = unit ? `${unit}${majorText}` : majorText;
|
|
@@ -438,11 +435,11 @@ var getTrendFontSize = ({ width, height, trendText, spaceRatio = 1 }) => {
|
|
|
438
435
|
width: width * spaceRatio,
|
|
439
436
|
height
|
|
440
437
|
});
|
|
441
|
-
trendFontSize = parseInt(trendFontSize, 10) * spaceRatio;
|
|
438
|
+
trendFontSize = Number.parseInt(trendFontSize, 10) * spaceRatio;
|
|
442
439
|
}
|
|
443
440
|
return trendFontSize;
|
|
444
441
|
};
|
|
445
|
-
var getUnderLabelHeight = (height) => height
|
|
442
|
+
var getUnderLabelHeight = (height) => Math.min(height, DEFAULT_FONT);
|
|
446
443
|
var getUnderLabel = ({ underLabel, width, height }) => computeFontSize(underLabel, {
|
|
447
444
|
width,
|
|
448
445
|
height
|
|
@@ -520,7 +517,7 @@ var updateVizInSmallSpace = ({
|
|
|
520
517
|
let newTextSize = majorTextFontSize;
|
|
521
518
|
while (newTextSize < 12 && removeIndex < toRemoveList.length) {
|
|
522
519
|
const toRemove = toRemoveList[removeIndex];
|
|
523
|
-
newProps =
|
|
520
|
+
newProps = __spreadProps(__spreadValues({}, newProps), {
|
|
524
521
|
[toRemove.key]: toRemove.value
|
|
525
522
|
});
|
|
526
523
|
newMajorAndTrend = getMajorAndTrend(__spreadValues({
|
|
@@ -664,7 +661,7 @@ var Column = styled_components_default.div`
|
|
|
664
661
|
flex-direction: row;
|
|
665
662
|
justify-content: ${(props) => props.justify || "flex-end"};
|
|
666
663
|
height: ${(props) => props.size || 12}px;
|
|
667
|
-
${(props) => props.size ? `margin: 0 ${parseInt(props.size, 10) * 0.2 || 5}px;` : ""};
|
|
664
|
+
${(props) => props.size ? `margin: 0 ${Number.parseInt(props.size, 10) * 0.2 || 5}px;` : ""};
|
|
668
665
|
`;
|
|
669
666
|
var Text = styled_components_default.div`
|
|
670
667
|
white-space: nowrap;
|
|
@@ -675,15 +672,15 @@ var Text = styled_components_default.div`
|
|
|
675
672
|
line-height: ${(props) => props.size || 12}px;
|
|
676
673
|
display: flex;
|
|
677
674
|
align-self: baseline;
|
|
678
|
-
${(props) => props.size ? `margin-left: ${parseInt(props.size, 10) * 0.2 || 5}px;` : ""};
|
|
675
|
+
${(props) => props.size ? `margin-left: ${Number.parseInt(props.size, 10) * 0.2 || 5}px;` : ""};
|
|
679
676
|
`;
|
|
680
677
|
var TrendValue = ({ fontSize, color, value, text }) => {
|
|
681
678
|
let TrendIndicator = false;
|
|
682
679
|
let ariaLabel = false;
|
|
683
|
-
if (parseFloat(value, 10) > 0) {
|
|
680
|
+
if (Number.parseFloat(value, 10) > 0) {
|
|
684
681
|
TrendIndicator = ArrowUp_default;
|
|
685
682
|
ariaLabel = (0, i18n_exports._)("increase");
|
|
686
|
-
} else if (parseFloat(value, 10) < 0) {
|
|
683
|
+
} else if (Number.parseFloat(value, 10) < 0) {
|
|
687
684
|
TrendIndicator = ArrowDown_default;
|
|
688
685
|
ariaLabel = (0, i18n_exports._)("decrease");
|
|
689
686
|
}
|
|
@@ -1646,7 +1643,10 @@ var useSortingParams = ({ requestParams, onRequestParamsChange }) => {
|
|
|
1646
1643
|
onSort = (e, { sortKey, sortDir }) => {
|
|
1647
1644
|
if (typeof sortKey === "string") {
|
|
1648
1645
|
const nextSortDir = (0, lodash_exports.has)(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : "none";
|
|
1649
|
-
onRequestParamsChange(
|
|
1646
|
+
onRequestParamsChange(__spreadProps(__spreadValues({}, requestParams), {
|
|
1647
|
+
offset: 0,
|
|
1648
|
+
sort: { [sortKey]: nextSortDir }
|
|
1649
|
+
}));
|
|
1650
1650
|
} else {
|
|
1651
1651
|
onRequestParamsChange(requestParams);
|
|
1652
1652
|
}
|
|
@@ -1763,7 +1763,7 @@ var Cover = styled_components_default.div`
|
|
|
1763
1763
|
bottom: 0;
|
|
1764
1764
|
`;
|
|
1765
1765
|
var Blocker = styled_components_default.div.attrs({
|
|
1766
|
-
"data-splunk-visualization-version": "28.
|
|
1766
|
+
"data-splunk-visualization-version": "28.9.0 - 96b03188d"
|
|
1767
1767
|
})`
|
|
1768
1768
|
position: relative;
|
|
1769
1769
|
width: 100%;
|
|
@@ -1798,6 +1798,15 @@ var defaultImport37 = __toESM(require("@splunk/themes/variables"));
|
|
|
1798
1798
|
__reExport(variables_exports, require("@splunk/themes/variables"));
|
|
1799
1799
|
var variables_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
|
|
1800
1800
|
|
|
1801
|
+
// esm-externals:@splunk/themes
|
|
1802
|
+
var themes_exports = {};
|
|
1803
|
+
__export(themes_exports, {
|
|
1804
|
+
default: () => themes_default
|
|
1805
|
+
});
|
|
1806
|
+
var defaultImport38 = __toESM(require("@splunk/themes"));
|
|
1807
|
+
__reExport(themes_exports, require("@splunk/themes"));
|
|
1808
|
+
var themes_default = "default" in defaultImport38 ? defaultImport38.default : defaultImport38;
|
|
1809
|
+
|
|
1801
1810
|
// src/common/hocs/FixedSizeContainer.tsx
|
|
1802
1811
|
var Item = styled_components_default.div.attrs(({ width }) => ({
|
|
1803
1812
|
style: {
|
|
@@ -1853,7 +1862,7 @@ var withFixedSizeContainer = (Viz) => {
|
|
|
1853
1862
|
FixSizeItem,
|
|
1854
1863
|
{
|
|
1855
1864
|
"data-test": "fix-size-item",
|
|
1856
|
-
"data-splunk-visualization-version": "28.
|
|
1865
|
+
"data-splunk-visualization-version": "28.9.0 - 96b03188d",
|
|
1857
1866
|
width,
|
|
1858
1867
|
height,
|
|
1859
1868
|
backgroundColor
|
|
@@ -1874,6 +1883,14 @@ var shouldShowIconPlaceholder = (dataSources, loading = false) => {
|
|
|
1874
1883
|
const noFields = fields === void 0;
|
|
1875
1884
|
return loading || noData || noFields;
|
|
1876
1885
|
};
|
|
1886
|
+
var PlaceholderContainer = styled_components_default.div`
|
|
1887
|
+
/* The inline token color wins when supported. Older browsers discard an
|
|
1888
|
+
unsupported oklch value and retain this inherited fallback instead. */
|
|
1889
|
+
color: ${(0, themes_exports.pick)({
|
|
1890
|
+
dark: "#fafafa",
|
|
1891
|
+
light: "#2c2c2c"
|
|
1892
|
+
})};
|
|
1893
|
+
`;
|
|
1877
1894
|
var IconPlaceholder = (props) => {
|
|
1878
1895
|
const {
|
|
1879
1896
|
width = SplunkVisualization_default.defaults.width,
|
|
@@ -1888,7 +1905,6 @@ var IconPlaceholder = (props) => {
|
|
|
1888
1905
|
style: {
|
|
1889
1906
|
left: "50%",
|
|
1890
1907
|
top: "50%",
|
|
1891
|
-
color: iconColor,
|
|
1892
1908
|
opacity: 0.15,
|
|
1893
1909
|
position: "absolute",
|
|
1894
1910
|
transform: "translate(-50%, -50%)"
|
|
@@ -1898,7 +1914,14 @@ var IconPlaceholder = (props) => {
|
|
|
1898
1914
|
"data-test": "icon-placeholder"
|
|
1899
1915
|
});
|
|
1900
1916
|
}
|
|
1901
|
-
return /* @__PURE__ */ react_exports.createElement(
|
|
1917
|
+
return /* @__PURE__ */ react_exports.createElement(
|
|
1918
|
+
PlaceholderContainer,
|
|
1919
|
+
{
|
|
1920
|
+
"data-test": "icon-placeholder-container",
|
|
1921
|
+
style: { width, height, background: backgroundColor, color: iconColor }
|
|
1922
|
+
},
|
|
1923
|
+
content
|
|
1924
|
+
);
|
|
1902
1925
|
};
|
|
1903
1926
|
var IconPlaceholder_default = FixedSizeContainer_default(IconPlaceholder);
|
|
1904
1927
|
|
|
@@ -1963,7 +1986,7 @@ var largestTriangleThreeBuckets = (data, threshold, preferredDownsampleIndices)
|
|
|
1963
1986
|
let avgY = 0;
|
|
1964
1987
|
let avgRangeStart = Math.floor((i + 1) * every) + 1;
|
|
1965
1988
|
let avgRangeEnd = Math.floor((i + 2) * every) + 1;
|
|
1966
|
-
avgRangeEnd = avgRangeEnd
|
|
1989
|
+
avgRangeEnd = Math.min(avgRangeEnd, dataLength);
|
|
1967
1990
|
const avgRangeLength = avgRangeEnd - avgRangeStart;
|
|
1968
1991
|
for (; avgRangeStart < avgRangeEnd; avgRangeStart++) {
|
|
1969
1992
|
avgX += Number(data[avgRangeStart][0]);
|
|
@@ -1998,9 +2021,9 @@ var largestTriangleThreeBuckets = (data, threshold, preferredDownsampleIndices)
|
|
|
1998
2021
|
};
|
|
1999
2022
|
var strictlyCoerceYColumn = (column, options) => {
|
|
2000
2023
|
const isNullCoercionEnabled = options.nullValueDisplay === "zero";
|
|
2001
|
-
const canLooselyCoerceSomeValues = column.
|
|
2024
|
+
const canLooselyCoerceSomeValues = column.some(
|
|
2002
2025
|
(value) => (0, numberUtils_exports.startsWithNumber)(`${value}`) || isNullCoercionEnabled && value === null
|
|
2003
|
-
)
|
|
2026
|
+
);
|
|
2004
2027
|
const coercedColumn = [];
|
|
2005
2028
|
const canDownsampleColumn = !column.some((value) => {
|
|
2006
2029
|
const coercedValue = Number(value);
|
|
@@ -2019,7 +2042,7 @@ var strictlyCoerceYColumn = (column, options) => {
|
|
|
2019
2042
|
};
|
|
2020
2043
|
var strictlyCoerceXColumn = (column, fieldType) => {
|
|
2021
2044
|
if (fieldType === "number") {
|
|
2022
|
-
const coercedXColumn = column.map(
|
|
2045
|
+
const coercedXColumn = column.map(Number);
|
|
2023
2046
|
if (isColumnStrictlyIncreasing(coercedXColumn, fieldType)) {
|
|
2024
2047
|
return coercedXColumn;
|
|
2025
2048
|
}
|
|
@@ -2318,16 +2341,16 @@ var FeatureFlags_exports = {};
|
|
|
2318
2341
|
__export(FeatureFlags_exports, {
|
|
2319
2342
|
default: () => FeatureFlags_default
|
|
2320
2343
|
});
|
|
2321
|
-
var
|
|
2344
|
+
var defaultImport39 = __toESM(require("@splunk/visualization-context/FeatureFlags"));
|
|
2322
2345
|
__reExport(FeatureFlags_exports, require("@splunk/visualization-context/FeatureFlags"));
|
|
2323
|
-
var FeatureFlags_default = "default" in
|
|
2346
|
+
var FeatureFlags_default = "default" in defaultImport39 ? defaultImport39.default : defaultImport39;
|
|
2324
2347
|
|
|
2325
2348
|
// src/common/utils/featureFlagUtils.ts
|
|
2326
2349
|
var getFeatureFlag = (context, flagName) => {
|
|
2327
|
-
if (context && Object.keys(context).
|
|
2350
|
+
if (context && Object.keys(context).includes(flagName)) {
|
|
2328
2351
|
return context[flagName];
|
|
2329
2352
|
}
|
|
2330
|
-
if (Object.keys(FeatureFlags_default).
|
|
2353
|
+
if (Object.keys(FeatureFlags_default).includes(flagName)) {
|
|
2331
2354
|
return FeatureFlags_default[flagName];
|
|
2332
2355
|
}
|
|
2333
2356
|
return false;
|
|
@@ -2338,9 +2361,9 @@ var trellisUtils_exports = {};
|
|
|
2338
2361
|
__export(trellisUtils_exports, {
|
|
2339
2362
|
default: () => trellisUtils_default
|
|
2340
2363
|
});
|
|
2341
|
-
var
|
|
2364
|
+
var defaultImport40 = __toESM(require("@splunk/visualizations-shared/trellisUtils"));
|
|
2342
2365
|
__reExport(trellisUtils_exports, require("@splunk/visualizations-shared/trellisUtils"));
|
|
2343
|
-
var trellisUtils_default = "default" in
|
|
2366
|
+
var trellisUtils_default = "default" in defaultImport40 ? defaultImport40.default : defaultImport40;
|
|
2344
2367
|
|
|
2345
2368
|
// src/common/utils/trellisUtils.ts
|
|
2346
2369
|
var AGGREGATIONS = "aggregations";
|
|
@@ -2561,7 +2584,7 @@ var dataSourcesSplitByModeChart = (dataSource, splitBy) => {
|
|
|
2561
2584
|
splitByFields = (0, trellisUtils_exports.extractSplitByFieldsChartFields)(fields);
|
|
2562
2585
|
}
|
|
2563
2586
|
if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
|
|
2564
|
-
const splitByFieldIdx = splitByFields.
|
|
2587
|
+
const splitByFieldIdx = splitByFields.indexOf(splitBy);
|
|
2565
2588
|
const otherSplitBy = splitByFields.filter((f) => f !== splitBy);
|
|
2566
2589
|
const dataSourceKeys = (0, trellisUtils_exports.extractDataSourceAggregationKeysChart)(fields);
|
|
2567
2590
|
const nonDataSourceAggregations = [];
|
|
@@ -2595,17 +2618,17 @@ var dataSourcesSplitByModeStatsorUnknown = (dataSource, splitBy, splitMode) => {
|
|
|
2595
2618
|
let splitByFields = [];
|
|
2596
2619
|
let errorCode = null;
|
|
2597
2620
|
if (fields.length > 0) {
|
|
2598
|
-
splitByFields = splitMode
|
|
2621
|
+
splitByFields = splitMode === trellisUtils_exports.UNKNOWN ? (0, trellisUtils_exports.extractSplitByFieldsForUnknown)(fields) : (0, trellisUtils_exports.extractSplitByFieldsForStats)(fields);
|
|
2599
2622
|
}
|
|
2600
2623
|
const splitByIndex = fields.findIndex((field) => field.name === splitBy);
|
|
2601
2624
|
if (splitByFields == null ? void 0 : splitByFields.includes(splitBy)) {
|
|
2602
2625
|
const splitByColumn = (_f = (_e = dataSource == null ? void 0 : dataSource.primary) == null ? void 0 : _e.data) == null ? void 0 : _f.columns[splitByIndex];
|
|
2603
2626
|
splitDataSources = {};
|
|
2604
2627
|
splitByColumn.forEach((val, idx) => {
|
|
2605
|
-
if (
|
|
2606
|
-
splitDataSources[val] = [idx];
|
|
2607
|
-
} else {
|
|
2628
|
+
if (splitDataSources[val]) {
|
|
2608
2629
|
splitDataSources[val].push(idx);
|
|
2630
|
+
} else {
|
|
2631
|
+
splitDataSources[val] = [idx];
|
|
2609
2632
|
}
|
|
2610
2633
|
});
|
|
2611
2634
|
const cloneFields = (0, lodash_exports.cloneDeep)(fields);
|
|
@@ -2656,27 +2679,28 @@ var turnOffLegendDisplayWhenTrellisIsOn = (isTrellisOn, options) => {
|
|
|
2656
2679
|
}
|
|
2657
2680
|
return {};
|
|
2658
2681
|
};
|
|
2682
|
+
var extendMinMaxWithColumn = (column, range2) => column.reduce((acc, point) => {
|
|
2683
|
+
const pointNumber = Number(point);
|
|
2684
|
+
if (Number.isNaN(pointNumber)) {
|
|
2685
|
+
return acc;
|
|
2686
|
+
}
|
|
2687
|
+
return {
|
|
2688
|
+
min: Math.min(pointNumber, acc.min),
|
|
2689
|
+
max: Math.max(pointNumber, acc.max)
|
|
2690
|
+
};
|
|
2691
|
+
}, range2);
|
|
2659
2692
|
var calculateSharedMinMax = (splitData) => {
|
|
2660
|
-
let
|
|
2661
|
-
let min = Infinity;
|
|
2693
|
+
let range2 = { min: Infinity, max: -Infinity };
|
|
2662
2694
|
Object.keys(splitData).forEach((splitByKey) => {
|
|
2663
2695
|
const datasources = splitData[splitByKey];
|
|
2664
2696
|
Object.keys(datasources).forEach((datasourceName) => {
|
|
2665
2697
|
const dataColumns = datasources[datasourceName].data.columns;
|
|
2666
2698
|
dataColumns.forEach((column) => {
|
|
2667
|
-
column
|
|
2668
|
-
const pointNumber = Number(point);
|
|
2669
|
-
if (pointNumber > max) {
|
|
2670
|
-
max = pointNumber;
|
|
2671
|
-
}
|
|
2672
|
-
if (pointNumber < min) {
|
|
2673
|
-
min = pointNumber;
|
|
2674
|
-
}
|
|
2675
|
-
});
|
|
2699
|
+
range2 = extendMinMaxWithColumn(column, range2);
|
|
2676
2700
|
});
|
|
2677
2701
|
});
|
|
2678
2702
|
});
|
|
2679
|
-
return [min, max];
|
|
2703
|
+
return [range2.min, range2.max];
|
|
2680
2704
|
};
|
|
2681
2705
|
var determineMinMax = (splitData, trellisSharedScale, yAxisMin, yAxisMax, stackMode) => {
|
|
2682
2706
|
if (!trellisSharedScale || stackMode === "stacked100" || yAxisMin !== "auto" && yAxisMax !== "auto")
|
|
@@ -2692,27 +2716,27 @@ var visualization_canvas_exports = {};
|
|
|
2692
2716
|
__export(visualization_canvas_exports, {
|
|
2693
2717
|
default: () => visualization_canvas_default
|
|
2694
2718
|
});
|
|
2695
|
-
var
|
|
2719
|
+
var defaultImport41 = __toESM(require("@splunk/visualization-canvas"));
|
|
2696
2720
|
__reExport(visualization_canvas_exports, require("@splunk/visualization-canvas"));
|
|
2697
|
-
var visualization_canvas_default = "default" in
|
|
2721
|
+
var visualization_canvas_default = "default" in defaultImport41 ? defaultImport41.default : defaultImport41;
|
|
2698
2722
|
|
|
2699
2723
|
// esm-externals:@splunk/react-icons/Triangle
|
|
2700
2724
|
var Triangle_exports = {};
|
|
2701
2725
|
__export(Triangle_exports, {
|
|
2702
2726
|
default: () => Triangle_default
|
|
2703
2727
|
});
|
|
2704
|
-
var
|
|
2728
|
+
var defaultImport42 = __toESM(require("@splunk/react-icons/Triangle"));
|
|
2705
2729
|
__reExport(Triangle_exports, require("@splunk/react-icons/Triangle"));
|
|
2706
|
-
var Triangle_default = "default" in
|
|
2730
|
+
var Triangle_default = "default" in defaultImport42 ? defaultImport42.default : defaultImport42;
|
|
2707
2731
|
|
|
2708
2732
|
// esm-externals:@splunk/visualizations-shared/simpleXMLOptions
|
|
2709
2733
|
var simpleXMLOptions_exports = {};
|
|
2710
2734
|
__export(simpleXMLOptions_exports, {
|
|
2711
2735
|
default: () => simpleXMLOptions_default
|
|
2712
2736
|
});
|
|
2713
|
-
var
|
|
2737
|
+
var defaultImport43 = __toESM(require("@splunk/visualizations-shared/simpleXMLOptions"));
|
|
2714
2738
|
__reExport(simpleXMLOptions_exports, require("@splunk/visualizations-shared/simpleXMLOptions"));
|
|
2715
|
-
var simpleXMLOptions_default = "default" in
|
|
2739
|
+
var simpleXMLOptions_default = "default" in defaultImport43 ? defaultImport43.default : defaultImport43;
|
|
2716
2740
|
|
|
2717
2741
|
// src/common/chartingUtils.ts
|
|
2718
2742
|
var DEFAULT_LINE_WIDTH = 2;
|
|
@@ -2751,9 +2775,9 @@ var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
|
|
|
2751
2775
|
const xAxisIsTime = xField === "_time";
|
|
2752
2776
|
return !!rangeSelectEventHandler && xAxisIsTime;
|
|
2753
2777
|
};
|
|
2754
|
-
var canvasSupportedTimeSeriesCharts = ["splunk.line", "splunk.area"];
|
|
2778
|
+
var canvasSupportedTimeSeriesCharts = /* @__PURE__ */ new Set(["splunk.line", "splunk.area"]);
|
|
2755
2779
|
var isTimeSeriesCanvasRenderSupported = (vizConfigKey) => {
|
|
2756
|
-
return canvasSupportedTimeSeriesCharts.
|
|
2780
|
+
return canvasSupportedTimeSeriesCharts.has(vizConfigKey);
|
|
2757
2781
|
};
|
|
2758
2782
|
var filterChartDataFromInternalFields = (chartData) => {
|
|
2759
2783
|
const { fields, columns } = chartData;
|
|
@@ -2769,7 +2793,7 @@ var filterChartDataFromInternalFields = (chartData) => {
|
|
|
2769
2793
|
return { fields: filteredFields, columns: filteredColumns };
|
|
2770
2794
|
};
|
|
2771
2795
|
var convert2DArrayToNumbers = (arr) => {
|
|
2772
|
-
return arr.map((subArray) => subArray.map((element) => parseFloat(element)));
|
|
2796
|
+
return arr.map((subArray) => subArray.map((element) => Number.parseFloat(element)));
|
|
2773
2797
|
};
|
|
2774
2798
|
var parseAxisValue = (val) => {
|
|
2775
2799
|
if (val === void 0 || val === null || val === "auto" || val === "") {
|
|
@@ -2807,6 +2831,7 @@ var getLegend = (props) => {
|
|
|
2807
2831
|
return (0, visualization_canvas_exports.TopLegendFactory)(__spreadValues({
|
|
2808
2832
|
wrap: true
|
|
2809
2833
|
}, commonLegendProps));
|
|
2834
|
+
// Note: By default, use right legend
|
|
2810
2835
|
default:
|
|
2811
2836
|
return (0, visualization_canvas_exports.SideLegendFactory)(__spreadValues({}, commonLegendProps));
|
|
2812
2837
|
}
|
|
@@ -2939,10 +2964,10 @@ var getSeriesOverrides = (opts) => {
|
|
|
2939
2964
|
let spanGaps;
|
|
2940
2965
|
if (nullValueMode === "gaps") {
|
|
2941
2966
|
spanGaps = false;
|
|
2942
|
-
} else if (nullValueMode
|
|
2943
|
-
spanGaps = true;
|
|
2944
|
-
} else {
|
|
2967
|
+
} else if (nullValueMode == null) {
|
|
2945
2968
|
spanGaps = void 0;
|
|
2969
|
+
} else {
|
|
2970
|
+
spanGaps = true;
|
|
2946
2971
|
}
|
|
2947
2972
|
const replaceNullsWithZero = nullValueMode === "zero" ? true : void 0;
|
|
2948
2973
|
const isAreaChart = type === "area";
|
|
@@ -3312,11 +3337,11 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
3312
3337
|
y2AxisMajorUnitFromSimpleXML,
|
|
3313
3338
|
y2AxisMajorTickInterval
|
|
3314
3339
|
);
|
|
3315
|
-
const xAxisMajorTickSizeNum = xAxisMajorTickSize
|
|
3316
|
-
const yAxisMajorTickSizeNum = yAxisMajorTickSize
|
|
3317
|
-
const y2AxisMajorTickSizeNum = y2AxisMajorTickSize
|
|
3318
|
-
const yAxisMinorTickSizeNum = yAxisMinorTickSize
|
|
3319
|
-
const y2AxisMinorTickSizeNum = y2AxisMinorTickSize
|
|
3340
|
+
const xAxisMajorTickSizeNum = xAxisMajorTickSize == null ? void 0 : Number(xAxisMajorTickSize);
|
|
3341
|
+
const yAxisMajorTickSizeNum = yAxisMajorTickSize == null ? void 0 : Number(yAxisMajorTickSize);
|
|
3342
|
+
const y2AxisMajorTickSizeNum = y2AxisMajorTickSize == null ? void 0 : Number(y2AxisMajorTickSize);
|
|
3343
|
+
const yAxisMinorTickSizeNum = yAxisMinorTickSize == null ? void 0 : Number(yAxisMinorTickSize);
|
|
3344
|
+
const y2AxisMinorTickSizeNum = y2AxisMinorTickSize == null ? void 0 : Number(y2AxisMinorTickSize);
|
|
3320
3345
|
const areaOpacityForCanvas = getAreaOpacityForCanvas(areaOpacity);
|
|
3321
3346
|
const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
|
|
3322
3347
|
const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
|
|
@@ -3728,6 +3753,76 @@ var buildEventCallbackProps = (supportedEvents, evaluatedOptionsToUse, onEventTr
|
|
|
3728
3753
|
});
|
|
3729
3754
|
return result;
|
|
3730
3755
|
};
|
|
3756
|
+
var buildAllEventCallbackProps = (events, evaluatedOptionsToUse, onEventTrigger, { supportsEvents, hasEventHandlers, mode }) => {
|
|
3757
|
+
if (!supportsEvents) return {};
|
|
3758
|
+
const defaultEvents = {};
|
|
3759
|
+
const userEvents = {};
|
|
3760
|
+
Object.entries(events || {}).forEach(([eventKey, eventConfig]) => {
|
|
3761
|
+
(eventConfig.source === "default" ? defaultEvents : userEvents)[eventKey] = eventConfig;
|
|
3762
|
+
});
|
|
3763
|
+
const userProps = hasEventHandlers && mode === "view" ? buildEventCallbackProps(userEvents, evaluatedOptionsToUse, onEventTrigger) : {};
|
|
3764
|
+
return __spreadValues(__spreadValues({}, userProps), buildEventCallbackProps(defaultEvents, evaluatedOptionsToUse, onEventTrigger));
|
|
3765
|
+
};
|
|
3766
|
+
var applyContextTimezone = (localeContext) => {
|
|
3767
|
+
if (localeContext.serializedTimezone && !moment_default.getDefaultSplunkTimezone()) {
|
|
3768
|
+
moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
|
|
3769
|
+
}
|
|
3770
|
+
};
|
|
3771
|
+
var getAsyncOptionsEvaluationParams = ({
|
|
3772
|
+
visualizationID,
|
|
3773
|
+
props,
|
|
3774
|
+
optionsToEvaluate,
|
|
3775
|
+
downsampledDataSources,
|
|
3776
|
+
vizConfig,
|
|
3777
|
+
bypassCloneDeepOptionScope,
|
|
3778
|
+
lazyLoadingDataFrame
|
|
3779
|
+
}) => {
|
|
3780
|
+
return {
|
|
3781
|
+
visualizationID,
|
|
3782
|
+
props,
|
|
3783
|
+
options: __spreadValues({}, optionsToEvaluate),
|
|
3784
|
+
dataSources: downsampledDataSources,
|
|
3785
|
+
theme: vizConfig.themes,
|
|
3786
|
+
bypassCloneDeepOptionScope,
|
|
3787
|
+
lazyLoadingDataFrame
|
|
3788
|
+
};
|
|
3789
|
+
};
|
|
3790
|
+
var evaluateOptionsSync = ({
|
|
3791
|
+
optionsToEvaluate,
|
|
3792
|
+
downsampledDataSources,
|
|
3793
|
+
dataSourcesInState,
|
|
3794
|
+
dataFramesInState,
|
|
3795
|
+
setDataSourcesInState,
|
|
3796
|
+
setDataFramesInState,
|
|
3797
|
+
computeDataFrames,
|
|
3798
|
+
featureFlagContext,
|
|
3799
|
+
themeFunc
|
|
3800
|
+
}) => {
|
|
3801
|
+
let dataFrames = dataFramesInState;
|
|
3802
|
+
if (downsampledDataSources !== dataSourcesInState) {
|
|
3803
|
+
setDataSourcesInState(downsampledDataSources);
|
|
3804
|
+
dataFrames = Options_exports.Options.dataFrameFromDataSource(
|
|
3805
|
+
downsampledDataSources,
|
|
3806
|
+
getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
|
|
3807
|
+
);
|
|
3808
|
+
setDataFramesInState(dataFrames);
|
|
3809
|
+
}
|
|
3810
|
+
let mergedFrames = dataFrames;
|
|
3811
|
+
if (computeDataFrames && dataFrames) {
|
|
3812
|
+
const derivedFrames = computeDataFrames({
|
|
3813
|
+
dataSources: downsampledDataSources,
|
|
3814
|
+
options: optionsToEvaluate.options
|
|
3815
|
+
});
|
|
3816
|
+
mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
|
|
3817
|
+
}
|
|
3818
|
+
return Options_exports.Options.evaluate(
|
|
3819
|
+
optionsToEvaluate,
|
|
3820
|
+
downsampledDataSources,
|
|
3821
|
+
themeFunc,
|
|
3822
|
+
mergedFrames,
|
|
3823
|
+
getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
|
|
3824
|
+
);
|
|
3825
|
+
};
|
|
3731
3826
|
var withDashboardViz = (opts) => {
|
|
3732
3827
|
const {
|
|
3733
3828
|
ReactViz,
|
|
@@ -3759,11 +3854,7 @@ var withDashboardViz = (opts) => {
|
|
|
3759
3854
|
onRequestParamsChange = lodash_exports.noop
|
|
3760
3855
|
} = props;
|
|
3761
3856
|
const localeContext = react_exports.useContext(TimezoneContext_default);
|
|
3762
|
-
|
|
3763
|
-
if (!moment_default.getDefaultSplunkTimezone()) {
|
|
3764
|
-
moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
|
|
3765
|
-
}
|
|
3766
|
-
}
|
|
3857
|
+
applyContextTimezone(localeContext);
|
|
3767
3858
|
const themeFunc = (themeVar) => {
|
|
3768
3859
|
var _a2, _b;
|
|
3769
3860
|
return (_b = (_a2 = vizConfig.themes)[themeVar]) == null ? void 0 : _b.call(_a2, props);
|
|
@@ -3791,7 +3882,12 @@ var withDashboardViz = (opts) => {
|
|
|
3791
3882
|
featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableAcceleratedRender
|
|
3792
3883
|
);
|
|
3793
3884
|
const isAcceleratedRenderOn = isAcceleratedRenderFeatureFlagOn && isTimeSeriesCanvasRenderSupported(vizConfig.key) && (options == null ? void 0 : options.acceleratedRender) === true;
|
|
3794
|
-
const
|
|
3885
|
+
const bypassCloneDeepOptionScope = Boolean(
|
|
3886
|
+
getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
|
|
3887
|
+
);
|
|
3888
|
+
const lazyLoadingDataFrame = Boolean(
|
|
3889
|
+
getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
|
|
3890
|
+
);
|
|
3795
3891
|
const optionsToEvaluate = react_exports.useMemo(() => {
|
|
3796
3892
|
var _a2;
|
|
3797
3893
|
const legendDisplay = turnOffLegendDisplayWhenTrellisIsOn(isTrellisOn, options);
|
|
@@ -3830,63 +3926,74 @@ var withDashboardViz = (opts) => {
|
|
|
3830
3926
|
threshold,
|
|
3831
3927
|
isDownsamplingEnabled
|
|
3832
3928
|
});
|
|
3833
|
-
|
|
3929
|
+
const asyncOptionsEvaluationParams = useDeepMemo(
|
|
3930
|
+
() => getAsyncOptionsEvaluationParams({
|
|
3931
|
+
visualizationID,
|
|
3932
|
+
props,
|
|
3933
|
+
optionsToEvaluate,
|
|
3934
|
+
downsampledDataSources,
|
|
3935
|
+
vizConfig,
|
|
3936
|
+
bypassCloneDeepOptionScope,
|
|
3937
|
+
lazyLoadingDataFrame
|
|
3938
|
+
}),
|
|
3939
|
+
[
|
|
3940
|
+
visualizationID,
|
|
3941
|
+
optionsToEvaluate,
|
|
3942
|
+
downsampledDataSources,
|
|
3943
|
+
vizConfig,
|
|
3944
|
+
bypassCloneDeepOptionScope,
|
|
3945
|
+
lazyLoadingDataFrame,
|
|
3946
|
+
currentThemeFamily,
|
|
3947
|
+
currentThemeColorScheme,
|
|
3948
|
+
currentThemeDensity,
|
|
3949
|
+
localeContext.serializedTimezone
|
|
3950
|
+
]
|
|
3951
|
+
);
|
|
3952
|
+
react_exports.useEffect(() => {
|
|
3953
|
+
if (!useAsyncEvaluatedOptions) {
|
|
3954
|
+
return void 0;
|
|
3955
|
+
}
|
|
3956
|
+
let ownsEvaluation = true;
|
|
3834
3957
|
try {
|
|
3835
|
-
|
|
3836
|
-
|
|
3837
|
-
visualizationID,
|
|
3838
|
-
props,
|
|
3839
|
-
options: optionsToEvaluate,
|
|
3840
|
-
dataSources: downsampledDataSources,
|
|
3841
|
-
theme: vizConfig.themes,
|
|
3842
|
-
bypassCloneDeepOptionScope: Boolean(
|
|
3843
|
-
getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
|
|
3844
|
-
),
|
|
3845
|
-
lazyLoadingDataFrame: Boolean(
|
|
3846
|
-
getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
|
|
3847
|
-
)
|
|
3848
|
-
};
|
|
3849
|
-
async_dynamic_options_evaluator_default.evaluate(asyncDynamicOptionsEvaluatorParams).then((results) => {
|
|
3958
|
+
async_dynamic_options_evaluator_default.evaluate(asyncOptionsEvaluationParams).then((results) => {
|
|
3959
|
+
if (ownsEvaluation) {
|
|
3850
3960
|
setEvaluatedOptionsAsync(results.results);
|
|
3851
|
-
}).catch(() => {
|
|
3852
|
-
if (isMounted.current) {
|
|
3853
|
-
setUseAsyncEvaluatedOptions(false);
|
|
3854
|
-
}
|
|
3855
|
-
});
|
|
3856
|
-
} else {
|
|
3857
|
-
let dataFrames = dataFramesInState;
|
|
3858
|
-
if (downsampledDataSources !== dataSourcesInState) {
|
|
3859
|
-
setDataSourcesInState(downsampledDataSources);
|
|
3860
|
-
dataFrames = Options_exports.Options.dataFrameFromDataSource(
|
|
3861
|
-
downsampledDataSources,
|
|
3862
|
-
getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
|
|
3863
|
-
);
|
|
3864
|
-
setDataFramesInState(dataFrames);
|
|
3865
3961
|
}
|
|
3866
|
-
|
|
3867
|
-
if (
|
|
3868
|
-
|
|
3869
|
-
dataSources: downsampledDataSources,
|
|
3870
|
-
options: optionsToEvaluate.options
|
|
3871
|
-
});
|
|
3872
|
-
mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
|
|
3962
|
+
}).catch(() => {
|
|
3963
|
+
if (ownsEvaluation) {
|
|
3964
|
+
setUseAsyncEvaluatedOptions(false);
|
|
3873
3965
|
}
|
|
3874
|
-
|
|
3875
|
-
|
|
3876
|
-
|
|
3877
|
-
|
|
3878
|
-
|
|
3879
|
-
|
|
3880
|
-
|
|
3881
|
-
|
|
3966
|
+
});
|
|
3967
|
+
} catch (e) {
|
|
3968
|
+
setUseAsyncEvaluatedOptions(false);
|
|
3969
|
+
}
|
|
3970
|
+
return () => {
|
|
3971
|
+
ownsEvaluation = false;
|
|
3972
|
+
async_dynamic_options_evaluator_default.reset(visualizationID);
|
|
3973
|
+
};
|
|
3974
|
+
}, [asyncOptionsEvaluationParams, useAsyncEvaluatedOptions, visualizationID]);
|
|
3975
|
+
evaluatedOptions = useDeepMemo(() => {
|
|
3976
|
+
try {
|
|
3977
|
+
if (useAsyncEvaluatedOptions) {
|
|
3978
|
+
return {};
|
|
3882
3979
|
}
|
|
3980
|
+
return evaluateOptionsSync({
|
|
3981
|
+
optionsToEvaluate,
|
|
3982
|
+
downsampledDataSources,
|
|
3983
|
+
dataSourcesInState,
|
|
3984
|
+
dataFramesInState,
|
|
3985
|
+
setDataSourcesInState,
|
|
3986
|
+
setDataFramesInState,
|
|
3987
|
+
computeDataFrames,
|
|
3988
|
+
featureFlagContext,
|
|
3989
|
+
themeFunc
|
|
3990
|
+
});
|
|
3883
3991
|
} catch (e) {
|
|
3884
3992
|
if (e instanceof Error) {
|
|
3885
3993
|
console.error(`unexpected error evaluating options: ${e.message}`);
|
|
3886
3994
|
}
|
|
3887
3995
|
return {};
|
|
3888
3996
|
}
|
|
3889
|
-
return {};
|
|
3890
3997
|
}, [
|
|
3891
3998
|
currentThemeFamily,
|
|
3892
3999
|
currentThemeColorScheme,
|
|
@@ -3896,7 +4003,7 @@ var withDashboardViz = (opts) => {
|
|
|
3896
4003
|
localeContext.serializedTimezone,
|
|
3897
4004
|
useAsyncEvaluatedOptions
|
|
3898
4005
|
]);
|
|
3899
|
-
const evaluatedOptionsToUse =
|
|
4006
|
+
const evaluatedOptionsToUse = useAsyncEvaluatedOptions ? evaluatedOptionsAsync : evaluatedOptions;
|
|
3900
4007
|
let dataSourceMetadata = {};
|
|
3901
4008
|
const OptionKey = "paginateDataSourceKey";
|
|
3902
4009
|
const optsKey = (0, lodash_exports.has)(evaluatedOptionsToUse, OptionKey) && evaluatedOptionsToUse[OptionKey];
|
|
@@ -3918,7 +4025,7 @@ var withDashboardViz = (opts) => {
|
|
|
3918
4025
|
sortParams,
|
|
3919
4026
|
paginatorParams
|
|
3920
4027
|
};
|
|
3921
|
-
if (vizConfig.supports.
|
|
4028
|
+
if (!vizConfig.supports.includes("page-and-sort" /* PAGE_AND_SORT */) && !(0, lodash_exports.has)(dataSources, paginateDataSourceKey)) {
|
|
3922
4029
|
dataSourceMetadata = {};
|
|
3923
4030
|
}
|
|
3924
4031
|
const clonedEvaluatedOptions = __spreadValues({}, evaluatedOptionsToUse);
|
|
@@ -3928,14 +4035,6 @@ var withDashboardViz = (opts) => {
|
|
|
3928
4035
|
react_exports.useEffect(() => {
|
|
3929
4036
|
onComputedProps(clonedEvaluatedOptions);
|
|
3930
4037
|
});
|
|
3931
|
-
react_exports.useEffect(() => {
|
|
3932
|
-
return () => {
|
|
3933
|
-
if (useAsyncEvaluatedOptions) {
|
|
3934
|
-
isMounted.current = false;
|
|
3935
|
-
async_dynamic_options_evaluator_default.reset(visualizationID);
|
|
3936
|
-
}
|
|
3937
|
-
};
|
|
3938
|
-
}, []);
|
|
3939
4038
|
const { requiredProps = [], supports } = vizConfig;
|
|
3940
4039
|
const missing = missingKeys(requiredProps, evaluatedOptionsToUse);
|
|
3941
4040
|
if (missing.length > 0 && supports.includes("placeholder" /* PLACEHOLDER */) && vizConfig.key !== "splunk.singlevalue") {
|
|
@@ -3950,7 +4049,16 @@ var withDashboardViz = (opts) => {
|
|
|
3950
4049
|
}
|
|
3951
4050
|
);
|
|
3952
4051
|
}
|
|
3953
|
-
const eventCallbackProps =
|
|
4052
|
+
const eventCallbackProps = buildAllEventCallbackProps(
|
|
4053
|
+
vizConfig.events,
|
|
4054
|
+
evaluatedOptionsToUse,
|
|
4055
|
+
onEventTrigger,
|
|
4056
|
+
{
|
|
4057
|
+
supportsEvents: vizConfig.supports.includes("events" /* EVENTS */),
|
|
4058
|
+
hasEventHandlers,
|
|
4059
|
+
mode
|
|
4060
|
+
}
|
|
4061
|
+
);
|
|
3954
4062
|
const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), {
|
|
3955
4063
|
// Align option transformation with the actual renderer selected below.
|
|
3956
4064
|
// This prevents canvas-only option preservation from leaking into Highcharts mode.
|
|
@@ -3978,8 +4086,9 @@ var withDashboardViz = (opts) => {
|
|
|
3978
4086
|
onEventTrigger: SplunkVisualization_default.defaults.onEventTrigger
|
|
3979
4087
|
});
|
|
3980
4088
|
DashboardViz.config = vizConfig;
|
|
3981
|
-
return
|
|
3982
|
-
withPlaceholder_default(withEditModeCover_default(DashboardViz, disableEditModeCover), useIconPlaceholder)
|
|
4089
|
+
return Object.assign(
|
|
4090
|
+
(0, styled_components_exports.withTheme)(withPlaceholder_default(withEditModeCover_default(DashboardViz, disableEditModeCover), useIconPlaceholder)),
|
|
4091
|
+
{ config: vizConfig }
|
|
3983
4092
|
);
|
|
3984
4093
|
};
|
|
3985
4094
|
var withDashboardViz_default = withDashboardViz;
|
|
@@ -3989,36 +4098,36 @@ var PresetPalettes_exports = {};
|
|
|
3989
4098
|
__export(PresetPalettes_exports, {
|
|
3990
4099
|
default: () => PresetPalettes_default
|
|
3991
4100
|
});
|
|
3992
|
-
var
|
|
4101
|
+
var defaultImport44 = __toESM(require("@splunk/visualization-color-palettes/editors/PresetPalettes"));
|
|
3993
4102
|
__reExport(PresetPalettes_exports, require("@splunk/visualization-color-palettes/editors/PresetPalettes"));
|
|
3994
|
-
var PresetPalettes_default = "default" in
|
|
4103
|
+
var PresetPalettes_default = "default" in defaultImport44 ? defaultImport44.default : defaultImport44;
|
|
3995
4104
|
|
|
3996
4105
|
// esm-externals:@splunk/themes/pick
|
|
3997
4106
|
var pick_exports2 = {};
|
|
3998
4107
|
__export(pick_exports2, {
|
|
3999
4108
|
default: () => pick_default2
|
|
4000
4109
|
});
|
|
4001
|
-
var
|
|
4110
|
+
var defaultImport45 = __toESM(require("@splunk/themes/pick"));
|
|
4002
4111
|
__reExport(pick_exports2, require("@splunk/themes/pick"));
|
|
4003
|
-
var pick_default2 = "default" in
|
|
4112
|
+
var pick_default2 = "default" in defaultImport45 ? defaultImport45.default : defaultImport45;
|
|
4004
4113
|
|
|
4005
4114
|
// esm-externals:@splunk/visualizations-shared/configUtils
|
|
4006
4115
|
var configUtils_exports = {};
|
|
4007
4116
|
__export(configUtils_exports, {
|
|
4008
4117
|
default: () => configUtils_default
|
|
4009
4118
|
});
|
|
4010
|
-
var
|
|
4119
|
+
var defaultImport46 = __toESM(require("@splunk/visualizations-shared/configUtils"));
|
|
4011
4120
|
__reExport(configUtils_exports, require("@splunk/visualizations-shared/configUtils"));
|
|
4012
|
-
var configUtils_default = "default" in
|
|
4121
|
+
var configUtils_default = "default" in defaultImport46 ? defaultImport46.default : defaultImport46;
|
|
4013
4122
|
|
|
4014
4123
|
// esm-externals:@splunk/visualization-icons
|
|
4015
4124
|
var visualization_icons_exports = {};
|
|
4016
4125
|
__export(visualization_icons_exports, {
|
|
4017
4126
|
default: () => visualization_icons_default
|
|
4018
4127
|
});
|
|
4019
|
-
var
|
|
4128
|
+
var defaultImport47 = __toESM(require("@splunk/visualization-icons"));
|
|
4020
4129
|
__reExport(visualization_icons_exports, require("@splunk/visualization-icons"));
|
|
4021
|
-
var visualization_icons_default = "default" in
|
|
4130
|
+
var visualization_icons_default = "default" in defaultImport47 ? defaultImport47.default : defaultImport47;
|
|
4022
4131
|
|
|
4023
4132
|
// src/common/configContext/singleValueContext.ts
|
|
4024
4133
|
var defaultContext = {
|
|
@@ -4786,18 +4895,9 @@ var Paginator_exports = {};
|
|
|
4786
4895
|
__export(Paginator_exports, {
|
|
4787
4896
|
default: () => Paginator_default
|
|
4788
4897
|
});
|
|
4789
|
-
var
|
|
4898
|
+
var defaultImport48 = __toESM(require("@splunk/react-ui/Paginator"));
|
|
4790
4899
|
__reExport(Paginator_exports, require("@splunk/react-ui/Paginator"));
|
|
4791
|
-
var Paginator_default = "default" in
|
|
4792
|
-
|
|
4793
|
-
// esm-externals:@splunk/themes
|
|
4794
|
-
var themes_exports = {};
|
|
4795
|
-
__export(themes_exports, {
|
|
4796
|
-
default: () => themes_default
|
|
4797
|
-
});
|
|
4798
|
-
var defaultImport48 = __toESM(require("@splunk/themes"));
|
|
4799
|
-
__reExport(themes_exports, require("@splunk/themes"));
|
|
4800
|
-
var themes_default = "default" in defaultImport48 ? defaultImport48.default : defaultImport48;
|
|
4900
|
+
var Paginator_default = "default" in defaultImport48 ? defaultImport48.default : defaultImport48;
|
|
4801
4901
|
|
|
4802
4902
|
// esm-externals:@splunk/themes/useSplunkTheme
|
|
4803
4903
|
var useSplunkTheme_exports = {};
|
|
@@ -4829,7 +4929,7 @@ var sortTrellisKeys = (keys, trellisSortBy, trellisSortOrder, modifiedDataSource
|
|
|
4829
4929
|
if (trellisSortBy === "trend") {
|
|
4830
4930
|
optionKey = "trendValue";
|
|
4831
4931
|
} else {
|
|
4832
|
-
optionKey = mergedOptions.value
|
|
4932
|
+
optionKey = mergedOptions.value === void 0 ? "majorValue" : "value";
|
|
4833
4933
|
}
|
|
4834
4934
|
keys.sort((a, b) => {
|
|
4835
4935
|
const valA = evaluatePanelOption(
|
|
@@ -4981,13 +5081,13 @@ var withTrellis = (Viz) => {
|
|
|
4981
5081
|
const noColumns = columns === void 0;
|
|
4982
5082
|
const noFields = fields === void 0;
|
|
4983
5083
|
const updateDataDisplay = (currPage) => {
|
|
4984
|
-
if (
|
|
4985
|
-
setPagedData(splitByKeys);
|
|
4986
|
-
setPageNum(1);
|
|
4987
|
-
} else {
|
|
5084
|
+
if (showPaginator) {
|
|
4988
5085
|
const startIdx = pageCount * (currPage - 1);
|
|
4989
5086
|
const paged = splitByKeys.slice(startIdx, startIdx + pageCount);
|
|
4990
5087
|
setPagedData(paged);
|
|
5088
|
+
} else {
|
|
5089
|
+
setPagedData(splitByKeys);
|
|
5090
|
+
setPageNum(1);
|
|
4991
5091
|
}
|
|
4992
5092
|
};
|
|
4993
5093
|
(0, react_exports.useEffect)(() => {
|
|
@@ -5113,7 +5213,7 @@ var computeVizProps = ({
|
|
|
5113
5213
|
}) => {
|
|
5114
5214
|
let iconUrl = icon;
|
|
5115
5215
|
if (icon && (0, iconUtils_exports.isRelativeUrlPath)(icon)) {
|
|
5116
|
-
iconUrl = `${
|
|
5216
|
+
iconUrl = `${globalThis.location.origin}${icon}`;
|
|
5117
5217
|
}
|
|
5118
5218
|
if (iconUrl && ((0, iconUtils_exports.isRemoteIcon)(iconUrl) || (0, iconUtils_exports.isDataURI)(iconUrl) || (0, iconUtils_exports.isRelativeUrlPath)(icon))) {
|
|
5119
5219
|
IconComponent = /* @__PURE__ */ react_exports.createElement(RemoteIcon_default, { iconURL: iconUrl });
|