@splunk/visualizations 27.5.0 → 28.1.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 +19 -21
- package/Area.config.js.map +3 -3
- package/Area.js +55 -33
- package/Area.js.map +3 -3
- package/Bar.config.js +18 -21
- package/Bar.config.js.map +3 -3
- package/Bar.js +49 -32
- package/Bar.js.map +3 -3
- package/Bubble.config.js +39 -44
- package/Bubble.config.js.map +4 -4
- package/Bubble.js +70 -52
- package/Bubble.js.map +4 -4
- package/CHANGELOG.external.md +63 -7
- package/ChoroplethSvg.config.js +47 -43
- package/ChoroplethSvg.config.js.map +4 -4
- package/ChoroplethSvg.js +85 -54
- package/ChoroplethSvg.js.map +4 -4
- package/Column.config.js +15 -20
- package/Column.config.js.map +3 -3
- package/Column.js +43 -30
- package/Column.js.map +3 -3
- package/Ellipse.config.js +16 -7
- package/Ellipse.config.js.map +2 -2
- package/Ellipse.js +46 -20
- package/Ellipse.js.map +2 -2
- package/Events.config.js +38 -27
- package/Events.config.js.map +4 -4
- package/Events.js +114 -98
- package/Events.js.map +4 -4
- package/FEATUREFLAGS.md +9 -9
- package/FillerGauge.config.js +144 -16
- package/FillerGauge.config.js.map +3 -3
- package/FillerGauge.js +891 -101
- package/FillerGauge.js.map +4 -4
- package/Image.config.js +5 -6
- package/Image.config.js.map +2 -2
- package/Image.js +30 -15
- package/Image.js.map +2 -2
- package/Line.config.js +15 -20
- package/Line.config.js.map +3 -3
- package/Line.js +51 -32
- package/Line.js.map +3 -3
- package/LinkGraph.config.js +39 -46
- package/LinkGraph.config.js.map +3 -3
- package/LinkGraph.js +72 -52
- package/LinkGraph.js.map +3 -3
- package/MIGRATION.md +169 -40
- package/Map.config.js +83 -16
- package/Map.config.js.map +4 -4
- package/Map.js +218 -109
- package/Map.js.map +4 -4
- package/Markdown.config.js +4 -5
- package/Markdown.config.js.map +2 -2
- package/Markdown.js +122 -74
- package/Markdown.js.map +3 -3
- package/MarkerGauge.config.js +14 -12
- package/MarkerGauge.config.js.map +3 -3
- package/MarkerGauge.js +108 -70
- package/MarkerGauge.js.map +4 -4
- package/ParallelCoordinates.config.js +14 -12
- package/ParallelCoordinates.config.js.map +3 -3
- package/ParallelCoordinates.js +114 -60
- package/ParallelCoordinates.js.map +3 -3
- package/Pie.config.js +51 -38
- package/Pie.config.js.map +4 -4
- package/Pie.js +110 -86
- package/Pie.js.map +4 -4
- package/Punchcard.config.js +36 -34
- package/Punchcard.config.js.map +4 -4
- package/Punchcard.js +154 -88
- package/Punchcard.js.map +4 -4
- package/README.internal.md +15 -15
- package/README.md +10 -10
- package/Rectangle.config.js +16 -7
- package/Rectangle.config.js.map +2 -2
- package/Rectangle.js +46 -20
- package/Rectangle.js.map +2 -2
- package/Sankey.config.js +69 -17
- package/Sankey.config.js.map +4 -4
- package/Sankey.js +179 -50
- package/Sankey.js.map +4 -4
- package/Scatter.config.js +37 -42
- package/Scatter.config.js.map +3 -3
- package/Scatter.js +71 -54
- package/Scatter.js.map +3 -3
- package/SingleValue.config.js +32 -18
- package/SingleValue.config.js.map +4 -4
- package/SingleValue.js +240 -94
- package/SingleValue.js.map +4 -4
- package/SingleValueBasic.js +1 -0
- package/SingleValueBasic.js.map +2 -2
- package/SingleValueIcon.config.js +22 -11
- package/SingleValueIcon.config.js.map +2 -2
- package/SingleValueIcon.js +85 -29
- package/SingleValueIcon.js.map +2 -2
- package/SingleValueRadial.config.js +34 -23
- package/SingleValueRadial.config.js.map +3 -3
- package/SingleValueRadial.js +90 -49
- package/SingleValueRadial.js.map +4 -4
- package/SparkLine.js +153 -49
- package/SparkLine.js.map +2 -2
- package/TRELLIS.md +2 -2
- package/Table.config.js +93 -52
- package/Table.config.js.map +3 -3
- package/Table.js +513 -202
- package/Table.js.map +4 -4
- package/Timeline.config.js +36 -34
- package/Timeline.config.js.map +4 -4
- package/Timeline.js +131 -83
- package/Timeline.js.map +4 -4
- package/common/Charting.js +1 -0
- package/common/Charting.js.map +2 -2
- package/common/ChartingApi.js +1 -0
- package/common/ChartingApi.js.map +1 -1
- package/common/DocExampleWithVizSandbox.js +7 -2
- package/common/DocExampleWithVizSandbox.js.map +2 -2
- package/common/EventsDoc.js +31 -5
- package/common/EventsDoc.js.map +4 -4
- package/common/GaugeMajorTicks.js +4 -1
- package/common/GaugeMajorTicks.js.map +2 -2
- package/common/GaugeValueMarker.js +31 -3
- package/common/GaugeValueMarker.js.map +4 -4
- package/common/OptionsDoc.js +4 -1
- package/common/OptionsDoc.js.map +2 -2
- package/common/OverviewDoc.js +66 -50
- package/common/OverviewDoc.js.map +4 -4
- package/common/SplunkVisualization.js +1 -0
- package/common/SplunkVisualization.js.map +1 -1
- package/common/SplunkVisualizationApi.js +1 -0
- package/common/SplunkVisualizationApi.js.map +1 -1
- package/common/ThemedDefaults.js +67 -0
- package/common/ThemedDefaults.js.map +7 -0
- package/common/ThemesDoc.js +6 -9
- package/common/ThemesDoc.js.map +2 -2
- package/common/chartingUtils.js +1 -0
- package/common/chartingUtils.js.map +2 -2
- package/common/docUtils.js +6 -1
- package/common/docUtils.js.map +2 -2
- package/common/gaugeUtils.js +6 -1
- package/common/gaugeUtils.js.map +2 -2
- package/common/shapeUtils.js +6 -4
- package/common/shapeUtils.js.map +2 -2
- package/common/utils/configUtils.js +4 -5
- package/common/utils/configUtils.js.map +2 -2
- package/common/utils/dataUtils.js +1 -0
- package/common/utils/dataUtils.js.map +2 -2
- package/common/utils/featureFlagUtils.js +1 -0
- package/common/utils/featureFlagUtils.js.map +1 -1
- package/common/utils/hocUtils.js +1 -0
- package/common/utils/hocUtils.js.map +1 -1
- package/common/utils/mapUtils.js +35 -22
- package/common/utils/mapUtils.js.map +4 -4
- package/common/utils/singleValueUtils.js +8 -2
- package/common/utils/singleValueUtils.js.map +2 -2
- package/common/utils/styleUtils.js +1 -0
- package/common/utils/styleUtils.js.map +1 -1
- package/common/utils/tableUtils.js +59 -0
- package/common/utils/tableUtils.js.map +7 -0
- package/common/utils/testHelper.js +1 -0
- package/common/utils/testHelper.js.map +1 -1
- package/common/utils/trellisUtils.js +1 -0
- package/common/utils/trellisUtils.js.map +1 -1
- package/common/utils/urlUtils.js +1 -0
- package/common/utils/urlUtils.js.map +1 -1
- package/common/withDashboardViz.js +26 -9
- package/common/withDashboardViz.js.map +2 -2
- package/package.json +41 -39
package/LinkGraph.config.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* Copyright © 2020 Splunk Inc.
|
|
2
2
|
SPLUNK CONFIDENTIAL – Use or disclosure of this material in whole or
|
|
3
3
|
in part without a valid written license from Splunk Inc. is PROHIBITED. */
|
|
4
|
+
"use strict";
|
|
4
5
|
var __create = Object.create;
|
|
5
6
|
var __defProp = Object.defineProperty;
|
|
6
7
|
var __defProps = Object.defineProperties;
|
|
@@ -54,77 +55,77 @@ __export(config_exports, {
|
|
|
54
55
|
});
|
|
55
56
|
module.exports = __toCommonJS(config_exports);
|
|
56
57
|
|
|
57
|
-
// esm-externals:lodash
|
|
58
|
-
var lodash_exports = {};
|
|
59
|
-
__export(lodash_exports, {
|
|
60
|
-
default: () => lodash_default
|
|
61
|
-
});
|
|
62
|
-
var defaultImport = __toESM(require("lodash"));
|
|
63
|
-
__reExport(lodash_exports, require("lodash"));
|
|
64
|
-
var lodash_default = "default" in defaultImport ? defaultImport.default : defaultImport;
|
|
65
|
-
|
|
66
58
|
// esm-externals:@splunk/visualization-icons
|
|
67
59
|
var visualization_icons_exports = {};
|
|
68
60
|
__export(visualization_icons_exports, {
|
|
69
61
|
default: () => visualization_icons_default
|
|
70
62
|
});
|
|
71
|
-
var
|
|
63
|
+
var defaultImport = __toESM(require("@splunk/visualization-icons"));
|
|
72
64
|
__reExport(visualization_icons_exports, require("@splunk/visualization-icons"));
|
|
73
|
-
var visualization_icons_default = "default" in
|
|
65
|
+
var visualization_icons_default = "default" in defaultImport ? defaultImport.default : defaultImport;
|
|
74
66
|
|
|
75
67
|
// esm-externals:@splunk/visualization-icons/placeholders
|
|
76
68
|
var placeholders_exports = {};
|
|
77
69
|
__export(placeholders_exports, {
|
|
78
70
|
default: () => placeholders_default
|
|
79
71
|
});
|
|
80
|
-
var
|
|
72
|
+
var defaultImport2 = __toESM(require("@splunk/visualization-icons/placeholders"));
|
|
81
73
|
__reExport(placeholders_exports, require("@splunk/visualization-icons/placeholders"));
|
|
82
|
-
var placeholders_default = "default" in
|
|
74
|
+
var placeholders_default = "default" in defaultImport2 ? defaultImport2.default : defaultImport2;
|
|
83
75
|
|
|
84
76
|
// esm-externals:@splunk/visualization-schemas
|
|
85
77
|
var visualization_schemas_exports = {};
|
|
86
78
|
__export(visualization_schemas_exports, {
|
|
87
79
|
default: () => visualization_schemas_default
|
|
88
80
|
});
|
|
89
|
-
var
|
|
81
|
+
var defaultImport3 = __toESM(require("@splunk/visualization-schemas"));
|
|
90
82
|
__reExport(visualization_schemas_exports, require("@splunk/visualization-schemas"));
|
|
91
|
-
var visualization_schemas_default = "default" in
|
|
83
|
+
var visualization_schemas_default = "default" in defaultImport3 ? defaultImport3.default : defaultImport3;
|
|
92
84
|
|
|
93
85
|
// esm-externals:@splunk/ui-utils/i18n
|
|
94
86
|
var i18n_exports = {};
|
|
95
87
|
__export(i18n_exports, {
|
|
96
88
|
default: () => i18n_default
|
|
97
89
|
});
|
|
98
|
-
var
|
|
90
|
+
var defaultImport4 = __toESM(require("@splunk/ui-utils/i18n"));
|
|
99
91
|
__reExport(i18n_exports, require("@splunk/ui-utils/i18n"));
|
|
100
|
-
var i18n_default = "default" in
|
|
92
|
+
var i18n_default = "default" in defaultImport4 ? defaultImport4.default : defaultImport4;
|
|
101
93
|
|
|
102
94
|
// esm-externals:@splunk/themes/pick
|
|
103
95
|
var pick_exports = {};
|
|
104
96
|
__export(pick_exports, {
|
|
105
97
|
default: () => pick_default
|
|
106
98
|
});
|
|
107
|
-
var
|
|
99
|
+
var defaultImport5 = __toESM(require("@splunk/themes/pick"));
|
|
108
100
|
__reExport(pick_exports, require("@splunk/themes/pick"));
|
|
109
|
-
var pick_default = "default" in
|
|
101
|
+
var pick_default = "default" in defaultImport5 ? defaultImport5.default : defaultImport5;
|
|
110
102
|
|
|
111
103
|
// esm-externals:@splunk/themes/variables
|
|
112
104
|
var variables_exports = {};
|
|
113
105
|
__export(variables_exports, {
|
|
114
106
|
default: () => variables_default
|
|
115
107
|
});
|
|
116
|
-
var
|
|
108
|
+
var defaultImport6 = __toESM(require("@splunk/themes/variables"));
|
|
117
109
|
__reExport(variables_exports, require("@splunk/themes/variables"));
|
|
118
|
-
var variables_default = "default" in
|
|
110
|
+
var variables_default = "default" in defaultImport6 ? defaultImport6.default : defaultImport6;
|
|
119
111
|
|
|
120
112
|
// esm-externals:@splunk/visualizations-shared/colorConstants
|
|
121
113
|
var colorConstants_exports = {};
|
|
122
114
|
__export(colorConstants_exports, {
|
|
123
115
|
default: () => colorConstants_default
|
|
124
116
|
});
|
|
125
|
-
var
|
|
117
|
+
var defaultImport7 = __toESM(require("@splunk/visualizations-shared/colorConstants"));
|
|
126
118
|
__reExport(colorConstants_exports, require("@splunk/visualizations-shared/colorConstants"));
|
|
127
|
-
var colorConstants_default = "default" in
|
|
119
|
+
var colorConstants_default = "default" in defaultImport7 ? defaultImport7.default : defaultImport7;
|
|
120
|
+
|
|
121
|
+
// esm-externals:lodash
|
|
122
|
+
var lodash_exports = {};
|
|
123
|
+
__export(lodash_exports, {
|
|
124
|
+
default: () => lodash_default
|
|
125
|
+
});
|
|
126
|
+
var defaultImport8 = __toESM(require("lodash"));
|
|
127
|
+
__reExport(lodash_exports, require("lodash"));
|
|
128
|
+
var lodash_default = "default" in defaultImport8 ? defaultImport8.default : defaultImport8;
|
|
128
129
|
|
|
129
130
|
// esm-externals:@splunk/visualizations-shared/configUtils
|
|
130
131
|
var configUtils_exports = {};
|
|
@@ -138,14 +139,21 @@ var configUtils_default = "default" in defaultImport9 ? defaultImport9.default :
|
|
|
138
139
|
// src/common/utils/configUtils.ts
|
|
139
140
|
function enhanceConfig(vizConfig) {
|
|
140
141
|
const enhancedConfig = __spreadValues({}, vizConfig);
|
|
141
|
-
enhancedConfig.editorConfig = vizConfig.editorConfig.map(
|
|
142
|
-
(config2)
|
|
143
|
-
|
|
144
|
-
}
|
|
145
|
-
);
|
|
142
|
+
enhancedConfig.editorConfig = vizConfig.editorConfig.map((config2) => {
|
|
143
|
+
return __spreadProps(__spreadValues({}, config2), { open: config2.open || false });
|
|
144
|
+
});
|
|
146
145
|
return enhancedConfig;
|
|
147
146
|
}
|
|
148
147
|
|
|
148
|
+
// src/common/ThemedDefaults.tsx
|
|
149
|
+
var defaultBackgroundColor = (props) => pick_default({
|
|
150
|
+
enterprise: {
|
|
151
|
+
dark: variables_default.black(props),
|
|
152
|
+
light: variables_default.white(props)
|
|
153
|
+
},
|
|
154
|
+
prisma: variables_default.backgroundColorSection(props)
|
|
155
|
+
})(props);
|
|
156
|
+
|
|
149
157
|
// src/LinkGraph/config.ts
|
|
150
158
|
var dataContract = {
|
|
151
159
|
requiredDataSources: [
|
|
@@ -179,20 +187,8 @@ var defaultContext = {
|
|
|
179
187
|
}
|
|
180
188
|
};
|
|
181
189
|
var themes = {
|
|
182
|
-
defaultBackgroundColor
|
|
183
|
-
|
|
184
|
-
dark: variables_default.black(props),
|
|
185
|
-
light: variables_default.backgroundColor(props)
|
|
186
|
-
},
|
|
187
|
-
prisma: variables_default.backgroundColorSidebar(props)
|
|
188
|
-
})(props),
|
|
189
|
-
defaultNodeColor: (props) => pick_default({
|
|
190
|
-
enterprise: {
|
|
191
|
-
dark: variables_default.backgroundColorDialog(props),
|
|
192
|
-
light: variables_default.gray96(props)
|
|
193
|
-
},
|
|
194
|
-
prisma: variables_default.backgroundColorDialog(props)
|
|
195
|
-
})(props),
|
|
190
|
+
defaultBackgroundColor,
|
|
191
|
+
defaultNodeColor: (props) => variables_default.neutral100(props),
|
|
196
192
|
inverseDefaultNodeColor: (props) => pick_default({
|
|
197
193
|
enterprise: {
|
|
198
194
|
dark: variables_default.contentColorInverted(props),
|
|
@@ -217,10 +213,7 @@ var themes = {
|
|
|
217
213
|
})(props)
|
|
218
214
|
};
|
|
219
215
|
var EDITOR_LABEL_WIDTH = 140;
|
|
220
|
-
var backgroundColorPaletteSet = /* @__PURE__ */ new Set([
|
|
221
|
-
...colorConstants_exports.COLOR_EDITOR_PALETTE,
|
|
222
|
-
...(0, lodash_exports.map)(themes, (t) => (0, lodash_exports.get)(t, "defaultBackgroundColor"))
|
|
223
|
-
]);
|
|
216
|
+
var backgroundColorPaletteSet = /* @__PURE__ */ new Set([...colorConstants_exports.COLOR_EDITOR_PALETTE]);
|
|
224
217
|
var editorConfig = [
|
|
225
218
|
// {
|
|
226
219
|
// label: _('Data'),
|
package/LinkGraph.config.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["src/LinkGraph/config.ts", "esm-externals
|
|
4
|
-
"sourcesContent": ["import { map, get } from 'lodash';\nimport { LinkGraph as LinkGraphIcon } from '@splunk/visualization-icons';\nimport { LinkGraph as LinkGraphPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { linkGraphOptionsSchema as optionsSchema } from '@splunk/visualization-schemas';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { COLOR_EDITOR_PALETTE } from '@splunk/visualizations-shared/colorConstants';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [\n // {\n // name: 'metadata',\n // description: 'Used buy the ES team along side the feature flag `LinkGraph.showNodeMetaData`',\n // },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 900,\n initialHeight: 400,\n};\n\nconst defaultContext: DefaultContext = {\n nodeTextColorMaxContrast: {\n colors: ['> themes.textColor', '> themes.inverseTextColor'],\n default: '> themes.textColor',\n },\n nodeHighlightTextColorMaxContrast: {\n colors: ['> themes.defaultNodeColor', '> themes.inverseDefaultNodeColor'],\n default: '> themes.textColor',\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n defaultNodeColor: props =>\n pick({\n enterprise: {\n dark: variables.backgroundColorDialog(props),\n light: variables.gray96(props),\n },\n prisma: variables.backgroundColorDialog(props),\n })(props),\n inverseDefaultNodeColor: props =>\n pick({\n enterprise: {\n dark: variables.contentColorInverted(props), // equal to textColor in enterprise\n light: variables.white(props), // equal to textColor in enterpriseDark\n },\n prisma: variables.contentColorInverted(props),\n })(props),\n textColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: variables.contentColorDefault(props),\n })(props),\n inverseTextColor: props =>\n pick({\n enterprise: {\n dark: variables.contentColorInverted(props), // equal to textColor in enterprise\n light: variables.white(props), // equal to textColor in enterpriseDark\n },\n prisma: variables.contentColorInverted(props),\n })(props),\n};\n\nconst EDITOR_LABEL_WIDTH = 140;\nconst backgroundColorPaletteSet = new Set([\n ...COLOR_EDITOR_PALETTE,\n ...map(themes, (t): string => get(t, 'defaultBackgroundColor')),\n]);\n\nconst editorConfig: EditorConfig[] = [\n // {\n // label: _('Data'),\n // layout: [\n // [\n // {\n // label: _('Field Ordering'),\n // option: 'fieldOrder',\n // editor: 'editor.arrayOfStrings',\n // editorProps: {\n // themes,\n // labelPosition: 'top',\n // },\n // },\n // ],\n // ],\n // },\n {\n label: _('Data configurations'),\n layout: [\n [\n {\n label: _('Result limit'),\n option: 'resultLimit',\n editor: 'editor.number',\n editorProps: {\n themes,\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n ],\n },\n {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Show node counts'),\n option: 'showNodeCounts',\n editor: 'editor.checkbox',\n editorProps: {\n themes,\n labelWidth: 130,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Show value counts'),\n option: 'showValueCounts',\n editor: 'editor.checkbox',\n editorProps: {\n themes,\n labelWidth: 130,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Nodes'),\n option: 'nodeColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Selected nodes'),\n option: 'nodeHighlightColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Links'),\n option: 'linkColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Background color'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Node width'),\n option: 'nodeWidth',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n {\n label: _('Node height'),\n option: 'nodeHeight',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Vertical spacing'),\n option: 'nodeSpacingY',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n {\n label: _('Horizontal spacing'),\n option: 'nodeSpacingX',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Link width'),\n option: 'linkWidth',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n ],\n },\n];\n\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.linkgraph',\n /**\n * viz name\n */\n name: _('Link graph'),\n category: VizCategory.FLOW,\n status: 'preview',\n /**\n * viz icon\n */\n icon: LinkGraphIcon,\n placeholderIcon: LinkGraphPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'node.click': {\n description: 'triggered when user clicks a node',\n },\n 'node.mouseover': {\n description: 'triggered when user hovers over a node',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER],\n themes,\n};\n\nexport default enhanceConfig(config);\n", "\nimport * as defaultImport from \"lodash\";\nexport * from \"lodash\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualization-icons\";\nexport * from \"@splunk/visualization-icons\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualization-icons/placeholders\";\nexport * from \"@splunk/visualization-icons/placeholders\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualization-schemas\";\nexport * from \"@splunk/visualization-schemas\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/ui-utils/i18n\";\nexport * from \"@splunk/ui-utils/i18n\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/themes/pick\";\nexport * from \"@splunk/themes/pick\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/themes/variables\";\nexport * from \"@splunk/themes/variables\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualizations-shared/colorConstants\";\nexport * from \"@splunk/visualizations-shared/colorConstants\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualizations-shared/configUtils\";\nexport * from \"@splunk/visualizations-shared/configUtils\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "import { get, range } from 'lodash';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\n// included for backwards compatibility\nexport { enhanceOptionsSchemaWithDynamicOptions } from '@splunk/visualization-schemas';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * this function also collapse all editor panels\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n * and containing `open: false` for all editor panels in editorConfig\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = { ...vizConfig };\n\n enhancedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: config.open || false };\n }\n );\n return enhancedConfig;\n}\n\n/**\n * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig\n * Created for editor unit tests\n * @param vizConfig a Visualization Config\n * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig\n */\nfunction uncollapseEditorConfig(vizConfig: VizConfig): VizConfig {\n const editorPanelUncollapsedConfig: VizConfig = { ...vizConfig };\n editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: true };\n }\n );\n return editorPanelUncollapsedConfig;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport { enhanceConfig, getInitialPreset, generatePrecisionValues, uncollapseEditorConfig, isDynamicOption };\n\n/**\n * insert layout in layout array, return a new layout array instead of updating the original\n *\n * @param {EditorLayoutConfig[][]} layout - editor layout\n * @param {Number} index - the index to insert layout item(s)\n * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert\n * @returns {EditorLayoutConfig[][]} new editor layout with insertion\n */\nexport const insertLayout = (\n layout: EditorLayoutConfig[][],\n index: number,\n ...layoutItems: EditorLayoutConfig[][]\n): EditorLayoutConfig[][] => [\n // copy part of the array before the specified index\n ...layout.slice(0, index),\n // inserted layout item\n ...layoutItems,\n // copy part of the array after the specified index\n ...layout.slice(index),\n];\n"],
|
|
5
|
-
"mappings": "
|
|
3
|
+
"sources": ["src/LinkGraph/config.ts", "esm-externals:@splunk/visualization-icons", "esm-externals:@splunk/visualization-icons/placeholders", "esm-externals:@splunk/visualization-schemas", "esm-externals:@splunk/ui-utils/i18n", "esm-externals:@splunk/themes/pick", "esm-externals:@splunk/themes/variables", "esm-externals:@splunk/visualizations-shared/colorConstants", "esm-externals:lodash", "esm-externals:@splunk/visualizations-shared/configUtils", "src/common/utils/configUtils.ts", "src/common/ThemedDefaults.tsx"],
|
|
4
|
+
"sourcesContent": ["import { LinkGraph as LinkGraphIcon } from '@splunk/visualization-icons';\nimport { LinkGraph as LinkGraphPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { linkGraphOptionsSchema as optionsSchema } from '@splunk/visualization-schemas';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\nimport { COLOR_EDITOR_PALETTE } from '@splunk/visualizations-shared/colorConstants';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { defaultBackgroundColor } from '../common/ThemedDefaults';\n\nconst dataContract: DataContract = {\n requiredDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n optionalDataSources: [\n // {\n // name: 'metadata',\n // description: 'Used buy the ES team along side the feature flag `LinkGraph.showNodeMetaData`',\n // },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 900,\n initialHeight: 400,\n};\n\nconst defaultContext: DefaultContext = {\n nodeTextColorMaxContrast: {\n colors: ['> themes.textColor', '> themes.inverseTextColor'],\n default: '> themes.textColor',\n },\n nodeHighlightTextColorMaxContrast: {\n colors: ['> themes.defaultNodeColor', '> themes.inverseDefaultNodeColor'],\n default: '> themes.textColor',\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor,\n defaultNodeColor: props => variables.neutral100(props),\n inverseDefaultNodeColor: props =>\n pick({\n enterprise: {\n dark: variables.contentColorInverted(props), // equal to textColor in enterprise\n light: variables.white(props), // equal to textColor in enterpriseDark\n },\n prisma: variables.contentColorInverted(props),\n })(props),\n textColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: variables.contentColorDefault(props),\n })(props),\n inverseTextColor: props =>\n pick({\n enterprise: {\n dark: variables.contentColorInverted(props), // equal to textColor in enterprise\n light: variables.white(props), // equal to textColor in enterpriseDark\n },\n prisma: variables.contentColorInverted(props),\n })(props),\n};\n\nconst EDITOR_LABEL_WIDTH = 140;\nconst backgroundColorPaletteSet = new Set([...COLOR_EDITOR_PALETTE]);\n\nconst editorConfig: EditorConfig[] = [\n // {\n // label: _('Data'),\n // layout: [\n // [\n // {\n // label: _('Field Ordering'),\n // option: 'fieldOrder',\n // editor: 'editor.arrayOfStrings',\n // editorProps: {\n // themes,\n // labelPosition: 'top',\n // },\n // },\n // ],\n // ],\n // },\n {\n label: _('Data configurations'),\n layout: [\n [\n {\n label: _('Result limit'),\n option: 'resultLimit',\n editor: 'editor.number',\n editorProps: {\n themes,\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n ],\n },\n {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Show node counts'),\n option: 'showNodeCounts',\n editor: 'editor.checkbox',\n editorProps: {\n themes,\n labelWidth: 130,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Show value counts'),\n option: 'showValueCounts',\n editor: 'editor.checkbox',\n editorProps: {\n themes,\n labelWidth: 130,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Nodes'),\n option: 'nodeColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Selected nodes'),\n option: 'nodeHighlightColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Links'),\n option: 'linkColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Background color'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n themes,\n labelWidth: EDITOR_LABEL_WIDTH,\n palette: [...backgroundColorPaletteSet],\n },\n },\n ],\n [\n {\n label: _('Node width'),\n option: 'nodeWidth',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n {\n label: _('Node height'),\n option: 'nodeHeight',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Vertical spacing'),\n option: 'nodeSpacingY',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n {\n label: _('Horizontal spacing'),\n option: 'nodeSpacingX',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Link width'),\n option: 'linkWidth',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n ],\n },\n];\n\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.linkgraph',\n /**\n * viz name\n */\n name: _('Link graph'),\n category: VizCategory.FLOW,\n status: 'preview',\n /**\n * viz icon\n */\n icon: LinkGraphIcon,\n placeholderIcon: LinkGraphPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'node.click': {\n description: 'triggered when user clicks a node',\n },\n 'node.mouseover': {\n description: 'triggered when user hovers over a node',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER],\n themes,\n};\n\nexport default enhanceConfig(config);\n", "\nimport * as defaultImport from \"@splunk/visualization-icons\";\nexport * from \"@splunk/visualization-icons\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualization-icons/placeholders\";\nexport * from \"@splunk/visualization-icons/placeholders\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualization-schemas\";\nexport * from \"@splunk/visualization-schemas\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/ui-utils/i18n\";\nexport * from \"@splunk/ui-utils/i18n\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/themes/pick\";\nexport * from \"@splunk/themes/pick\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/themes/variables\";\nexport * from \"@splunk/themes/variables\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualizations-shared/colorConstants\";\nexport * from \"@splunk/visualizations-shared/colorConstants\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"lodash\";\nexport * from \"lodash\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/visualizations-shared/configUtils\";\nexport * from \"@splunk/visualizations-shared/configUtils\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "import { get, range } from 'lodash';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\n// included for backwards compatibility\nexport { enhanceOptionsSchemaWithDynamicOptions } from '@splunk/visualization-schemas';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * this function also collapse all editor panels\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n * and containing `open: false` for all editor panels in editorConfig\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = { ...vizConfig };\n\n enhancedConfig.editorConfig = vizConfig.editorConfig.map((config: EditorConfig): EditorConfig => {\n return { ...config, open: config.open || false };\n });\n return enhancedConfig;\n}\n\n/**\n * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig\n * Created for editor unit tests\n * @param vizConfig a Visualization Config\n * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig\n */\nfunction uncollapseEditorConfig(vizConfig: VizConfig): VizConfig {\n const editorPanelUncollapsedConfig: VizConfig = { ...vizConfig };\n editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: true };\n }\n );\n return editorPanelUncollapsedConfig;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport { enhanceConfig, getInitialPreset, generatePrecisionValues, uncollapseEditorConfig, isDynamicOption };\n\n/**\n * insert layout in layout array, return a new layout array instead of updating the original\n *\n * @param {EditorLayoutConfig[][]} layout - editor layout\n * @param {Number} index - the index to insert layout item(s)\n * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert\n * @returns {EditorLayoutConfig[][]} new editor layout with insertion\n */\nexport const insertLayout = (\n layout: EditorLayoutConfig[][],\n index: number,\n ...layoutItems: EditorLayoutConfig[][]\n): EditorLayoutConfig[][] => [\n // copy part of the array before the specified index\n ...layout.slice(0, index),\n // inserted layout item\n ...layoutItems,\n // copy part of the array after the specified index\n ...layout.slice(index),\n];\n", "import pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\n\nexport const defaultBackgroundColor = props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.white(props),\n },\n prisma: variables.backgroundColorSection(props),\n })(props);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "config", "LinkGraphIcon", "LinkGraphPlaceholderIcon", "optionsSchema"]
|
|
7
7
|
}
|
package/LinkGraph.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* Copyright © 2020 Splunk Inc.
|
|
2
2
|
SPLUNK CONFIDENTIAL – Use or disclosure of this material in whole or
|
|
3
3
|
in part without a valid written license from Splunk Inc. is PROHIBITED. */
|
|
4
|
+
"use strict";
|
|
4
5
|
var __create = Object.create;
|
|
5
6
|
var __defProp = Object.defineProperty;
|
|
6
7
|
var __defProps = Object.defineProperties;
|
|
@@ -3012,9 +3013,14 @@ var Item = styled_components_default.div.attrs(({ width }) => ({
|
|
|
3012
3013
|
position: relative;
|
|
3013
3014
|
background-color: ${(props) => (0, colorUtils_exports.isColor)(props.backgroundColor) && props.backgroundColor || props.theme.defaultBackgroundColor}};
|
|
3014
3015
|
`;
|
|
3015
|
-
var FixSizeItem = styled_components_default.div.attrs(
|
|
3016
|
-
|
|
3017
|
-
|
|
3016
|
+
var FixSizeItem = styled_components_default.div.attrs(
|
|
3017
|
+
({
|
|
3018
|
+
width,
|
|
3019
|
+
height
|
|
3020
|
+
}) => ({
|
|
3021
|
+
style: __spreadValues(__spreadValues({}, width && { width: (0, style_exports.toPx)(width) }), height && { height: (0, style_exports.toPx)(height) })
|
|
3022
|
+
})
|
|
3023
|
+
)`
|
|
3018
3024
|
position: relative;
|
|
3019
3025
|
flex-direction: column;
|
|
3020
3026
|
flex: 1;
|
|
@@ -3048,7 +3054,7 @@ var withFixedSizeContainer = (Viz) => {
|
|
|
3048
3054
|
FixSizeItem,
|
|
3049
3055
|
{
|
|
3050
3056
|
"data-test": "fix-size-item",
|
|
3051
|
-
"data-splunk-visualization-version": "
|
|
3057
|
+
"data-splunk-visualization-version": "28.1.0 - 4a1bff08b",
|
|
3052
3058
|
width,
|
|
3053
3059
|
height,
|
|
3054
3060
|
backgroundColor
|
|
@@ -3118,7 +3124,7 @@ var Cover = styled_components_default.div`
|
|
|
3118
3124
|
bottom: 0;
|
|
3119
3125
|
`;
|
|
3120
3126
|
var Blocker = styled_components_default.div.attrs({
|
|
3121
|
-
"data-splunk-visualization-version": "
|
|
3127
|
+
"data-splunk-visualization-version": "28.1.0 - 4a1bff08b"
|
|
3122
3128
|
})`
|
|
3123
3129
|
position: relative;
|
|
3124
3130
|
width: 100%;
|
|
@@ -3558,7 +3564,12 @@ var useGetXAndYFields = ({
|
|
|
3558
3564
|
y2Fields: options.y2 ? "> y2 | getField()" : void 0,
|
|
3559
3565
|
fieldTypes: "> primary | getType()"
|
|
3560
3566
|
};
|
|
3561
|
-
const {
|
|
3567
|
+
const {
|
|
3568
|
+
xField = "",
|
|
3569
|
+
yFields = [],
|
|
3570
|
+
y2Fields = [],
|
|
3571
|
+
fieldTypes
|
|
3572
|
+
} = Options_exports.Options.evaluate(
|
|
3562
3573
|
{ options: optionsToEvaluate, context },
|
|
3563
3574
|
dataSourcesWithOnlyOnePoint,
|
|
3564
3575
|
() => {
|
|
@@ -3847,7 +3858,9 @@ var withDashboardViz = (opts) => {
|
|
|
3847
3858
|
return result;
|
|
3848
3859
|
}
|
|
3849
3860
|
} catch (e) {
|
|
3850
|
-
|
|
3861
|
+
if (e instanceof Error) {
|
|
3862
|
+
console.error(`unexpected error evaluating options: ${e.message}`);
|
|
3863
|
+
}
|
|
3851
3864
|
return {};
|
|
3852
3865
|
}
|
|
3853
3866
|
return {};
|
|
@@ -3904,9 +3917,13 @@ var withDashboardViz = (opts) => {
|
|
|
3904
3917
|
}
|
|
3905
3918
|
eventCallbackProps[eventCallbackPropName] = (ev) => {
|
|
3906
3919
|
if (ev && ev.payload) {
|
|
3907
|
-
payload = ev.payload;
|
|
3920
|
+
payload = __spreadValues({}, ev.payload);
|
|
3908
3921
|
}
|
|
3909
|
-
return onEventTrigger({
|
|
3922
|
+
return onEventTrigger({
|
|
3923
|
+
originalEvent: ev,
|
|
3924
|
+
payload,
|
|
3925
|
+
type: eventName
|
|
3926
|
+
});
|
|
3910
3927
|
};
|
|
3911
3928
|
if (parentKeys) {
|
|
3912
3929
|
for (let i = parentKeys.length - 1; i >= 0; i -= 1) {
|
|
@@ -4048,7 +4065,7 @@ var createEdge = (graphDataModelIn, nodesIn, edgesIn, nodeIn, columns, column, c
|
|
|
4048
4065
|
(fieldInQuestion) => hashString(fieldInQuestion.value) === fieldHash
|
|
4049
4066
|
);
|
|
4050
4067
|
if (fieldToUpdate) {
|
|
4051
|
-
fieldToUpdate.count = Object.keys(nodesIn).length;
|
|
4068
|
+
fieldToUpdate.count = Object.keys(nodesIn).filter((key) => key !== "-1").length;
|
|
4052
4069
|
}
|
|
4053
4070
|
};
|
|
4054
4071
|
var OFFSET_Y = 35;
|
|
@@ -4456,7 +4473,9 @@ var Edges = (props) => {
|
|
|
4456
4473
|
/* @__PURE__ */ react_exports.createElement(
|
|
4457
4474
|
StyledEdgesPath,
|
|
4458
4475
|
{
|
|
4459
|
-
style: {
|
|
4476
|
+
style: {
|
|
4477
|
+
visibility: edge.isHidden ? "hidden" : "visible"
|
|
4478
|
+
},
|
|
4460
4479
|
className: "edge",
|
|
4461
4480
|
key,
|
|
4462
4481
|
"data-test": key,
|
|
@@ -4709,7 +4728,7 @@ var NodeES = (props) => {
|
|
|
4709
4728
|
},
|
|
4710
4729
|
metaData.icon && isSVG ? /* @__PURE__ */ react_exports.createElement("svg", null, /* @__PURE__ */ react_exports.createElement("path", { fill: "currentColor", d: metaData.icon.split('d="')[1].split('"')[0] })) : null,
|
|
4711
4730
|
metaData.icon && isIMG ? /* @__PURE__ */ react_exports.createElement("img", { style: esStyle, alt: metaData.badge_label, src: metaData.icon }) : null,
|
|
4712
|
-
Icon && metaData.icon && !isIMG && !isSVG ? /* @__PURE__ */ react_exports.createElement(Icon, { style: { marginTop: "4px", marginRight: "4px" } }) : null,
|
|
4731
|
+
Icon && metaData.icon && !isIMG && !isSVG ? /* @__PURE__ */ react_exports.createElement(Icon, { style: { marginTop: "4px", marginRight: "4px" }, "data-test": metaData.icon }) : null,
|
|
4713
4732
|
/* @__PURE__ */ react_exports.createElement("div", { className: "left-content-se" }, /* @__PURE__ */ react_exports.createElement(Paragraph_default, null, /* @__PURE__ */ react_exports.createElement(
|
|
4714
4733
|
"span",
|
|
4715
4734
|
{
|
|
@@ -4721,7 +4740,9 @@ var NodeES = (props) => {
|
|
|
4721
4740
|
), /* @__PURE__ */ react_exports.createElement(
|
|
4722
4741
|
"span",
|
|
4723
4742
|
{
|
|
4724
|
-
style: {
|
|
4743
|
+
style: {
|
|
4744
|
+
visibility: showRollOverText ? "visible" : "hidden"
|
|
4745
|
+
},
|
|
4725
4746
|
className: "left-content-se-right"
|
|
4726
4747
|
},
|
|
4727
4748
|
"View Related"
|
|
@@ -4742,8 +4763,22 @@ var NodeES = (props) => {
|
|
|
4742
4763
|
|
|
4743
4764
|
// src/LinkGraph/PureLinkGraph/components/Nodes.tsx
|
|
4744
4765
|
var Nodes = (props) => {
|
|
4766
|
+
const getNode = (data) => {
|
|
4767
|
+
if ((0, lodash_exports.get)(context, "LinkGraph.showNodeMetaData")) {
|
|
4768
|
+
return /* @__PURE__ */ react_exports.createElement(
|
|
4769
|
+
NodeES,
|
|
4770
|
+
{
|
|
4771
|
+
data,
|
|
4772
|
+
showValueCounts: props.showValueCounts,
|
|
4773
|
+
metadataFields: props.metadataFields,
|
|
4774
|
+
metadataColumns: props.metadataColumns,
|
|
4775
|
+
onNodeMouseover: props.onNodeMouseover
|
|
4776
|
+
}
|
|
4777
|
+
);
|
|
4778
|
+
}
|
|
4779
|
+
return /* @__PURE__ */ react_exports.createElement(Node, { data, showValueCounts: props.showValueCounts });
|
|
4780
|
+
};
|
|
4745
4781
|
const context = react_exports.useContext(FeatureFlagContext_default);
|
|
4746
|
-
const NodeToUse = (0, lodash_exports.get)(context, "LinkGraph.showNodeMetaData") ? NodeES : Node;
|
|
4747
4782
|
return Object.keys(props.nodes).map((key) => /* @__PURE__ */ react_exports.createElement(
|
|
4748
4783
|
"button",
|
|
4749
4784
|
{
|
|
@@ -4752,23 +4787,16 @@ var Nodes = (props) => {
|
|
|
4752
4787
|
"data-test": `node-${key}`,
|
|
4753
4788
|
"data-test-y-index": props.nodes[key].yIndex,
|
|
4754
4789
|
key,
|
|
4755
|
-
style: {
|
|
4790
|
+
style: {
|
|
4791
|
+
visibility: props.nodes[key].data.isHidden ? "hidden" : "visible"
|
|
4792
|
+
},
|
|
4756
4793
|
onClick: () => props.onNodeClick(key),
|
|
4757
4794
|
onMouseEnter: () => props.handleMouseEnterNode(key),
|
|
4758
4795
|
onMouseLeave: () => props.handleMouseLeave(),
|
|
4759
4796
|
onFocus: () => props.handleMouseEnterNode(key),
|
|
4760
4797
|
onBlur: () => props.handleMouseLeave()
|
|
4761
4798
|
},
|
|
4762
|
-
|
|
4763
|
-
NodeToUse,
|
|
4764
|
-
{
|
|
4765
|
-
data: props.nodes[key].data,
|
|
4766
|
-
showValueCounts: props.showValueCounts,
|
|
4767
|
-
metadataFields: props.metadataFields,
|
|
4768
|
-
metadataColumns: props.metadataColumns,
|
|
4769
|
-
onNodeMouseover: props.onNodeMouseover
|
|
4770
|
-
}
|
|
4771
|
-
)
|
|
4799
|
+
getNode(props.nodes[key].data)
|
|
4772
4800
|
));
|
|
4773
4801
|
};
|
|
4774
4802
|
var Nodes_default = Nodes;
|
|
@@ -5097,7 +5125,7 @@ var Chip_default = "default" in defaultImport195 ? defaultImport195.default : de
|
|
|
5097
5125
|
|
|
5098
5126
|
// src/LinkGraph/PureLinkGraph/components/Field.tsx
|
|
5099
5127
|
var Field = ({ field, count, onSort, showNodeCounts, width }) => {
|
|
5100
|
-
const toggle = /* @__PURE__ */ react_exports.createElement(Button_default, { label: field, isMenu: true
|
|
5128
|
+
const toggle = /* @__PURE__ */ react_exports.createElement(Button_default, { label: field, isMenu: true });
|
|
5101
5129
|
const context = react_exports.useContext(FeatureFlagContext_default);
|
|
5102
5130
|
const FieldNonES = /* @__PURE__ */ react_exports.createElement("div", null, /* @__PURE__ */ react_exports.createElement(Dropdown_default, { toggle, retainFocus: true, "data-test": `field-${field}-dropdown` }, /* @__PURE__ */ react_exports.createElement(Menu_default, { style: { width } }, /* @__PURE__ */ react_exports.createElement(Menu_default.Item, { "data-test": "A-Z", onClick: () => onSort("A-Z") }, "A-Z"), /* @__PURE__ */ react_exports.createElement(Menu_default.Item, { "data-test": "Z-A", onClick: () => onSort("Z-A") }, "Z-A"))), showNodeCounts ? /* @__PURE__ */ react_exports.createElement(Chip_default, { style: { float: "right", fontSize: "10px", height: "20px" } }, count) : null);
|
|
5103
5131
|
const FieldES = /* @__PURE__ */ react_exports.createElement("div", null, /* @__PURE__ */ react_exports.createElement(Paragraph_default, { style: { fontWeight: "bold", width, fontSize: "13px" } }, field), showNodeCounts ? /* @__PURE__ */ react_exports.createElement(Chip_default, { style: { float: "right", fontSize: "10px", height: "20px" } }, count) : null);
|
|
@@ -5138,7 +5166,6 @@ var StyledFields = styled_components_default.div`
|
|
|
5138
5166
|
> button > span {
|
|
5139
5167
|
justify-content: flex-start;
|
|
5140
5168
|
> span {
|
|
5141
|
-
padding: ${pick_default({ prisma: "0 !important" })};
|
|
5142
5169
|
flex: 0 1 auto;
|
|
5143
5170
|
font-weight: bold;
|
|
5144
5171
|
}
|
|
@@ -5155,8 +5182,8 @@ var LinkGraphContainer = styled_components_default.div`
|
|
|
5155
5182
|
position: relative;
|
|
5156
5183
|
top: 12px;
|
|
5157
5184
|
left: 16px;
|
|
5158
|
-
width: ${(props) => (props == null ? void 0 : props.width) - 32}px;
|
|
5159
|
-
height: ${(props) => (props == null ? void 0 : props.height) - 24}px;
|
|
5185
|
+
width: ${(props) => Number((props == null ? void 0 : props.width) || 0) - 32}px;
|
|
5186
|
+
height: ${(props) => Number((props == null ? void 0 : props.height) || 0) - 24}px;
|
|
5160
5187
|
`;
|
|
5161
5188
|
var LinkGraphWrapper = styled_components_default.div`
|
|
5162
5189
|
background-color: ${({ backgroundColor }) => backgroundColor};
|
|
@@ -5375,14 +5402,22 @@ var configUtils_default = "default" in defaultImport200 ? defaultImport200.defau
|
|
|
5375
5402
|
// src/common/utils/configUtils.ts
|
|
5376
5403
|
function enhanceConfig(vizConfig) {
|
|
5377
5404
|
const enhancedConfig = __spreadValues({}, vizConfig);
|
|
5378
|
-
enhancedConfig.editorConfig = vizConfig.editorConfig.map(
|
|
5379
|
-
(config2)
|
|
5380
|
-
|
|
5381
|
-
}
|
|
5382
|
-
);
|
|
5405
|
+
enhancedConfig.editorConfig = vizConfig.editorConfig.map((config2) => {
|
|
5406
|
+
return __spreadProps(__spreadValues({}, config2), { open: config2.open || false });
|
|
5407
|
+
});
|
|
5383
5408
|
return enhancedConfig;
|
|
5384
5409
|
}
|
|
5385
5410
|
|
|
5411
|
+
// src/common/ThemedDefaults.tsx
|
|
5412
|
+
init_define_global();
|
|
5413
|
+
var defaultBackgroundColor = (props) => pick_default({
|
|
5414
|
+
enterprise: {
|
|
5415
|
+
dark: variables_default.black(props),
|
|
5416
|
+
light: variables_default.white(props)
|
|
5417
|
+
},
|
|
5418
|
+
prisma: variables_default.backgroundColorSection(props)
|
|
5419
|
+
})(props);
|
|
5420
|
+
|
|
5386
5421
|
// src/LinkGraph/config.ts
|
|
5387
5422
|
var dataContract = {
|
|
5388
5423
|
requiredDataSources: [
|
|
@@ -5416,20 +5451,8 @@ var defaultContext = {
|
|
|
5416
5451
|
}
|
|
5417
5452
|
};
|
|
5418
5453
|
var themes = {
|
|
5419
|
-
defaultBackgroundColor
|
|
5420
|
-
|
|
5421
|
-
dark: variables_default.black(props),
|
|
5422
|
-
light: variables_default.backgroundColor(props)
|
|
5423
|
-
},
|
|
5424
|
-
prisma: variables_default.backgroundColorSidebar(props)
|
|
5425
|
-
})(props),
|
|
5426
|
-
defaultNodeColor: (props) => pick_default({
|
|
5427
|
-
enterprise: {
|
|
5428
|
-
dark: variables_default.backgroundColorDialog(props),
|
|
5429
|
-
light: variables_default.gray96(props)
|
|
5430
|
-
},
|
|
5431
|
-
prisma: variables_default.backgroundColorDialog(props)
|
|
5432
|
-
})(props),
|
|
5454
|
+
defaultBackgroundColor,
|
|
5455
|
+
defaultNodeColor: (props) => variables_default.neutral100(props),
|
|
5433
5456
|
inverseDefaultNodeColor: (props) => pick_default({
|
|
5434
5457
|
enterprise: {
|
|
5435
5458
|
dark: variables_default.contentColorInverted(props),
|
|
@@ -5454,10 +5477,7 @@ var themes = {
|
|
|
5454
5477
|
})(props)
|
|
5455
5478
|
};
|
|
5456
5479
|
var EDITOR_LABEL_WIDTH = 140;
|
|
5457
|
-
var backgroundColorPaletteSet = /* @__PURE__ */ new Set([
|
|
5458
|
-
...colorConstants_exports.COLOR_EDITOR_PALETTE,
|
|
5459
|
-
...(0, lodash_exports.map)(themes, (t) => (0, lodash_exports.get)(t, "defaultBackgroundColor"))
|
|
5460
|
-
]);
|
|
5480
|
+
var backgroundColorPaletteSet = /* @__PURE__ */ new Set([...colorConstants_exports.COLOR_EDITOR_PALETTE]);
|
|
5461
5481
|
var editorConfig = [
|
|
5462
5482
|
// {
|
|
5463
5483
|
// label: _('Data'),
|