diff --git a/projects/components/src/link/link.component.scss b/projects/components/src/link/link.component.scss index 5e8e80960..dfc9c918f 100644 --- a/projects/components/src/link/link.component.scss +++ b/projects/components/src/link/link.component.scss @@ -2,6 +2,8 @@ @import 'color-palette'; .ht-link { + display: flex; + align-items: center; text-decoration-line: none; text-decoration: none; color: inherit; diff --git a/projects/components/src/tabs/content/tab-group.component.scss b/projects/components/src/tabs/content/tab-group.component.scss index 39911206f..f44e838d2 100644 --- a/projects/components/src/tabs/content/tab-group.component.scss +++ b/projects/components/src/tabs/content/tab-group.component.scss @@ -78,21 +78,8 @@ flex-direction: row; align-items: center; - .tab-badge { - @include font-label($gray-5); - display: flex; - justify-content: center; - text-align: center; - margin-left: 6px; - padding: 0 6px; - height: 16px; - background-color: $gray-2; - border-radius: 8px; - - &.active { - background-color: $gray-9; - color: white; - } + .tab-label-tag { + margin-left: 4px; } } diff --git a/projects/components/src/tabs/content/tab-group.component.ts b/projects/components/src/tabs/content/tab-group.component.ts index 20aa560aa..0688b413a 100644 --- a/projects/components/src/tabs/content/tab-group.component.ts +++ b/projects/components/src/tabs/content/tab-group.component.ts @@ -1,4 +1,5 @@ import { ChangeDetectionStrategy, Component, ContentChildren, QueryList } from '@angular/core'; +import { Color } from '@hypertrace/common'; import { TabComponent } from './tab/tab.component'; @Component({ @@ -12,9 +13,14 @@ import { TabComponent } from './tab/tab.component';
{{ tab.label }} -
- {{ tab.badge }} -
+ + +
@@ -31,4 +37,12 @@ export class TabGroupComponent { public tabs!: QueryList; public activeTabIndex: number = 0; + + public getBackgroundColor(index: number): Color { + return this.activeTabIndex === index ? Color.Gray9 : Color.Gray2; + } + + public getLabelColor(index: number): Color { + return this.activeTabIndex === index ? Color.White : Color.Gray5; + } } diff --git a/projects/components/src/tabs/content/tab.module.ts b/projects/components/src/tabs/content/tab.module.ts index 76244fbd2..97aa30cad 100644 --- a/projects/components/src/tabs/content/tab.module.ts +++ b/projects/components/src/tabs/content/tab.module.ts @@ -2,12 +2,13 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; import { MatTabsModule } from '@angular/material/tabs'; import { RouterModule } from '@angular/router'; +import { LabelTagModule } from '../../label-tag/label-tag.module'; import { TabGroupComponent } from './tab-group.component'; import { TabComponent } from './tab/tab.component'; @NgModule({ declarations: [TabGroupComponent, TabComponent], exports: [TabGroupComponent, TabComponent], - imports: [MatTabsModule, CommonModule, RouterModule] + imports: [MatTabsModule, CommonModule, RouterModule, LabelTagModule] }) export class TabModule {} diff --git a/projects/components/src/tabs/content/tab/tab.component.ts b/projects/components/src/tabs/content/tab/tab.component.ts index 390d8a70a..f1234c676 100644 --- a/projects/components/src/tabs/content/tab/tab.component.ts +++ b/projects/components/src/tabs/content/tab/tab.component.ts @@ -12,5 +12,5 @@ export class TabComponent extends ContentHolder { public label!: string; @Input() - public badge?: string; + public labelTag?: string; } diff --git a/projects/components/src/tabs/navigable/navigable-tab-group.component.scss b/projects/components/src/tabs/navigable/navigable-tab-group.component.scss index 87f597cb5..1ce9dc2d5 100644 --- a/projects/components/src/tabs/navigable/navigable-tab-group.component.scss +++ b/projects/components/src/tabs/navigable/navigable-tab-group.component.scss @@ -73,6 +73,10 @@ padding-bottom: 6px; } +.tab-label-tag { + margin-left: 4px; +} + .ink-bar { height: 2px; // plus tab-link is 48 border-radius: 1px; diff --git a/projects/components/src/tabs/navigable/navigable-tab-group.component.ts b/projects/components/src/tabs/navigable/navigable-tab-group.component.ts index 2af298f24..5230ff0cd 100644 --- a/projects/components/src/tabs/navigable/navigable-tab-group.component.ts +++ b/projects/components/src/tabs/navigable/navigable-tab-group.component.ts @@ -1,6 +1,6 @@ import { AfterContentInit, ChangeDetectionStrategy, Component, ContentChildren, QueryList } from '@angular/core'; import { ActivatedRoute } from '@angular/router'; -import { FeatureState, NavigationParams, NavigationParamsType, NavigationService } from '@hypertrace/common'; +import { Color, FeatureState, NavigationParams, NavigationParamsType, NavigationService } from '@hypertrace/common'; import { merge, Observable } from 'rxjs'; import { map, startWith } from 'rxjs/operators'; import { NavigableTabComponent } from './navigable-tab.component'; @@ -22,6 +22,14 @@ import { NavigableTabComponent } from './navigable-tab.component'; class="tab-link" > + + + SOON @@ -60,6 +68,14 @@ export class NavigableTabGroupComponent implements AfterContentInit { replaceCurrentHistory: tab.replaceHistory }); + public getBackgroundColor(activeTab: NavigableTabComponent | undefined, tab: NavigableTabComponent): Color { + return activeTab === tab ? Color.Gray9 : Color.Gray2; + } + + public getLabelColor(activeTab: NavigableTabComponent | undefined, tab: NavigableTabComponent): Color { + return activeTab === tab ? Color.White : Color.Gray5; + } + private findActiveTab(): NavigableTabComponent | undefined { return this.tabs.find(tab => this.navigationService.isRelativePathActive([tab.path], this.activatedRoute)); } diff --git a/projects/components/src/tabs/navigable/navigable-tab.component.ts b/projects/components/src/tabs/navigable/navigable-tab.component.ts index 8c5e15b31..708ef4c53 100644 --- a/projects/components/src/tabs/navigable/navigable-tab.component.ts +++ b/projects/components/src/tabs/navigable/navigable-tab.component.ts @@ -18,6 +18,9 @@ export class NavigableTabComponent extends ContentHolder { @Input() public hidden: boolean = false; + @Input() + public labelTag?: string; + @Input() public replaceHistory?: boolean; diff --git a/projects/components/src/tabs/navigable/navigable-tab.module.ts b/projects/components/src/tabs/navigable/navigable-tab.module.ts index 05f1a8b92..a212f50fa 100644 --- a/projects/components/src/tabs/navigable/navigable-tab.module.ts +++ b/projects/components/src/tabs/navigable/navigable-tab.module.ts @@ -4,6 +4,7 @@ import { MatTabsModule } from '@angular/material/tabs'; import { RouterModule } from '@angular/router'; import { MemoizeModule } from '@hypertrace/common'; import { FeatureConfigCheckModule } from '../../feature-check/feature-config-check.module'; +import { LabelTagModule } from '../../label-tag/label-tag.module'; import { LetAsyncModule } from '../../let-async/let-async.module'; import { LinkModule } from '../../link/link.module'; import { NavigableTabGroupComponent } from './navigable-tab-group.component'; @@ -19,7 +20,8 @@ import { NavigableTabComponent } from './navigable-tab.component'; LetAsyncModule, FeatureConfigCheckModule, MemoizeModule, - LinkModule + LinkModule, + LabelTagModule ] }) export class NavigableTabModule {} diff --git a/projects/components/src/tabs/navigable/navigable-tab.ts b/projects/components/src/tabs/navigable/navigable-tab.ts index 8c0ff18e9..97815e275 100644 --- a/projects/components/src/tabs/navigable/navigable-tab.ts +++ b/projects/components/src/tabs/navigable/navigable-tab.ts @@ -1,6 +1,7 @@ export interface NavigableTab { path: string; label: string; + labelTag?: string; hidden?: boolean; features?: string[]; replaceHistory?: boolean; diff --git a/projects/distributed-tracing/src/shared/components/span-detail/span-detail.component.ts b/projects/distributed-tracing/src/shared/components/span-detail/span-detail.component.ts index 9f54a2901..810388f57 100644 --- a/projects/distributed-tracing/src/shared/components/span-detail/span-detail.component.ts +++ b/projects/distributed-tracing/src/shared/components/span-detail/span-detail.component.ts @@ -46,7 +46,7 @@ import { SpanDetailLayoutStyle } from './span-detail-layout-style'; - +