From 433d7802d06d11b43e60ba45d69823590f3ccfd8 Mon Sep 17 00:00:00 2001 From: anandtiwary <52081890+anandtiwary@users.noreply.github.com> Date: Tue, 10 Nov 2020 11:56:06 -0800 Subject: [PATCH 1/3] feat: adding gauge widget --- projects/components/src/public-api.ts | 4 - projects/observability/src/public-api.ts | 10 +++ .../components}/gauge/gauge.component.scss | 0 .../components}/gauge/gauge.component.test.ts | 0 .../components}/gauge/gauge.component.ts | 0 .../shared/components}/gauge/gauge.module.ts | 3 +- .../gauge-widget-renderer.component.test.ts | 79 +++++++++++++++++++ .../gauge/gauge-widget-renderer.component.ts | 27 +++++++ .../widgets/gauge/gauge-widget.model.test.ts | 67 ++++++++++++++++ .../widgets/gauge/gauge-widget.model.ts | 27 +++++++ .../widgets/gauge/gauge-widget.module.ts | 24 ++++++ .../dashboard/widgets/gauge/gauge-widget.ts | 7 ++ .../observability-dashboard-widgets.module.ts | 4 +- 13 files changed, 245 insertions(+), 7 deletions(-) rename projects/{components/src => observability/src/shared/components}/gauge/gauge.component.scss (100%) rename projects/{components/src => observability/src/shared/components}/gauge/gauge.component.test.ts (100%) rename projects/{components/src => observability/src/shared/components}/gauge/gauge.component.ts (100%) rename projects/{components/src => observability/src/shared/components}/gauge/gauge.module.ts (74%) create mode 100644 projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget-renderer.component.test.ts create mode 100644 projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget-renderer.component.ts create mode 100644 projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget.model.test.ts create mode 100644 projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget.model.ts create mode 100644 projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget.module.ts create mode 100644 projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget.ts diff --git a/projects/components/src/public-api.ts b/projects/components/src/public-api.ts index da39c78a1..83055bbf9 100644 --- a/projects/components/src/public-api.ts +++ b/projects/components/src/public-api.ts @@ -81,10 +81,6 @@ export * from './filtering/filter-modal/in-filter-modal.component'; // Filter Parser export * from './filtering/filter/parser/filter-parser-lookup.service'; -// Gauge -export * from './gauge/gauge.component'; -export * from './gauge/gauge.module'; - // Header export * from './header/application/application-header.component'; export * from './header/application/application-header.module'; diff --git a/projects/observability/src/public-api.ts b/projects/observability/src/public-api.ts index 259fe7d07..4db4b0b4a 100644 --- a/projects/observability/src/public-api.ts +++ b/projects/observability/src/public-api.ts @@ -57,6 +57,10 @@ export { export * from './pages/explorer/explorer-dashboard-builder'; export * from './pages/explorer/explorer.component'; +// Gauge +export * from './shared/components/gauge/gauge.component'; +export * from './shared/components/gauge/gauge.module'; + // Legend export { LegendPosition } from './shared/components/legend/legend.component'; @@ -210,3 +214,9 @@ export * from './shared/dashboard/data/graphql/specifiers/entity-specification.m // Explorer service export * from './pages/explorer/explorer-service'; + + +// Gauge +export * from './shared/components/gauge/gauge.component'; +export * from './shared/components/gauge/gauge.module'; +export * from './shared/dashboard/widgets/gauge/gauge-widget' diff --git a/projects/components/src/gauge/gauge.component.scss b/projects/observability/src/shared/components/gauge/gauge.component.scss similarity index 100% rename from projects/components/src/gauge/gauge.component.scss rename to projects/observability/src/shared/components/gauge/gauge.component.scss diff --git a/projects/components/src/gauge/gauge.component.test.ts b/projects/observability/src/shared/components/gauge/gauge.component.test.ts similarity index 100% rename from projects/components/src/gauge/gauge.component.test.ts rename to projects/observability/src/shared/components/gauge/gauge.component.test.ts diff --git a/projects/components/src/gauge/gauge.component.ts b/projects/observability/src/shared/components/gauge/gauge.component.ts similarity index 100% rename from projects/components/src/gauge/gauge.component.ts rename to projects/observability/src/shared/components/gauge/gauge.component.ts diff --git a/projects/components/src/gauge/gauge.module.ts b/projects/observability/src/shared/components/gauge/gauge.module.ts similarity index 74% rename from projects/components/src/gauge/gauge.module.ts rename to projects/observability/src/shared/components/gauge/gauge.module.ts index e06f8079d..687ef9e97 100644 --- a/projects/components/src/gauge/gauge.module.ts +++ b/projects/observability/src/shared/components/gauge/gauge.module.ts @@ -1,8 +1,7 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; import { FormattingModule } from '@hypertrace/common'; -import { LayoutChangeModule } from '../layout/layout-change.module'; -import { TooltipModule } from './../tooltip/tooltip.module'; +import { LayoutChangeModule,TooltipModule } from '@hypertrace/components'; import { GaugeComponent } from './gauge.component'; @NgModule({ diff --git a/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget-renderer.component.test.ts b/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget-renderer.component.test.ts new file mode 100644 index 000000000..3b6b615ba --- /dev/null +++ b/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget-renderer.component.test.ts @@ -0,0 +1,79 @@ +import { FormattingModule } from '@hypertrace/common'; +import { LoadAsyncModule, TitledContentComponent } from '@hypertrace/components'; +import { RENDERER_API } from '@hypertrace/hyperdash-angular'; +import { createComponentFactory } from '@ngneat/spectator/jest'; +import { MockComponent } from 'ng-mocks'; +import { EMPTY, of } from 'rxjs'; +import { DonutComponent } from '../../../components/donut/donut.component'; +import { LegendPosition } from '../../../components/legend/legend.component'; +import { DonutWidgetRendererComponent } from './gauge-widget-renderer.component'; +import { DonutWidgetModel } from './gauge-widget.model'; + +describe('Donut widget renderer component', () => { + let mockModel: Partial = {}; + const componentFactory = createComponentFactory({ + component: DonutWidgetRendererComponent, + shallow: true, + imports: [FormattingModule, LoadAsyncModule], + providers: [ + { + provide: RENDERER_API, + useFactory: () => ({ + getTimeRange: jest.fn(), + model: mockModel, + change$: EMPTY, + dataRefresh$: EMPTY, + timeRangeChanged$: EMPTY + }) + } + ], + declarations: [MockComponent(DonutComponent), MockComponent(TitledContentComponent)] + }); + test('should render provided data with title and legend', () => { + mockModel = { + header: { + title: 'Test title' + }, + legendPosition: LegendPosition.Right, + getData: jest.fn(() => + of({ + series: [ + { + name: 'first', + value: 3 + }, + { + name: 'second', + value: 5 + } + ], + center: { + title: 'total', + value: 2 + } + }) + ), + displayLegendCounts: false + }; + + const spectator = componentFactory(); + expect(spectator.query(TitledContentComponent)!.title).toBe('TEST TITLE'); + + expect(spectator.query(DonutComponent)!.series).toEqual([ + { + name: 'first', + value: 3 + }, + { + name: 'second', + value: 5 + } + ]); + expect(spectator.query(DonutComponent)!.center).toEqual({ + title: 'total', + value: 2 + }); + expect(spectator.query(DonutComponent)!.legendPosition).toEqual(LegendPosition.Right); + expect(spectator.query(DonutComponent)!.displayLegendCounts).toEqual(false); + }); +}); diff --git a/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget-renderer.component.ts b/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget-renderer.component.ts new file mode 100644 index 000000000..d9f2dc489 --- /dev/null +++ b/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget-renderer.component.ts @@ -0,0 +1,27 @@ +import { ChangeDetectionStrategy, Component } from '@angular/core'; +import { WidgetRenderer } from '@hypertrace/dashboards'; +import { Renderer } from '@hypertrace/hyperdash'; +import { Observable } from 'rxjs'; +import { GaugeWidgetModel } from './gauge-widget.model'; +import { GaugeWidgetData } from './gauge-widget'; + +@Renderer({ modelClass: GaugeWidgetModel }) +@Component({ + selector: 'ht-gauge-widget-renderer', + changeDetection: ChangeDetectionStrategy.OnPush, + template: ` + + + + ` +}) +export class GaugeWidgetRendererComponent extends WidgetRenderer { + protected fetchData(): Observable { + return this.model.getData(); + } +} diff --git a/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget.model.test.ts b/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget.model.test.ts new file mode 100644 index 000000000..c478ec8df --- /dev/null +++ b/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget.model.test.ts @@ -0,0 +1,67 @@ +import { DEFAULT_COLOR_PALETTE } from '@hypertrace/common'; +import { createModelFactory } from '@hypertrace/dashboards/testing'; +import { MODEL_PROPERTY_TYPES } from '@hypertrace/hyperdash-angular'; +import { DonutSeriesResults } from '@hypertrace/observability'; +import { runFakeRxjs } from '@hypertrace/test-utils'; +import { of } from 'rxjs'; +import { DonutWidgetModel } from './gauge-widget.model'; + +describe('Donut widget model', () => { + test('uses colors from color map', () => { + const modelFactory = createModelFactory(); + + const series: DonutSeriesResults = { + series: [ + { + name: 'first', + value: 10 + }, + { + name: 'second', + value: 20 + } + ], + total: 2 + }; + + const spectator = modelFactory(DonutWidgetModel, { + api: { + getData: () => of(series) + }, + providers: [ + { + provide: DEFAULT_COLOR_PALETTE, + useValue: { + name: 'default', + colors: [] + } + }, + { + provide: MODEL_PROPERTY_TYPES, + useValue: [] + } + ] + }); + + spectator.model.colorPalette = ['red', 'blue']; + + runFakeRxjs(({ expectObservable }) => { + expectObservable(spectator.model.getData()).toBe('(x|)', { + x: { + series: [ + { + color: 'rgb(255, 0, 0)', + name: 'first', + value: 10 + }, + { + color: 'rgb(0, 0, 255)', + name: 'second', + value: 20 + } + ] + } + }); + }); + }); +}); diff --git a/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget.model.ts b/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget.model.ts new file mode 100644 index 000000000..ea275cae7 --- /dev/null +++ b/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget.model.ts @@ -0,0 +1,27 @@ +import { + Model, + ModelApi, + ModelProperty, + STRING_PROPERTY +} from '@hypertrace/hyperdash'; +import { Observable } from 'rxjs'; +import { GaugeWidgetData } from './gauge-widget'; +import { ModelInject, MODEL_API } from '@hypertrace/hyperdash-angular'; + +@Model({ + type: 'gauge-widget' +}) +export class GaugeWidgetModel { + @ModelProperty({ + key: 'title', + type: STRING_PROPERTY.type + }) + public title?: string; + + @ModelInject(MODEL_API) + private readonly api!: ModelApi; + + public getData(): Observable { + return this.api.getData(); + } +} diff --git a/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget.module.ts b/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget.module.ts new file mode 100644 index 000000000..7c2bfd43a --- /dev/null +++ b/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget.module.ts @@ -0,0 +1,24 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { FormattingModule } from '@hypertrace/common'; +import { LoadAsyncModule, TitledContentModule } from '@hypertrace/components'; +import { DashboardCoreModule } from '@hypertrace/hyperdash-angular'; +import { GaugeModule } from '../../../components/gauge/gauge.module'; +import { GaugeWidgetRendererComponent } from './gauge-widget-renderer.component'; +import { GaugeWidgetModel } from './gauge-widget.model'; + +@NgModule({ + declarations: [GaugeWidgetRendererComponent], + imports: [ + DashboardCoreModule.with({ + models: [GaugeWidgetModel], + renderers: [GaugeWidgetRendererComponent] + }), + GaugeModule, + CommonModule, + TitledContentModule, + LoadAsyncModule, + FormattingModule + ] +}) +export class GaugeWidgetModule {} diff --git a/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget.ts b/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget.ts new file mode 100644 index 000000000..8f0ced071 --- /dev/null +++ b/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget.ts @@ -0,0 +1,7 @@ +import { GaugeThreshold } from '../../../components/gauge/gauge.component'; + +export interface GaugeWidgetData { + value: number; + maxValue: number; + thresholds: GaugeThreshold[]; +} diff --git a/projects/observability/src/shared/dashboard/widgets/observability-dashboard-widgets.module.ts b/projects/observability/src/shared/dashboard/widgets/observability-dashboard-widgets.module.ts index eecf9cf1c..348456d93 100644 --- a/projects/observability/src/shared/dashboard/widgets/observability-dashboard-widgets.module.ts +++ b/projects/observability/src/shared/dashboard/widgets/observability-dashboard-widgets.module.ts @@ -7,6 +7,7 @@ import { MetricDisplayWidgetModule } from './metric-display/metric-display-widge import { RadarWidgetModule } from './radar/radar-widget.module'; import { TopNWidgetModule } from './top-n/top-n-widget.module'; import { TopologyWidgetModule } from './topology/topology-widget.module'; +import { GaugeWidgetModule } from './gauge/gauge-widget.module'; @NgModule({ imports: [ @@ -17,7 +18,8 @@ import { TopologyWidgetModule } from './topology/topology-widget.module'; ObservabilityTableCellRendererModule, DonutWidgetModule, CartesianWidgetModule, - CardListWidgetModule + CardListWidgetModule, + GaugeWidgetModule ] }) export class ObservabilityDashboardWidgetsModule {} From 80f3a942d6e1b075b1c44c84ac477e2d2f9298c5 Mon Sep 17 00:00:00 2001 From: anandtiwary <52081890+anandtiwary@users.noreply.github.com> Date: Wed, 11 Nov 2020 11:13:34 -0800 Subject: [PATCH 2/3] refactor: fix test and address review comments --- projects/observability/src/public-api.ts | 7 +- .../gauge-widget-renderer.component.test.ts | 70 ++++++++----------- .../gauge/gauge-widget-renderer.component.ts | 2 +- .../widgets/gauge/gauge-widget.model.test.ts | 61 +++++++--------- .../widgets/gauge/gauge-widget.model.ts | 9 +-- .../observability-dashboard-widgets.module.ts | 2 +- 6 files changed, 60 insertions(+), 91 deletions(-) diff --git a/projects/observability/src/public-api.ts b/projects/observability/src/public-api.ts index 4db4b0b4a..6eba4df62 100644 --- a/projects/observability/src/public-api.ts +++ b/projects/observability/src/public-api.ts @@ -57,10 +57,6 @@ export { export * from './pages/explorer/explorer-dashboard-builder'; export * from './pages/explorer/explorer.component'; -// Gauge -export * from './shared/components/gauge/gauge.component'; -export * from './shared/components/gauge/gauge.module'; - // Legend export { LegendPosition } from './shared/components/legend/legend.component'; @@ -215,8 +211,7 @@ export * from './shared/dashboard/data/graphql/specifiers/entity-specification.m // Explorer service export * from './pages/explorer/explorer-service'; - // Gauge export * from './shared/components/gauge/gauge.component'; export * from './shared/components/gauge/gauge.module'; -export * from './shared/dashboard/widgets/gauge/gauge-widget' +export * from './shared/dashboard/widgets/gauge/gauge-widget'; diff --git a/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget-renderer.component.test.ts b/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget-renderer.component.test.ts index 3b6b615ba..43ff434ac 100644 --- a/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget-renderer.component.test.ts +++ b/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget-renderer.component.test.ts @@ -1,18 +1,17 @@ -import { FormattingModule } from '@hypertrace/common'; +import { Color, FormattingModule } from '@hypertrace/common'; import { LoadAsyncModule, TitledContentComponent } from '@hypertrace/components'; import { RENDERER_API } from '@hypertrace/hyperdash-angular'; import { createComponentFactory } from '@ngneat/spectator/jest'; import { MockComponent } from 'ng-mocks'; import { EMPTY, of } from 'rxjs'; -import { DonutComponent } from '../../../components/donut/donut.component'; -import { LegendPosition } from '../../../components/legend/legend.component'; -import { DonutWidgetRendererComponent } from './gauge-widget-renderer.component'; -import { DonutWidgetModel } from './gauge-widget.model'; +import { GaugeComponent } from './../../../components/gauge/gauge.component'; +import { GaugeWidgetRendererComponent } from './gauge-widget-renderer.component'; +import { GaugeWidgetModel } from './gauge-widget.model'; -describe('Donut widget renderer component', () => { - let mockModel: Partial = {}; +describe('Gauge widget renderer component', () => { + let mockModel: Partial = {}; const componentFactory = createComponentFactory({ - component: DonutWidgetRendererComponent, + component: GaugeWidgetRendererComponent, shallow: true, imports: [FormattingModule, LoadAsyncModule], providers: [ @@ -27,53 +26,42 @@ describe('Donut widget renderer component', () => { }) } ], - declarations: [MockComponent(DonutComponent), MockComponent(TitledContentComponent)] + declarations: [MockComponent(GaugeComponent), MockComponent(TitledContentComponent)] }); - test('should render provided data with title and legend', () => { + + test('should render provided data with title', () => { mockModel = { - header: { - title: 'Test title' - }, - legendPosition: LegendPosition.Right, + title: 'Test title', getData: jest.fn(() => of({ - series: [ - { - name: 'first', - value: 3 - }, + value: 5, + maxValue: 10, + thresholds: [ { - name: 'second', - value: 5 + start: 0, + end: 6, + label: 'Medium', + color: Color.Brown1 } - ], - center: { - title: 'total', - value: 2 - } + ] }) - ), - displayLegendCounts: false + ) }; const spectator = componentFactory(); expect(spectator.query(TitledContentComponent)!.title).toBe('TEST TITLE'); - expect(spectator.query(DonutComponent)!.series).toEqual([ - { - name: 'first', - value: 3 - }, + const gaugeComponent = spectator.query(GaugeComponent); + expect(gaugeComponent).toExist(); + expect(gaugeComponent!.value).toEqual(5); + expect(gaugeComponent!.maxValue).toEqual(10); + expect(gaugeComponent!.thresholds).toEqual([ { - name: 'second', - value: 5 + start: 0, + end: 6, + label: 'Medium', + color: Color.Brown1 } ]); - expect(spectator.query(DonutComponent)!.center).toEqual({ - title: 'total', - value: 2 - }); - expect(spectator.query(DonutComponent)!.legendPosition).toEqual(LegendPosition.Right); - expect(spectator.query(DonutComponent)!.displayLegendCounts).toEqual(false); }); }); diff --git a/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget-renderer.component.ts b/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget-renderer.component.ts index d9f2dc489..b96a0e3ef 100644 --- a/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget-renderer.component.ts +++ b/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget-renderer.component.ts @@ -2,8 +2,8 @@ import { ChangeDetectionStrategy, Component } from '@angular/core'; import { WidgetRenderer } from '@hypertrace/dashboards'; import { Renderer } from '@hypertrace/hyperdash'; import { Observable } from 'rxjs'; -import { GaugeWidgetModel } from './gauge-widget.model'; import { GaugeWidgetData } from './gauge-widget'; +import { GaugeWidgetModel } from './gauge-widget.model'; @Renderer({ modelClass: GaugeWidgetModel }) @Component({ diff --git a/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget.model.test.ts b/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget.model.test.ts index c478ec8df..dc44f2d34 100644 --- a/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget.model.test.ts +++ b/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget.model.test.ts @@ -1,63 +1,54 @@ -import { DEFAULT_COLOR_PALETTE } from '@hypertrace/common'; +import { Color } from '@hypertrace/common'; import { createModelFactory } from '@hypertrace/dashboards/testing'; import { MODEL_PROPERTY_TYPES } from '@hypertrace/hyperdash-angular'; -import { DonutSeriesResults } from '@hypertrace/observability'; import { runFakeRxjs } from '@hypertrace/test-utils'; import { of } from 'rxjs'; -import { DonutWidgetModel } from './gauge-widget.model'; +import { GaugeWidgetData } from './gauge-widget'; +import { GaugeWidgetModel } from './gauge-widget.model'; -describe('Donut widget model', () => { +describe('Gauge widget model', () => { test('uses colors from color map', () => { const modelFactory = createModelFactory(); - const series: DonutSeriesResults = { - series: [ + const data: GaugeWidgetData = { + value: 5, + maxValue: 10, + thresholds: [ { - name: 'first', - value: 10 - }, - { - name: 'second', - value: 20 + start: 0, + end: 6, + label: 'Medium', + color: Color.Brown1 } - ], - total: 2 + ] }; - const spectator = modelFactory(DonutWidgetModel, { + const spectator = modelFactory(GaugeWidgetModel, { api: { - getData: () => of(series) + getData: () => of(data) }, providers: [ - { - provide: DEFAULT_COLOR_PALETTE, - useValue: { - name: 'default', - colors: [] - } - }, { provide: MODEL_PROPERTY_TYPES, useValue: [] } - ] + ], + properties: { + title: 'Test Title' + } }); - spectator.model.colorPalette = ['red', 'blue']; - runFakeRxjs(({ expectObservable }) => { expectObservable(spectator.model.getData()).toBe('(x|)', { x: { - series: [ - { - color: 'rgb(255, 0, 0)', - name: 'first', - value: 10 - }, + value: 5, + maxValue: 10, + thresholds: [ { - color: 'rgb(0, 0, 255)', - name: 'second', - value: 20 + start: 0, + end: 6, + label: 'Medium', + color: Color.Brown1 } ] } diff --git a/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget.model.ts b/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget.model.ts index ea275cae7..c770ce3e3 100644 --- a/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget.model.ts +++ b/projects/observability/src/shared/dashboard/widgets/gauge/gauge-widget.model.ts @@ -1,12 +1,7 @@ -import { - Model, - ModelApi, - ModelProperty, - STRING_PROPERTY -} from '@hypertrace/hyperdash'; +import { Model, ModelApi, ModelProperty, STRING_PROPERTY } from '@hypertrace/hyperdash'; +import { ModelInject, MODEL_API } from '@hypertrace/hyperdash-angular'; import { Observable } from 'rxjs'; import { GaugeWidgetData } from './gauge-widget'; -import { ModelInject, MODEL_API } from '@hypertrace/hyperdash-angular'; @Model({ type: 'gauge-widget' diff --git a/projects/observability/src/shared/dashboard/widgets/observability-dashboard-widgets.module.ts b/projects/observability/src/shared/dashboard/widgets/observability-dashboard-widgets.module.ts index 348456d93..4cacc0915 100644 --- a/projects/observability/src/shared/dashboard/widgets/observability-dashboard-widgets.module.ts +++ b/projects/observability/src/shared/dashboard/widgets/observability-dashboard-widgets.module.ts @@ -3,11 +3,11 @@ import { ObservabilityTableCellRendererModule } from '../../components/table/obs import { CardListWidgetModule } from './card-list/card-list-widget.module'; import { CartesianWidgetModule } from './charts/cartesian-widget/cartesian-widget.module'; import { DonutWidgetModule } from './donut/donut-widget.module'; +import { GaugeWidgetModule } from './gauge/gauge-widget.module'; import { MetricDisplayWidgetModule } from './metric-display/metric-display-widget.module'; import { RadarWidgetModule } from './radar/radar-widget.module'; import { TopNWidgetModule } from './top-n/top-n-widget.module'; import { TopologyWidgetModule } from './topology/topology-widget.module'; -import { GaugeWidgetModule } from './gauge/gauge-widget.module'; @NgModule({ imports: [ From b5af7dfbb139b3bd17beabb8a53e5471b42ef6fc Mon Sep 17 00:00:00 2001 From: anandtiwary <52081890+anandtiwary@users.noreply.github.com> Date: Wed, 11 Nov 2020 11:24:17 -0800 Subject: [PATCH 3/3] refactor: fixing formatting --- .../observability/src/shared/components/gauge/gauge.module.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/observability/src/shared/components/gauge/gauge.module.ts b/projects/observability/src/shared/components/gauge/gauge.module.ts index 687ef9e97..5961c09c2 100644 --- a/projects/observability/src/shared/components/gauge/gauge.module.ts +++ b/projects/observability/src/shared/components/gauge/gauge.module.ts @@ -1,7 +1,7 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; import { FormattingModule } from '@hypertrace/common'; -import { LayoutChangeModule,TooltipModule } from '@hypertrace/components'; +import { LayoutChangeModule, TooltipModule } from '@hypertrace/components'; import { GaugeComponent } from './gauge.component'; @NgModule({