diff --git a/common/constants/metrics.ts b/common/constants/metrics.ts index 853ef28658..d180ea9536 100644 --- a/common/constants/metrics.ts +++ b/common/constants/metrics.ts @@ -24,13 +24,13 @@ export const resolutionOptions = [ { value: 'y', text: 'years' }, ]; -export const DEFAULT_METRIC_HEIGHT = 2; +export const DEFAULT_METRIC_HEIGHT = 3; export const DEFAULT_METRIC_WIDTH = 12; export const AGGREGATION_OPTIONS = [ - { label: 'avg' }, - { label: 'sum' }, - { label: 'count' }, - { label: 'min' }, - { label: 'max' }, + { value: 'avg', text: 'avg()' }, + { value: 'sum', text: 'sum()' }, + { value: 'count', text: 'count()' }, + { value: 'min', text: 'min()' }, + { value: 'max', text: 'max()' }, ]; diff --git a/common/constants/shared.ts b/common/constants/shared.ts index f26a598204..79d4b0cab7 100644 --- a/common/constants/shared.ts +++ b/common/constants/shared.ts @@ -203,7 +203,7 @@ export const DEFAULT_CHART_STYLES: DefaultChartStylesProps = { FillOpacity: 100, MarkerSize: 5, ShowLegend: 'show', - LegendPosition: 'v', + LegendPosition: 'h', LabelAngle: 0, DefaultSortSectors: 'largest_to_smallest', DefaultModeScatter: 'markers', diff --git a/common/types/metrics.ts b/common/types/metrics.ts index 64ebd07aba..7cefde98b8 100644 --- a/common/types/metrics.ts +++ b/common/types/metrics.ts @@ -5,12 +5,6 @@ import { VisualizationType } from './custom_panels'; -export interface MetricData { - metricId: string; - metricType: 'savedCustomMetric' | 'prometheusMetric'; - metricName: string; -} - export interface MetricType extends VisualizationType { id: string; savedVisualizationId: string; @@ -18,5 +12,11 @@ export interface MetricType extends VisualizationType { y: number; w: number; h: number; - metricType: 'savedCustomMetric' | 'prometheusMetric'; + query: { + type: 'savedCustomMetric' | 'prometheusMetric'; + aggregation: string; + attributesGroupBy: string[]; + catalog: string; + availableAttributes?: string[]; + }; } diff --git a/public/components/application_analytics/helpers/utils.tsx b/public/components/application_analytics/helpers/utils.tsx index 08ba77f32e..025ea1a49d 100644 --- a/public/components/application_analytics/helpers/utils.tsx +++ b/public/components/application_analytics/helpers/utils.tsx @@ -218,7 +218,7 @@ export const calculateAvailability = async ( const visData = await fetchVisualizationById(http, visualizationId, (value: string) => console.error(value) ); - const userConfigs = visData.user_configs ? JSON.parse(visData.user_configs) : {}; + const userConfigs = visData.user_configs || {}; // If there are levels, we get the current value if (userConfigs.availabilityConfig?.hasOwnProperty('level')) { // For every saved visualization with availability levels we push it to visWithAvailability diff --git a/public/components/custom_panels/helpers/__tests__/__snapshots__/utils.test.tsx.snap b/public/components/custom_panels/helpers/__tests__/__snapshots__/utils.test.tsx.snap index 6a90951816..8142c0e69b 100644 --- a/public/components/custom_panels/helpers/__tests__/__snapshots__/utils.test.tsx.snap +++ b/public/components/custom_panels/helpers/__tests__/__snapshots__/utils.test.tsx.snap @@ -257,7 +257,7 @@ exports[`Utils helper functions renders displayVisualization function 1`] = ` "props": Object { "defaultSelections": Array [ Object { - "id": "v", + "id": "h", "name": "Right", }, ], @@ -420,7 +420,7 @@ exports[`Utils helper functions renders displayVisualization function 1`] = ` "id": "bar", "label": "Vertical bar", "labelangle": 0, - "legendposition": "v", + "legendposition": "h", "linewidth": 0, "mode": "group", "name": "bar", @@ -712,7 +712,7 @@ exports[`Utils helper functions renders displayVisualization function 1`] = ` "props": Object { "defaultSelections": Array [ Object { - "id": "v", + "id": "h", "name": "Right", }, ], @@ -875,7 +875,7 @@ exports[`Utils helper functions renders displayVisualization function 1`] = ` "id": "bar", "label": "Vertical bar", "labelangle": 0, - "legendposition": "v", + "legendposition": "h", "linewidth": 0, "mode": "group", "name": "bar", @@ -919,7 +919,23 @@ exports[`Utils helper functions renders displayVisualization function 1`] = ` "responsive": true, } } - layout={[Function]} + layout={ + Object { + "height": 1180, + "legend": Object { + "orientation": "v", + "traceorder": "normal", + }, + "margin": Object { + "b": 30, + "l": 60, + "pad": 0, + "r": 30, + "t": 50, + }, + "showlegend": true, + } + } visualizations={ Object { "data": Object { @@ -1174,7 +1190,7 @@ exports[`Utils helper functions renders displayVisualization function 1`] = ` "props": Object { "defaultSelections": Array [ Object { - "id": "v", + "id": "h", "name": "Right", }, ], @@ -1337,7 +1353,7 @@ exports[`Utils helper functions renders displayVisualization function 1`] = ` "id": "bar", "label": "Vertical bar", "labelangle": 0, - "legendposition": "v", + "legendposition": "h", "linewidth": 0, "mode": "group", "name": "bar", @@ -1433,9 +1449,11 @@ exports[`Utils helper functions renders displayVisualization function 1`] = ` "#BD6F26", "#4C636F", ], + "height": 1180, "hovermode": "closest", "legend": Object { - "orientation": "v", + "orientation": "h", + "traceorder": "normal", }, "margin": Object { "b": 30, @@ -1526,9 +1544,11 @@ exports[`Utils helper functions renders displayVisualization function 1`] = ` "#BD6F26", "#4C636F", ], + "height": 1180, "hovermode": "closest", "legend": Object { - "orientation": "v", + "orientation": "h", + "traceorder": "normal", }, "margin": Object { "b": 30, @@ -1792,7 +1812,7 @@ exports[`Utils helper functions renders displayVisualization function 2`] = ` "props": Object { "defaultSelections": Array [ Object { - "id": "v", + "id": "h", "name": "Right", }, ], @@ -2308,7 +2328,7 @@ exports[`Utils helper functions renders displayVisualization function 2`] = ` "props": Object { "defaultSelections": Array [ Object { - "id": "v", + "id": "h", "name": "Right", }, ], @@ -2628,7 +2648,47 @@ exports[`Utils helper functions renders displayVisualization function 2`] = ` }, } } - layout={[Function]} + layout={ + Object { + "colorway": Array [ + "#3CA1C7", + "#8C55A3", + "#DB748A", + "#F2BE4B", + "#68CCC2", + "#2A7866", + "#843769", + "#374FB8", + "#BD6F26", + "#4C636F", + ], + "height": 1180, + "legend": Object { + "orientation": "v", + "traceorder": "normal", + }, + "margin": Object { + "b": 30, + "l": 60, + "pad": 0, + "r": 30, + "t": 50, + }, + "paper_bgcolor": "rgba(0, 0, 0, 0)", + "plot_bgcolor": "rgba(0, 0, 0, 0)", + "showlegend": true, + "xaxis": Object { + "fixedrange": true, + "showgrid": false, + "visible": true, + }, + "yaxis": Object { + "fixedrange": true, + "showgrid": false, + "visible": true, + }, + } + } visualizations={ Object { "data": Object { @@ -2838,7 +2898,7 @@ exports[`Utils helper functions renders displayVisualization function 2`] = ` "props": Object { "defaultSelections": Array [ Object { - "id": "v", + "id": "h", "name": "Right", }, ], @@ -3205,8 +3265,22 @@ exports[`Utils helper functions renders displayVisualization function 2`] = ` layout={ Object { "autosize": true, + "colorway": Array [ + "#3CA1C7", + "#8C55A3", + "#DB748A", + "#F2BE4B", + "#68CCC2", + "#2A7866", + "#843769", + "#374FB8", + "#BD6F26", + "#4C636F", + ], + "height": 1180, "legend": Object { - "orientation": "v", + "orientation": "h", + "traceorder": "normal", }, "margin": Object { "b": 30, @@ -3215,6 +3289,8 @@ exports[`Utils helper functions renders displayVisualization function 2`] = ` "r": 5, "t": 50, }, + "paper_bgcolor": "rgba(0, 0, 0, 0)", + "plot_bgcolor": "rgba(0, 0, 0, 0)", "shapes": Array [], "showlegend": true, "title": "", @@ -3295,9 +3371,23 @@ exports[`Utils helper functions renders displayVisualization function 2`] = ` Object { "autosize": true, "barmode": "stack", + "colorway": Array [ + "#3CA1C7", + "#8C55A3", + "#DB748A", + "#F2BE4B", + "#68CCC2", + "#2A7866", + "#843769", + "#374FB8", + "#BD6F26", + "#4C636F", + ], + "height": 1180, "hovermode": "closest", "legend": Object { - "orientation": "v", + "orientation": "h", + "traceorder": "normal", }, "margin": Object { "b": 30, @@ -3306,6 +3396,8 @@ exports[`Utils helper functions renders displayVisualization function 2`] = ` "r": 5, "t": 50, }, + "paper_bgcolor": "rgba(0, 0, 0, 0)", + "plot_bgcolor": "rgba(0, 0, 0, 0)", "shapes": Array [], "showlegend": true, "title": "", @@ -3602,7 +3694,7 @@ exports[`Utils helper functions renders displayVisualization function 3`] = ` "props": Object { "defaultSelections": Array [ Object { - "id": "v", + "id": "h", "name": "Right", }, ], @@ -3765,7 +3857,7 @@ exports[`Utils helper functions renders displayVisualization function 3`] = ` "id": "horizontal_bar", "label": "Horizontal bar", "labelangle": 0, - "legendposition": "v", + "legendposition": "h", "linewidth": 0, "mode": "group", "name": "horizontal_bar", @@ -4057,7 +4149,7 @@ exports[`Utils helper functions renders displayVisualization function 3`] = ` "props": Object { "defaultSelections": Array [ Object { - "id": "v", + "id": "h", "name": "Right", }, ], @@ -4220,7 +4312,7 @@ exports[`Utils helper functions renders displayVisualization function 3`] = ` "id": "horizontal_bar", "label": "Horizontal bar", "labelangle": 0, - "legendposition": "v", + "legendposition": "h", "linewidth": 0, "mode": "group", "name": "horizontal_bar", @@ -4264,7 +4356,23 @@ exports[`Utils helper functions renders displayVisualization function 3`] = ` "responsive": true, } } - layout={[Function]} + layout={ + Object { + "height": 1180, + "legend": Object { + "orientation": "v", + "traceorder": "normal", + }, + "margin": Object { + "b": 30, + "l": 60, + "pad": 0, + "r": 30, + "t": 50, + }, + "showlegend": true, + } + } visualizations={ Object { "data": Object { @@ -4519,7 +4627,7 @@ exports[`Utils helper functions renders displayVisualization function 3`] = ` "props": Object { "defaultSelections": Array [ Object { - "id": "v", + "id": "h", "name": "Right", }, ], @@ -4682,7 +4790,7 @@ exports[`Utils helper functions renders displayVisualization function 3`] = ` "id": "horizontal_bar", "label": "Horizontal bar", "labelangle": 0, - "legendposition": "v", + "legendposition": "h", "linewidth": 0, "mode": "group", "name": "horizontal_bar", @@ -4778,9 +4886,11 @@ exports[`Utils helper functions renders displayVisualization function 3`] = ` "#BD6F26", "#4C636F", ], + "height": 1180, "hovermode": "closest", "legend": Object { - "orientation": "v", + "orientation": "h", + "traceorder": "normal", }, "margin": Object { "b": 30, @@ -4871,9 +4981,11 @@ exports[`Utils helper functions renders displayVisualization function 3`] = ` "#BD6F26", "#4C636F", ], + "height": 1180, "hovermode": "closest", "legend": Object { - "orientation": "v", + "orientation": "h", + "traceorder": "normal", }, "margin": Object { "b": 30, diff --git a/public/components/custom_panels/helpers/utils.tsx b/public/components/custom_panels/helpers/utils.tsx index ec864cb548..c0b078b59e 100644 --- a/public/components/custom_panels/helpers/utils.tsx +++ b/public/components/custom_panels/helpers/utils.tsx @@ -397,14 +397,13 @@ export const renderCatalogVisualization = async ({ const catalogSourceName = catalogSource.split('.')[0]; const catalogTableName = catalogSource.split('.')[1]; - const defaultAggregation = 'avg'; // pass in attributes to this function - const attributes: string[] = []; + const defaultAggregation = 'avg'; const visualizationQuery = updateCatalogVisualizationQuery({ catalogSourceName, catalogTableName, - aggregation: defaultAggregation, - attributesGroupBy: attributes, + aggregation: queryMetaData.aggregation, + attributesGroupBy: queryMetaData.attributesGroupBy, startTime, endTime, spanParam, diff --git a/public/components/custom_panels/panel_modules/panel_grid/panel_grid.tsx b/public/components/custom_panels/panel_modules/panel_grid/panel_grid.tsx index dc70ba7fd9..3f4754c23f 100644 --- a/public/components/custom_panels/panel_modules/panel_grid/panel_grid.tsx +++ b/public/components/custom_panels/panel_modules/panel_grid/panel_grid.tsx @@ -3,7 +3,6 @@ * SPDX-License-Identifier: Apache-2.0 */ /* eslint-disable react-hooks/exhaustive-deps */ -/* eslint-disable no-console */ import _ from 'lodash'; import React, { useEffect, useState } from 'react'; @@ -109,6 +108,7 @@ export const PanelGrid = (props: PanelGridProps) => { pplFilterValue={pplFilterValue} showFlyout={showFlyout} removeVisualization={removeVisualization} + contextMenuId="visualization" /> ) ); diff --git a/public/components/custom_panels/panel_modules/panel_grid/panel_grid_so.tsx b/public/components/custom_panels/panel_modules/panel_grid/panel_grid_so.tsx index a2fa5e02b5..a4bf9c2197 100644 --- a/public/components/custom_panels/panel_modules/panel_grid/panel_grid_so.tsx +++ b/public/components/custom_panels/panel_modules/panel_grid/panel_grid_so.tsx @@ -105,6 +105,7 @@ export const PanelGridSO = (props: PanelGridProps) => { pplFilterValue={pplFilterValue} showFlyout={showFlyout} removeVisualization={removeVisualization} + contextMenuId="visualization" /> ) ); diff --git a/public/components/custom_panels/panel_modules/visualization_container/__tests__/__snapshots__/visualization_container.test.tsx.snap b/public/components/custom_panels/panel_modules/visualization_container/__tests__/__snapshots__/visualization_container.test.tsx.snap index 4ba3e3ec34..a38755e252 100644 --- a/public/components/custom_panels/panel_modules/visualization_container/__tests__/__snapshots__/visualization_container.test.tsx.snap +++ b/public/components/custom_panels/panel_modules/visualization_container/__tests__/__snapshots__/visualization_container.test.tsx.snap @@ -1,156 +1,169 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Visualization Container Component renders add visualization container 1`] = ` - - -
- -
- -
- -
- - -
- - -
-
-
-
- -
+
+ + +
+ +
+ + - - - - - -
- -
- - -
- + + + +
+ + + + +
- - - - - - + className="euiLoadingChart euiLoadingChart--mono visualization-loading-chart euiLoadingChart--xLarge" + > + + + + + + +
- -
-
+ + + `; diff --git a/public/components/custom_panels/panel_modules/visualization_container/__tests__/visualization_container.test.tsx b/public/components/custom_panels/panel_modules/visualization_container/__tests__/visualization_container.test.tsx index 9ea46f4d42..507208fad0 100644 --- a/public/components/custom_panels/panel_modules/visualization_container/__tests__/visualization_container.test.tsx +++ b/public/components/custom_panels/panel_modules/visualization_container/__tests__/visualization_container.test.tsx @@ -15,6 +15,9 @@ import { sampleSavedVisualization, samplePPLResponse, } from '../../../../../../test/panels_constants'; +import { createStore } from '@reduxjs/toolkit'; +import { rootReducer } from '../../../../../framework/redux/reducers'; +import { Provider } from 'react-redux'; describe('Visualization Container Component', () => { configure({ adapter: new Adapter() }); @@ -28,6 +31,9 @@ describe('Visualization Container Component', () => { Promise.resolve((samplePPLResponse as unknown) as HttpResponse) ); + // configure({ adapter: new Adapter() }); + const store = createStore(rootReducer); + const editMode = true; const visualizationId = 'panel_viz_9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'; const savedVisualizationId = 'oiuccXwBYVazWqOO1e06'; @@ -44,21 +50,24 @@ describe('Visualization Container Component', () => { }; const wrapper = mount( - + + + ); wrapper.update(); diff --git a/public/components/custom_panels/panel_modules/visualization_container/visualization_container.scss b/public/components/custom_panels/panel_modules/visualization_container/visualization_container.scss index 0130b340fb..6003ce53bb 100644 --- a/public/components/custom_panels/panel_modules/visualization_container/visualization_container.scss +++ b/public/components/custom_panels/panel_modules/visualization_container/visualization_container.scss @@ -34,6 +34,43 @@ text-align: center; } +.metricVis { + #metricsEditInline { + /* for ... reasons (?), margin here causes + other rules to activate... providing + a more-correct display. + */ + margin: 0 0px; + } + + + #aggregation__field { + .euiFormLabel { + width: 130px + } + } + + // #explorerPlotComponent { + // //overflow: hidden; + // } + // + .svg-container { + //height: 425px !important; + margin-top: -25px !important; + } + + // .main-svg { + // //margin-top: -10px; + // //height: calc(100% - 10px); + // } + // + + .main-svg { + margin-top: -10px; + //height: calc(100% - 60px); + } +} + %center-div { top: 50%; left: 50%; diff --git a/public/components/custom_panels/panel_modules/visualization_container/visualization_container.tsx b/public/components/custom_panels/panel_modules/visualization_container/visualization_container.tsx index a5fb524740..68db6d60fc 100644 --- a/public/components/custom_panels/panel_modules/visualization_container/visualization_container.tsx +++ b/public/components/custom_panels/panel_modules/visualization_container/visualization_container.tsx @@ -26,6 +26,7 @@ import { } from '@elastic/eui'; import React, { useEffect, useMemo, useState } from 'react'; import _ from 'lodash'; +import { useSelector } from 'react-redux'; import { displayVisualization, renderCatalogVisualization, @@ -33,6 +34,8 @@ import { } from '../../helpers/utils'; import './visualization_container.scss'; import { VizContainerError } from '../../../../../common/types/custom_panels'; +import { MetricsEditInline } from '../../../metrics/sidebar/metrics_edit_inline'; +import { metricQuerySelector } from '../../../metrics/redux/slices/metrics_slice'; import { coreRefs } from '../../../../framework/core_refs'; /* @@ -71,6 +74,7 @@ interface Props { removeVisualization?: (visualizationId: string) => void; catalogVisualization?: boolean; spanParam?: string; + contextMenuId: 'visualization' | 'notebook' | 'metrics'; } export const VisualizationContainer = ({ @@ -88,6 +92,7 @@ export const VisualizationContainer = ({ removeVisualization, catalogVisualization, spanParam, + contextMenuId, }: Props) => { const [isPopoverOpen, setIsPopoverOpen] = useState(false); const [visualizationTitle, setVisualizationTitle] = useState(''); @@ -103,6 +108,7 @@ export const VisualizationContainer = ({ const [isModalVisible, setIsModalVisible] = useState(false); const [modalContent, setModalContent] = useState(<>); + const queryMetaData = useSelector(metricQuerySelector(visualizationId)); const closeModal = () => setIsModalVisible(false); const showModal = (modalType: string) => { if (modalType === 'catalogModal') @@ -211,12 +217,13 @@ export const VisualizationContainer = ({ popoverPanel = catalogVisualization ? [showModelPanel] : [popoverPanel[0]]; } - const loadVisaulization = async () => { - if (catalogVisualization) + const loadVisualization = async () => { + console.log('loadVisualization'); + if (catalogVisualization) { await renderCatalogVisualization({ http, pplService, - catalogSource: savedVisualizationId, + catalogSource: visualizationId, startTime: fromTime, endTime: toTime, filterQuery: pplFilterValue, @@ -227,8 +234,10 @@ export const VisualizationContainer = ({ setVisualizationMetaData, setIsLoading, setIsError, + queryMetaData, }); - else + console.log('loadVisualization renderCatalogVisualization complete'); + } else { await renderSavedVisualization( http, pplService, @@ -244,6 +253,8 @@ export const VisualizationContainer = ({ setIsLoading, setIsError ); + console.log('loadVisualization renderSavedVisualization complete'); + } }; const memoisedVisualizationBox = useMemo( @@ -280,14 +291,20 @@ export const VisualizationContainer = ({ ); useEffect(() => { - loadVisaulization(); - }, [onRefresh]); + loadVisualization(); + }, []); + + // useEffect(() => { + // if (catalogVisualization) loadVisaulization(); + // }, [queryMetaData]); + + const metricVisCssClassName = catalogVisualization ? 'metricVis' : ''; return ( <>
@@ -333,6 +350,7 @@ export const VisualizationContainer = ({ )} + {catalogVisualization && }
{memoisedVisualizationBox}
diff --git a/public/components/event_analytics/explorer/explorer.tsx b/public/components/event_analytics/explorer/explorer.tsx index 52c9abaa9f..146cb3ad22 100644 --- a/public/components/event_analytics/explorer/explorer.tsx +++ b/public/components/event_analytics/explorer/explorer.tsx @@ -118,6 +118,7 @@ import { Sidebar } from './sidebar'; import { TimechartHeader } from './timechart_header'; import { ExplorerVisualizations } from './visualizations'; import { CountDistribution } from './visualizations/count_distribution'; +import { processMetricsData } from '../../custom_panels/helpers/utils'; export const Explorer = ({ pplService, @@ -627,17 +628,22 @@ export const Explorer = ({ isOverridingPattern, ]); + const visualizationSettings = !isEmpty(userVizConfigs[curVisId]) + ? { ...userVizConfigs[curVisId] } + : { + dataConfig: getDefaultVisConfig(queryManager.queryParser().parse(tempQuery).getStats()), + }; + const visualizations: IVisualizationContainerProps = useMemo(() => { return getVizContainerProps({ vizId: curVisId, rawVizData: explorerVisualizations, query, indexFields: explorerFields, - userConfigs: !isEmpty(userVizConfigs[curVisId]) - ? { ...userVizConfigs[curVisId] } - : { - dataConfig: getDefaultVisConfig(queryManager.queryParser().parse(tempQuery).getStats()), - }, + userConfigs: { + ...visualizationSettings, + ...processMetricsData(explorerData.schema, visualizationSettings), + }, appData: { fromApp: appLogEvents }, explorer: { explorerData, explorerFields, query, http, pplService }, }); diff --git a/public/components/event_analytics/explorer/visualizations/config_panel/__tests__/__snapshots__/config_panel.test.tsx.snap b/public/components/event_analytics/explorer/visualizations/config_panel/__tests__/__snapshots__/config_panel.test.tsx.snap index 5be9321c75..274509c955 100644 --- a/public/components/event_analytics/explorer/visualizations/config_panel/__tests__/__snapshots__/config_panel.test.tsx.snap +++ b/public/components/event_analytics/explorer/visualizations/config_panel/__tests__/__snapshots__/config_panel.test.tsx.snap @@ -465,7 +465,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] "props": Object { "defaultSelections": Array [ Object { - "id": "v", + "id": "h", "name": "Right", }, ], @@ -628,7 +628,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] "id": "bar", "label": "Vertical bar", "labelangle": 0, - "legendposition": "v", + "legendposition": "h", "linewidth": 0, "mode": "group", "name": "bar", @@ -787,7 +787,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] "props": Object { "defaultSelections": Array [ Object { - "id": "v", + "id": "h", "name": "Right", }, ], @@ -951,7 +951,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] "id": "bar", "label": "Vertical bar", "labelangle": 0, - "legendposition": "v", + "legendposition": "h", "linewidth": 0, "mode": "group", "name": "bar", @@ -1092,7 +1092,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] "props": Object { "defaultSelections": Array [ Object { - "id": "v", + "id": "h", "name": "Right", }, ], @@ -1255,7 +1255,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] "id": "horizontal_bar", "label": "Horizontal bar", "labelangle": 0, - "legendposition": "v", + "legendposition": "h", "linewidth": 0, "mode": "group", "name": "horizontal_bar", @@ -1337,7 +1337,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] "props": Object { "defaultSelections": Array [ Object { - "id": "v", + "id": "h", "name": "Right", }, ], @@ -1688,13 +1688,13 @@ exports[`Config panel component Renders config panel with visualization data 1`] "props": Object { "defaultSelections": Array [ Object { - "id": "v", + "id": "h", "name": "Right", }, ], "options": Array [ Object { - "id": "v", + "id": "h", "name": "Right", }, Object { @@ -1821,7 +1821,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] "icontype": "visPie", "id": "pie", "label": "Pie", - "legendposition": "v", + "legendposition": "h", "mode": "pie", "name": "pie", "seriesaxis": "yaxis", @@ -2484,7 +2484,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] "props": Object { "defaultSelections": Array [ Object { - "id": "v", + "id": "h", "name": "Right", }, ], @@ -2648,7 +2648,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] "id": "bar", "label": "Vertical bar", "labelangle": 0, - "legendposition": "v", + "legendposition": "h", "linewidth": 0, "mode": "group", "name": "bar", @@ -2821,7 +2821,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] "props": Object { "defaultSelections": Array [ Object { - "id": "v", + "id": "h", "name": "Right", }, ], @@ -2985,7 +2985,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] "id": "bar", "label": "Vertical bar", "labelangle": 0, - "legendposition": "v", + "legendposition": "h", "linewidth": 0, "mode": "group", "name": "bar", @@ -3163,7 +3163,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] "props": Object { "defaultSelections": Array [ Object { - "id": "v", + "id": "h", "name": "Right", }, ], @@ -3328,7 +3328,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] id="bar" key="vertical bar" labelangle={0} - legendposition="v" + legendposition="h" linewidth={0} mode="group" name="bar" @@ -3440,7 +3440,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] "props": Object { "defaultSelections": Array [ Object { - "id": "v", + "id": "h", "name": "Right", }, ], @@ -3604,7 +3604,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] "id": "bar", "label": "Vertical bar", "labelangle": 0, - "legendposition": "v", + "legendposition": "h", "linewidth": 0, "mode": "group", "name": "bar", @@ -3783,7 +3783,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] "props": Object { "defaultSelections": Array [ Object { - "id": "v", + "id": "h", "name": "Right", }, ], @@ -3947,7 +3947,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] icontype="visBarVerticalStacked" id="bar" labelangle={0} - legendposition="v" + legendposition="h" linewidth={0} mode="group" name="bar" @@ -4096,7 +4096,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] "props": Object { "defaultSelections": Array [ Object { - "id": "v", + "id": "h", "name": "Right", }, ], @@ -4259,7 +4259,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] icontype="visBarVerticalStacked" id="bar" labelangle={0} - legendposition="v" + legendposition="h" linewidth={0} mode="group" name="bar" @@ -4577,7 +4577,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] "props": Object { "defaultSelections": Array [ Object { - "id": "v", + "id": "h", "name": "Right", }, ], @@ -5187,7 +5187,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] "props": Object { "defaultSelections": Array [ Object { - "id": "v", + "id": "h", "name": "Right", }, ], @@ -5350,7 +5350,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] "id": "bar", "label": "Vertical bar", "labelangle": 0, - "legendposition": "v", + "legendposition": "h", "linewidth": 0, "mode": "group", "name": "bar", @@ -5519,7 +5519,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] "props": Object { "defaultSelections": Array [ Object { - "id": "v", + "id": "h", "name": "Right", }, ], @@ -6129,7 +6129,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] "props": Object { "defaultSelections": Array [ Object { - "id": "v", + "id": "h", "name": "Right", }, ], @@ -6292,7 +6292,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] "id": "bar", "label": "Vertical bar", "labelangle": 0, - "legendposition": "v", + "legendposition": "h", "linewidth": 0, "mode": "group", "name": "bar", @@ -6502,7 +6502,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] "props": Object { "defaultSelections": Array [ Object { - "id": "v", + "id": "h", "name": "Right", }, ], @@ -7112,7 +7112,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] "props": Object { "defaultSelections": Array [ Object { - "id": "v", + "id": "h", "name": "Right", }, ], @@ -7275,7 +7275,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] "id": "bar", "label": "Vertical bar", "labelangle": 0, - "legendposition": "v", + "legendposition": "h", "linewidth": 0, "mode": "group", "name": "bar", @@ -7823,7 +7823,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] "props": Object { "defaultSelections": Array [ Object { - "id": "v", + "id": "h", "name": "Right", }, ], @@ -7986,7 +7986,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] "id": "bar", "label": "Vertical bar", "labelangle": 0, - "legendposition": "v", + "legendposition": "h", "linewidth": 0, "mode": "group", "name": "bar", @@ -8269,6 +8269,7 @@ exports[`Config panel component Renders config panel with visualization data 1`] fullWidth={true} hasChildLabel={true} hasEmptyLabelSpace={false} + key="tooltip_options" labelType="label" >