Ashwin P Chandran b7ca138c23
[Feature] Expressions example plugin (#1438)
* feat(Expressions): Initial demo plugin

Signed-off-by: Ashwin Pc <ashwinpc@amazon.com>

* feat(Expressions): Adds handlers tab

Signed-off-by: Ashwin Pc <ashwinpc@amazon.com>

* feat(Expressions): Adds playground tab

Signed-off-by: Ashwin Pc <ashwinpc@amazon.com>

* chore: Better expression playground messaging

Signed-off-by: Ashwin Pc <ashwinpc@amazon.com>

* feat(Expressions): Adds expression explorer

Signed-off-by: Ashwin Pc <ashwinpc@amazon.com>

* feat(Expressions): A better explorer

Signed-off-by: Ashwin Pc <ashwinpc@amazon.com>

* fix(Expressions): Fix basic demo abort error

Signed-off-by: Ashwin Pc <ashwinpc@amazon.com>

* Updates readme and fixes rendering visualizations

Signed-off-by: Ashwin Pc <ashwinpc@amazon.com>
2022-04-20 16:05:02 -07:00

33 lines
1.0 KiB
TypeScript

/*
* Copyright OpenSearch Contributors
* SPDX-License-Identifier: Apache-2.0
*/
import React from 'react';
import ReactDOM from 'react-dom';
import { AppMountParameters, CoreStart } from '../../../src/core/public';
import { ExpressionsExampleStartDependencies } from './types';
import { ExpressionsExampleApp } from './components/app';
import { OpenSearchDashboardsContextProvider } from '../../../src/plugins/opensearch_dashboards_react/public';
export const renderApp = (
{ notifications, http }: CoreStart,
{ navigation, expressions }: ExpressionsExampleStartDependencies,
{ appBasePath, element }: AppMountParameters
) => {
const services = { expressions, notifications };
ReactDOM.render(
<OpenSearchDashboardsContextProvider services={services}>
<ExpressionsExampleApp
basename={appBasePath}
notifications={notifications}
http={http}
navigation={navigation}
/>
</OpenSearchDashboardsContextProvider>,
element
);
return () => ReactDOM.unmountComponentAtNode(element);
};