From a0059a83e159e5dc514ce982b878b0ec96fa27f9 Mon Sep 17 00:00:00 2001 From: Shenoy Pratik Date: Sat, 9 Mar 2024 16:10:24 -0800 Subject: [PATCH] init use observability deps Signed-off-by: Shenoy Pratik --- opensearch_dashboards.json | 4 +-- package.json | 2 +- public/components/SQLPage/SQLPage.tsx | 19 ++++++++---- .../register_observability_flyouts.tsx | 30 +++++++++++++++++++ public/plugin.ts | 4 ++- public/types.ts | 5 +++- 6 files changed, 54 insertions(+), 10 deletions(-) create mode 100644 public/dependencies/register_observability_flyouts.tsx diff --git a/opensearch_dashboards.json b/opensearch_dashboards.json index 759fdc55..34baf3d2 100644 --- a/opensearch_dashboards.json +++ b/opensearch_dashboards.json @@ -4,6 +4,6 @@ "opensearchDashboardsVersion": "3.0.0", "server": true, "ui": true, - "requiredPlugins": ["navigation", "opensearchDashboardsReact"], - "optionalPlugins": [] + "requiredPlugins": ["navigation", "opensearchDashboardsReact", "opensearchDashboardsUtils"], + "optionalPlugins": ["observabilityDashboards"] } diff --git a/package.json b/package.json index 9feda4d6..a1705325 100644 --- a/package.json +++ b/package.json @@ -50,4 +50,4 @@ "semver": "^7.5.2", "@cypress/request": "^3.0.0" } -} \ No newline at end of file +} diff --git a/public/components/SQLPage/SQLPage.tsx b/public/components/SQLPage/SQLPage.tsx index ef3c342e..43317146 100644 --- a/public/components/SQLPage/SQLPage.tsx +++ b/public/components/SQLPage/SQLPage.tsx @@ -24,6 +24,7 @@ import 'brace/mode/sql'; import React from 'react'; import { CoreStart } from '../../../../../src/core/public'; import { SAMPLE_SQL_QUERY } from '../../../common/constants'; +import { getRenderCreateAccelerationFlyout } from '../../dependencies/register_observability_flyouts'; import { ResponseDetail, TranslateResult } from '../Main/main'; import { CreateAcceleration } from '../acceleration/create/create_acceleration'; @@ -59,6 +60,8 @@ export class SQLPage extends React.Component { }; } + renderCreateAccelerationFlyout = getRenderCreateAccelerationFlyout(); + setIsModalVisible(visible: boolean): void { this.setState({ isModalVisible: visible, @@ -148,7 +151,7 @@ export class SQLPage extends React.Component { > { - + { this.props.onClear(); }} > - + Clear @@ -220,7 +227,9 @@ export class SQLPage extends React.Component { + this.renderCreateAccelerationFlyout(this.props.selectedDatasource[0].label) + } isDisabled={this.props.asyncLoading} > Accelerate Table @@ -234,4 +243,4 @@ export class SQLPage extends React.Component { ); } -} \ No newline at end of file +} diff --git a/public/dependencies/register_observability_flyouts.tsx b/public/dependencies/register_observability_flyouts.tsx new file mode 100644 index 00000000..6e76ed39 --- /dev/null +++ b/public/dependencies/register_observability_flyouts.tsx @@ -0,0 +1,30 @@ +/* + * Copyright OpenSearch Contributors + * SPDX-License-Identifier: Apache-2.0 + */ + +import { createGetterSetter } from '../../../../src/plugins/opensearch_dashboards_utils/public'; +import { ObservabilityStart } from '../types'; + +export const [ + getRenderAccelerationDetailsFlyout, + setRenderAccelerationDetailsFlyout, +] = createGetterSetter('renderAccelerationDetailsFlyout'); + +export const [ + getRenderAssociatedObjectsDetailsFlyout, + setRenderAssociatedObjectsDetailsFlyout, +] = createGetterSetter('renderAssociatedObjectsDetailsFlyout'); + +export const [ + getRenderCreateAccelerationFlyout, + setRenderCreateAccelerationFlyout, +] = createGetterSetter<(dataSource: string) => void>('renderCreateAccelerationFlyout'); + +export const registerObservabilityDependencies = (start?: ObservabilityStart) => { + if (!start) return; + + setRenderAccelerationDetailsFlyout(start.renderAccelerationDetailsFlyout); + setRenderAssociatedObjectsDetailsFlyout(start.renderAssociatedObjectsDetailsFlyout); + setRenderCreateAccelerationFlyout(start.renderCreateAccelerationFlyout); +}; diff --git a/public/plugin.ts b/public/plugin.ts index d2fefd64..ff156995 100644 --- a/public/plugin.ts +++ b/public/plugin.ts @@ -5,6 +5,7 @@ import { AppMountParameters, CoreSetup, CoreStart, Plugin } from '../../../src/core/public'; import { PLUGIN_NAME } from '../common/constants'; +import { registerObservabilityDependencies } from './dependencies/register_observability_flyouts'; import { coreRefs } from './framework/core_refs'; import { AppPluginStartDependencies, WorkbenchPluginSetup, WorkbenchPluginStart } from './types'; @@ -34,7 +35,7 @@ export class WorkbenchPlugin implements Plugin