@splunk/visualizations 27.4.0 → 28.0.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 +26 -21
- package/Area.config.js.map +3 -3
- package/Area.js +88 -36
- package/Area.js.map +3 -3
- package/Bar.config.js +25 -21
- package/Bar.config.js.map +3 -3
- package/Bar.js +83 -37
- package/Bar.js.map +3 -3
- package/Bubble.config.js +46 -44
- package/Bubble.config.js.map +4 -4
- package/Bubble.js +83 -54
- package/Bubble.js.map +4 -4
- package/CHANGELOG.external.md +54 -7
- package/ChoroplethSvg.config.js +47 -43
- package/ChoroplethSvg.config.js.map +4 -4
- package/ChoroplethSvg.js +72 -45
- package/ChoroplethSvg.js.map +4 -4
- package/Column.config.js +22 -20
- package/Column.config.js.map +3 -3
- package/Column.js +76 -33
- package/Column.js.map +3 -3
- package/Ellipse.config.js +16 -7
- package/Ellipse.config.js.map +2 -2
- package/Ellipse.js +104 -20
- package/Ellipse.js.map +4 -4
- package/Events.config.js +38 -27
- package/Events.config.js.map +4 -4
- package/Events.js +122 -101
- package/Events.js.map +4 -4
- package/FEATUREFLAGS.md +9 -7
- package/FillerGauge.config.js +20 -13
- package/FillerGauge.config.js.map +3 -3
- package/FillerGauge.js +76 -27
- package/FillerGauge.js.map +4 -4
- package/Image.config.js +5 -6
- package/Image.config.js.map +2 -2
- package/Image.js +29 -14
- package/Image.js.map +2 -2
- package/Line.config.js +22 -20
- package/Line.config.js.map +3 -3
- package/Line.js +84 -35
- package/Line.js.map +3 -3
- package/LinkGraph.config.js +39 -46
- package/LinkGraph.config.js.map +3 -3
- package/LinkGraph.js +70 -50
- package/LinkGraph.js.map +3 -3
- package/MIGRATION.md +169 -40
- package/Map.config.js +47 -13
- package/Map.config.js.map +4 -4
- package/Map.js +350 -159
- package/Map.js.map +4 -4
- package/Markdown.config.js +4 -5
- package/Markdown.config.js.map +2 -2
- package/Markdown.js +117 -72
- package/Markdown.js.map +3 -3
- package/MarkerGauge.config.js +14 -12
- package/MarkerGauge.config.js.map +3 -3
- package/MarkerGauge.js +107 -69
- package/MarkerGauge.js.map +4 -4
- package/ParallelCoordinates.config.js +14 -12
- package/ParallelCoordinates.config.js.map +3 -3
- package/ParallelCoordinates.js +113 -59
- package/ParallelCoordinates.js.map +3 -3
- package/Pie.config.js +51 -38
- package/Pie.config.js.map +4 -4
- package/Pie.js +116 -88
- package/Pie.js.map +4 -4
- package/Punchcard.config.js +36 -34
- package/Punchcard.config.js.map +4 -4
- package/Punchcard.js +153 -87
- 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 +103 -20
- package/Rectangle.js.map +4 -4
- package/Sankey.config.js +69 -17
- package/Sankey.config.js.map +4 -4
- package/Sankey.js +212 -82
- package/Sankey.js.map +4 -4
- package/Scatter.config.js +44 -42
- package/Scatter.config.js.map +3 -3
- package/Scatter.js +84 -56
- package/Scatter.js.map +3 -3
- package/SingleValue.config.js +32 -18
- package/SingleValue.config.js.map +4 -4
- package/SingleValue.js +238 -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/Table.config.js +71 -51
- package/Table.config.js.map +3 -3
- package/Table.js +282 -145
- package/Table.js.map +3 -3
- package/Timeline.config.js +36 -34
- package/Timeline.config.js.map +4 -4
- package/Timeline.js +67 -59
- package/Timeline.js.map +4 -4
- package/common/Charting.js +8 -3
- 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 +12 -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 +87 -3
- package/common/shapeUtils.js.map +4 -4
- 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 +174 -48
- package/common/utils/mapUtils.js.map +4 -4
- package/common/utils/singleValueUtils.js +9 -3
- 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/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 +25 -8
- package/common/withDashboardViz.js.map +2 -2
- package/package.json +37 -35
package/Ellipse.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/Ellipse.config.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["src/Ellipse/config.ts", "esm-externals:@splunk/ui-utils/i18n", "esm-externals:@splunk/visualization-color-palettes/editors/PresetPalettes", "esm-externals:@splunk/visualization-schemas", "esm-externals:@splunk/themes/pick", "esm-externals:@splunk/themes/variables", "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 { _ } from '@splunk/ui-utils/i18n';\nimport { defaultPalettesConfig } from '@splunk/visualization-color-palettes/editors/PresetPalettes';\nimport { ellipseOptionsSchema as optionsSchema } from '@splunk/visualization-schemas';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\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: '#118832',\n },\n {\n from: 80,\n to: 100,\n value: '#669922',\n },\n {\n from: 60,\n to: 80,\n value: '#9D9F0D',\n },\n {\n from: 40,\n to: 60,\n value: '#CBA700',\n },\n {\n from: 20,\n to: 40,\n value: '#D97A0D',\n },\n {\n from: 0,\n to: 20,\n value: '#D94E17',\n },\n {\n to: 0,\n value: '#D41F1F',\n },\n ],\n strokeColorConfig: [\n {\n from: 100,\n value: '#118832',\n },\n {\n from: 80,\n to: 100,\n value: '#669922',\n },\n {\n from: 60,\n to: 80,\n value: '#9D9F0D',\n },\n {\n from: 40,\n to: 60,\n value: '#CBA700',\n },\n {\n from: 20,\n to: 40,\n value: '#D97A0D',\n },\n {\n from: 0,\n to: 20,\n value: '#D94E17',\n },\n {\n to: 0,\n value: '#D41F1F',\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: 'ellipse.none',\n value: {\n context: { ...basePresetContext },\n options: { ...basePresetOptions },\n },\n },\n {\n label: _('Fill'),\n name: 'ellipse.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: 'ellipse.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: 'ellipse.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];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.ellipse',\n /**\n * viz name\n */\n name: _('Ellipse'),\n category: VizCategory.SHAPES,\n /**\n * viz icon\n */\n icon: null,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'ellipse.click': {\n description: 'triggered when user clicks ellipse',\n payloadKeys: ['strokeColor', 'fillColor'],\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS],\n themes,\n};\n\nexport default enhanceConfig(config);\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/visualization-schemas\";\nexport * from \"@splunk/visualization-schemas\";\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 \"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 { _ } from '@splunk/ui-utils/i18n';\nimport { defaultPalettesConfig } from '@splunk/visualization-color-palettes/editors/PresetPalettes';\nimport { ellipseOptionsSchema as optionsSchema } from '@splunk/visualization-schemas';\nimport pick from '@splunk/themes/pick';\nimport variables from '@splunk/themes/variables';\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: '#118832',\n },\n {\n from: 80,\n to: 100,\n value: '#669922',\n },\n {\n from: 60,\n to: 80,\n value: '#9D9F0D',\n },\n {\n from: 40,\n to: 60,\n value: '#CBA700',\n },\n {\n from: 20,\n to: 40,\n value: '#D97A0D',\n },\n {\n from: 0,\n to: 20,\n value: '#D94E17',\n },\n {\n to: 0,\n value: '#D41F1F',\n },\n ],\n strokeColorConfig: [\n {\n from: 100,\n value: '#118832',\n },\n {\n from: 80,\n to: 100,\n value: '#669922',\n },\n {\n from: 60,\n to: 80,\n value: '#9D9F0D',\n },\n {\n from: 40,\n to: 60,\n value: '#CBA700',\n },\n {\n from: 20,\n to: 40,\n value: '#D97A0D',\n },\n {\n from: 0,\n to: 20,\n value: '#D94E17',\n },\n {\n to: 0,\n value: '#D41F1F',\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: 'ellipse.none',\n value: {\n context: { ...basePresetContext },\n options: { ...basePresetOptions },\n },\n },\n {\n label: _('Fill'),\n name: 'ellipse.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: 'ellipse.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: 'ellipse.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];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.ellipse',\n /**\n * viz name\n */\n name: _('Ellipse'),\n category: VizCategory.SHAPES,\n /**\n * viz icon\n */\n icon: null,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'ellipse.click': {\n description: 'triggered when user clicks ellipse',\n payloadKeys: ['strokeColor', 'fillColor'],\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS],\n themes,\n};\n\nexport default enhanceConfig(config);\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/visualization-schemas\";\nexport * from \"@splunk/visualization-schemas\";\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 \"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", "optionsSchema"]
|
|
7
7
|
}
|
package/Ellipse.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;
|
|
@@ -161,11 +162,9 @@ var configUtils_default = "default" in defaultImport10 ? defaultImport10.default
|
|
|
161
162
|
// src/common/utils/configUtils.ts
|
|
162
163
|
function enhanceConfig(vizConfig) {
|
|
163
164
|
const enhancedConfig = __spreadValues({}, vizConfig);
|
|
164
|
-
enhancedConfig.editorConfig = vizConfig.editorConfig.map(
|
|
165
|
-
(config2)
|
|
166
|
-
|
|
167
|
-
}
|
|
168
|
-
);
|
|
165
|
+
enhancedConfig.editorConfig = vizConfig.editorConfig.map((config2) => {
|
|
166
|
+
return __spreadProps(__spreadValues({}, config2), { open: config2.open || false });
|
|
167
|
+
});
|
|
169
168
|
return enhancedConfig;
|
|
170
169
|
}
|
|
171
170
|
function hasCompatibleContexts(vizContext, presetContext) {
|
|
@@ -474,7 +473,12 @@ var editorConfig = [
|
|
|
474
473
|
}
|
|
475
474
|
})
|
|
476
475
|
],
|
|
477
|
-
[
|
|
476
|
+
[
|
|
477
|
+
getDynamicFillColorEditor({
|
|
478
|
+
defaultContext,
|
|
479
|
+
defaultPalettesConfig: PresetPalettes_exports.defaultPalettesConfig
|
|
480
|
+
})
|
|
481
|
+
],
|
|
478
482
|
[
|
|
479
483
|
__spreadProps(__spreadValues({}, StaticStrokeColorEditor_default), {
|
|
480
484
|
editorProps: {
|
|
@@ -482,7 +486,12 @@ var editorConfig = [
|
|
|
482
486
|
}
|
|
483
487
|
})
|
|
484
488
|
],
|
|
485
|
-
[
|
|
489
|
+
[
|
|
490
|
+
getDynamicStrokeColorEditor({
|
|
491
|
+
defaultContext,
|
|
492
|
+
defaultPalettesConfig: PresetPalettes_exports.defaultPalettesConfig
|
|
493
|
+
})
|
|
494
|
+
],
|
|
486
495
|
[
|
|
487
496
|
{
|
|
488
497
|
label: (0, i18n_exports._)("Fill opacity (%)"),
|
|
@@ -888,9 +897,14 @@ var Item = styled_components_default.div.attrs(({ width }) => ({
|
|
|
888
897
|
position: relative;
|
|
889
898
|
background-color: ${(props) => (0, colorUtils_exports.isColor)(props.backgroundColor) && props.backgroundColor || props.theme.defaultBackgroundColor}};
|
|
890
899
|
`;
|
|
891
|
-
var FixSizeItem = styled_components_default.div.attrs(
|
|
892
|
-
|
|
893
|
-
|
|
900
|
+
var FixSizeItem = styled_components_default.div.attrs(
|
|
901
|
+
({
|
|
902
|
+
width,
|
|
903
|
+
height
|
|
904
|
+
}) => ({
|
|
905
|
+
style: __spreadValues(__spreadValues({}, width && { width: (0, style_exports.toPx)(width) }), height && { height: (0, style_exports.toPx)(height) })
|
|
906
|
+
})
|
|
907
|
+
)`
|
|
894
908
|
position: relative;
|
|
895
909
|
flex-direction: column;
|
|
896
910
|
flex: 1;
|
|
@@ -924,7 +938,7 @@ var withFixedSizeContainer = (Viz) => {
|
|
|
924
938
|
FixSizeItem,
|
|
925
939
|
{
|
|
926
940
|
"data-test": "fix-size-item",
|
|
927
|
-
"data-splunk-visualization-version": "
|
|
941
|
+
"data-splunk-visualization-version": "28.0.0 - 0c5f07712",
|
|
928
942
|
width,
|
|
929
943
|
height,
|
|
930
944
|
backgroundColor
|
|
@@ -990,7 +1004,7 @@ var Cover = styled_components_default.div`
|
|
|
990
1004
|
bottom: 0;
|
|
991
1005
|
`;
|
|
992
1006
|
var Blocker = styled_components_default.div.attrs({
|
|
993
|
-
"data-splunk-visualization-version": "
|
|
1007
|
+
"data-splunk-visualization-version": "28.0.0 - 0c5f07712"
|
|
994
1008
|
})`
|
|
995
1009
|
position: relative;
|
|
996
1010
|
width: 100%;
|
|
@@ -1359,7 +1373,12 @@ var useGetXAndYFields = ({
|
|
|
1359
1373
|
y2Fields: options.y2 ? "> y2 | getField()" : void 0,
|
|
1360
1374
|
fieldTypes: "> primary | getType()"
|
|
1361
1375
|
};
|
|
1362
|
-
const {
|
|
1376
|
+
const {
|
|
1377
|
+
xField = "",
|
|
1378
|
+
yFields = [],
|
|
1379
|
+
y2Fields = [],
|
|
1380
|
+
fieldTypes
|
|
1381
|
+
} = Options_exports.Options.evaluate(
|
|
1363
1382
|
{ options: optionsToEvaluate, context },
|
|
1364
1383
|
dataSourcesWithOnlyOnePoint,
|
|
1365
1384
|
() => {
|
|
@@ -1640,7 +1659,9 @@ var withDashboardViz = (opts) => {
|
|
|
1640
1659
|
return result;
|
|
1641
1660
|
}
|
|
1642
1661
|
} catch (e) {
|
|
1643
|
-
|
|
1662
|
+
if (e instanceof Error) {
|
|
1663
|
+
console.error(`unexpected error evaluating options: ${e.message}`);
|
|
1664
|
+
}
|
|
1644
1665
|
return {};
|
|
1645
1666
|
}
|
|
1646
1667
|
return {};
|
|
@@ -1699,7 +1720,11 @@ var withDashboardViz = (opts) => {
|
|
|
1699
1720
|
if (ev && ev.payload) {
|
|
1700
1721
|
payload = ev.payload;
|
|
1701
1722
|
}
|
|
1702
|
-
return onEventTrigger({
|
|
1723
|
+
return onEventTrigger({
|
|
1724
|
+
originalEvent: ev,
|
|
1725
|
+
payload,
|
|
1726
|
+
type: eventName
|
|
1727
|
+
});
|
|
1703
1728
|
};
|
|
1704
1729
|
if (parentKeys) {
|
|
1705
1730
|
for (let i = parentKeys.length - 1; i >= 0; i -= 1) {
|
|
@@ -1769,7 +1794,16 @@ var defaultImport28 = __toESM(require("@splunk/visualizations-shared/propUtils")
|
|
|
1769
1794
|
__reExport(propUtils_exports, require("@splunk/visualizations-shared/propUtils"));
|
|
1770
1795
|
var propUtils_default = "default" in defaultImport28 ? defaultImport28.default : defaultImport28;
|
|
1771
1796
|
|
|
1772
|
-
//
|
|
1797
|
+
// esm-externals:@splunk/react-ui/ScreenReaderContent
|
|
1798
|
+
var ScreenReaderContent_exports = {};
|
|
1799
|
+
__export(ScreenReaderContent_exports, {
|
|
1800
|
+
default: () => ScreenReaderContent_default
|
|
1801
|
+
});
|
|
1802
|
+
var defaultImport29 = __toESM(require("@splunk/react-ui/ScreenReaderContent"));
|
|
1803
|
+
__reExport(ScreenReaderContent_exports, require("@splunk/react-ui/ScreenReaderContent"));
|
|
1804
|
+
var ScreenReaderContent_default = "default" in defaultImport29 ? defaultImport29.default : defaultImport29;
|
|
1805
|
+
|
|
1806
|
+
// src/common/shapeUtils.tsx
|
|
1773
1807
|
var shapeOptionsMapping = {
|
|
1774
1808
|
fillColor: "fill",
|
|
1775
1809
|
strokeColor: "stroke",
|
|
@@ -1792,7 +1826,53 @@ var getStyledShape = (shape4) => styled_components_default(shape4)`
|
|
|
1792
1826
|
},
|
|
1793
1827
|
prisma: variables_default.neutral500
|
|
1794
1828
|
})(props)};
|
|
1795
|
-
|
|
1829
|
+
`;
|
|
1830
|
+
function ClickableShape({ children, onClick, shape: shape4 }) {
|
|
1831
|
+
const descriptionId = (0, react_exports.useMemo)(() => (0, id_exports.createDOMID)("clickable-svg-description"), []);
|
|
1832
|
+
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(
|
|
1833
|
+
StyledButton,
|
|
1834
|
+
{
|
|
1835
|
+
onClick,
|
|
1836
|
+
"aria-label": shape4 === "rect" ? (0, i18n_exports._)("Rectangle visualization") : (0, i18n_exports._)("Ellipse visualization"),
|
|
1837
|
+
"aria-describedby": descriptionId,
|
|
1838
|
+
shape: shape4
|
|
1839
|
+
},
|
|
1840
|
+
children
|
|
1841
|
+
));
|
|
1842
|
+
}
|
|
1843
|
+
var StyledDiv = styled_components_default.div`
|
|
1844
|
+
display: inline-grid;
|
|
1845
|
+
grid-template: 1fr / 1fr;
|
|
1846
|
+
|
|
1847
|
+
& > * {
|
|
1848
|
+
grid-row-start: 1;
|
|
1849
|
+
grid-column-start: 1;
|
|
1850
|
+
}
|
|
1851
|
+
`;
|
|
1852
|
+
var StyledButton = styled_components_default.button`
|
|
1853
|
+
padding: 0;
|
|
1854
|
+
border: 0;
|
|
1855
|
+
background: transparent;
|
|
1856
|
+
cursor: pointer;
|
|
1857
|
+
&:focus {
|
|
1858
|
+
outline: none;
|
|
1859
|
+
${(props) => props.shape === "rect" ? styled_components_exports.css`
|
|
1860
|
+
box-shadow: ${variables_default.focusShadow};
|
|
1861
|
+
` : (
|
|
1862
|
+
// clip-path would clip the shadow for ellipse, so we use drop-shadow filters to simulate it
|
|
1863
|
+
styled_components_exports.css`
|
|
1864
|
+
svg:has(+ &) > ellipse {
|
|
1865
|
+
filter: drop-shadow(2px 0px 1px ${variables_default.focusColor})
|
|
1866
|
+
drop-shadow(-2px 0px 1px ${variables_default.focusColor})
|
|
1867
|
+
drop-shadow(0px 2px 1px ${variables_default.focusColor})
|
|
1868
|
+
drop-shadow(0px -2px 1px ${variables_default.focusColor});
|
|
1869
|
+
}
|
|
1870
|
+
`
|
|
1871
|
+
)}
|
|
1872
|
+
}
|
|
1873
|
+
${(props) => props.shape === "ellipse" && `
|
|
1874
|
+
clip-path: ellipse(50% 50% at 50% 50%);
|
|
1875
|
+
`}
|
|
1796
1876
|
`;
|
|
1797
1877
|
|
|
1798
1878
|
// src/Ellipse/Ellipse.tsx
|
|
@@ -1808,18 +1888,22 @@ var EllipseVisualization = ({
|
|
|
1808
1888
|
onEllipseClick,
|
|
1809
1889
|
options
|
|
1810
1890
|
}) => {
|
|
1811
|
-
|
|
1891
|
+
const svgContent = /* @__PURE__ */ react_exports.createElement(SVGContainer, { width, height }, /* @__PURE__ */ react_exports.createElement(
|
|
1812
1892
|
EllipseShape,
|
|
1813
1893
|
__spreadProps(__spreadValues({
|
|
1894
|
+
id: "ellipse-shape",
|
|
1814
1895
|
cx: "50%",
|
|
1815
1896
|
cy: "50%",
|
|
1816
1897
|
rx: `${Number(width) / 2 - options.strokeWidth / 2}px`,
|
|
1817
1898
|
ry: `${Number(height) / 2 - options.strokeWidth / 2}px`
|
|
1818
1899
|
}, options), {
|
|
1819
|
-
vectorEffect: "non-scaling-stroke"
|
|
1820
|
-
onClick: onEllipseClick
|
|
1900
|
+
vectorEffect: "non-scaling-stroke"
|
|
1821
1901
|
})
|
|
1822
1902
|
));
|
|
1903
|
+
if (typeof onEllipseClick === "function" && onEllipseClick !== lodash_exports.noop) {
|
|
1904
|
+
return /* @__PURE__ */ react_exports.createElement(ClickableShape, { shape: "ellipse", onClick: onEllipseClick }, svgContent);
|
|
1905
|
+
}
|
|
1906
|
+
return svgContent;
|
|
1823
1907
|
};
|
|
1824
1908
|
var computeVizProps = (_a) => {
|
|
1825
1909
|
var _b = _a, { width, height } = _b, options = __objRest(_b, ["width", "height"]);
|