Skip to content

Commit

Permalink
Rename wizard to visBuilder in class name, type name and function name (
Browse files Browse the repository at this point in the history
#2639)

Rname wizard to visBuilder

Signed-off-by: abbyhu2000 <abigailhu2000@gmail.com>

Signed-off-by: abbyhu2000 <abigailhu2000@gmail.com>
  • Loading branch information
abbyhu2000 committed Oct 21, 2022
1 parent ec9e0b2 commit 74fd39f
Show file tree
Hide file tree
Showing 47 changed files with 299 additions and 272 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
* [Windows] Facilitate building and running OSD and plugins on Windows platforms ([#2601](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/2601))
* [Multi DataSource] Address UX comments on Data source list and create page ([#2625](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/2625))
* [Vis Builder] Rename wizard to visBuilder in i18n id and formatted message id ([#2635](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/2635))
* [Vis Builder] Rename wizard to visBuilder in class name, type name and function name ([#2639](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/2639))

### 🐛 Bug Fixes
* [Vis Builder] Fixes auto bounds for timeseries bar chart visualization ([2401](https://github.com/opensearch-project/OpenSearch-Dashboards/pull/2401))
Expand Down
4 changes: 2 additions & 2 deletions src/plugins/vis_builder/common/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ export const VISUALIZE_ID = 'visualize';
export const EDIT_PATH = '/edit';

export {
WizardSavedObjectAttributes,
WIZARD_SAVED_OBJECT,
VisBuilderSavedObjectAttributes,
VISBUILDER_SAVED_OBJECT,
} from './vis_builder_saved_object_attributes';
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@

import { SavedObjectAttributes } from '../../../core/types';

export const WIZARD_SAVED_OBJECT = 'wizard';
export const VISBUILDER_SAVED_OBJECT = 'wizard';

export interface WizardSavedObjectAttributes extends SavedObjectAttributes {
export interface VisBuilderSavedObjectAttributes extends SavedObjectAttributes {
title: string;
description?: string;
visualizationState?: string;
Expand Down
2 changes: 1 addition & 1 deletion src/plugins/vis_builder/public/application/app.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import { Workspace } from './components/workspace';
import './app.scss';
import { RightNav } from './components/right_nav';

export const WizardApp = () => {
export const VisBuilderApp = () => {
// Render the application DOM.
return (
<I18nProvider>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export interface Props {
}

/**
* Component is Wizard's side bar to search of available fields
* Component is VisBuilder's side bar to search of available fields
* Additionally there's a button displayed that allows the user to show/hide more filter fields
*/
export function FieldSearch({ value }: Props) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { DefaultEditorAggParams } from '../../../../../vis_default_editor/public
import { Title } from './title';
import { useIndexPatterns, useVisualizationType } from '../../utils/use';
import { useOpenSearchDashboards } from '../../../../../opensearch_dashboards_react/public';
import { WizardServices } from '../../../types';
import { VisBuilderServices } from '../../../types';
import { AggParam, IAggType, IFieldParamType } from '../../../../../data/public';
import { saveDraftAgg, editDraftAgg } from '../../utils/state_management/visualization_slice';
import { setValidity } from '../../utils/state_management/metadata_slice';
Expand All @@ -33,7 +33,7 @@ export function SecondaryPanel() {
search: { aggs: aggService },
},
},
} = useOpenSearchDashboards<WizardServices>();
} = useOpenSearchDashboards<VisBuilderServices>();
const schemas = vizType.ui.containerConfig.data.schemas.all;

const aggConfigs = useMemo(() => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import {
} from '../../../utils/state_management/visualization_slice';
import { useIndexPatterns } from '../../../utils/use/use_index_pattern';
import { useOpenSearchDashboards } from '../../../../../../opensearch_dashboards_react/public';
import { WizardServices } from '../../../../types';
import { VisBuilderServices } from '../../../../types';

const filterByName = propFilter('name');
const filterByType = propFilter('type');
Expand All @@ -38,7 +38,7 @@ export const useDropbox = (props: UseDropboxProps): DropboxProps => {
search: { aggs: aggService },
},
},
} = useOpenSearchDashboards<WizardServices>();
} = useOpenSearchDashboards<VisBuilderServices>();
const aggConfigParams = useTypedSelector(
(state) => state.visualization.activeVisualization?.aggConfigParams
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@ import { FormattedMessage } from '@osd/i18n/react';
import { useVisualizationType } from '../utils/use';
import './side_nav.scss';
import { useOpenSearchDashboards } from '../../../../opensearch_dashboards_react/public';
import { WizardServices } from '../../types';
import { VisBuilderServices } from '../../types';
import { setActiveVisualization, useTypedDispatch } from '../utils/state_management';

export const RightNav = () => {
const [newVisType, setNewVisType] = useState<string>();
const {
services: { types },
} = useOpenSearchDashboards<WizardServices>();
} = useOpenSearchDashboards<VisBuilderServices>();
const { ui, name: activeVisName } = useVisualizationType();
const dispatch = useTypedDispatch();
const StyleSection = ui.containerConfig.style.render;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ import { useUnmount } from 'react-use';
import { PLUGIN_ID } from '../../../common';
import { useOpenSearchDashboards } from '../../../../opensearch_dashboards_react/public';
import { getTopNavConfig } from '../utils/get_top_nav_config';
import { WizardServices } from '../../types';
import { VisBuilderServices } from '../../types';

import './top_nav.scss';
import { useIndexPatterns, useSavedWizardVis } from '../utils/use';
import { useIndexPatterns, useSavedVisBuilderVis } from '../utils/use';
import { useTypedSelector, useTypedDispatch } from '../utils/state_management';
import { setEditorState } from '../utils/state_management/metadata_slice';
import { useCanSave } from '../utils/use/use_can_save';
Expand All @@ -22,7 +22,7 @@ import { TopNavMenuData } from '../../../../navigation/public';
export const TopNav = () => {
// id will only be set for the edit route
const { id: visualizationIdFromUrl } = useParams<{ id: string }>();
const { services } = useOpenSearchDashboards<WizardServices>();
const { services } = useOpenSearchDashboards<VisBuilderServices>();
const {
setHeaderActionMenu,
navigation: {
Expand All @@ -33,18 +33,18 @@ export const TopNav = () => {
const dispatch = useTypedDispatch();

const saveDisabledReason = useCanSave();
const savedWizardVis = useSavedWizardVis(visualizationIdFromUrl);
const savedVisBuilderVis = useSavedVisBuilderVis(visualizationIdFromUrl);
const { selected: indexPattern } = useIndexPatterns();
const [config, setConfig] = useState<TopNavMenuData[] | undefined>();

useEffect(() => {
const getConfig = () => {
if (!savedWizardVis || !indexPattern) return;
if (!savedVisBuilderVis || !indexPattern) return;

return getTopNavConfig(
{
visualizationIdFromUrl,
savedWizardVis: saveStateToSavedObject(savedWizardVis, rootState, indexPattern),
savedVisBuilderVis: saveStateToSavedObject(savedVisBuilderVis, rootState, indexPattern),
saveDisabledReason,
dispatch,
},
Expand All @@ -55,7 +55,7 @@ export const TopNav = () => {
setConfig(getConfig());
}, [
rootState,
savedWizardVis,
savedVisBuilderVis,
services,
visualizationIdFromUrl,
saveDisabledReason,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { EuiEmptyPrompt, EuiFlexGroup, EuiFlexItem, EuiIcon, EuiPanel } from '@e
import React, { FC, useState, useMemo, useEffect, useLayoutEffect } from 'react';
import { useOpenSearchDashboards } from '../../../../opensearch_dashboards_react/public';
import { IExpressionLoaderParams } from '../../../../expressions/public';
import { WizardServices } from '../../types';
import { VisBuilderServices } from '../../types';
import { validateSchemaState } from '../utils/validate_schema_state';
import { useTypedSelector } from '../utils/state_management';
import { useVisualizationType } from '../utils/use';
Expand All @@ -26,7 +26,7 @@ export const Workspace: FC = ({ children }) => {
notifications: { toasts },
data,
},
} = useOpenSearchDashboards<WizardServices>();
} = useOpenSearchDashboards<VisBuilderServices>();
const { toExpression, ui } = useVisualizationType();
const [expression, setExpression] = useState<string>();
const [searchContext, setSearchContext] = useState<IExpressionLoaderParams['searchContext']>({
Expand Down
8 changes: 4 additions & 4 deletions src/plugins/vis_builder/public/application/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@ import { Router, Route, Switch } from 'react-router-dom';
import { Provider as ReduxProvider } from 'react-redux';
import { Store } from 'redux';
import { AppMountParameters } from '../../../../core/public';
import { WizardServices } from '../types';
import { WizardApp } from './app';
import { VisBuilderServices } from '../types';
import { VisBuilderApp } from './app';
import { OpenSearchDashboardsContextProvider } from '../../../opensearch_dashboards_react/public';
import { EDIT_PATH } from '../../common';

export const renderApp = (
{ element, history }: AppMountParameters,
services: WizardServices,
services: VisBuilderServices,
store: Store
) => {
ReactDOM.render(
Expand All @@ -26,7 +26,7 @@ export const renderApp = (
<services.i18n.Context>
<Switch>
<Route path={[`${EDIT_PATH}/:id`, '/']} exact={false}>
<WizardApp />
<VisBuilderApp />
</Route>
</Switch>
</services.i18n.Context>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,17 @@
* SPDX-License-Identifier: Apache-2.0
*/

import { WizardServices } from '../..';
import { VisBuilderServices } from '../..';

export const getSavedWizardVis = async (services: WizardServices, wizardVisId?: string) => {
const { savedWizardLoader } = services;
if (!savedWizardLoader) {
export const getSavedVisBuilderVis = async (
services: VisBuilderServices,
visBuilderVisId?: string
) => {
const { savedVisBuilderLoader } = services;
if (!savedVisBuilderLoader) {
return {};
}
const savedWizardVis = await savedWizardLoader.get(wizardVisId);
const savedVisBuilderVis = await savedVisBuilderLoader.get(visBuilderVisId);

return savedWizardVis;
return savedVisBuilderVis;
};
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,16 @@
* SPDX-License-Identifier: Apache-2.0
*/

import { WizardServices } from '../../types';
import { VisBuilderServices } from '../../types';
import { getOnSave } from './get_top_nav_config';
import { createWizardServicesMock } from './mocks';
import { createVisBuilderServicesMock } from './mocks';

describe('getOnSave', () => {
let savedWizardVis: any;
let savedVisBuilderVis: any;
let originatingApp: string | undefined;
let visualizationIdFromUrl: string;
let dispatch: any;
let mockServices: jest.Mocked<WizardServices>;
let mockServices: jest.Mocked<VisBuilderServices>;
let onSaveProps: {
newTitle: string;
newCopyOnSave: boolean;
Expand All @@ -23,9 +23,9 @@ describe('getOnSave', () => {
};

beforeEach(() => {
savedWizardVis = {
savedVisBuilderVis = {
id: '1',
title: 'save wizard wiz title',
title: 'save visBuilder wiz title',
description: '',
visualizationState: '',
styleState: '',
Expand All @@ -37,7 +37,7 @@ describe('getOnSave', () => {
originatingApp = '';
visualizationIdFromUrl = '';
dispatch = jest.fn();
mockServices = createWizardServicesMock();
mockServices = createVisBuilderServicesMock();

onSaveProps = {
newTitle: 'new title',
Expand All @@ -49,10 +49,10 @@ describe('getOnSave', () => {
};
});

test('return undefined when savedWizardVis is null', async () => {
savedWizardVis = null;
test('return undefined when savedVisBuilderVis is null', async () => {
savedVisBuilderVis = null;
const onSave = getOnSave(
savedWizardVis,
savedVisBuilderVis,
originatingApp,
visualizationIdFromUrl,
dispatch,
Expand All @@ -63,16 +63,16 @@ describe('getOnSave', () => {
expect(onSaveResult).toBeUndefined();
});

test('savedWizardVis get saved correctly', async () => {
test('savedVisBuilderVis get saved correctly', async () => {
const onSave = getOnSave(
savedWizardVis,
savedVisBuilderVis,
originatingApp,
visualizationIdFromUrl,
dispatch,
mockServices
);
const onSaveReturn = await onSave(onSaveProps);
expect(savedWizardVis).toMatchInlineSnapshot(`
expect(savedVisBuilderVis).toMatchInlineSnapshot(`
Object {
"copyOnSave": false,
"description": "new description",
Expand Down Expand Up @@ -105,28 +105,28 @@ describe('getOnSave', () => {
expect(onSaveReturn?.id).toBe('1');
});

test('savedWizardVis does not change title with a null id', async () => {
savedWizardVis.save = jest.fn().mockReturnValue(null);
test('savedVisBuilderVis does not change title with a null id', async () => {
savedVisBuilderVis.save = jest.fn().mockReturnValue(null);
const onSave = getOnSave(
savedWizardVis,
savedVisBuilderVis,
originatingApp,
visualizationIdFromUrl,
dispatch,
mockServices
);
const onSaveResult = await onSave(onSaveProps);
expect(savedWizardVis.title).toBe('save wizard wiz title');
expect(savedVisBuilderVis.title).toBe('save visBuilder wiz title');
expect(onSaveResult?.id).toBeNull();
});

test('create a new wizard from dashboard', async () => {
savedWizardVis.id = undefined;
savedWizardVis.save = jest.fn().mockReturnValue('2');
test('create a new visBuilder from dashboard', async () => {
savedVisBuilderVis.id = undefined;
savedVisBuilderVis.save = jest.fn().mockReturnValue('2');
originatingApp = 'dashboard';
onSaveProps.returnToOrigin = true;

const onSave = getOnSave(
savedWizardVis,
savedVisBuilderVis,
originatingApp,
visualizationIdFromUrl,
dispatch,
Expand All @@ -137,13 +137,13 @@ describe('getOnSave', () => {
expect(dispatch).toBeCalledTimes(0);
});

test('edit an exising wizard from dashboard', async () => {
savedWizardVis.copyOnSave = false;
test('edit an exising visBuilder from dashboard', async () => {
savedVisBuilderVis.copyOnSave = false;
onSaveProps.newDescription = 'new description after editing';
originatingApp = 'dashboard';
onSaveProps.returnToOrigin = true;
const onSave = getOnSave(
savedWizardVis,
savedVisBuilderVis,
originatingApp,
visualizationIdFromUrl,
dispatch,
Expand All @@ -152,6 +152,6 @@ describe('getOnSave', () => {
const onSaveResult = await onSave(onSaveProps);
expect(onSaveResult?.id).toBe('1');
expect(mockServices.application.navigateToApp).toBeCalledTimes(1);
expect(savedWizardVis.description).toBe('new description after editing');
expect(savedVisBuilderVis.description).toBe('new description after editing');
});
});
Loading

0 comments on commit 74fd39f

Please sign in to comment.