From fb107f623add7197c220ce0e1df3f32263a79357 Mon Sep 17 00:00:00 2001 From: anandtiwary <52081890+anandtiwary@users.noreply.github.com> Date: Sun, 27 Jun 2021 22:21:13 -0700 Subject: [PATCH 1/7] fix: fix misc issues with gauge and donuts --- .../titled-content.component.scss | 4 ++-- projects/observability/src/public-api.ts | 6 ++++++ .../components/donut/donut-builder.service.ts | 20 +++++++++---------- .../components/donut/donut.component.scss | 10 ++++++++++ .../components/donut/donut.component.ts | 5 ++++- .../gauge-list/gauge-list.component.scss | 6 +++++- .../gauge-list/gauge-list.component.ts | 13 +++++++++--- 7 files changed, 47 insertions(+), 17 deletions(-) diff --git a/projects/components/src/titled-content/titled-content.component.scss b/projects/components/src/titled-content/titled-content.component.scss index 04213150e..67ed84691 100644 --- a/projects/components/src/titled-content/titled-content.component.scss +++ b/projects/components/src/titled-content/titled-content.component.scss @@ -26,7 +26,7 @@ } .title { - @include widget-title($gray-9); + @include overline($gray-9); margin-top: 16px; } } @@ -40,7 +40,7 @@ .footer { .title { - @include widget-title($gray-4); + @include overline($gray-4); margin-top: 8px; } } diff --git a/projects/observability/src/public-api.ts b/projects/observability/src/public-api.ts index c9010ab30..b6ee4b244 100644 --- a/projects/observability/src/public-api.ts +++ b/projects/observability/src/public-api.ts @@ -201,6 +201,12 @@ export * from './shared/components/timeline-card-list/timeline-card-list.compone export * from './shared/components/timeline-card-list/container/timeline-card-container.component'; export * from './shared/components/timeline-card-list/timeline-card-list.module'; + +// Card List - Timeline +export * from './shared/components/donut/donut.component'; +export * from './shared/components/donut/donut.module'; + + // Explore Filter link export * from './shared/components/explore-filter-link/explore-filter-link.component'; export * from './shared/components/explore-filter-link/explore-filter-link.module'; diff --git a/projects/observability/src/shared/components/donut/donut-builder.service.ts b/projects/observability/src/shared/components/donut/donut-builder.service.ts index d301a02d9..887bf1ec1 100644 --- a/projects/observability/src/shared/components/donut/donut-builder.service.ts +++ b/projects/observability/src/shared/components/donut/donut-builder.service.ts @@ -38,8 +38,8 @@ export class DonutBuilderService extends D3VisualizationBuilderService< private static readonly DONUT_VALUE_CLASS: string = 'donut-value'; private static readonly DONUT_ARC_CLASS: string = 'donut-arc'; - private static readonly DONUT_PADDING_PX: number = 60; - private static readonly LEGEND_SIZE_MULTIPLE: number = 1.5; + public static readonly DONUT_PADDING_PX: number = 60; + public static readonly LEGEND_SIZE_MULTIPLE: number = 1.5; public constructor( d3: D3UtilService, @@ -129,16 +129,16 @@ export class DonutBuilderService extends D3VisualizationBuilderService< let diameter = Math.min(calculatedDimensions.visualizationWidth, calculatedDimensions.visualizationHeight); // Save available width before reducing width by adding padding - const chartWidth = calculatedDimensions.visualizationWidth; + // const chartWidth = calculatedDimensions.visualizationWidth; - // Legend takes up to width of donut or remaining available space (This needs more work to look good in all cases) - calculatedDimensions.legendWidth = Math.min( - diameter * DonutBuilderService.LEGEND_SIZE_MULTIPLE, - chartWidth - diameter - ); + // // Legend takes up to width of donut or remaining available space (This needs more work to look good in all cases) + // calculatedDimensions.legendWidth = Math.min( + // diameter * DonutBuilderService.LEGEND_SIZE_MULTIPLE, + // chartWidth - diameter + // ); - // Reduce diameter by padding amount (don't need to do this with legend since it provides its own padding) - diameter -= DonutBuilderService.DONUT_PADDING_PX * 2; + // // Reduce diameter by padding amount (don't need to do this with legend since it provides its own padding) + // diameter -= DonutBuilderService.DONUT_PADDING_PX * 2; // Reduce visualization area to diameter calculatedDimensions.visualizationWidth = diameter; diff --git a/projects/observability/src/shared/components/donut/donut.component.scss b/projects/observability/src/shared/components/donut/donut.component.scss index ea3aa6b3f..40de4fe6e 100644 --- a/projects/observability/src/shared/components/donut/donut.component.scss +++ b/projects/observability/src/shared/components/donut/donut.component.scss @@ -7,6 +7,16 @@ align-items: center; justify-content: center; + // .chart-container { + // width: 100%; + // height: 100%; + // justify-content: none + // } + + // .chart-visualization-container { + // flex: 1 1 auto; + // } + .donut-svg { .donut-value-title { font-size: 15px; diff --git a/projects/observability/src/shared/components/donut/donut.component.ts b/projects/observability/src/shared/components/donut/donut.component.ts index 34d0a6964..a5b059438 100644 --- a/projects/observability/src/shared/components/donut/donut.component.ts +++ b/projects/observability/src/shared/components/donut/donut.component.ts @@ -46,13 +46,16 @@ export class DonutComponent implements OnChanges, OnDestroy, AfterViewInit { public ngOnChanges(): void { this.draw(); } - public ngOnDestroy(): void { this.donut && this.donut.destroy(); } public ngAfterViewInit(): void { this.reflow(); + setTimeout(() => { + this.draw(); + console.log('drawn'); + }, 8000) } private draw(): void { diff --git a/projects/observability/src/shared/components/gauge-list/gauge-list.component.scss b/projects/observability/src/shared/components/gauge-list/gauge-list.component.scss index 52cce7b0a..348180753 100644 --- a/projects/observability/src/shared/components/gauge-list/gauge-list.component.scss +++ b/projects/observability/src/shared/components/gauge-list/gauge-list.component.scss @@ -6,11 +6,15 @@ width: 100%; display: grid; margin-top: 16px; - grid-template-columns: minmax(60px, auto) minmax(80px, 160px) max-content; + grid-template-columns: minmax(80px, 1fr) max-content; grid-auto-rows: 20px; column-gap: 16px; align-items: center; + &.with-label { + grid-template-columns: minmax(60px, auto) minmax(80px, 1fr) max-content; + } + .border-top { grid-column-start: 1; grid-column-end: 4; diff --git a/projects/observability/src/shared/components/gauge-list/gauge-list.component.ts b/projects/observability/src/shared/components/gauge-list/gauge-list.component.ts index e3db03ca2..129de1762 100644 --- a/projects/observability/src/shared/components/gauge-list/gauge-list.component.ts +++ b/projects/observability/src/shared/components/gauge-list/gauge-list.component.ts @@ -7,11 +7,12 @@ import { maxBy } from 'lodash-es'; styleUrls: ['./gauge-list.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush, template: ` -