@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/Timeline.js
CHANGED
|
@@ -425,7 +425,7 @@ var editorConfig = [
|
|
|
425
425
|
]
|
|
426
426
|
},
|
|
427
427
|
// disable legend if dataColors is on
|
|
428
|
-
isDisabled: ({ options }) => options.dataColors
|
|
428
|
+
isDisabled: ({ options }) => Boolean(options.dataColors)
|
|
429
429
|
}
|
|
430
430
|
],
|
|
431
431
|
[
|
|
@@ -442,7 +442,7 @@ var editorConfig = [
|
|
|
442
442
|
{ label: (0, i18n_exports._)("Off"), value: "ellipsisOff" }
|
|
443
443
|
]
|
|
444
444
|
},
|
|
445
|
-
isDisabled: ({ options }) => options.dataColors,
|
|
445
|
+
isDisabled: ({ options }) => Boolean(options.dataColors),
|
|
446
446
|
showEditor: ({ options }) => options.legendDisplay && options.legendDisplay !== "off"
|
|
447
447
|
}
|
|
448
448
|
]
|
|
@@ -740,7 +740,10 @@ var useSortingParams = ({ requestParams, onRequestParamsChange }) => {
|
|
|
740
740
|
onSort = (e, { sortKey, sortDir }) => {
|
|
741
741
|
if (typeof sortKey === "string") {
|
|
742
742
|
const nextSortDir = (0, lodash_exports.has)(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : "none";
|
|
743
|
-
onRequestParamsChange(
|
|
743
|
+
onRequestParamsChange(__spreadProps(__spreadValues({}, requestParams), {
|
|
744
|
+
offset: 0,
|
|
745
|
+
sort: { [sortKey]: nextSortDir }
|
|
746
|
+
}));
|
|
744
747
|
} else {
|
|
745
748
|
onRequestParamsChange(requestParams);
|
|
746
749
|
}
|
|
@@ -875,7 +878,7 @@ var Cover = styled_components_default.div`
|
|
|
875
878
|
bottom: 0;
|
|
876
879
|
`;
|
|
877
880
|
var Blocker = styled_components_default.div.attrs({
|
|
878
|
-
"data-splunk-visualization-version": "28.
|
|
881
|
+
"data-splunk-visualization-version": "28.9.1 - fba477a41"
|
|
879
882
|
})`
|
|
880
883
|
position: relative;
|
|
881
884
|
width: 100%;
|
|
@@ -892,14 +895,23 @@ var withEditModeCover = (Visualization, disableEditModeCover) => {
|
|
|
892
895
|
};
|
|
893
896
|
var withEditModeCover_default = withEditModeCover;
|
|
894
897
|
|
|
898
|
+
// esm-externals:@splunk/themes
|
|
899
|
+
var themes_exports = {};
|
|
900
|
+
__export(themes_exports, {
|
|
901
|
+
default: () => themes_default
|
|
902
|
+
});
|
|
903
|
+
var defaultImport28 = __toESM(require("@splunk/themes"));
|
|
904
|
+
__reExport(themes_exports, require("@splunk/themes"));
|
|
905
|
+
var themes_default = "default" in defaultImport28 ? defaultImport28.default : defaultImport28;
|
|
906
|
+
|
|
895
907
|
// esm-externals:@splunk/visualizations-shared/style
|
|
896
908
|
var style_exports = {};
|
|
897
909
|
__export(style_exports, {
|
|
898
910
|
default: () => style_default
|
|
899
911
|
});
|
|
900
|
-
var
|
|
912
|
+
var defaultImport29 = __toESM(require("@splunk/visualizations-shared/style"));
|
|
901
913
|
__reExport(style_exports, require("@splunk/visualizations-shared/style"));
|
|
902
|
-
var style_default = "default" in
|
|
914
|
+
var style_default = "default" in defaultImport29 ? defaultImport29.default : defaultImport29;
|
|
903
915
|
|
|
904
916
|
// src/common/hocs/FixedSizeContainer.tsx
|
|
905
917
|
var Item = styled_components_default.div.attrs(({ width }) => ({
|
|
@@ -956,7 +968,7 @@ var withFixedSizeContainer = (Viz) => {
|
|
|
956
968
|
FixSizeItem,
|
|
957
969
|
{
|
|
958
970
|
"data-test": "fix-size-item",
|
|
959
|
-
"data-splunk-visualization-version": "28.
|
|
971
|
+
"data-splunk-visualization-version": "28.9.1 - fba477a41",
|
|
960
972
|
width,
|
|
961
973
|
height,
|
|
962
974
|
backgroundColor
|
|
@@ -977,6 +989,14 @@ var shouldShowIconPlaceholder = (dataSources, loading = false) => {
|
|
|
977
989
|
const noFields = fields === void 0;
|
|
978
990
|
return loading || noData || noFields;
|
|
979
991
|
};
|
|
992
|
+
var PlaceholderContainer = styled_components_default.div`
|
|
993
|
+
/* The inline token color wins when supported. Older browsers discard an
|
|
994
|
+
unsupported oklch value and retain this inherited fallback instead. */
|
|
995
|
+
color: ${(0, themes_exports.pick)({
|
|
996
|
+
dark: "#fafafa",
|
|
997
|
+
light: "#2c2c2c"
|
|
998
|
+
})};
|
|
999
|
+
`;
|
|
980
1000
|
var IconPlaceholder = (props) => {
|
|
981
1001
|
const {
|
|
982
1002
|
width = SplunkVisualization_default.defaults.width,
|
|
@@ -991,7 +1011,6 @@ var IconPlaceholder = (props) => {
|
|
|
991
1011
|
style: {
|
|
992
1012
|
left: "50%",
|
|
993
1013
|
top: "50%",
|
|
994
|
-
color: iconColor,
|
|
995
1014
|
opacity: 0.15,
|
|
996
1015
|
position: "absolute",
|
|
997
1016
|
transform: "translate(-50%, -50%)"
|
|
@@ -1001,7 +1020,14 @@ var IconPlaceholder = (props) => {
|
|
|
1001
1020
|
"data-test": "icon-placeholder"
|
|
1002
1021
|
});
|
|
1003
1022
|
}
|
|
1004
|
-
return /* @__PURE__ */ react_exports.createElement(
|
|
1023
|
+
return /* @__PURE__ */ react_exports.createElement(
|
|
1024
|
+
PlaceholderContainer,
|
|
1025
|
+
{
|
|
1026
|
+
"data-test": "icon-placeholder-container",
|
|
1027
|
+
style: { width, height, background: backgroundColor, color: iconColor }
|
|
1028
|
+
},
|
|
1029
|
+
content
|
|
1030
|
+
);
|
|
1005
1031
|
};
|
|
1006
1032
|
var IconPlaceholder_default = FixedSizeContainer_default(IconPlaceholder);
|
|
1007
1033
|
|
|
@@ -1047,9 +1073,9 @@ var numberUtils_exports = {};
|
|
|
1047
1073
|
__export(numberUtils_exports, {
|
|
1048
1074
|
default: () => numberUtils_default
|
|
1049
1075
|
});
|
|
1050
|
-
var
|
|
1076
|
+
var defaultImport30 = __toESM(require("@splunk/visualizations-shared/numberUtils"));
|
|
1051
1077
|
__reExport(numberUtils_exports, require("@splunk/visualizations-shared/numberUtils"));
|
|
1052
|
-
var numberUtils_default = "default" in
|
|
1078
|
+
var numberUtils_default = "default" in defaultImport30 ? defaultImport30.default : defaultImport30;
|
|
1053
1079
|
|
|
1054
1080
|
// src/common/utils/dataUtils.ts
|
|
1055
1081
|
var getFieldName = (field) => typeof field === "string" ? field : field.name;
|
|
@@ -1075,7 +1101,7 @@ var largestTriangleThreeBuckets = (data, threshold, preferredDownsampleIndices)
|
|
|
1075
1101
|
let avgY = 0;
|
|
1076
1102
|
let avgRangeStart = Math.floor((i + 1) * every) + 1;
|
|
1077
1103
|
let avgRangeEnd = Math.floor((i + 2) * every) + 1;
|
|
1078
|
-
avgRangeEnd = avgRangeEnd
|
|
1104
|
+
avgRangeEnd = Math.min(avgRangeEnd, dataLength);
|
|
1079
1105
|
const avgRangeLength = avgRangeEnd - avgRangeStart;
|
|
1080
1106
|
for (; avgRangeStart < avgRangeEnd; avgRangeStart++) {
|
|
1081
1107
|
avgX += Number(data[avgRangeStart][0]);
|
|
@@ -1110,9 +1136,9 @@ var largestTriangleThreeBuckets = (data, threshold, preferredDownsampleIndices)
|
|
|
1110
1136
|
};
|
|
1111
1137
|
var strictlyCoerceYColumn = (column, options) => {
|
|
1112
1138
|
const isNullCoercionEnabled = options.nullValueDisplay === "zero";
|
|
1113
|
-
const canLooselyCoerceSomeValues = column.
|
|
1139
|
+
const canLooselyCoerceSomeValues = column.some(
|
|
1114
1140
|
(value) => (0, numberUtils_exports.startsWithNumber)(`${value}`) || isNullCoercionEnabled && value === null
|
|
1115
|
-
)
|
|
1141
|
+
);
|
|
1116
1142
|
const coercedColumn = [];
|
|
1117
1143
|
const canDownsampleColumn = !column.some((value) => {
|
|
1118
1144
|
const coercedValue = Number(value);
|
|
@@ -1131,7 +1157,7 @@ var strictlyCoerceYColumn = (column, options) => {
|
|
|
1131
1157
|
};
|
|
1132
1158
|
var strictlyCoerceXColumn = (column, fieldType) => {
|
|
1133
1159
|
if (fieldType === "number") {
|
|
1134
|
-
const coercedXColumn = column.map(
|
|
1160
|
+
const coercedXColumn = column.map(Number);
|
|
1135
1161
|
if (isColumnStrictlyIncreasing(coercedXColumn, fieldType)) {
|
|
1136
1162
|
return coercedXColumn;
|
|
1137
1163
|
}
|
|
@@ -1430,16 +1456,16 @@ var FeatureFlags_exports = {};
|
|
|
1430
1456
|
__export(FeatureFlags_exports, {
|
|
1431
1457
|
default: () => FeatureFlags_default
|
|
1432
1458
|
});
|
|
1433
|
-
var
|
|
1459
|
+
var defaultImport31 = __toESM(require("@splunk/visualization-context/FeatureFlags"));
|
|
1434
1460
|
__reExport(FeatureFlags_exports, require("@splunk/visualization-context/FeatureFlags"));
|
|
1435
|
-
var FeatureFlags_default = "default" in
|
|
1461
|
+
var FeatureFlags_default = "default" in defaultImport31 ? defaultImport31.default : defaultImport31;
|
|
1436
1462
|
|
|
1437
1463
|
// src/common/utils/featureFlagUtils.ts
|
|
1438
1464
|
var getFeatureFlag = (context, flagName) => {
|
|
1439
|
-
if (context && Object.keys(context).
|
|
1465
|
+
if (context && Object.keys(context).includes(flagName)) {
|
|
1440
1466
|
return context[flagName];
|
|
1441
1467
|
}
|
|
1442
|
-
if (Object.keys(FeatureFlags_default).
|
|
1468
|
+
if (Object.keys(FeatureFlags_default).includes(flagName)) {
|
|
1443
1469
|
return FeatureFlags_default[flagName];
|
|
1444
1470
|
}
|
|
1445
1471
|
return false;
|
|
@@ -1450,9 +1476,9 @@ var trellisUtils_exports = {};
|
|
|
1450
1476
|
__export(trellisUtils_exports, {
|
|
1451
1477
|
default: () => trellisUtils_default
|
|
1452
1478
|
});
|
|
1453
|
-
var
|
|
1479
|
+
var defaultImport32 = __toESM(require("@splunk/visualizations-shared/trellisUtils"));
|
|
1454
1480
|
__reExport(trellisUtils_exports, require("@splunk/visualizations-shared/trellisUtils"));
|
|
1455
|
-
var trellisUtils_default = "default" in
|
|
1481
|
+
var trellisUtils_default = "default" in defaultImport32 ? defaultImport32.default : defaultImport32;
|
|
1456
1482
|
|
|
1457
1483
|
// src/common/utils/trellisUtils.ts
|
|
1458
1484
|
var turnOffLegendDisplayWhenTrellisIsOn = (isTrellisOn, options) => {
|
|
@@ -1469,9 +1495,9 @@ var visualization_canvas_exports = {};
|
|
|
1469
1495
|
__export(visualization_canvas_exports, {
|
|
1470
1496
|
default: () => visualization_canvas_default
|
|
1471
1497
|
});
|
|
1472
|
-
var
|
|
1498
|
+
var defaultImport33 = __toESM(require("@splunk/visualization-canvas"));
|
|
1473
1499
|
__reExport(visualization_canvas_exports, require("@splunk/visualization-canvas"));
|
|
1474
|
-
var visualization_canvas_default = "default" in
|
|
1500
|
+
var visualization_canvas_default = "default" in defaultImport33 ? defaultImport33.default : defaultImport33;
|
|
1475
1501
|
|
|
1476
1502
|
// src/common/components/VizStyleWrapper.jsx
|
|
1477
1503
|
var VizStyleWrapper = styled_components_default.div.attrs(({ dataTestKey }) => ({
|
|
@@ -1493,27 +1519,27 @@ var Triangle_exports = {};
|
|
|
1493
1519
|
__export(Triangle_exports, {
|
|
1494
1520
|
default: () => Triangle_default
|
|
1495
1521
|
});
|
|
1496
|
-
var
|
|
1522
|
+
var defaultImport34 = __toESM(require("@splunk/react-icons/Triangle"));
|
|
1497
1523
|
__reExport(Triangle_exports, require("@splunk/react-icons/Triangle"));
|
|
1498
|
-
var Triangle_default = "default" in
|
|
1524
|
+
var Triangle_default = "default" in defaultImport34 ? defaultImport34.default : defaultImport34;
|
|
1499
1525
|
|
|
1500
1526
|
// esm-externals:@splunk/visualizations-shared/propUtils
|
|
1501
1527
|
var propUtils_exports = {};
|
|
1502
1528
|
__export(propUtils_exports, {
|
|
1503
1529
|
default: () => propUtils_default
|
|
1504
1530
|
});
|
|
1505
|
-
var
|
|
1531
|
+
var defaultImport35 = __toESM(require("@splunk/visualizations-shared/propUtils"));
|
|
1506
1532
|
__reExport(propUtils_exports, require("@splunk/visualizations-shared/propUtils"));
|
|
1507
|
-
var propUtils_default = "default" in
|
|
1533
|
+
var propUtils_default = "default" in defaultImport35 ? defaultImport35.default : defaultImport35;
|
|
1508
1534
|
|
|
1509
1535
|
// esm-externals:@splunk/visualizations-shared/simpleXMLOptions
|
|
1510
1536
|
var simpleXMLOptions_exports = {};
|
|
1511
1537
|
__export(simpleXMLOptions_exports, {
|
|
1512
1538
|
default: () => simpleXMLOptions_default
|
|
1513
1539
|
});
|
|
1514
|
-
var
|
|
1540
|
+
var defaultImport36 = __toESM(require("@splunk/visualizations-shared/simpleXMLOptions"));
|
|
1515
1541
|
__reExport(simpleXMLOptions_exports, require("@splunk/visualizations-shared/simpleXMLOptions"));
|
|
1516
|
-
var simpleXMLOptions_default = "default" in
|
|
1542
|
+
var simpleXMLOptions_default = "default" in defaultImport36 ? defaultImport36.default : defaultImport36;
|
|
1517
1543
|
|
|
1518
1544
|
// src/common/chartingUtils.ts
|
|
1519
1545
|
var DEFAULT_LINE_WIDTH = 2;
|
|
@@ -1552,9 +1578,9 @@ var shouldEnableSearchZoom = (eventHandlers = [], xField = "") => {
|
|
|
1552
1578
|
const xAxisIsTime = xField === "_time";
|
|
1553
1579
|
return !!rangeSelectEventHandler && xAxisIsTime;
|
|
1554
1580
|
};
|
|
1555
|
-
var canvasSupportedTimeSeriesCharts = ["splunk.line", "splunk.area"];
|
|
1581
|
+
var canvasSupportedTimeSeriesCharts = /* @__PURE__ */ new Set(["splunk.line", "splunk.area"]);
|
|
1556
1582
|
var isTimeSeriesCanvasRenderSupported = (vizConfigKey) => {
|
|
1557
|
-
return canvasSupportedTimeSeriesCharts.
|
|
1583
|
+
return canvasSupportedTimeSeriesCharts.has(vizConfigKey);
|
|
1558
1584
|
};
|
|
1559
1585
|
var filterChartDataFromInternalFields = (chartData) => {
|
|
1560
1586
|
const { fields, columns } = chartData;
|
|
@@ -1570,7 +1596,7 @@ var filterChartDataFromInternalFields = (chartData) => {
|
|
|
1570
1596
|
return { fields: filteredFields, columns: filteredColumns };
|
|
1571
1597
|
};
|
|
1572
1598
|
var convert2DArrayToNumbers = (arr) => {
|
|
1573
|
-
return arr.map((subArray) => subArray.map((element) => parseFloat(element)));
|
|
1599
|
+
return arr.map((subArray) => subArray.map((element) => Number.parseFloat(element)));
|
|
1574
1600
|
};
|
|
1575
1601
|
var parseAxisValue = (val) => {
|
|
1576
1602
|
if (val === void 0 || val === null || val === "auto" || val === "") {
|
|
@@ -1608,6 +1634,7 @@ var getLegend = (props) => {
|
|
|
1608
1634
|
return (0, visualization_canvas_exports.TopLegendFactory)(__spreadValues({
|
|
1609
1635
|
wrap: true
|
|
1610
1636
|
}, commonLegendProps));
|
|
1637
|
+
// Note: By default, use right legend
|
|
1611
1638
|
default:
|
|
1612
1639
|
return (0, visualization_canvas_exports.SideLegendFactory)(__spreadValues({}, commonLegendProps));
|
|
1613
1640
|
}
|
|
@@ -1740,10 +1767,10 @@ var getSeriesOverrides = (opts) => {
|
|
|
1740
1767
|
let spanGaps;
|
|
1741
1768
|
if (nullValueMode === "gaps") {
|
|
1742
1769
|
spanGaps = false;
|
|
1743
|
-
} else if (nullValueMode
|
|
1744
|
-
spanGaps = true;
|
|
1745
|
-
} else {
|
|
1770
|
+
} else if (nullValueMode == null) {
|
|
1746
1771
|
spanGaps = void 0;
|
|
1772
|
+
} else {
|
|
1773
|
+
spanGaps = true;
|
|
1747
1774
|
}
|
|
1748
1775
|
const replaceNullsWithZero = nullValueMode === "zero" ? true : void 0;
|
|
1749
1776
|
const isAreaChart = type === "area";
|
|
@@ -2174,11 +2201,11 @@ var TimeSeriesChartWrapper = (props) => {
|
|
|
2174
2201
|
y2AxisMajorUnitFromSimpleXML,
|
|
2175
2202
|
y2AxisMajorTickInterval
|
|
2176
2203
|
);
|
|
2177
|
-
const xAxisMajorTickSizeNum = xAxisMajorTickSize
|
|
2178
|
-
const yAxisMajorTickSizeNum = yAxisMajorTickSize
|
|
2179
|
-
const y2AxisMajorTickSizeNum = y2AxisMajorTickSize
|
|
2180
|
-
const yAxisMinorTickSizeNum = yAxisMinorTickSize
|
|
2181
|
-
const y2AxisMinorTickSizeNum = y2AxisMinorTickSize
|
|
2204
|
+
const xAxisMajorTickSizeNum = xAxisMajorTickSize == null ? void 0 : Number(xAxisMajorTickSize);
|
|
2205
|
+
const yAxisMajorTickSizeNum = yAxisMajorTickSize == null ? void 0 : Number(yAxisMajorTickSize);
|
|
2206
|
+
const y2AxisMajorTickSizeNum = y2AxisMajorTickSize == null ? void 0 : Number(y2AxisMajorTickSize);
|
|
2207
|
+
const yAxisMinorTickSizeNum = yAxisMinorTickSize == null ? void 0 : Number(yAxisMinorTickSize);
|
|
2208
|
+
const y2AxisMinorTickSizeNum = y2AxisMinorTickSize == null ? void 0 : Number(y2AxisMinorTickSize);
|
|
2182
2209
|
const areaOpacityForCanvas = getAreaOpacityForCanvas(areaOpacity);
|
|
2183
2210
|
const seriesColors = seriesColorsStr ? JSON.parse(seriesColorsStr) : void 0;
|
|
2184
2211
|
const seriesColorsByField = fieldColors ? JSON.parse(fieldColors) : void 0;
|
|
@@ -2590,6 +2617,76 @@ var buildEventCallbackProps = (supportedEvents, evaluatedOptionsToUse, onEventTr
|
|
|
2590
2617
|
});
|
|
2591
2618
|
return result;
|
|
2592
2619
|
};
|
|
2620
|
+
var buildAllEventCallbackProps = (events, evaluatedOptionsToUse, onEventTrigger, { supportsEvents, hasEventHandlers, mode }) => {
|
|
2621
|
+
if (!supportsEvents) return {};
|
|
2622
|
+
const defaultEvents = {};
|
|
2623
|
+
const userEvents = {};
|
|
2624
|
+
Object.entries(events || {}).forEach(([eventKey, eventConfig]) => {
|
|
2625
|
+
(eventConfig.source === "default" ? defaultEvents : userEvents)[eventKey] = eventConfig;
|
|
2626
|
+
});
|
|
2627
|
+
const userProps = hasEventHandlers && mode === "view" ? buildEventCallbackProps(userEvents, evaluatedOptionsToUse, onEventTrigger) : {};
|
|
2628
|
+
return __spreadValues(__spreadValues({}, userProps), buildEventCallbackProps(defaultEvents, evaluatedOptionsToUse, onEventTrigger));
|
|
2629
|
+
};
|
|
2630
|
+
var applyContextTimezone = (localeContext) => {
|
|
2631
|
+
if (localeContext.serializedTimezone && !moment_default.getDefaultSplunkTimezone()) {
|
|
2632
|
+
moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
|
|
2633
|
+
}
|
|
2634
|
+
};
|
|
2635
|
+
var getAsyncOptionsEvaluationParams = ({
|
|
2636
|
+
visualizationID,
|
|
2637
|
+
props,
|
|
2638
|
+
optionsToEvaluate,
|
|
2639
|
+
downsampledDataSources,
|
|
2640
|
+
vizConfig,
|
|
2641
|
+
bypassCloneDeepOptionScope,
|
|
2642
|
+
lazyLoadingDataFrame
|
|
2643
|
+
}) => {
|
|
2644
|
+
return {
|
|
2645
|
+
visualizationID,
|
|
2646
|
+
props,
|
|
2647
|
+
options: __spreadValues({}, optionsToEvaluate),
|
|
2648
|
+
dataSources: downsampledDataSources,
|
|
2649
|
+
theme: vizConfig.themes,
|
|
2650
|
+
bypassCloneDeepOptionScope,
|
|
2651
|
+
lazyLoadingDataFrame
|
|
2652
|
+
};
|
|
2653
|
+
};
|
|
2654
|
+
var evaluateOptionsSync = ({
|
|
2655
|
+
optionsToEvaluate,
|
|
2656
|
+
downsampledDataSources,
|
|
2657
|
+
dataSourcesInState,
|
|
2658
|
+
dataFramesInState,
|
|
2659
|
+
setDataSourcesInState,
|
|
2660
|
+
setDataFramesInState,
|
|
2661
|
+
computeDataFrames,
|
|
2662
|
+
featureFlagContext,
|
|
2663
|
+
themeFunc
|
|
2664
|
+
}) => {
|
|
2665
|
+
let dataFrames = dataFramesInState;
|
|
2666
|
+
if (downsampledDataSources !== dataSourcesInState) {
|
|
2667
|
+
setDataSourcesInState(downsampledDataSources);
|
|
2668
|
+
dataFrames = Options_exports.Options.dataFrameFromDataSource(
|
|
2669
|
+
downsampledDataSources,
|
|
2670
|
+
getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
|
|
2671
|
+
);
|
|
2672
|
+
setDataFramesInState(dataFrames);
|
|
2673
|
+
}
|
|
2674
|
+
let mergedFrames = dataFrames;
|
|
2675
|
+
if (computeDataFrames && dataFrames) {
|
|
2676
|
+
const derivedFrames = computeDataFrames({
|
|
2677
|
+
dataSources: downsampledDataSources,
|
|
2678
|
+
options: optionsToEvaluate.options
|
|
2679
|
+
});
|
|
2680
|
+
mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
|
|
2681
|
+
}
|
|
2682
|
+
return Options_exports.Options.evaluate(
|
|
2683
|
+
optionsToEvaluate,
|
|
2684
|
+
downsampledDataSources,
|
|
2685
|
+
themeFunc,
|
|
2686
|
+
mergedFrames,
|
|
2687
|
+
getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
|
|
2688
|
+
);
|
|
2689
|
+
};
|
|
2593
2690
|
var withDashboardViz = (opts) => {
|
|
2594
2691
|
const {
|
|
2595
2692
|
ReactViz,
|
|
@@ -2621,11 +2718,7 @@ var withDashboardViz = (opts) => {
|
|
|
2621
2718
|
onRequestParamsChange = lodash_exports.noop
|
|
2622
2719
|
} = props;
|
|
2623
2720
|
const localeContext = react_exports.useContext(TimezoneContext_default);
|
|
2624
|
-
|
|
2625
|
-
if (!moment_default.getDefaultSplunkTimezone()) {
|
|
2626
|
-
moment_default.setDefaultSplunkTimezone(localeContext.serializedTimezone);
|
|
2627
|
-
}
|
|
2628
|
-
}
|
|
2721
|
+
applyContextTimezone(localeContext);
|
|
2629
2722
|
const themeFunc = (themeVar) => {
|
|
2630
2723
|
var _a2, _b;
|
|
2631
2724
|
return (_b = (_a2 = vizConfig.themes)[themeVar]) == null ? void 0 : _b.call(_a2, props);
|
|
@@ -2653,7 +2746,12 @@ var withDashboardViz = (opts) => {
|
|
|
2653
2746
|
featureFlagContext == null ? void 0 : featureFlagContext.visualizations_enableAcceleratedRender
|
|
2654
2747
|
);
|
|
2655
2748
|
const isAcceleratedRenderOn = isAcceleratedRenderFeatureFlagOn && isTimeSeriesCanvasRenderSupported(vizConfig.key) && (options == null ? void 0 : options.acceleratedRender) === true;
|
|
2656
|
-
const
|
|
2749
|
+
const bypassCloneDeepOptionScope = Boolean(
|
|
2750
|
+
getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
|
|
2751
|
+
);
|
|
2752
|
+
const lazyLoadingDataFrame = Boolean(
|
|
2753
|
+
getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
|
|
2754
|
+
);
|
|
2657
2755
|
const optionsToEvaluate = react_exports.useMemo(() => {
|
|
2658
2756
|
var _a2;
|
|
2659
2757
|
const legendDisplay = turnOffLegendDisplayWhenTrellisIsOn(isTrellisOn, options);
|
|
@@ -2692,63 +2790,74 @@ var withDashboardViz = (opts) => {
|
|
|
2692
2790
|
threshold,
|
|
2693
2791
|
isDownsamplingEnabled
|
|
2694
2792
|
});
|
|
2695
|
-
|
|
2793
|
+
const asyncOptionsEvaluationParams = useDeepMemo(
|
|
2794
|
+
() => getAsyncOptionsEvaluationParams({
|
|
2795
|
+
visualizationID,
|
|
2796
|
+
props,
|
|
2797
|
+
optionsToEvaluate,
|
|
2798
|
+
downsampledDataSources,
|
|
2799
|
+
vizConfig,
|
|
2800
|
+
bypassCloneDeepOptionScope,
|
|
2801
|
+
lazyLoadingDataFrame
|
|
2802
|
+
}),
|
|
2803
|
+
[
|
|
2804
|
+
visualizationID,
|
|
2805
|
+
optionsToEvaluate,
|
|
2806
|
+
downsampledDataSources,
|
|
2807
|
+
vizConfig,
|
|
2808
|
+
bypassCloneDeepOptionScope,
|
|
2809
|
+
lazyLoadingDataFrame,
|
|
2810
|
+
currentThemeFamily,
|
|
2811
|
+
currentThemeColorScheme,
|
|
2812
|
+
currentThemeDensity,
|
|
2813
|
+
localeContext.serializedTimezone
|
|
2814
|
+
]
|
|
2815
|
+
);
|
|
2816
|
+
react_exports.useEffect(() => {
|
|
2817
|
+
if (!useAsyncEvaluatedOptions) {
|
|
2818
|
+
return void 0;
|
|
2819
|
+
}
|
|
2820
|
+
let ownsEvaluation = true;
|
|
2696
2821
|
try {
|
|
2697
|
-
|
|
2698
|
-
|
|
2699
|
-
visualizationID,
|
|
2700
|
-
props,
|
|
2701
|
-
options: optionsToEvaluate,
|
|
2702
|
-
dataSources: downsampledDataSources,
|
|
2703
|
-
theme: vizConfig.themes,
|
|
2704
|
-
bypassCloneDeepOptionScope: Boolean(
|
|
2705
|
-
getFeatureFlag(featureFlagContext, "visualizations_bypassCloneDeepOptionScope")
|
|
2706
|
-
),
|
|
2707
|
-
lazyLoadingDataFrame: Boolean(
|
|
2708
|
-
getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
|
|
2709
|
-
)
|
|
2710
|
-
};
|
|
2711
|
-
async_dynamic_options_evaluator_default.evaluate(asyncDynamicOptionsEvaluatorParams).then((results) => {
|
|
2822
|
+
async_dynamic_options_evaluator_default.evaluate(asyncOptionsEvaluationParams).then((results) => {
|
|
2823
|
+
if (ownsEvaluation) {
|
|
2712
2824
|
setEvaluatedOptionsAsync(results.results);
|
|
2713
|
-
}).catch(() => {
|
|
2714
|
-
if (isMounted.current) {
|
|
2715
|
-
setUseAsyncEvaluatedOptions(false);
|
|
2716
|
-
}
|
|
2717
|
-
});
|
|
2718
|
-
} else {
|
|
2719
|
-
let dataFrames = dataFramesInState;
|
|
2720
|
-
if (downsampledDataSources !== dataSourcesInState) {
|
|
2721
|
-
setDataSourcesInState(downsampledDataSources);
|
|
2722
|
-
dataFrames = Options_exports.Options.dataFrameFromDataSource(
|
|
2723
|
-
downsampledDataSources,
|
|
2724
|
-
getFeatureFlag(featureFlagContext, "visualizations_lazyLoadingDataFrame")
|
|
2725
|
-
);
|
|
2726
|
-
setDataFramesInState(dataFrames);
|
|
2727
2825
|
}
|
|
2728
|
-
|
|
2729
|
-
if (
|
|
2730
|
-
|
|
2731
|
-
dataSources: downsampledDataSources,
|
|
2732
|
-
options: optionsToEvaluate.options
|
|
2733
|
-
});
|
|
2734
|
-
mergedFrames = __spreadValues(__spreadValues({}, dataFrames), derivedFrames);
|
|
2826
|
+
}).catch(() => {
|
|
2827
|
+
if (ownsEvaluation) {
|
|
2828
|
+
setUseAsyncEvaluatedOptions(false);
|
|
2735
2829
|
}
|
|
2736
|
-
|
|
2737
|
-
|
|
2738
|
-
|
|
2739
|
-
|
|
2740
|
-
|
|
2741
|
-
|
|
2742
|
-
|
|
2743
|
-
|
|
2830
|
+
});
|
|
2831
|
+
} catch (e) {
|
|
2832
|
+
setUseAsyncEvaluatedOptions(false);
|
|
2833
|
+
}
|
|
2834
|
+
return () => {
|
|
2835
|
+
ownsEvaluation = false;
|
|
2836
|
+
async_dynamic_options_evaluator_default.reset(visualizationID);
|
|
2837
|
+
};
|
|
2838
|
+
}, [asyncOptionsEvaluationParams, useAsyncEvaluatedOptions, visualizationID]);
|
|
2839
|
+
evaluatedOptions = useDeepMemo(() => {
|
|
2840
|
+
try {
|
|
2841
|
+
if (useAsyncEvaluatedOptions) {
|
|
2842
|
+
return {};
|
|
2744
2843
|
}
|
|
2844
|
+
return evaluateOptionsSync({
|
|
2845
|
+
optionsToEvaluate,
|
|
2846
|
+
downsampledDataSources,
|
|
2847
|
+
dataSourcesInState,
|
|
2848
|
+
dataFramesInState,
|
|
2849
|
+
setDataSourcesInState,
|
|
2850
|
+
setDataFramesInState,
|
|
2851
|
+
computeDataFrames,
|
|
2852
|
+
featureFlagContext,
|
|
2853
|
+
themeFunc
|
|
2854
|
+
});
|
|
2745
2855
|
} catch (e) {
|
|
2746
2856
|
if (e instanceof Error) {
|
|
2747
2857
|
console.error(`unexpected error evaluating options: ${e.message}`);
|
|
2748
2858
|
}
|
|
2749
2859
|
return {};
|
|
2750
2860
|
}
|
|
2751
|
-
return {};
|
|
2752
2861
|
}, [
|
|
2753
2862
|
currentThemeFamily,
|
|
2754
2863
|
currentThemeColorScheme,
|
|
@@ -2758,7 +2867,7 @@ var withDashboardViz = (opts) => {
|
|
|
2758
2867
|
localeContext.serializedTimezone,
|
|
2759
2868
|
useAsyncEvaluatedOptions
|
|
2760
2869
|
]);
|
|
2761
|
-
const evaluatedOptionsToUse =
|
|
2870
|
+
const evaluatedOptionsToUse = useAsyncEvaluatedOptions ? evaluatedOptionsAsync : evaluatedOptions;
|
|
2762
2871
|
let dataSourceMetadata = {};
|
|
2763
2872
|
const OptionKey = "paginateDataSourceKey";
|
|
2764
2873
|
const optsKey = (0, lodash_exports.has)(evaluatedOptionsToUse, OptionKey) && evaluatedOptionsToUse[OptionKey];
|
|
@@ -2780,7 +2889,7 @@ var withDashboardViz = (opts) => {
|
|
|
2780
2889
|
sortParams,
|
|
2781
2890
|
paginatorParams
|
|
2782
2891
|
};
|
|
2783
|
-
if (vizConfig.supports.
|
|
2892
|
+
if (!vizConfig.supports.includes("page-and-sort" /* PAGE_AND_SORT */) && !(0, lodash_exports.has)(dataSources, paginateDataSourceKey)) {
|
|
2784
2893
|
dataSourceMetadata = {};
|
|
2785
2894
|
}
|
|
2786
2895
|
const clonedEvaluatedOptions = __spreadValues({}, evaluatedOptionsToUse);
|
|
@@ -2790,14 +2899,6 @@ var withDashboardViz = (opts) => {
|
|
|
2790
2899
|
react_exports.useEffect(() => {
|
|
2791
2900
|
onComputedProps(clonedEvaluatedOptions);
|
|
2792
2901
|
});
|
|
2793
|
-
react_exports.useEffect(() => {
|
|
2794
|
-
return () => {
|
|
2795
|
-
if (useAsyncEvaluatedOptions) {
|
|
2796
|
-
isMounted.current = false;
|
|
2797
|
-
async_dynamic_options_evaluator_default.reset(visualizationID);
|
|
2798
|
-
}
|
|
2799
|
-
};
|
|
2800
|
-
}, []);
|
|
2801
2902
|
const { requiredProps = [], supports } = vizConfig;
|
|
2802
2903
|
const missing = missingKeys(requiredProps, evaluatedOptionsToUse);
|
|
2803
2904
|
if (missing.length > 0 && supports.includes("placeholder" /* PLACEHOLDER */) && vizConfig.key !== "splunk.singlevalue") {
|
|
@@ -2812,7 +2913,16 @@ var withDashboardViz = (opts) => {
|
|
|
2812
2913
|
}
|
|
2813
2914
|
);
|
|
2814
2915
|
}
|
|
2815
|
-
const eventCallbackProps =
|
|
2916
|
+
const eventCallbackProps = buildAllEventCallbackProps(
|
|
2917
|
+
vizConfig.events,
|
|
2918
|
+
evaluatedOptionsToUse,
|
|
2919
|
+
onEventTrigger,
|
|
2920
|
+
{
|
|
2921
|
+
supportsEvents: vizConfig.supports.includes("events" /* EVENTS */),
|
|
2922
|
+
hasEventHandlers,
|
|
2923
|
+
mode
|
|
2924
|
+
}
|
|
2925
|
+
);
|
|
2816
2926
|
const computedVizProps = computeVizProps2(__spreadProps(__spreadValues(__spreadProps(__spreadValues(__spreadValues({}, props), evaluatedOptionsToUse), {
|
|
2817
2927
|
// Align option transformation with the actual renderer selected below.
|
|
2818
2928
|
// This prevents canvas-only option preservation from leaking into Highcharts mode.
|
|
@@ -2840,8 +2950,9 @@ var withDashboardViz = (opts) => {
|
|
|
2840
2950
|
onEventTrigger: SplunkVisualization_default.defaults.onEventTrigger
|
|
2841
2951
|
});
|
|
2842
2952
|
DashboardViz.config = vizConfig;
|
|
2843
|
-
return
|
|
2844
|
-
withPlaceholder_default(withEditModeCover_default(DashboardViz, disableEditModeCover), useIconPlaceholder)
|
|
2953
|
+
return Object.assign(
|
|
2954
|
+
(0, styled_components_exports.withTheme)(withPlaceholder_default(withEditModeCover_default(DashboardViz, disableEditModeCover), useIconPlaceholder)),
|
|
2955
|
+
{ config: vizConfig }
|
|
2845
2956
|
);
|
|
2846
2957
|
};
|
|
2847
2958
|
var withDashboardViz_default = withDashboardViz;
|
|
@@ -2851,55 +2962,60 @@ var config_exports = {};
|
|
|
2851
2962
|
__export(config_exports, {
|
|
2852
2963
|
default: () => config_default2
|
|
2853
2964
|
});
|
|
2854
|
-
var
|
|
2965
|
+
var defaultImport37 = __toESM(require("@splunk/splunk-utils/config"));
|
|
2855
2966
|
__reExport(config_exports, require("@splunk/splunk-utils/config"));
|
|
2856
|
-
var config_default2 = "default" in
|
|
2857
|
-
|
|
2858
|
-
// esm-externals:@splunk/themes
|
|
2859
|
-
var themes_exports = {};
|
|
2860
|
-
__export(themes_exports, {
|
|
2861
|
-
default: () => themes_default
|
|
2862
|
-
});
|
|
2863
|
-
var defaultImport37 = __toESM(require("@splunk/themes"));
|
|
2864
|
-
__reExport(themes_exports, require("@splunk/themes"));
|
|
2865
|
-
var themes_default = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
|
|
2967
|
+
var config_default2 = "default" in defaultImport37 ? defaultImport37.default : defaultImport37;
|
|
2866
2968
|
|
|
2867
2969
|
// src/common/utils/textUtils.ts
|
|
2868
2970
|
var VIZ_FONT_FAMILY = "'Splunk Platform Sans', 'Splunk Data Sans', Roboto, Droid, 'Helvetica Neue', Helvetica, Arial, sans-serif";
|
|
2971
|
+
var truncateEnd = (text, context, maxWidth, ellipsis) => {
|
|
2972
|
+
for (let i = text.length - 1; i > 0; i -= 1) {
|
|
2973
|
+
const truncatedText = text.slice(0, i) + ellipsis;
|
|
2974
|
+
if (context.measureText(truncatedText).width <= maxWidth) {
|
|
2975
|
+
return truncatedText;
|
|
2976
|
+
}
|
|
2977
|
+
}
|
|
2978
|
+
return ellipsis;
|
|
2979
|
+
};
|
|
2980
|
+
var truncateStart = (text, context, maxWidth, ellipsis) => {
|
|
2981
|
+
for (let i = 0; i < text.length; i += 1) {
|
|
2982
|
+
const truncatedText = ellipsis + text.slice(i);
|
|
2983
|
+
if (context.measureText(truncatedText).width <= maxWidth) {
|
|
2984
|
+
return truncatedText;
|
|
2985
|
+
}
|
|
2986
|
+
}
|
|
2987
|
+
return ellipsis;
|
|
2988
|
+
};
|
|
2989
|
+
var truncateMiddle = (text, context, maxWidth, ellipsis) => {
|
|
2990
|
+
const ellipsisWidth = context.measureText(ellipsis).width;
|
|
2991
|
+
for (let i = 0; i < text.length / 2; i += 1) {
|
|
2992
|
+
const left = text.slice(0, Math.floor(text.length / 2) - i);
|
|
2993
|
+
const right = text.slice(Math.ceil(text.length / 2) + i);
|
|
2994
|
+
const truncatedText = left + ellipsis + right;
|
|
2995
|
+
if (context.measureText(left).width + ellipsisWidth + context.measureText(right).width <= maxWidth) {
|
|
2996
|
+
return truncatedText;
|
|
2997
|
+
}
|
|
2998
|
+
}
|
|
2999
|
+
return ellipsis;
|
|
3000
|
+
};
|
|
2869
3001
|
var truncateText = (text, maxWidth, truncationType, font = `10px ${VIZ_FONT_FAMILY}`) => {
|
|
2870
3002
|
const canvas = document.createElement("canvas");
|
|
2871
3003
|
const context = canvas.getContext("2d");
|
|
2872
3004
|
if (!context) return text;
|
|
2873
3005
|
context.font = font;
|
|
2874
3006
|
const ellipsis = "...";
|
|
2875
|
-
const ellipsisWidth = context.measureText(ellipsis).width;
|
|
2876
3007
|
const fullTextWidth = context.measureText(text).width;
|
|
2877
3008
|
if (fullTextWidth <= maxWidth) {
|
|
2878
3009
|
return text;
|
|
2879
3010
|
}
|
|
2880
3011
|
if (truncationType === "ellipsisEnd") {
|
|
2881
|
-
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
|
|
2885
|
-
|
|
2886
|
-
|
|
2887
|
-
|
|
2888
|
-
for (let i = 0; i < text.length; i += 1) {
|
|
2889
|
-
const truncatedText = ellipsis + text.slice(i);
|
|
2890
|
-
if (context.measureText(truncatedText).width <= maxWidth) {
|
|
2891
|
-
return truncatedText;
|
|
2892
|
-
}
|
|
2893
|
-
}
|
|
2894
|
-
} else if (truncationType === "ellipsisMiddle") {
|
|
2895
|
-
for (let i = 0; i < text.length / 2; i += 1) {
|
|
2896
|
-
const left = text.slice(0, Math.floor(text.length / 2) - i);
|
|
2897
|
-
const right = text.slice(Math.ceil(text.length / 2) + i);
|
|
2898
|
-
const truncatedText = left + ellipsis + right;
|
|
2899
|
-
if (context.measureText(left).width + ellipsisWidth + context.measureText(right).width <= maxWidth) {
|
|
2900
|
-
return truncatedText;
|
|
2901
|
-
}
|
|
2902
|
-
}
|
|
3012
|
+
return truncateEnd(text, context, maxWidth, ellipsis);
|
|
3013
|
+
}
|
|
3014
|
+
if (truncationType === "ellipsisStart") {
|
|
3015
|
+
return truncateStart(text, context, maxWidth, ellipsis);
|
|
3016
|
+
}
|
|
3017
|
+
if (truncationType === "ellipsisMiddle") {
|
|
3018
|
+
return truncateMiddle(text, context, maxWidth, ellipsis);
|
|
2903
3019
|
}
|
|
2904
3020
|
return ellipsis;
|
|
2905
3021
|
};
|
|
@@ -2949,7 +3065,7 @@ function updateTimeDifferences(timeDifferences, lastValidStart, currentStart) {
|
|
|
2949
3065
|
timeDifferences.push(timeDiff);
|
|
2950
3066
|
}
|
|
2951
3067
|
}
|
|
2952
|
-
return
|
|
3068
|
+
return Number.isNaN(currentStart) ? lastValidStart : currentStart;
|
|
2953
3069
|
}
|
|
2954
3070
|
var toTimestamp = (dateStr, timezone = {}) => {
|
|
2955
3071
|
try {
|
|
@@ -3081,20 +3197,28 @@ function convertTickIntervalToMs(tickInterval) {
|
|
|
3081
3197
|
switch (tickInterval) {
|
|
3082
3198
|
case "1s":
|
|
3083
3199
|
return 1e3;
|
|
3200
|
+
// 1 second
|
|
3084
3201
|
case "1m":
|
|
3085
3202
|
return 6e4;
|
|
3203
|
+
// 1 minute
|
|
3086
3204
|
case "30m":
|
|
3087
3205
|
return 18e5;
|
|
3206
|
+
// 30 minutes
|
|
3088
3207
|
case "1h":
|
|
3089
3208
|
return 36e5;
|
|
3209
|
+
// 1 hour
|
|
3090
3210
|
case "12h":
|
|
3091
3211
|
return 432e5;
|
|
3212
|
+
// 12 hours
|
|
3092
3213
|
case "1d":
|
|
3093
3214
|
return 864e5;
|
|
3215
|
+
// 1 day
|
|
3094
3216
|
case "7d":
|
|
3095
3217
|
return 6048e5;
|
|
3218
|
+
// 1 week
|
|
3096
3219
|
case "1mo":
|
|
3097
3220
|
return 275e7;
|
|
3221
|
+
// 1 month
|
|
3098
3222
|
default:
|
|
3099
3223
|
throw new Error("Unsupported tick interval");
|
|
3100
3224
|
}
|
|
@@ -4316,7 +4440,7 @@ var TimelineUplot = ({
|
|
|
4316
4440
|
const [isFontLoaded, setIsFontLoaded] = react_exports.useState(false);
|
|
4317
4441
|
const theme = (0, themes_exports.useSplunkTheme)();
|
|
4318
4442
|
const zoom = (0, ZoomContext_exports.useZoomContext)();
|
|
4319
|
-
const fullscreenEl = typeof document
|
|
4443
|
+
const fullscreenEl = typeof document === "undefined" ? null : document.fullscreenElement;
|
|
4320
4444
|
const scaleFactor = fullscreenEl && fullscreenEl.tagName !== "BODY" ? 1 : zoom || 1;
|
|
4321
4445
|
const { version: dprVersion } = (0, visualization_canvas_exports.useDevicePixelRatio)();
|
|
4322
4446
|
const scrollContainerRef = react_exports.useRef(null);
|
|
@@ -4774,7 +4898,7 @@ var computeVizProps = (_a) => {
|
|
|
4774
4898
|
};
|
|
4775
4899
|
function convertToNumbers(arr) {
|
|
4776
4900
|
return arr.map((item) => {
|
|
4777
|
-
return (0, types_exports.isNumber)(item) ? parseFloat(item) : 0;
|
|
4901
|
+
return (0, types_exports.isNumber)(item) ? Number.parseFloat(item) : 0;
|
|
4778
4902
|
});
|
|
4779
4903
|
}
|
|
4780
4904
|
function normalizeSeriesColors(seriesColors) {
|