@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/README.internal.md
CHANGED
|
@@ -12,7 +12,7 @@ Install @splunk/visualizations
|
|
|
12
12
|
|
|
13
13
|
1. Install peer dependencies
|
|
14
14
|
```
|
|
15
|
-
npm install react@^
|
|
15
|
+
npm install react@^18 react-dom@^18 styled-components@5 @splunk/visualization-context --save
|
|
16
16
|
```
|
|
17
17
|
1. Install the visualizations package
|
|
18
18
|
```
|
|
@@ -52,11 +52,11 @@ const MyAppWithSplunkLineChart = props => {
|
|
|
52
52
|
|
|
53
53
|
You can use UDF to create dashboards with visualizations, or you can work directly with the visualizations library. If you're not familiar with UDF, it is a unified library of UI components that render a dashboard for developers who write JavaScript, and is well suited for Splunk Enterprise and Splunk Cloud Platform apps. For developers, UDF offers:
|
|
54
54
|
|
|
55
|
-
-
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
-
|
|
59
|
-
-
|
|
55
|
+
- two distinct layout systems, as well as custom layout
|
|
56
|
+
- search lifecycle management
|
|
57
|
+
- inputs for text entry, dropdown, multiselect, timerange, and numbers
|
|
58
|
+
- Splunk visualizations to enhance data presentation
|
|
59
|
+
- tokens to pass runtime values within a dashboard
|
|
60
60
|
|
|
61
61
|
To install the UDF library, see the setup guide in the [Quick Start](https://splunkui.splunkeng.com/Packages/dashboard-docs/?path=%2FQuickStart). When you have it installed, follow the quick start to install dependencies and learn about using the libraries.
|
|
62
62
|
|
|
@@ -68,10 +68,10 @@ Install the visualizations libraries and dependencies listed in the [Visualizati
|
|
|
68
68
|
|
|
69
69
|
A React visualization is reusable bits of code that you can use in an app or dashboard. Each visualization component's documentation includes the following:
|
|
70
70
|
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
-
-
|
|
74
|
-
-
|
|
71
|
+
- Overview and commonly used configurations
|
|
72
|
+
- Examples of how to use various options
|
|
73
|
+
- Options available and their respective types and defaults
|
|
74
|
+
- Events available and their respective payloads
|
|
75
75
|
|
|
76
76
|
**Examples** depict a visualization as it will appear in an app or dashboard. When you click on **Show Code**, the UI displays the React component code.
|
|
77
77
|
|
|
@@ -83,8 +83,8 @@ Dynamic options syntax (DOS), also referred to as DSL in the docs, exposes even
|
|
|
83
83
|
|
|
84
84
|
## Resources
|
|
85
85
|
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
-
|
|
89
|
-
-
|
|
90
|
-
-
|
|
86
|
+
- Release schedule can be found at [UDF & Visualization Releases](https://splunk.atlassian.net/wiki/spaces/SWP/pages/1078219509308/UDF+Visualization+Releases)
|
|
87
|
+
- Documentation and API reference can be found at [@splunk/visualizations](https://splunkui.splunkeng.com/Packages/visualizations)
|
|
88
|
+
- Storybooks playground with the main branch can be found at [devplat.splunkdev.page/vision](https://devplat.splunkdev.page/vision)
|
|
89
|
+
- A Splunk app using UDF with the main branch visualization viewing/editing/exporting experience can be found at [vizplayground:8000](http://vizplayground:8000)
|
|
90
|
+
- To request access to the Viz Playground instance, please fill out [this form](https://forms.gle/JEkUDXiYE52qLzcL6)
|
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ Install @splunk/visualizations
|
|
|
10
10
|
|
|
11
11
|
1. Install peer dependencies
|
|
12
12
|
```
|
|
13
|
-
npm install react@^
|
|
13
|
+
npm install react@^18 react-dom@^18 styled-components@5 @splunk/visualization-context --save
|
|
14
14
|
```
|
|
15
15
|
1. Install the visualizations package
|
|
16
16
|
```
|
|
@@ -50,11 +50,11 @@ const MyAppWithSplunkLineChart = props => {
|
|
|
50
50
|
|
|
51
51
|
You can use UDF to create dashboards with visualizations, or you can work directly with the visualizations library. If you're not familiar with UDF, it is a unified library of UI components that render a dashboard for developers who write JavaScript, and is well suited for Splunk Enterprise and Splunk Cloud Platform apps. For developers, UDF offers:
|
|
52
52
|
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
-
|
|
56
|
-
-
|
|
57
|
-
-
|
|
53
|
+
- two distinct layout systems, as well as custom layout
|
|
54
|
+
- search lifecycle management
|
|
55
|
+
- inputs for text entry, dropdown, multiselect, timerange, and numbers
|
|
56
|
+
- Splunk visualizations to enhance data presentation
|
|
57
|
+
- tokens to pass runtime values within a dashboard
|
|
58
58
|
|
|
59
59
|
To install the UDF library, see the setup guide in the [Quick Start](https://splunkui.splunk.com/Packages/dashboard-docs/?path=%2FQuickStart). When you have it installed, follow the quick start to install dependencies and learn about using the libraries.
|
|
60
60
|
|
|
@@ -66,10 +66,10 @@ Install the visualizations libraries and dependencies listed in the [Visualizati
|
|
|
66
66
|
|
|
67
67
|
A React visualization is reusable bits of code that you can use in an app or dashboard. Each visualization component's documentation includes the following:
|
|
68
68
|
|
|
69
|
-
-
|
|
70
|
-
-
|
|
71
|
-
-
|
|
72
|
-
-
|
|
69
|
+
- Overview and commonly used configurations
|
|
70
|
+
- Examples of how to use various options
|
|
71
|
+
- Options available and their respective types and defaults
|
|
72
|
+
- Events available and their respective payloads
|
|
73
73
|
|
|
74
74
|
**Examples** depict a visualization as it will appear in an app or dashboard. When you click on **Show Code**, the UI displays the React component code.
|
|
75
75
|
|
package/Rectangle.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;
|
|
@@ -120,11 +121,9 @@ var configUtils_default = "default" in defaultImport7 ? defaultImport7.default :
|
|
|
120
121
|
// src/common/utils/configUtils.ts
|
|
121
122
|
function enhanceConfig(vizConfig) {
|
|
122
123
|
const enhancedConfig = __spreadValues({}, vizConfig);
|
|
123
|
-
enhancedConfig.editorConfig = vizConfig.editorConfig.map(
|
|
124
|
-
(config2)
|
|
125
|
-
|
|
126
|
-
}
|
|
127
|
-
);
|
|
124
|
+
enhancedConfig.editorConfig = vizConfig.editorConfig.map((config2) => {
|
|
125
|
+
return __spreadProps(__spreadValues({}, config2), { open: config2.open || false });
|
|
126
|
+
});
|
|
128
127
|
return enhancedConfig;
|
|
129
128
|
}
|
|
130
129
|
function hasCompatibleContexts(vizContext, presetContext) {
|
|
@@ -433,7 +432,12 @@ var editorConfig = [
|
|
|
433
432
|
}
|
|
434
433
|
})
|
|
435
434
|
],
|
|
436
|
-
[
|
|
435
|
+
[
|
|
436
|
+
getDynamicFillColorEditor({
|
|
437
|
+
defaultContext,
|
|
438
|
+
defaultPalettesConfig: PresetPalettes_exports.defaultPalettesConfig
|
|
439
|
+
})
|
|
440
|
+
],
|
|
437
441
|
[
|
|
438
442
|
__spreadProps(__spreadValues({}, StaticStrokeColorEditor_default), {
|
|
439
443
|
editorProps: {
|
|
@@ -441,7 +445,12 @@ var editorConfig = [
|
|
|
441
445
|
}
|
|
442
446
|
})
|
|
443
447
|
],
|
|
444
|
-
[
|
|
448
|
+
[
|
|
449
|
+
getDynamicStrokeColorEditor({
|
|
450
|
+
defaultContext,
|
|
451
|
+
defaultPalettesConfig: PresetPalettes_exports.defaultPalettesConfig
|
|
452
|
+
})
|
|
453
|
+
],
|
|
445
454
|
[
|
|
446
455
|
{
|
|
447
456
|
label: (0, i18n_exports._)("Fill opacity (%)"),
|
package/Rectangle.config.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["src/Rectangle/config.ts", "esm-externals:@splunk/visualization-icons", "esm-externals:@splunk/visualization-schemas", "esm-externals:@splunk/ui-utils/i18n", "esm-externals:@splunk/visualization-color-palettes/editors/PresetPalettes", "esm-externals:@splunk/themes", "esm-externals:lodash", "esm-externals:@splunk/visualizations-shared/configUtils", "src/common/utils/configUtils.ts", "src/common/editorConfig/DynamicFillColorEditor.ts", "src/common/editorConfig/DynamicStrokeColorEditor.ts", "src/common/editorConfig/StaticFillColorEditor.ts", "src/common/editorConfig/StaticStrokeColorEditor.ts"],
|
|
4
|
-
"sourcesContent": ["import { Rectangle as RectangleIcon } from '@splunk/visualization-icons';\nimport { rectangleOptionsSchema as optionsSchema } from '@splunk/visualization-schemas';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { defaultPalettesConfig } from '@splunk/visualization-color-palettes/editors/PresetPalettes';\nimport { pick, variables } from '@splunk/themes';\nimport { DataContract } from '../common/interfaces/DataContract';\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 { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { PresetEntry, enhanceConfig, getInitialPreset } from '../common/utils/configUtils';\nimport { getDynamicFillColorEditor } from '../common/editorConfig/DynamicFillColorEditor';\nimport { getDynamicStrokeColorEditor } from '../common/editorConfig/DynamicStrokeColorEditor';\nimport StaticFillColorEditor from '../common/editorConfig/StaticFillColorEditor';\nimport StaticStrokeColorEditor from '../common/editorConfig/StaticStrokeColorEditor';\n\nconst dataContract: DataContract = {\n requiredDataSources: [],\n optionalDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {\n fillColorConfig: [\n {\n from: 100,\n value: '#088F44',\n },\n {\n from: 80,\n to: 100,\n value: '#2EB82E',\n },\n {\n from: 60,\n to: 80,\n value: '#C3CC33',\n },\n {\n from: 40,\n to: 60,\n value: '#FFD442',\n },\n {\n from: 20,\n to: 40,\n value: '#FFA857',\n },\n {\n from: 0,\n to: 20,\n value: '#FF7149',\n },\n {\n to: 0,\n value: '#FE3A3A',\n },\n ],\n strokeColorConfig: [\n {\n from: 100,\n value: '#088F44',\n },\n {\n from: 80,\n to: 100,\n value: '#2EB82E',\n },\n {\n from: 60,\n to: 80,\n value: '#C3CC33',\n },\n {\n from: 40,\n to: 60,\n value: '#FFD442',\n },\n {\n from: 20,\n to: 40,\n value: '#FFA857',\n },\n {\n from: 0,\n to: 20,\n value: '#FF7149',\n },\n {\n to: 0,\n value: '#FE3A3A',\n },\n ],\n fillColorMatchConfig: [{ match: '', value: '#5C33FF' }],\n strokeColorMatchConfig: [{ match: '', value: '#5C33FF' }],\n};\n\nconst themes: ThemedDefaults = {\n defaultFillColor: props =>\n pick({\n enterprise: {\n dark: variables.gray25(props),\n light: variables.gray80(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n defaultStrokeColor: props =>\n pick({\n enterprise: {\n dark: variables.gray80(props),\n light: variables.gray30(props),\n },\n prisma: variables.neutral500(props),\n })(props),\n};\n\nconst basePresetContext = {\n fillColorEditorConfig: undefined,\n strokeColorEditorConfig: undefined,\n};\n\nconst basePresetOptions = {\n fillColor: undefined,\n strokeColor: undefined,\n};\n\nconst presets: PresetEntry[] = [\n {\n // dummy context variables to allow for resetting of unused context states\n label: _('None'),\n name: 'rectangle.none',\n value: {\n context: { ...basePresetContext },\n options: { ...basePresetOptions },\n },\n },\n {\n label: _('Fill'),\n name: 'rectangle.fill',\n value: {\n context: {\n ...basePresetContext,\n fillDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n fillColorEditorConfig: defaultContext.fillColorConfig,\n },\n options: {\n ...basePresetOptions,\n fillColor: '> fillDataValue | rangeValue(fillColorEditorConfig)',\n },\n },\n },\n {\n label: _('Stroke'),\n name: 'rectangle.stroke',\n value: {\n context: {\n ...basePresetContext,\n strokeDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n strokeColorEditorConfig: defaultContext.strokeColorConfig,\n },\n options: {\n ...basePresetOptions,\n strokeColor: '> strokeDataValue | rangeValue(strokeColorEditorConfig)',\n },\n },\n },\n {\n label: _('Fill and Stroke'),\n name: 'rectangle.fillAndStroke',\n value: {\n context: {\n ...basePresetContext,\n fillDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n strokeDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n fillColorEditorConfig: defaultContext.fillColorConfig,\n strokeColorEditorConfig: defaultContext.strokeColorConfig,\n },\n options: {\n ...basePresetOptions,\n fillColor: '> fillDataValue | rangeValue(fillColorEditorConfig)',\n strokeColor: '> strokeDataValue | rangeValue(strokeColorEditorConfig)',\n },\n },\n },\n];\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Dynamic elements'),\n key: 'presetSelector',\n editor: 'editor.presetSelector',\n editorProps: {\n presets,\n value: ({ context, options }) => {\n const initialPreset = getInitialPreset(context, options, presets);\n return (initialPreset && initialPreset.label) || null;\n },\n },\n },\n ],\n [\n {\n ...StaticFillColorEditor,\n editorProps: {\n themes,\n },\n },\n ],\n [getDynamicFillColorEditor({ defaultContext, defaultPalettesConfig })],\n [\n {\n ...StaticStrokeColorEditor,\n editorProps: {\n themes,\n },\n },\n ],\n [getDynamicStrokeColorEditor({ defaultContext, defaultPalettesConfig })],\n [\n {\n label: _('Fill opacity (%)'),\n option: 'fillOpacity',\n editor: 'editor.percent',\n editorProps: {\n min: 0,\n },\n },\n {\n label: _('Stroke opacity (%)'),\n option: 'strokeOpacity',\n editor: 'editor.percent',\n editorProps: {\n min: 0,\n },\n },\n ],\n [\n {\n label: _('Stroke width'),\n option: 'strokeWidth',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n },\n },\n {\n label: _('Stroke dash style'),\n option: 'strokeDashStyle',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n },\n },\n ],\n [\n {\n label: _('Radius (px)'),\n option: 'rx',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n },\n },\n {},\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.rectangle',\n /**\n * viz name\n */\n name: _('Rectangle'),\n category: VizCategory.SHAPES,\n /**\n * viz icon\n */\n icon: RectangleIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS],\n themes,\n events: {\n 'rectangle.click': {\n description: 'trigger when user clicks rectangle',\n payloadKeys: ['strokeColor', 'fillColor'],\n },\n },\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-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/visualization-color-palettes/editors/PresetPalettes\";\nexport * from \"@splunk/visualization-color-palettes/editors/PresetPalettes\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/themes\";\nexport * from \"@splunk/themes\";\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(\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", "import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nexport const getDynamicFillColorEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Fill'),\n option: 'fillColor',\n context: 'fillColorEditorConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.fillColor),\n editorProps: {\n labelPosition: 'top',\n flyoutTitle: _('Dynamic coloring: fill'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n fillDataValue: defaultContext.fillColorConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n fillDataValue: defaultContext.fillColorMatchConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Fill'),\n value: 'fillDataValue',\n },\n ],\n defaultPalettesConfig,\n },\n});\n", "import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nexport const getDynamicStrokeColorEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Stroke'),\n option: 'strokeColor',\n context: 'strokeColorEditorConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.strokeColor),\n editorProps: {\n labelPosition: 'top',\n flyoutTitle: _('Dynamic coloring: stroke'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n strokeDataValue: defaultContext.strokeColorConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n strokeDataValue: defaultContext.strokeColorMatchConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Stroke'),\n value: 'strokeDataValue',\n },\n ],\n defaultPalettesConfig,\n },\n});\n", "import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nconst StaticFillColorEditor = {\n label: _('Fill'),\n option: 'fillColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.fillColor),\n};\n\nexport default StaticFillColorEditor;\n", "import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nconst StaticStrokeColorEditor = {\n label: _('Stroke'),\n option: 'strokeColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.strokeColor),\n};\n\nexport default StaticStrokeColorEditor;\n"],
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import { Rectangle as RectangleIcon } from '@splunk/visualization-icons';\nimport { rectangleOptionsSchema as optionsSchema } from '@splunk/visualization-schemas';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport { defaultPalettesConfig } from '@splunk/visualization-color-palettes/editors/PresetPalettes';\nimport { pick, variables } from '@splunk/themes';\nimport { DataContract } from '../common/interfaces/DataContract';\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 { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { PresetEntry, enhanceConfig, getInitialPreset } from '../common/utils/configUtils';\nimport { getDynamicFillColorEditor } from '../common/editorConfig/DynamicFillColorEditor';\nimport { getDynamicStrokeColorEditor } from '../common/editorConfig/DynamicStrokeColorEditor';\nimport StaticFillColorEditor from '../common/editorConfig/StaticFillColorEditor';\nimport StaticStrokeColorEditor from '../common/editorConfig/StaticStrokeColorEditor';\n\nconst dataContract: DataContract = {\n requiredDataSources: [],\n optionalDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization',\n },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 300,\n initialHeight: 300,\n};\n\nconst defaultContext: DefaultContext = {\n fillColorConfig: [\n {\n from: 100,\n value: '#088F44',\n },\n {\n from: 80,\n to: 100,\n value: '#2EB82E',\n },\n {\n from: 60,\n to: 80,\n value: '#C3CC33',\n },\n {\n from: 40,\n to: 60,\n value: '#FFD442',\n },\n {\n from: 20,\n to: 40,\n value: '#FFA857',\n },\n {\n from: 0,\n to: 20,\n value: '#FF7149',\n },\n {\n to: 0,\n value: '#FE3A3A',\n },\n ],\n strokeColorConfig: [\n {\n from: 100,\n value: '#088F44',\n },\n {\n from: 80,\n to: 100,\n value: '#2EB82E',\n },\n {\n from: 60,\n to: 80,\n value: '#C3CC33',\n },\n {\n from: 40,\n to: 60,\n value: '#FFD442',\n },\n {\n from: 20,\n to: 40,\n value: '#FFA857',\n },\n {\n from: 0,\n to: 20,\n value: '#FF7149',\n },\n {\n to: 0,\n value: '#FE3A3A',\n },\n ],\n fillColorMatchConfig: [{ match: '', value: '#5C33FF' }],\n strokeColorMatchConfig: [{ match: '', value: '#5C33FF' }],\n};\n\nconst themes: ThemedDefaults = {\n defaultFillColor: props =>\n pick({\n enterprise: {\n dark: variables.gray25(props),\n light: variables.gray80(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n defaultStrokeColor: props =>\n pick({\n enterprise: {\n dark: variables.gray80(props),\n light: variables.gray30(props),\n },\n prisma: variables.neutral500(props),\n })(props),\n};\n\nconst basePresetContext = {\n fillColorEditorConfig: undefined,\n strokeColorEditorConfig: undefined,\n};\n\nconst basePresetOptions = {\n fillColor: undefined,\n strokeColor: undefined,\n};\n\nconst presets: PresetEntry[] = [\n {\n // dummy context variables to allow for resetting of unused context states\n label: _('None'),\n name: 'rectangle.none',\n value: {\n context: { ...basePresetContext },\n options: { ...basePresetOptions },\n },\n },\n {\n label: _('Fill'),\n name: 'rectangle.fill',\n value: {\n context: {\n ...basePresetContext,\n fillDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n fillColorEditorConfig: defaultContext.fillColorConfig,\n },\n options: {\n ...basePresetOptions,\n fillColor: '> fillDataValue | rangeValue(fillColorEditorConfig)',\n },\n },\n },\n {\n label: _('Stroke'),\n name: 'rectangle.stroke',\n value: {\n context: {\n ...basePresetContext,\n strokeDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n strokeColorEditorConfig: defaultContext.strokeColorConfig,\n },\n options: {\n ...basePresetOptions,\n strokeColor: '> strokeDataValue | rangeValue(strokeColorEditorConfig)',\n },\n },\n },\n {\n label: _('Fill and Stroke'),\n name: 'rectangle.fillAndStroke',\n value: {\n context: {\n ...basePresetContext,\n fillDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n strokeDataValue: '> primary | seriesByType(\"number\") | lastPoint()',\n fillColorEditorConfig: defaultContext.fillColorConfig,\n strokeColorEditorConfig: defaultContext.strokeColorConfig,\n },\n options: {\n ...basePresetOptions,\n fillColor: '> fillDataValue | rangeValue(fillColorEditorConfig)',\n strokeColor: '> strokeDataValue | rangeValue(strokeColorEditorConfig)',\n },\n },\n },\n];\n\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Color and style'),\n layout: [\n [\n {\n label: _('Dynamic elements'),\n key: 'presetSelector',\n editor: 'editor.presetSelector',\n editorProps: {\n presets,\n value: ({ context, options }) => {\n const initialPreset = getInitialPreset(context, options, presets);\n return (initialPreset && initialPreset.label) || null;\n },\n },\n },\n ],\n [\n {\n ...StaticFillColorEditor,\n editorProps: {\n themes,\n },\n },\n ],\n [\n getDynamicFillColorEditor({\n defaultContext,\n defaultPalettesConfig,\n }),\n ],\n [\n {\n ...StaticStrokeColorEditor,\n editorProps: {\n themes,\n },\n },\n ],\n [\n getDynamicStrokeColorEditor({\n defaultContext,\n defaultPalettesConfig,\n }),\n ],\n [\n {\n label: _('Fill opacity (%)'),\n option: 'fillOpacity',\n editor: 'editor.percent',\n editorProps: {\n min: 0,\n },\n },\n {\n label: _('Stroke opacity (%)'),\n option: 'strokeOpacity',\n editor: 'editor.percent',\n editorProps: {\n min: 0,\n },\n },\n ],\n [\n {\n label: _('Stroke width'),\n option: 'strokeWidth',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n },\n },\n {\n label: _('Stroke dash style'),\n option: 'strokeDashStyle',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n },\n },\n ],\n [\n {\n label: _('Radius (px)'),\n option: 'rx',\n editor: 'editor.number',\n editorProps: {\n min: 0,\n },\n },\n {},\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.rectangle',\n /**\n * viz name\n */\n name: _('Rectangle'),\n category: VizCategory.SHAPES,\n /**\n * viz icon\n */\n icon: RectangleIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS],\n themes,\n events: {\n 'rectangle.click': {\n description: 'trigger when user clicks rectangle',\n payloadKeys: ['strokeColor', 'fillColor'],\n },\n },\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-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/visualization-color-palettes/editors/PresetPalettes\";\nexport * from \"@splunk/visualization-color-palettes/editors/PresetPalettes\";\nexport default ('default' in defaultImport ? defaultImport.default : defaultImport);\n", "\nimport * as defaultImport from \"@splunk/themes\";\nexport * from \"@splunk/themes\";\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 { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nexport const getDynamicFillColorEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Fill'),\n option: 'fillColor',\n context: 'fillColorEditorConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.fillColor),\n editorProps: {\n labelPosition: 'top',\n flyoutTitle: _('Dynamic coloring: fill'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n fillDataValue: defaultContext.fillColorConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n fillDataValue: defaultContext.fillColorMatchConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Fill'),\n value: 'fillDataValue',\n },\n ],\n defaultPalettesConfig,\n },\n});\n", "import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nexport const getDynamicStrokeColorEditor = ({ defaultContext, defaultPalettesConfig }) => ({\n label: _('Stroke'),\n option: 'strokeColor',\n context: 'strokeColorEditorConfig',\n editor: 'editor.dynamicColor',\n showEditor: ({ options }) => isDynamicOption(options.strokeColor),\n editorProps: {\n labelPosition: 'top',\n flyoutTitle: _('Dynamic coloring: stroke'),\n formatters: [\n {\n label: _('Ranges'),\n value: 'rangeValue',\n defaults: {\n strokeDataValue: defaultContext.strokeColorConfig,\n },\n },\n {\n label: _('Matches'),\n value: 'matchValue',\n defaults: {\n strokeDataValue: defaultContext.strokeColorMatchConfig,\n },\n },\n ],\n dataSelectors: [\n {\n label: _('Stroke'),\n value: 'strokeDataValue',\n },\n ],\n defaultPalettesConfig,\n },\n});\n", "import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nconst StaticFillColorEditor = {\n label: _('Fill'),\n option: 'fillColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.fillColor),\n};\n\nexport default StaticFillColorEditor;\n", "import { _ } from '@splunk/ui-utils/i18n';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\n\nconst StaticStrokeColorEditor = {\n label: _('Stroke'),\n option: 'strokeColor',\n editor: 'editor.color',\n showEditor: ({ options }) => !isDynamicOption(options.strokeColor),\n};\n\nexport default StaticStrokeColorEditor;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "defaultImport", "config", "presets", "defaultContext", "defaultPalettesConfig", "defaultContext", "defaultPalettesConfig", "RectangleIcon", "optionsSchema"]
|
|
7
7
|
}
|
package/Rectangle.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;
|
|
@@ -449,9 +450,14 @@ var Item = styled_components_default.div.attrs(({ width }) => ({
|
|
|
449
450
|
position: relative;
|
|
450
451
|
background-color: ${(props) => (0, colorUtils_exports.isColor)(props.backgroundColor) && props.backgroundColor || props.theme.defaultBackgroundColor}};
|
|
451
452
|
`;
|
|
452
|
-
var FixSizeItem = styled_components_default.div.attrs(
|
|
453
|
-
|
|
454
|
-
|
|
453
|
+
var FixSizeItem = styled_components_default.div.attrs(
|
|
454
|
+
({
|
|
455
|
+
width,
|
|
456
|
+
height
|
|
457
|
+
}) => ({
|
|
458
|
+
style: __spreadValues(__spreadValues({}, width && { width: (0, style_exports.toPx)(width) }), height && { height: (0, style_exports.toPx)(height) })
|
|
459
|
+
})
|
|
460
|
+
)`
|
|
455
461
|
position: relative;
|
|
456
462
|
flex-direction: column;
|
|
457
463
|
flex: 1;
|
|
@@ -485,7 +491,7 @@ var withFixedSizeContainer = (Viz) => {
|
|
|
485
491
|
FixSizeItem,
|
|
486
492
|
{
|
|
487
493
|
"data-test": "fix-size-item",
|
|
488
|
-
"data-splunk-visualization-version": "
|
|
494
|
+
"data-splunk-visualization-version": "28.1.0 - 4a1bff08b",
|
|
489
495
|
width,
|
|
490
496
|
height,
|
|
491
497
|
backgroundColor
|
|
@@ -551,7 +557,7 @@ var Cover = styled_components_default.div`
|
|
|
551
557
|
bottom: 0;
|
|
552
558
|
`;
|
|
553
559
|
var Blocker = styled_components_default.div.attrs({
|
|
554
|
-
"data-splunk-visualization-version": "
|
|
560
|
+
"data-splunk-visualization-version": "28.1.0 - 4a1bff08b"
|
|
555
561
|
})`
|
|
556
562
|
position: relative;
|
|
557
563
|
width: 100%;
|
|
@@ -929,7 +935,12 @@ var useGetXAndYFields = ({
|
|
|
929
935
|
y2Fields: options.y2 ? "> y2 | getField()" : void 0,
|
|
930
936
|
fieldTypes: "> primary | getType()"
|
|
931
937
|
};
|
|
932
|
-
const {
|
|
938
|
+
const {
|
|
939
|
+
xField = "",
|
|
940
|
+
yFields = [],
|
|
941
|
+
y2Fields = [],
|
|
942
|
+
fieldTypes
|
|
943
|
+
} = Options_exports.Options.evaluate(
|
|
933
944
|
{ options: optionsToEvaluate, context },
|
|
934
945
|
dataSourcesWithOnlyOnePoint,
|
|
935
946
|
() => {
|
|
@@ -1210,7 +1221,9 @@ var withDashboardViz = (opts) => {
|
|
|
1210
1221
|
return result;
|
|
1211
1222
|
}
|
|
1212
1223
|
} catch (e) {
|
|
1213
|
-
|
|
1224
|
+
if (e instanceof Error) {
|
|
1225
|
+
console.error(`unexpected error evaluating options: ${e.message}`);
|
|
1226
|
+
}
|
|
1214
1227
|
return {};
|
|
1215
1228
|
}
|
|
1216
1229
|
return {};
|
|
@@ -1267,9 +1280,13 @@ var withDashboardViz = (opts) => {
|
|
|
1267
1280
|
}
|
|
1268
1281
|
eventCallbackProps[eventCallbackPropName] = (ev) => {
|
|
1269
1282
|
if (ev && ev.payload) {
|
|
1270
|
-
payload = ev.payload;
|
|
1283
|
+
payload = __spreadValues({}, ev.payload);
|
|
1271
1284
|
}
|
|
1272
|
-
return onEventTrigger({
|
|
1285
|
+
return onEventTrigger({
|
|
1286
|
+
originalEvent: ev,
|
|
1287
|
+
payload,
|
|
1288
|
+
type: eventName
|
|
1289
|
+
});
|
|
1273
1290
|
};
|
|
1274
1291
|
if (parentKeys) {
|
|
1275
1292
|
for (let i = parentKeys.length - 1; i >= 0; i -= 1) {
|
|
@@ -1378,11 +1395,9 @@ var configUtils_default = "default" in defaultImport28 ? defaultImport28.default
|
|
|
1378
1395
|
// src/common/utils/configUtils.ts
|
|
1379
1396
|
function enhanceConfig(vizConfig) {
|
|
1380
1397
|
const enhancedConfig = __spreadValues({}, vizConfig);
|
|
1381
|
-
enhancedConfig.editorConfig = vizConfig.editorConfig.map(
|
|
1382
|
-
(config2)
|
|
1383
|
-
|
|
1384
|
-
}
|
|
1385
|
-
);
|
|
1398
|
+
enhancedConfig.editorConfig = vizConfig.editorConfig.map((config2) => {
|
|
1399
|
+
return __spreadProps(__spreadValues({}, config2), { open: config2.open || false });
|
|
1400
|
+
});
|
|
1386
1401
|
return enhancedConfig;
|
|
1387
1402
|
}
|
|
1388
1403
|
function hasCompatibleContexts(vizContext, presetContext) {
|
|
@@ -1691,7 +1706,12 @@ var editorConfig = [
|
|
|
1691
1706
|
}
|
|
1692
1707
|
})
|
|
1693
1708
|
],
|
|
1694
|
-
[
|
|
1709
|
+
[
|
|
1710
|
+
getDynamicFillColorEditor({
|
|
1711
|
+
defaultContext,
|
|
1712
|
+
defaultPalettesConfig: PresetPalettes_exports.defaultPalettesConfig
|
|
1713
|
+
})
|
|
1714
|
+
],
|
|
1695
1715
|
[
|
|
1696
1716
|
__spreadProps(__spreadValues({}, StaticStrokeColorEditor_default), {
|
|
1697
1717
|
editorProps: {
|
|
@@ -1699,7 +1719,12 @@ var editorConfig = [
|
|
|
1699
1719
|
}
|
|
1700
1720
|
})
|
|
1701
1721
|
],
|
|
1702
|
-
[
|
|
1722
|
+
[
|
|
1723
|
+
getDynamicStrokeColorEditor({
|
|
1724
|
+
defaultContext,
|
|
1725
|
+
defaultPalettesConfig: PresetPalettes_exports.defaultPalettesConfig
|
|
1726
|
+
})
|
|
1727
|
+
],
|
|
1703
1728
|
[
|
|
1704
1729
|
{
|
|
1705
1730
|
label: (0, i18n_exports._)("Fill opacity (%)"),
|
|
@@ -1833,14 +1858,15 @@ var getStyledShape = (shape4) => styled_components_default(shape4)`
|
|
|
1833
1858
|
`;
|
|
1834
1859
|
function ClickableShape({ children, onClick, shape: shape4 }) {
|
|
1835
1860
|
const descriptionId = (0, react_exports.useMemo)(() => (0, id_exports.createDOMID)("clickable-svg-description"), []);
|
|
1836
|
-
return /* @__PURE__ */ react_default.createElement(StyledDiv, null, /* @__PURE__ */ react_default.createElement(ScreenReaderContent_default, { id: descriptionId }, (0, i18n_exports._)("Click to trigger interaction")),
|
|
1861
|
+
return /* @__PURE__ */ react_default.createElement(StyledDiv, null, /* @__PURE__ */ react_default.createElement(ScreenReaderContent_default, { id: descriptionId }, (0, i18n_exports._)("Click to trigger interaction")), /* @__PURE__ */ react_default.createElement(
|
|
1837
1862
|
StyledButton,
|
|
1838
1863
|
{
|
|
1839
1864
|
onClick,
|
|
1840
1865
|
"aria-label": shape4 === "rect" ? (0, i18n_exports._)("Rectangle visualization") : (0, i18n_exports._)("Ellipse visualization"),
|
|
1841
1866
|
"aria-describedby": descriptionId,
|
|
1842
1867
|
shape: shape4
|
|
1843
|
-
}
|
|
1868
|
+
},
|
|
1869
|
+
children
|
|
1844
1870
|
));
|
|
1845
1871
|
}
|
|
1846
1872
|
var StyledDiv = styled_components_default.div`
|
|
@@ -1854,8 +1880,8 @@ var StyledDiv = styled_components_default.div`
|
|
|
1854
1880
|
`;
|
|
1855
1881
|
var StyledButton = styled_components_default.button`
|
|
1856
1882
|
padding: 0;
|
|
1857
|
-
border:
|
|
1858
|
-
background:
|
|
1883
|
+
border: 0;
|
|
1884
|
+
background: transparent;
|
|
1859
1885
|
cursor: pointer;
|
|
1860
1886
|
&:focus {
|
|
1861
1887
|
outline: none;
|