From 1f0da4f8894924dfd9b6032e6af9c02d464aff18 Mon Sep 17 00:00:00 2001 From: Uladzislau Lasitsa Date: Fri, 5 Feb 2021 10:58:30 +0300 Subject: [PATCH] Removes editorConfig.collections (#89854) * Removed editorConfig.collections * Fix CI * Update snapshots * Fix comments * Fix eslint Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../public/components/wms_options.tsx | 6 +- .../public/components/region_map_options.tsx | 16 +- .../region_map/public/kibana_services.ts | 5 + .../region_map/public/region_map_type.ts | 16 +- .../tile_map/public/components/collections.ts | 65 ++++++++ .../public/components/tile_map_options.tsx | 17 +- src/plugins/tile_map/public/services.ts | 3 + src/plugins/tile_map/public/tile_map_type.ts | 61 +------- .../components/options/basic_options.tsx | 11 +- .../public/components/metric_vis_options.tsx | 28 +++- .../vis_type_metric/public/metric_vis_type.ts | 25 +-- .../public/components/collections.ts | 68 ++++++++ .../public/components/tag_cloud_options.tsx | 7 +- .../public/tag_cloud_type.ts | 42 ----- .../editor/components/gauge/ranges_panel.tsx | 5 +- .../editor/components/gauge/style_panel.tsx | 9 +- .../editor/components/heatmap/index.tsx | 11 +- .../public/editor/components/pie.tsx | 6 +- src/plugins/vis_type_vislib/public/gauge.ts | 2 - src/plugins/vis_type_vislib/public/goal.ts | 3 +- src/plugins/vis_type_vislib/public/heatmap.ts | 3 +- src/plugins/vis_type_vislib/public/pie.ts | 4 - .../__snapshots__/chart_options.test.tsx.snap | 28 ++++ .../__snapshots__/index.test.tsx.snap | 32 ---- .../value_axes_panel.test.tsx.snap | 148 ------------------ .../metrics_axes/category_axis_panel.test.tsx | 3 +- .../metrics_axes/category_axis_panel.tsx | 14 +- .../metrics_axes/chart_options.test.tsx | 3 +- .../options/metrics_axes/chart_options.tsx | 14 +- .../components/options/metrics_axes/index.tsx | 2 - .../metrics_axes/line_options.test.tsx | 3 +- .../options/metrics_axes/line_options.tsx | 9 +- .../components/options/metrics_axes/mocks.ts | 15 +- .../metrics_axes/value_axes_panel.test.tsx | 3 +- .../options/metrics_axes/value_axes_panel.tsx | 4 - .../metrics_axes/value_axis_options.test.tsx | 3 +- .../metrics_axes/value_axis_options.tsx | 12 +- .../point_series/elastic_charts_options.tsx | 7 +- .../options/point_series/point_series.tsx | 5 +- .../options/point_series/threshold_panel.tsx | 6 +- .../public/sample_vis.test.mocks.ts | 122 --------------- .../vis_type_xy/public/vis_types/area.ts | 2 - .../vis_type_xy/public/vis_types/histogram.ts | 2 - .../public/vis_types/horizontal_bar.ts | 2 - .../vis_type_xy/public/vis_types/line.ts | 2 - src/plugins/visualizations/public/types.ts | 1 - .../translations/translations/ja-JP.json | 28 ++-- .../translations/translations/zh-CN.json | 28 ++-- 48 files changed, 329 insertions(+), 582 deletions(-) create mode 100644 src/plugins/tile_map/public/components/collections.ts create mode 100644 src/plugins/vis_type_tagcloud/public/components/collections.ts diff --git a/src/plugins/maps_legacy/public/components/wms_options.tsx b/src/plugins/maps_legacy/public/components/wms_options.tsx index b30f20d355262..d4ed5abd896e4 100644 --- a/src/plugins/maps_legacy/public/components/wms_options.tsx +++ b/src/plugins/maps_legacy/public/components/wms_options.tsx @@ -11,7 +11,6 @@ import { EuiPanel, EuiSpacer, EuiTitle } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n/react'; import { TmsLayer } from '../index'; -import { Vis } from '../../../visualizations/public'; import { SelectOption, SwitchOption } from '../../../vis_default_editor/public'; import { WmsInternalOptions } from './wms_internal_options'; import { WMSOptions } from '../common/types'; @@ -19,14 +18,13 @@ import { WMSOptions } from '../common/types'; interface Props { stateParams: K; setValue: (title: 'wms', options: WMSOptions) => void; - vis: Vis; + tmsLayers: TmsLayer[]; } const mapLayerForOption = ({ id }: TmsLayer) => ({ text: id, value: id }); -function WmsOptions({ stateParams, setValue, vis }: Props) { +function WmsOptions({ stateParams, setValue, tmsLayers }: Props) { const { wms } = stateParams; - const { tmsLayers } = vis.type.editorConfig.collections; const tmsLayerOptions = useMemo(() => tmsLayers.map(mapLayerForOption), [tmsLayers]); const setWmsOption = (paramName: T, value: WMSOptions[T]) => diff --git a/src/plugins/region_map/public/components/region_map_options.tsx b/src/plugins/region_map/public/components/region_map_options.tsx index 5b5b71c9e9f4e..2bf13e46f70de 100644 --- a/src/plugins/region_map/public/components/region_map_options.tsx +++ b/src/plugins/region_map/public/components/region_map_options.tsx @@ -11,10 +11,12 @@ import { EuiIcon, EuiLink, EuiPanel, EuiSpacer, EuiText, EuiTitle } from '@elast import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n/react'; import { VisEditorOptionsProps } from 'src/plugins/visualizations/public'; +import { truncatedColorSchemas } from '../../../charts/public'; import { FileLayerField, VectorLayer, IServiceSettings } from '../../../maps_legacy/public'; import { SelectOption, SwitchOption, NumberInputOption } from '../../../vis_default_editor/public'; import { WmsOptions } from '../../../maps_legacy/public'; import { RegionMapVisParams } from '../region_map_types'; +import { getTmsLayers, getVectorLayers } from '../kibana_services'; const mapLayerForOption = ({ layerId, name }: VectorLayer) => ({ text: name, @@ -26,14 +28,16 @@ const mapFieldForOption = ({ description, name }: FileLayerField) => ({ value: name, }); +const tmsLayers = getTmsLayers(); +const vectorLayers = getVectorLayers(); +const vectorLayerOptions = vectorLayers.map(mapLayerForOption); + export type RegionMapOptionsProps = { getServiceSettings: () => Promise; } & VisEditorOptionsProps; function RegionMapOptions(props: RegionMapOptionsProps) { - const { getServiceSettings, stateParams, vis, setValue } = props; - const { vectorLayers } = vis.type.editorConfig.collections; - const vectorLayerOptions = useMemo(() => vectorLayers.map(mapLayerForOption), [vectorLayers]); + const { getServiceSettings, stateParams, setValue } = props; const fieldOptions = useMemo( () => ((stateParams.selectedLayer && stateParams.selectedLayer.fields) || []).map( @@ -61,7 +65,7 @@ function RegionMapOptions(props: RegionMapOptionsProps) { setEmsHotLink(newLayer); } }, - [vectorLayers, setEmsHotLink, setValue] + [setEmsHotLink, setValue] ); const setField = useCallback( @@ -178,7 +182,7 @@ function RegionMapOptions(props: RegionMapOptionsProps) { label={i18n.translate('regionMap.visParams.colorSchemaLabel', { defaultMessage: 'Color schema', })} - options={vis.type.editorConfig.collections.colorSchemas} + options={truncatedColorSchemas} paramName="colorSchema" value={stateParams.colorSchema} setValue={setValue} @@ -197,7 +201,7 @@ function RegionMapOptions(props: RegionMapOptionsProps) { - + ); } diff --git a/src/plugins/region_map/public/kibana_services.ts b/src/plugins/region_map/public/kibana_services.ts index 60465e2e0c251..77bc472e3b140 100644 --- a/src/plugins/region_map/public/kibana_services.ts +++ b/src/plugins/region_map/public/kibana_services.ts @@ -12,6 +12,7 @@ import { createGetterSetter } from '../../kibana_utils/public'; import { DataPublicPluginStart } from '../../data/public'; import { KibanaLegacyStart } from '../../kibana_legacy/public'; import { SharePluginStart } from '../../share/public'; +import { VectorLayer, TmsLayer } from '../../maps_legacy/public'; export const [getCoreService, setCoreService] = createGetterSetter('Core'); @@ -32,3 +33,7 @@ export const [getShareService, setShareService] = createGetterSetter( 'KibanaLegacy' ); + +export const [getTmsLayers, setTmsLayers] = createGetterSetter('TmsLayers'); + +export const [getVectorLayers, setVectorLayers] = createGetterSetter('VectorLayers'); diff --git a/src/plugins/region_map/public/region_map_type.ts b/src/plugins/region_map/public/region_map_type.ts index 0e8df51b17c79..35f4cffca18d4 100644 --- a/src/plugins/region_map/public/region_map_type.ts +++ b/src/plugins/region_map/public/region_map_type.ts @@ -9,7 +9,6 @@ import { i18n } from '@kbn/i18n'; import { VisTypeDefinition } from '../../visualizations/public'; -import { truncatedColorSchemas } from '../../charts/public'; import { ORIGIN } from '../../maps_legacy/public'; import { getDeprecationMessage } from './get_deprecation_message'; @@ -18,6 +17,7 @@ import { createRegionMapOptions } from './components'; import { toExpressionAst } from './to_ast'; import { RegionMapVisParams } from './region_map_types'; import { mapToLayerWithId } from './util'; +import { setTmsLayers, setVectorLayers } from './kibana_services'; export function createRegionMapTypeDefinition({ uiSettings, @@ -50,11 +50,6 @@ provided base maps, or add your own. Darker colors represent higher values.', }, editorConfig: { optionsTemplate: createRegionMapOptions(getServiceSettings), - collections: { - colorSchemas: truncatedColorSchemas, - vectorLayers: [], - tmsLayers: [], - }, schemas: [ { group: 'metrics', @@ -95,7 +90,9 @@ provided base maps, or add your own. Darker colors represent higher values.', setup: async (vis) => { const serviceSettings = await getServiceSettings(); const tmsLayers = await serviceSettings.getTMSServices(); - vis.type.editorConfig.collections.tmsLayers = tmsLayers; + setTmsLayers(tmsLayers); + setVectorLayers([]); + if (!vis.params.wms.selectedTmsLayer && tmsLayers.length) { vis.params.wms.selectedTmsLayer = tmsLayers[0]; } @@ -122,9 +119,10 @@ provided base maps, or add your own. Darker colors represent higher values.', } }); - vis.type.editorConfig.collections.vectorLayers = [...vectorLayers, ...newLayers]; + const allVectorLayers = [...vectorLayers, ...newLayers]; + setVectorLayers(allVectorLayers); - [selectedLayer] = vis.type.editorConfig.collections.vectorLayers; + [selectedLayer] = allVectorLayers; selectedJoinField = selectedLayer ? selectedLayer.fields[0] : undefined; if (selectedLayer && !vis.params.selectedLayer && selectedLayer.isEMS) { diff --git a/src/plugins/tile_map/public/components/collections.ts b/src/plugins/tile_map/public/components/collections.ts new file mode 100644 index 0000000000000..f75d83c4a055f --- /dev/null +++ b/src/plugins/tile_map/public/components/collections.ts @@ -0,0 +1,65 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { i18n } from '@kbn/i18n'; +import { MapTypes } from '../utils/map_types'; + +export const collections = { + mapTypes: [ + { + value: MapTypes.ScaledCircleMarkers, + text: i18n.translate('tileMap.mapTypes.scaledCircleMarkersText', { + defaultMessage: 'Scaled circle markers', + }), + }, + { + value: MapTypes.ShadedCircleMarkers, + text: i18n.translate('tileMap.mapTypes.shadedCircleMarkersText', { + defaultMessage: 'Shaded circle markers', + }), + }, + { + value: MapTypes.ShadedGeohashGrid, + text: i18n.translate('tileMap.mapTypes.shadedGeohashGridText', { + defaultMessage: 'Shaded geohash grid', + }), + }, + { + value: MapTypes.Heatmap, + text: i18n.translate('tileMap.mapTypes.heatmapText', { + defaultMessage: 'Heatmap', + }), + }, + ], + legendPositions: [ + { + value: 'bottomleft', + text: i18n.translate('tileMap.legendPositions.bottomLeftText', { + defaultMessage: 'Bottom left', + }), + }, + { + value: 'bottomright', + text: i18n.translate('tileMap.legendPositions.bottomRightText', { + defaultMessage: 'Bottom right', + }), + }, + { + value: 'topleft', + text: i18n.translate('tileMap.legendPositions.topLeftText', { + defaultMessage: 'Top left', + }), + }, + { + value: 'topright', + text: i18n.translate('tileMap.legendPositions.topRightText', { + defaultMessage: 'Top right', + }), + }, + ], +}; diff --git a/src/plugins/tile_map/public/components/tile_map_options.tsx b/src/plugins/tile_map/public/components/tile_map_options.tsx index 9164a4b0d6300..dbe28f0e2c2dd 100644 --- a/src/plugins/tile_map/public/components/tile_map_options.tsx +++ b/src/plugins/tile_map/public/components/tile_map_options.tsx @@ -17,20 +17,25 @@ import { SwitchOption, RangeOption, } from '../../../vis_default_editor/public'; +import { truncatedColorSchemas } from '../../../charts/public'; import { WmsOptions } from '../../../maps_legacy/public'; import { TileMapVisParams } from '../types'; import { MapTypes } from '../utils/map_types'; +import { getTmsLayers } from '../services'; +import { collections } from './collections'; export type TileMapOptionsProps = VisEditorOptionsProps; +const tmsLayers = getTmsLayers(); + function TileMapOptions(props: TileMapOptionsProps) { const { stateParams, setValue, vis } = props; useEffect(() => { if (!stateParams.mapType) { - setValue('mapType', vis.type.editorConfig.collections.mapTypes[0]); + setValue('mapType', collections.mapTypes[0].value); } - }, [setValue, stateParams.mapType, vis.type.editorConfig.collections.mapTypes]); + }, [setValue, stateParams.mapType]); return ( <> @@ -39,7 +44,7 @@ function TileMapOptions(props: TileMapOptionsProps) { label={i18n.translate('tileMap.visParams.mapTypeLabel', { defaultMessage: 'Map type', })} - options={vis.type.editorConfig.collections.mapTypes} + options={collections.mapTypes} paramName="mapType" value={stateParams.mapType} setValue={setValue} @@ -62,14 +67,14 @@ function TileMapOptions(props: TileMapOptionsProps) { label={i18n.translate('tileMap.visParams.colorSchemaLabel', { defaultMessage: 'Color schema', })} - options={vis.type.editorConfig.collections.colorSchemas} + options={truncatedColorSchemas} paramName="colorSchema" value={stateParams.colorSchema} setValue={setValue} /> )} - + - + ); } diff --git a/src/plugins/tile_map/public/services.ts b/src/plugins/tile_map/public/services.ts index 3e6dbb69c9403..af23daf24f7f5 100644 --- a/src/plugins/tile_map/public/services.ts +++ b/src/plugins/tile_map/public/services.ts @@ -11,6 +11,7 @@ import { createGetterSetter } from '../../kibana_utils/public'; import { DataPublicPluginStart } from '../../data/public'; import { KibanaLegacyStart } from '../../kibana_legacy/public'; import { SharePluginStart } from '../../share/public'; +import { TmsLayer } from '../../maps_legacy/public'; export const [getCoreService, setCoreService] = createGetterSetter('Core'); @@ -27,3 +28,5 @@ export const [getShareService, setShareService] = createGetterSetter( 'KibanaLegacy' ); + +export const [getTmsLayers, setTmsLayers] = createGetterSetter('TmsLayers'); diff --git a/src/plugins/tile_map/public/tile_map_type.ts b/src/plugins/tile_map/public/tile_map_type.ts index dc2cd418c28e2..5e71351f1bd56 100644 --- a/src/plugins/tile_map/public/tile_map_type.ts +++ b/src/plugins/tile_map/public/tile_map_type.ts @@ -8,7 +8,6 @@ import { i18n } from '@kbn/i18n'; import { VisTypeDefinition } from 'src/plugins/visualizations/public'; -import { truncatedColorSchemas } from '../../charts/public'; // @ts-expect-error import { supportsCssFilters } from './css_filters'; @@ -17,7 +16,7 @@ import { getDeprecationMessage } from './get_deprecation_message'; import { TileMapVisualizationDependencies } from './plugin'; import { toExpressionAst } from './to_ast'; import { TileMapVisParams } from './types'; -import { MapTypes } from './utils/map_types'; +import { setTmsLayers } from './services'; export function createTileMapTypeDefinition( dependencies: TileMapVisualizationDependencies @@ -50,62 +49,6 @@ export function createTileMapTypeDefinition( }, toExpressionAst, editorConfig: { - collections: { - colorSchemas: truncatedColorSchemas, - legendPositions: [ - { - value: 'bottomleft', - text: i18n.translate('tileMap.vis.editorConfig.legendPositions.bottomLeftText', { - defaultMessage: 'Bottom left', - }), - }, - { - value: 'bottomright', - text: i18n.translate('tileMap.vis.editorConfig.legendPositions.bottomRightText', { - defaultMessage: 'Bottom right', - }), - }, - { - value: 'topleft', - text: i18n.translate('tileMap.vis.editorConfig.legendPositions.topLeftText', { - defaultMessage: 'Top left', - }), - }, - { - value: 'topright', - text: i18n.translate('tileMap.vis.editorConfig.legendPositions.topRightText', { - defaultMessage: 'Top right', - }), - }, - ], - mapTypes: [ - { - value: MapTypes.ScaledCircleMarkers, - text: i18n.translate('tileMap.vis.editorConfig.mapTypes.scaledCircleMarkersText', { - defaultMessage: 'Scaled circle markers', - }), - }, - { - value: MapTypes.ShadedCircleMarkers, - text: i18n.translate('tileMap.vis.editorConfig.mapTypes.shadedCircleMarkersText', { - defaultMessage: 'Shaded circle markers', - }), - }, - { - value: MapTypes.ShadedGeohashGrid, - text: i18n.translate('tileMap.vis.editorConfig.mapTypes.shadedGeohashGridText', { - defaultMessage: 'Shaded geohash grid', - }), - }, - { - value: MapTypes.Heatmap, - text: i18n.translate('tileMap.vis.editorConfig.mapTypes.heatmapText', { - defaultMessage: 'Heatmap', - }), - }, - ], - tmsLayers: [], - }, optionsTemplate: TileMapOptionsLazy, schemas: [ { @@ -141,7 +84,7 @@ export function createTileMapTypeDefinition( return vis; } - vis.type.editorConfig.collections.tmsLayers = tmsLayers; + setTmsLayers(tmsLayers); if (!vis.params.wms.selectedTmsLayer && tmsLayers.length) { vis.params.wms.selectedTmsLayer = tmsLayers[0]; } diff --git a/src/plugins/vis_default_editor/public/components/options/basic_options.tsx b/src/plugins/vis_default_editor/public/components/options/basic_options.tsx index 5d19b6dab4b82..5cec0743b94fd 100644 --- a/src/plugins/vis_default_editor/public/components/options/basic_options.tsx +++ b/src/plugins/vis_default_editor/public/components/options/basic_options.tsx @@ -19,18 +19,23 @@ interface BasicOptionsParams { legendPosition: string; } +type LegendPositions = Array<{ + value: string; + text: string; +}>; + function BasicOptions({ stateParams, setValue, - vis, -}: VisEditorOptionsProps) { + legendPositions, +}: VisEditorOptionsProps & { legendPositions: LegendPositions }) { return ( <> ) { const setMetricValue: ( @@ -137,14 +157,14 @@ function MetricVisOptions({ isDisabled={stateParams.metric.colorsRange.length === 1} isFullWidth={true} legend={metricColorModeLabel} - options={vis.type.editorConfig.collections.metricColorMode} + options={metricColorMode} onChange={setColorMode} /> => }, }, editorConfig: { - collections: { - metricColorMode: [ - { - id: ColorMode.None, - label: i18n.translate('visTypeMetric.colorModes.noneOptionLabel', { - defaultMessage: 'None', - }), - }, - { - id: ColorMode.Labels, - label: i18n.translate('visTypeMetric.colorModes.labelsOptionLabel', { - defaultMessage: 'Labels', - }), - }, - { - id: ColorMode.Background, - label: i18n.translate('visTypeMetric.colorModes.backgroundOptionLabel', { - defaultMessage: 'Background', - }), - }, - ], - colorSchemas, - }, optionsTemplate: MetricVisOptions, schemas: [ { diff --git a/src/plugins/vis_type_tagcloud/public/components/collections.ts b/src/plugins/vis_type_tagcloud/public/components/collections.ts new file mode 100644 index 0000000000000..d5dd3c7f2d252 --- /dev/null +++ b/src/plugins/vis_type_tagcloud/public/components/collections.ts @@ -0,0 +1,68 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { i18n } from '@kbn/i18n'; +import { TagCloudVisParams } from '../types'; + +interface Scales { + text: string; + value: TagCloudVisParams['scale']; +} + +interface Orientation { + text: string; + value: TagCloudVisParams['orientation']; +} + +interface Collections { + scales: Scales[]; + orientations: Orientation[]; +} + +export const collections: Collections = { + scales: [ + { + text: i18n.translate('visTypeTagCloud.scales.linearText', { + defaultMessage: 'Linear', + }), + value: 'linear', + }, + { + text: i18n.translate('visTypeTagCloud.scales.logText', { + defaultMessage: 'Log', + }), + value: 'log', + }, + { + text: i18n.translate('visTypeTagCloud.scales.squareRootText', { + defaultMessage: 'Square root', + }), + value: 'square root', + }, + ], + orientations: [ + { + text: i18n.translate('visTypeTagCloud.orientations.singleText', { + defaultMessage: 'Single', + }), + value: 'single', + }, + { + text: i18n.translate('visTypeTagCloud.orientations.rightAngledText', { + defaultMessage: 'Right angled', + }), + value: 'right angled', + }, + { + text: i18n.translate('visTypeTagCloud.orientations.multipleText', { + defaultMessage: 'Multiple', + }), + value: 'multiple', + }, + ], +}; diff --git a/src/plugins/vis_type_tagcloud/public/components/tag_cloud_options.tsx b/src/plugins/vis_type_tagcloud/public/components/tag_cloud_options.tsx index 549cbc8bfec84..d5e005a638680 100644 --- a/src/plugins/vis_type_tagcloud/public/components/tag_cloud_options.tsx +++ b/src/plugins/vis_type_tagcloud/public/components/tag_cloud_options.tsx @@ -13,8 +13,9 @@ import { VisEditorOptionsProps } from 'src/plugins/visualizations/public'; import { SelectOption, SwitchOption } from '../../../vis_default_editor/public'; import { ValidatedDualRange } from '../../../kibana_react/public'; import { TagCloudVisParams } from '../types'; +import { collections } from './collections'; -function TagCloudOptions({ stateParams, setValue, vis }: VisEditorOptionsProps) { +function TagCloudOptions({ stateParams, setValue }: VisEditorOptionsProps) { const handleFontSizeChange = ([minFontSize, maxFontSize]: [string | number, string | number]) => { setValue('minFontSize', Number(minFontSize)); setValue('maxFontSize', Number(maxFontSize)); @@ -29,7 +30,7 @@ function TagCloudOptions({ stateParams, setValue, vis }: VisEditorOptionsProps(paramName: T, value: ColorSchemaParams[T]) => { @@ -91,7 +90,7 @@ function RangesPanel({ ) { - const { stateParams, vis, uiState, setValue, setValidity, setTouched } = props; + const { stateParams, uiState, setValue, setValidity, setTouched } = props; const [valueAxis] = stateParams.valueAxes; const isColorsNumberInvalid = stateParams.colorsNumber < 2 || stateParams.colorsNumber > 10; const [isColorRangesValid, setIsColorRangesValid] = useState(false); @@ -65,7 +68,7 @@ function HeatmapOptions(props: VisEditorOptionsProps) { - + ) { ) { label={i18n.translate('visTypeVislib.controls.heatmapOptions.colorScaleLabel', { defaultMessage: 'Color scale', })} - options={vis.type.editorConfig.collections.scales} + options={heatmapCollections.scales} paramName="type" value={valueAxis.scale.type} setValue={setValueAxisScale} diff --git a/src/plugins/vis_type_vislib/public/editor/components/pie.tsx b/src/plugins/vis_type_vislib/public/editor/components/pie.tsx index 9acadd4252a95..6c84bc744676a 100644 --- a/src/plugins/vis_type_vislib/public/editor/components/pie.tsx +++ b/src/plugins/vis_type_vislib/public/editor/components/pie.tsx @@ -14,10 +14,12 @@ import { FormattedMessage } from '@kbn/i18n/react'; import { VisEditorOptionsProps } from 'src/plugins/visualizations/public'; import { BasicOptions, SwitchOption } from '../../../../vis_default_editor/public'; -import { TruncateLabelsOption } from '../../../../vis_type_xy/public'; +import { TruncateLabelsOption, getPositions } from '../../../../vis_type_xy/public'; import { PieVisParams } from '../../pie'; +const legendPositions = getPositions(); + function PieOptions(props: VisEditorOptionsProps) { const { stateParams, setValue } = props; const setLabels = ( @@ -45,7 +47,7 @@ function PieOptions(props: VisEditorOptionsProps) { value={stateParams.isDonut} setValue={setValue} /> - + diff --git a/src/plugins/vis_type_vislib/public/gauge.ts b/src/plugins/vis_type_vislib/public/gauge.ts index cd4c03e5a84d1..315c4388a5cd3 100644 --- a/src/plugins/vis_type_vislib/public/gauge.ts +++ b/src/plugins/vis_type_vislib/public/gauge.ts @@ -14,7 +14,6 @@ import { AggGroupNames } from '../../data/public'; import { VisTypeDefinition, VIS_EVENT_TO_TRIGGER } from '../../visualizations/public'; import { Alignment, GaugeType, VislibChartType } from './types'; -import { getGaugeCollections } from './editor'; import { toExpressionAst } from './to_ast'; import { GaugeOptions } from './editor/components'; @@ -102,7 +101,6 @@ export const gaugeVisTypeDefinition: VisTypeDefinition = { }, }, editorConfig: { - collections: getGaugeCollections(), optionsTemplate: GaugeOptions, schemas: [ { diff --git a/src/plugins/vis_type_vislib/public/goal.ts b/src/plugins/vis_type_vislib/public/goal.ts index a31ba48704d50..aaeae4f675f3f 100644 --- a/src/plugins/vis_type_vislib/public/goal.ts +++ b/src/plugins/vis_type_vislib/public/goal.ts @@ -12,7 +12,7 @@ import { AggGroupNames } from '../../data/public'; import { ColorMode, ColorSchemas } from '../../charts/public'; import { VisTypeDefinition } from '../../visualizations/public'; -import { getGaugeCollections, GaugeOptions } from './editor'; +import { GaugeOptions } from './editor'; import { toExpressionAst } from './to_ast'; import { GaugeType } from './types'; import { GaugeVisParams } from './gauge'; @@ -66,7 +66,6 @@ export const goalVisTypeDefinition: VisTypeDefinition = { }, }, editorConfig: { - collections: getGaugeCollections(), optionsTemplate: GaugeOptions, schemas: [ { diff --git a/src/plugins/vis_type_vislib/public/heatmap.ts b/src/plugins/vis_type_vislib/public/heatmap.ts index ca6dda547571c..f804a78cbe453 100644 --- a/src/plugins/vis_type_vislib/public/heatmap.ts +++ b/src/plugins/vis_type_vislib/public/heatmap.ts @@ -15,7 +15,7 @@ import { ColorSchemas, ColorSchemaParams } from '../../charts/public'; import { VIS_EVENT_TO_TRIGGER, VisTypeDefinition } from '../../visualizations/public'; import { ValueAxis, ScaleType, AxisType } from '../../vis_type_xy/public'; -import { HeatmapOptions, getHeatmapCollections } from './editor'; +import { HeatmapOptions } from './editor'; import { TimeMarker } from './vislib/visualizations/time_marker'; import { CommonVislibParams, VislibChartType } from './types'; import { toExpressionAst } from './to_ast'; @@ -75,7 +75,6 @@ export const heatmapVisTypeDefinition: VisTypeDefinition = { }, }, editorConfig: { - collections: getHeatmapCollections(), optionsTemplate: HeatmapOptions, schemas: [ { diff --git a/src/plugins/vis_type_vislib/public/pie.ts b/src/plugins/vis_type_vislib/public/pie.ts index e00fae7c32f06..d1d8d2a5279fe 100644 --- a/src/plugins/vis_type_vislib/public/pie.ts +++ b/src/plugins/vis_type_vislib/public/pie.ts @@ -11,7 +11,6 @@ import { Position } from '@elastic/charts'; import { AggGroupNames } from '../../data/public'; import { VisTypeDefinition, VIS_EVENT_TO_TRIGGER } from '../../visualizations/public'; -import { getPositions } from '../../vis_type_xy/public'; import { CommonVislibParams } from './types'; import { PieOptions } from './editor'; @@ -53,9 +52,6 @@ export const pieVisTypeDefinition: VisTypeDefinition = { }, }, editorConfig: { - collections: { - legendPositions: getPositions(), - }, optionsTemplate: PieOptions, schemas: [ { diff --git a/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/__snapshots__/chart_options.test.tsx.snap b/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/__snapshots__/chart_options.test.tsx.snap index e9cd2b737b879..56f35ae021173 100644 --- a/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/__snapshots__/chart_options.test.tsx.snap +++ b/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/__snapshots__/chart_options.test.tsx.snap @@ -31,6 +31,22 @@ exports[`ChartOptions component should init with the default set of props 1`] = `; diff --git a/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/__snapshots__/value_axes_panel.test.tsx.snap b/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/__snapshots__/value_axes_panel.test.tsx.snap index 594511010b745..abcbf1a4fd7d9 100644 --- a/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/__snapshots__/value_axes_panel.test.tsx.snap +++ b/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/__snapshots__/value_axes_panel.test.tsx.snap @@ -150,80 +150,6 @@ exports[`ValueAxesPanel component should init with the default set of props 1`] "type": "value", } } - vis={ - Object { - "type": Object { - "editorConfig": Object { - "collections": Object { - "axisModes": Array [ - Object { - "text": "Normal", - "value": "normal", - }, - Object { - "text": "Percentage", - "value": "percentage", - }, - Object { - "text": "Wiggle", - "value": "wiggle", - }, - Object { - "text": "Silhouette", - "value": "silhouette", - }, - ], - "interpolationModes": Array [ - Object { - "text": "Straight", - "value": "linear", - }, - Object { - "text": "Smoothed", - "value": "cardinal", - }, - Object { - "text": "Stepped", - "value": "step-after", - }, - ], - "positions": Array [ - Object { - "text": "Top", - "value": "top", - }, - Object { - "text": "Left", - "value": "left", - }, - Object { - "text": "Right", - "value": "right", - }, - Object { - "text": "Bottom", - "value": "bottom", - }, - ], - "scaleTypes": Array [ - Object { - "text": "Linear", - "value": "linear", - }, - Object { - "text": "Log", - "value": "log", - }, - Object { - "text": "Square root", - "value": "square root", - }, - ], - }, - }, - }, - } - } /> diff --git a/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/category_axis_panel.test.tsx b/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/category_axis_panel.test.tsx index 17a504a25b05f..066f053d4e186 100644 --- a/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/category_axis_panel.test.tsx +++ b/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/category_axis_panel.test.tsx @@ -11,7 +11,7 @@ import { shallow } from 'enzyme'; import { CategoryAxisPanel, CategoryAxisPanelProps } from './category_axis_panel'; import { CategoryAxis } from '../../../../types'; import { LabelOptions } from './label_options'; -import { categoryAxis, vis } from './mocks'; +import { categoryAxis } from './mocks'; import { Position } from '@elastic/charts'; describe('CategoryAxisPanel component', () => { @@ -27,7 +27,6 @@ describe('CategoryAxisPanel component', () => { defaultProps = { axis, - vis, onPositionChanged, setCategoryAxis, }; diff --git a/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/category_axis_panel.tsx b/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/category_axis_panel.tsx index 6c261137d9eb6..5ba35717e46f3 100644 --- a/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/category_axis_panel.tsx +++ b/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/category_axis_panel.tsx @@ -13,25 +13,21 @@ import { FormattedMessage } from '@kbn/i18n/react'; import { EuiPanel, EuiTitle, EuiSpacer } from '@elastic/eui'; import { Position } from '@elastic/charts'; -import { VisEditorOptionsProps } from 'src/plugins/visualizations/public'; import { SelectOption, SwitchOption } from '../../../../../../vis_default_editor/public'; import { LabelOptions, SetAxisLabel } from './label_options'; import { CategoryAxis } from '../../../../types'; +import { getPositions } from '../../../collections'; + +const positions = getPositions(); export interface CategoryAxisPanelProps { axis: CategoryAxis; onPositionChanged: (position: Position) => void; setCategoryAxis: (value: CategoryAxis) => void; - vis: VisEditorOptionsProps['vis']; } -function CategoryAxisPanel({ - axis, - onPositionChanged, - vis, - setCategoryAxis, -}: CategoryAxisPanelProps) { +function CategoryAxisPanel({ axis, onPositionChanged, setCategoryAxis }: CategoryAxisPanelProps) { const setAxis = useCallback( (paramName: T, value: CategoryAxis[T]) => { const updatedAxis = { @@ -78,7 +74,7 @@ function CategoryAxisPanel({ label={i18n.translate('visTypeXy.controls.pointSeries.categoryAxis.positionLabel', { defaultMessage: 'Position', })} - options={vis.type.editorConfig.collections.positions} + options={positions} paramName="position" value={axis.position} setValue={setPosition} diff --git a/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/chart_options.test.tsx b/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/chart_options.test.tsx index 1e274dce7c2a8..caf14e57fef7e 100644 --- a/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/chart_options.test.tsx +++ b/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/chart_options.test.tsx @@ -12,7 +12,7 @@ import { shallow } from 'enzyme'; import { ChartOptions, ChartOptionsParams } from './chart_options'; import { SeriesParam, ChartMode } from '../../../../types'; import { LineOptions } from './line_options'; -import { valueAxis, seriesParam, vis } from './mocks'; +import { valueAxis, seriesParam } from './mocks'; import { ChartType } from '../../../../../common'; describe('ChartOptions component', () => { @@ -29,7 +29,6 @@ describe('ChartOptions component', () => { defaultProps = { index: 0, chart, - vis, valueAxes: [valueAxis], setParamByIndex, changeValueAxis, diff --git a/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/chart_options.tsx b/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/chart_options.tsx index 76604383db8c5..6f0b4fc5c9d22 100644 --- a/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/chart_options.tsx +++ b/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/chart_options.tsx @@ -11,13 +11,15 @@ import React, { useMemo, useCallback } from 'react'; import { i18n } from '@kbn/i18n'; import { EuiFlexGroup, EuiFlexItem, EuiSpacer } from '@elastic/eui'; -import { Vis } from '../../../../../../visualizations/public'; import { SelectOption } from '../../../../../../vis_default_editor/public'; import { SeriesParam, ValueAxis } from '../../../../types'; import { LineOptions } from './line_options'; import { SetParamByIndex, ChangeValueAxis } from '.'; import { ChartType } from '../../../../../common'; +import { getConfigCollections } from '../../../collections'; + +const collections = getConfigCollections(); export type SetChart = (paramName: T, value: SeriesParam[T]) => void; @@ -27,14 +29,12 @@ export interface ChartOptionsParams { changeValueAxis: ChangeValueAxis; setParamByIndex: SetParamByIndex; valueAxes: ValueAxis[]; - vis: Vis; } function ChartOptions({ chart, index, valueAxes, - vis, changeValueAxis, setParamByIndex, }: ChartOptionsParams) { @@ -90,7 +90,7 @@ function ChartOptions({ label={i18n.translate('visTypeXy.controls.pointSeries.series.chartTypeLabel', { defaultMessage: 'Chart type', })} - options={vis.type.editorConfig.collections.chartTypes} + options={collections.chartTypes} paramName="type" value={chart.type} setValue={setChart} @@ -102,7 +102,7 @@ function ChartOptions({ label={i18n.translate('visTypeXy.controls.pointSeries.series.modeLabel', { defaultMessage: 'Mode', })} - options={vis.type.editorConfig.collections.chartModes} + options={collections.chartModes} paramName="mode" value={chart.mode} setValue={setChart} @@ -118,7 +118,7 @@ function ChartOptions({ label={i18n.translate('visTypeXy.controls.pointSeries.series.lineModeLabel', { defaultMessage: 'Line mode', })} - options={vis.type.editorConfig.collections.interpolationModes} + options={collections.interpolationModes} paramName="interpolate" value={chart.interpolate} setValue={setChart} @@ -126,7 +126,7 @@ function ChartOptions({ )} - {chart.type === ChartType.Line && } + {chart.type === ChartType.Line && } ); } diff --git a/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/index.tsx b/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/index.tsx index c295d909863dc..d25845f02e7a7 100644 --- a/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/index.tsx +++ b/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/index.tsx @@ -326,14 +326,12 @@ function MetricsAxisOptions(props: ValidationVisOptionsProps) { setMultipleValidity={props.setMultipleValidity} seriesParams={stateParams.seriesParams} valueAxes={stateParams.valueAxes} - vis={vis} /> ) : null; diff --git a/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/line_options.test.tsx b/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/line_options.test.tsx index c8a5e6f17b1ed..5497c46c1dd34 100644 --- a/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/line_options.test.tsx +++ b/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/line_options.test.tsx @@ -12,7 +12,7 @@ import { shallow } from 'enzyme'; import { NumberInputOption } from '../../../../../../vis_default_editor/public'; import { LineOptions, LineOptionsParams } from './line_options'; -import { seriesParam, vis } from './mocks'; +import { seriesParam } from './mocks'; const LINE_WIDTH = 'lineWidth'; const DRAW_LINES = 'drawLinesBetweenPoints'; @@ -26,7 +26,6 @@ describe('LineOptions component', () => { defaultProps = { chart: { ...seriesParam }, - vis, setChart, }; }); diff --git a/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/line_options.tsx b/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/line_options.tsx index b101ed1553a24..140f190c77181 100644 --- a/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/line_options.tsx +++ b/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/line_options.tsx @@ -11,7 +11,6 @@ import React, { useCallback } from 'react'; import { i18n } from '@kbn/i18n'; import { EuiFlexGroup, EuiFlexItem, EuiSpacer } from '@elastic/eui'; -import { Vis } from '../../../../../../visualizations/public'; import { NumberInputOption, SelectOption, @@ -20,14 +19,16 @@ import { import { SeriesParam } from '../../../../types'; import { SetChart } from './chart_options'; +import { getInterpolationModes } from '../../../collections'; + +const interpolationModes = getInterpolationModes(); export interface LineOptionsParams { chart: SeriesParam; - vis: Vis; setChart: SetChart; } -function LineOptions({ chart, vis, setChart }: LineOptionsParams) { +function LineOptions({ chart, setChart }: LineOptionsParams) { const setLineWidth = useCallback( (paramName: 'lineWidth', value: number | '') => { setChart(paramName, value === '' ? undefined : value); @@ -57,7 +58,7 @@ function LineOptions({ chart, vis, setChart }: LineOptionsParams) { label={i18n.translate('visTypeXy.controls.pointSeries.series.lineModeLabel', { defaultMessage: 'Line mode', })} - options={vis.type.editorConfig.collections.interpolationModes} + options={interpolationModes} paramName="interpolate" value={chart.interpolate} setValue={setChart} diff --git a/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/mocks.ts b/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/mocks.ts index 33e2af174753e..7451f6dea9039 100644 --- a/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/mocks.ts +++ b/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/mocks.ts @@ -20,12 +20,6 @@ import { AxisType, CategoryAxis, } from '../../../../types'; -import { - getScaleTypes, - getAxisModes, - getPositions, - getInterpolationModes, -} from '../../../collections'; import { ChartType } from '../../../../../common'; const defaultValueAxisId = 'ValueAxis-1'; @@ -85,16 +79,9 @@ const seriesParam: SeriesParam = { valueAxis: defaultValueAxisId, }; -const positions = getPositions(); -const axisModes = getAxisModes(); -const scaleTypes = getScaleTypes(); -const interpolationModes = getInterpolationModes(); - const vis = ({ type: { - editorConfig: { - collections: { scaleTypes, axisModes, positions, interpolationModes }, - }, + editorConfig: {}, }, } as any) as Vis; diff --git a/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/value_axes_panel.test.tsx b/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/value_axes_panel.test.tsx index 13dab168e586c..3e1a44993235b 100644 --- a/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/value_axes_panel.test.tsx +++ b/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/value_axes_panel.test.tsx @@ -14,7 +14,7 @@ import { Position } from '@elastic/charts'; import { ValueAxis, SeriesParam } from '../../../../types'; import { ValueAxesPanel, ValueAxesPanelProps } from './value_axes_panel'; -import { valueAxis, seriesParam, vis } from './mocks'; +import { valueAxis, seriesParam } from './mocks'; describe('ValueAxesPanel component', () => { let setParamByIndex: jest.Mock; @@ -53,7 +53,6 @@ describe('ValueAxesPanel component', () => { defaultProps = { seriesParams: [seriesParamCount, seriesParamAverage], valueAxes: [axisLeft, axisRight], - vis, setParamByIndex, onValueAxisPositionChanged, addValueAxis, diff --git a/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/value_axes_panel.tsx b/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/value_axes_panel.tsx index 5f874e0489370..02bdb7b185288 100644 --- a/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/value_axes_panel.tsx +++ b/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/value_axes_panel.tsx @@ -20,8 +20,6 @@ import { import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n/react'; -import { Vis } from '../../../../../../visualizations/public'; - import { SeriesParam, ValueAxis } from '../../../../types'; import { ValueAxisOptions } from './value_axis_options'; import { SetParamByIndex } from '.'; @@ -33,7 +31,6 @@ export interface ValueAxesPanelProps { setParamByIndex: SetParamByIndex; seriesParams: SeriesParam[]; valueAxes: ValueAxis[]; - vis: Vis; setMultipleValidity: (paramName: string, isValid: boolean) => void; } @@ -152,7 +149,6 @@ function ValueAxesPanel(props: ValueAxesPanelProps) { onValueAxisPositionChanged={props.onValueAxisPositionChanged} setParamByIndex={props.setParamByIndex} setMultipleValidity={props.setMultipleValidity} - vis={props.vis} /> diff --git a/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/value_axis_options.test.tsx b/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/value_axis_options.test.tsx index b843e7b5ab064..f2d689126166f 100644 --- a/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/value_axis_options.test.tsx +++ b/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/value_axis_options.test.tsx @@ -16,7 +16,7 @@ import { TextInputOption } from '../../../../../../vis_default_editor/public'; import { ValueAxis, ScaleType } from '../../../../types'; import { LabelOptions } from './label_options'; import { ValueAxisOptions, ValueAxisOptionsParams } from './value_axis_options'; -import { valueAxis, vis } from './mocks'; +import { valueAxis } from './mocks'; const POSITION = 'position'; @@ -37,7 +37,6 @@ describe('ValueAxisOptions component', () => { axis, index: 0, valueAxis, - vis, setParamByIndex, onValueAxisPositionChanged, setMultipleValidity, diff --git a/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/value_axis_options.tsx b/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/value_axis_options.tsx index d9e0302cbe516..1a38be83b9fc5 100644 --- a/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/value_axis_options.tsx +++ b/src/plugins/vis_type_xy/public/editor/components/options/metrics_axes/value_axis_options.tsx @@ -10,7 +10,6 @@ import React, { useCallback } from 'react'; import { i18n } from '@kbn/i18n'; import { EuiSpacer, EuiAccordion, EuiHorizontalRule } from '@elastic/eui'; -import { Vis } from '../../../../../../visualizations/public'; import { SelectOption, SwitchOption, @@ -21,6 +20,9 @@ import { ValueAxis } from '../../../../types'; import { LabelOptions, SetAxisLabel } from './label_options'; import { CustomExtentsOptions } from './custom_extents_options'; import { SetParamByIndex } from '.'; +import { getConfigCollections } from '../../../collections'; + +const collections = getConfigCollections(); export type SetScale = ( paramName: T, @@ -33,7 +35,6 @@ export interface ValueAxisOptionsParams { onValueAxisPositionChanged: (index: number, value: ValueAxis['position']) => void; setParamByIndex: SetParamByIndex; valueAxis: ValueAxis; - vis: Vis; setMultipleValidity: (paramName: string, isValid: boolean) => void; } @@ -41,7 +42,6 @@ export function ValueAxisOptions({ axis, index, valueAxis, - vis, onValueAxisPositionChanged, setParamByIndex, setMultipleValidity, @@ -101,7 +101,7 @@ export function ValueAxisOptions({ label={i18n.translate('visTypeXy.controls.pointSeries.valueAxes.positionLabel', { defaultMessage: 'Position', })} - options={vis.type.editorConfig.collections.positions} + options={collections.positions} paramName="position" value={axis.position} setValue={onPositionChanged} @@ -112,7 +112,7 @@ export function ValueAxisOptions({ label={i18n.translate('visTypeXy.controls.pointSeries.valueAxes.modeLabel', { defaultMessage: 'Mode', })} - options={vis.type.editorConfig.collections.axisModes} + options={collections.axisModes} paramName="mode" value={axis.scale.mode} setValue={setValueAxisScale} @@ -123,7 +123,7 @@ export function ValueAxisOptions({ label={i18n.translate('visTypeXy.controls.pointSeries.valueAxes.scaleTypeLabel', { defaultMessage: 'Scale type', })} - options={vis.type.editorConfig.collections.scaleTypes} + options={collections.scaleTypes} paramName="type" value={axis.scale.type} setValue={setValueAxisScale} diff --git a/src/plugins/vis_type_xy/public/editor/components/options/point_series/elastic_charts_options.tsx b/src/plugins/vis_type_xy/public/editor/components/options/point_series/elastic_charts_options.tsx index ecfbdf5b60528..5398980e268d4 100644 --- a/src/plugins/vis_type_xy/public/editor/components/options/point_series/elastic_charts_options.tsx +++ b/src/plugins/vis_type_xy/public/editor/components/options/point_series/elastic_charts_options.tsx @@ -22,11 +22,14 @@ import { ChartType } from '../../../../../common'; import { VisParams } from '../../../../types'; import { ValidationVisOptionsProps } from '../../common'; import { getPalettesService, getTrackUiMetric } from '../../../../services'; +import { getFittingFunctions } from '../../../collections'; + +const fittingFunctions = getFittingFunctions(); export function ElasticChartsOptions(props: ValidationVisOptionsProps) { const trackUiMetric = getTrackUiMetric(); const [palettesRegistry, setPalettesRegistry] = useState(null); - const { stateParams, setValue, vis, aggs } = props; + const { stateParams, setValue, aggs } = props; const hasLineChart = stateParams.seriesParams.some( ({ type, data: { id: paramId } }) => @@ -69,7 +72,7 @@ export function ElasticChartsOptions(props: ValidationVisOptionsProps label={i18n.translate('visTypeXy.editors.elasticChartsOptions.missingValuesLabel', { defaultMessage: 'Fill missing values', })} - options={vis.type.editorConfig.collections.fittingFunctions} + options={fittingFunctions} paramName="fittingFunction" value={stateParams.fittingFunction} setValue={(paramName, value) => { diff --git a/src/plugins/vis_type_xy/public/editor/components/options/point_series/point_series.tsx b/src/plugins/vis_type_xy/public/editor/components/options/point_series/point_series.tsx index 27e940e62489a..343976651d21e 100644 --- a/src/plugins/vis_type_xy/public/editor/components/options/point_series/point_series.tsx +++ b/src/plugins/vis_type_xy/public/editor/components/options/point_series/point_series.tsx @@ -20,6 +20,9 @@ import { ThresholdPanel } from './threshold_panel'; import { ChartType } from '../../../../../common'; import { ValidationVisOptionsProps } from '../../common'; import { ElasticChartsOptions } from './elastic_charts_options'; +import { getPositions } from '../../../collections'; + +const legendPositions = getPositions(); export function PointSeriesOptions( props: ValidationVisOptionsProps< @@ -54,7 +57,7 @@ export function PointSeriesOptions( - + {vis.data.aggs!.aggs.some( (agg) => agg.schema === 'segment' && agg.type.name === BUCKET_TYPES.DATE_HISTOGRAM diff --git a/src/plugins/vis_type_xy/public/editor/components/options/point_series/threshold_panel.tsx b/src/plugins/vis_type_xy/public/editor/components/options/point_series/threshold_panel.tsx index 943280b1373fb..dadbe4dd1fc76 100644 --- a/src/plugins/vis_type_xy/public/editor/components/options/point_series/threshold_panel.tsx +++ b/src/plugins/vis_type_xy/public/editor/components/options/point_series/threshold_panel.tsx @@ -19,12 +19,14 @@ import { } from '../../../../../../vis_default_editor/public'; import { ValidationVisOptionsProps } from '../../common'; import { VisParams } from '../../../../types'; +import { getThresholdLineStyles } from '../../../collections'; + +const thresholdLineStyles = getThresholdLineStyles(); function ThresholdPanel({ stateParams, setValue, setMultipleValidity, - vis, }: ValidationVisOptionsProps) { const setThresholdLine = useCallback( ( @@ -94,7 +96,7 @@ function ThresholdPanel({ label={i18n.translate('visTypeXy.editors.pointSeries.thresholdLine.styleLabel', { defaultMessage: 'Line style', })} - options={vis.type.editorConfig.collections.thresholdLineStyles} + options={thresholdLineStyles} paramName="style" value={stateParams.thresholdLine.style} setValue={setThresholdLine} diff --git a/src/plugins/vis_type_xy/public/sample_vis.test.mocks.ts b/src/plugins/vis_type_xy/public/sample_vis.test.mocks.ts index b45c30b46c79e..c425eb71117e8 100644 --- a/src/plugins/vis_type_xy/public/sample_vis.test.mocks.ts +++ b/src/plugins/vis_type_xy/public/sample_vis.test.mocks.ts @@ -1417,128 +1417,6 @@ export const sampleAreaVis = { }, }, editorConfig: { - collections: { - legendPositions: [ - { - text: 'Top', - value: 'top', - }, - { - text: 'Left', - value: 'left', - }, - { - text: 'Right', - value: 'right', - }, - { - text: 'Bottom', - value: 'bottom', - }, - ], - positions: [ - { - text: 'Top', - value: 'top', - }, - { - text: 'Left', - value: 'left', - }, - { - text: 'Right', - value: 'right', - }, - { - text: 'Bottom', - value: 'bottom', - }, - ], - chartTypes: [ - { - text: 'Line', - value: 'line', - }, - { - text: 'Area', - value: 'area', - }, - { - text: 'Bar', - value: 'histogram', - }, - ], - axisModes: [ - { - text: 'Normal', - value: 'normal', - }, - { - text: 'Percentage', - value: 'percentage', - }, - { - text: 'Wiggle', - value: 'wiggle', - }, - { - text: 'Silhouette', - value: 'silhouette', - }, - ], - scaleTypes: [ - { - text: 'Linear', - value: 'linear', - }, - { - text: 'Log', - value: 'log', - }, - { - text: 'Square root', - value: 'square root', - }, - ], - chartModes: [ - { - text: 'Normal', - value: 'normal', - }, - { - text: 'Stacked', - value: 'stacked', - }, - ], - interpolationModes: [ - { - text: 'Straight', - value: 'linear', - }, - { - text: 'Smoothed', - value: 'cardinal', - }, - { - text: 'Stepped', - value: 'step-after', - }, - ], - thresholdLineStyles: [ - { - value: 'full', - text: 'Full', - }, - { - value: 'dashed', - text: 'Dashed', - }, - { - value: 'dot-dashed', - text: 'Dot-dashed', - }, - ], - }, optionTabs: [ { name: 'advanced', diff --git a/src/plugins/vis_type_xy/public/vis_types/area.ts b/src/plugins/vis_type_xy/public/vis_types/area.ts index a118afb12d249..a61c25bbc075a 100644 --- a/src/plugins/vis_type_xy/public/vis_types/area.ts +++ b/src/plugins/vis_type_xy/public/vis_types/area.ts @@ -26,7 +26,6 @@ import { } from '../types'; import { toExpressionAst } from '../to_ast'; import { ChartType } from '../../common'; -import { getConfigCollections } from '../editor/collections'; import { getOptionTabs } from '../editor/common_config'; export const getAreaVisTypeDefinition = ( @@ -126,7 +125,6 @@ export const getAreaVisTypeDefinition = ( }, }, editorConfig: { - collections: getConfigCollections(), optionTabs: getOptionTabs(showElasticChartsOptions), schemas: [ { diff --git a/src/plugins/vis_type_xy/public/vis_types/histogram.ts b/src/plugins/vis_type_xy/public/vis_types/histogram.ts index 72d34f70b1a13..2c2a83b48802d 100644 --- a/src/plugins/vis_type_xy/public/vis_types/histogram.ts +++ b/src/plugins/vis_type_xy/public/vis_types/histogram.ts @@ -25,7 +25,6 @@ import { } from '../types'; import { toExpressionAst } from '../to_ast'; import { ChartType } from '../../common'; -import { getConfigCollections } from '../editor/collections'; import { getOptionTabs } from '../editor/common_config'; import { defaultCountLabel, LabelRotation } from '../../../charts/public'; @@ -129,7 +128,6 @@ export const getHistogramVisTypeDefinition = ( }, }, editorConfig: { - collections: getConfigCollections(), optionTabs: getOptionTabs(showElasticChartsOptions), schemas: [ { diff --git a/src/plugins/vis_type_xy/public/vis_types/horizontal_bar.ts b/src/plugins/vis_type_xy/public/vis_types/horizontal_bar.ts index 751803c07aa8d..75c4ddd75d0b3 100644 --- a/src/plugins/vis_type_xy/public/vis_types/horizontal_bar.ts +++ b/src/plugins/vis_type_xy/public/vis_types/horizontal_bar.ts @@ -25,7 +25,6 @@ import { } from '../types'; import { toExpressionAst } from '../to_ast'; import { ChartType } from '../../common'; -import { getConfigCollections } from '../editor/collections'; import { getOptionTabs } from '../editor/common_config'; import { defaultCountLabel, LabelRotation } from '../../../charts/public'; @@ -128,7 +127,6 @@ export const getHorizontalBarVisTypeDefinition = ( }, }, editorConfig: { - collections: getConfigCollections(), optionTabs: getOptionTabs(showElasticChartsOptions), schemas: [ { diff --git a/src/plugins/vis_type_xy/public/vis_types/line.ts b/src/plugins/vis_type_xy/public/vis_types/line.ts index 75e4ebe09e3f7..87165a20592e5 100644 --- a/src/plugins/vis_type_xy/public/vis_types/line.ts +++ b/src/plugins/vis_type_xy/public/vis_types/line.ts @@ -26,7 +26,6 @@ import { } from '../types'; import { toExpressionAst } from '../to_ast'; import { ChartType } from '../../common'; -import { getConfigCollections } from '../editor/collections'; import { getOptionTabs } from '../editor/common_config'; export const getLineVisTypeDefinition = ( @@ -126,7 +125,6 @@ export const getLineVisTypeDefinition = ( }, }, editorConfig: { - collections: getConfigCollections(), optionTabs: getOptionTabs(showElasticChartsOptions), schemas: [ { diff --git a/src/plugins/visualizations/public/types.ts b/src/plugins/visualizations/public/types.ts index 8dceee8e0010a..6241f9ee4ae12 100644 --- a/src/plugins/visualizations/public/types.ts +++ b/src/plugins/visualizations/public/types.ts @@ -20,7 +20,6 @@ import { PersistedState } from './persisted_state'; import { VisParams } from '../common'; export { Vis, SerializedVis, VisParams }; - export interface SavedVisState { title: string; type: string; diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index b472655bf9028..3cfaaba5f8538 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -3367,14 +3367,14 @@ "tileMap.geohashLayer.mapTitle": "{mapType} マップタイプが認識されません", "tileMap.tooltipFormatter.latitudeLabel": "緯度", "tileMap.tooltipFormatter.longitudeLabel": "経度", - "tileMap.vis.editorConfig.legendPositions.bottomLeftText": "左下", - "tileMap.vis.editorConfig.legendPositions.bottomRightText": "右下", - "tileMap.vis.editorConfig.legendPositions.topLeftText": "左上", - "tileMap.vis.editorConfig.legendPositions.topRightText": "右上", - "tileMap.vis.editorConfig.mapTypes.heatmapText": "ヒートマップ", - "tileMap.vis.editorConfig.mapTypes.scaledCircleMarkersText": "スケーリングされた円マーカー", - "tileMap.vis.editorConfig.mapTypes.shadedCircleMarkersText": "影付き円マーカー", - "tileMap.vis.editorConfig.mapTypes.shadedGeohashGridText": "影付きジオハッシュグリッド", + "tileMap.legendPositions.bottomLeftText": "左下", + "tileMap.legendPositions.bottomRightText": "右下", + "tileMap.legendPositions.topLeftText": "左上", + "tileMap.legendPositions.topRightText": "右上", + "tileMap.mapTypes.heatmapText": "ヒートマップ", + "tileMap.mapTypes.scaledCircleMarkersText": "スケーリングされた円マーカー", + "tileMap.mapTypes.shadedCircleMarkersText": "影付き円マーカー", + "tileMap.mapTypes.shadedGeohashGridText": "影付きジオハッシュグリッド", "tileMap.vis.map.editorConfig.schemas.geoCoordinatesTitle": "座標", "tileMap.vis.map.editorConfig.schemas.metricTitle": "値", "tileMap.vis.mapDescription": "マップ上に緯度と経度の座標を表示します。", @@ -3967,12 +3967,12 @@ "visTypeTagCloud.function.metric.help": "メトリックディメンションの構成です。", "visTypeTagCloud.function.orientation.help": "タグクラウド内の単語の方向です。", "visTypeTagCloud.function.scale.help": "単語のフォントサイズを決定するスケールです", - "visTypeTagCloud.vis.editorConfig.orientations.multipleText": "複数", - "visTypeTagCloud.vis.editorConfig.orientations.rightAngledText": "直角", - "visTypeTagCloud.vis.editorConfig.orientations.singleText": "単一", - "visTypeTagCloud.vis.editorConfig.scales.linearText": "線形", - "visTypeTagCloud.vis.editorConfig.scales.logText": "ログ", - "visTypeTagCloud.vis.editorConfig.scales.squareRootText": "平方根", + "visTypeTagCloud.orientations.multipleText": "複数", + "visTypeTagCloud.orientations.rightAngledText": "直角", + "visTypeTagCloud.orientations.singleText": "単一", + "visTypeTagCloud.scales.linearText": "線形", + "visTypeTagCloud.scales.logText": "ログ", + "visTypeTagCloud.scales.squareRootText": "平方根", "visTypeTagCloud.vis.schemas.metricTitle": "タグサイズ", "visTypeTagCloud.vis.schemas.segmentTitle": "タグ", "visTypeTagCloud.vis.tagCloudDescription": "単語の頻度とフォントサイズを表示します。", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 135aa92fb0b1b..ebc0c6f88ecfa 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -3371,14 +3371,14 @@ "tileMap.geohashLayer.mapTitle": "{mapType} 地图类型无法识别", "tileMap.tooltipFormatter.latitudeLabel": "纬度", "tileMap.tooltipFormatter.longitudeLabel": "经度", - "tileMap.vis.editorConfig.legendPositions.bottomLeftText": "左下方", - "tileMap.vis.editorConfig.legendPositions.bottomRightText": "右下方", - "tileMap.vis.editorConfig.legendPositions.topLeftText": "左上方", - "tileMap.vis.editorConfig.legendPositions.topRightText": "右上方", - "tileMap.vis.editorConfig.mapTypes.heatmapText": "热图", - "tileMap.vis.editorConfig.mapTypes.scaledCircleMarkersText": "缩放式圆形标记", - "tileMap.vis.editorConfig.mapTypes.shadedCircleMarkersText": "带阴影圆形标记", - "tileMap.vis.editorConfig.mapTypes.shadedGeohashGridText": "带阴影 geohash 网格", + "tileMap.legendPositions.bottomLeftText": "左下方", + "tileMap.legendPositions.bottomRightText": "右下方", + "tileMap.legendPositions.topLeftText": "左上方", + "tileMap.legendPositions.topRightText": "右上方", + "tileMap.mapTypes.heatmapText": "热图", + "tileMap.mapTypes.scaledCircleMarkersText": "缩放式圆形标记", + "tileMap.mapTypes.shadedCircleMarkersText": "带阴影圆形标记", + "tileMap.mapTypes.shadedGeohashGridText": "带阴影 geohash 网格", "tileMap.vis.map.editorConfig.schemas.geoCoordinatesTitle": "地理坐标", "tileMap.vis.map.editorConfig.schemas.metricTitle": "值", "tileMap.vis.mapDescription": "在地图上绘制纬度和经度坐标", @@ -3971,12 +3971,12 @@ "visTypeTagCloud.function.metric.help": "指标维度配置", "visTypeTagCloud.function.orientation.help": "标签云图内的字方向", "visTypeTagCloud.function.scale.help": "缩放以确定字体大小", - "visTypeTagCloud.vis.editorConfig.orientations.multipleText": "多个", - "visTypeTagCloud.vis.editorConfig.orientations.rightAngledText": "直角", - "visTypeTagCloud.vis.editorConfig.orientations.singleText": "单个", - "visTypeTagCloud.vis.editorConfig.scales.linearText": "线性", - "visTypeTagCloud.vis.editorConfig.scales.logText": "对数", - "visTypeTagCloud.vis.editorConfig.scales.squareRootText": "平方根", + "visTypeTagCloud.orientations.multipleText": "多个", + "visTypeTagCloud.orientations.rightAngledText": "直角", + "visTypeTagCloud.orientations.singleText": "单个", + "visTypeTagCloud.scales.linearText": "线性", + "visTypeTagCloud.scales.logText": "对数", + "visTypeTagCloud.scales.squareRootText": "平方根", "visTypeTagCloud.vis.schemas.metricTitle": "标签大小", "visTypeTagCloud.vis.schemas.segmentTitle": "标签", "visTypeTagCloud.vis.tagCloudDescription": "使用字体大小显示词频。",