Skip to content

Commit fd953b3

Browse files
committed
Merge branch 'main' into add-default-value-to-display-string
2 parents db2f2d3 + 7cff1af commit fd953b3

32 files changed

+315
-206
lines changed

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
plugins {
2-
id("org.hypertrace.docker-publish-plugin") version "0.8.1"
2+
id("org.hypertrace.docker-publish-plugin") version "0.9.0"
33
}

package-lock.json

Lines changed: 186 additions & 148 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,13 @@
3535
"@angular/platform-browser": "^11.2.0",
3636
"@angular/platform-browser-dynamic": "^11.2.0",
3737
"@angular/router": "^11.2.0",
38-
"@apollo/client": "^3.3.13",
38+
"@apollo/client": "^3.3.14",
3939
"@hypertrace/hyperdash": "^1.2.1",
4040
"@hypertrace/hyperdash-angular": "^2.5.0",
4141
"@types/d3-hierarchy": "^2.0.0",
4242
"@types/d3-transition": "1.1.5",
4343
"apollo-angular": "^2.4.0",
44-
"core-js": "^3.9.1",
44+
"core-js": "^3.10.1",
4545
"d3-array": "^2.12.0",
4646
"d3-axis": "^2.1.0",
4747
"d3-brush": "^1.1.6",
@@ -62,17 +62,17 @@
6262
"iso8601-duration": "^1.3.0",
6363
"lodash-es": "^4.17.21",
6464
"rxjs": "~6.6.7",
65-
"tslib": "^2.1.0",
65+
"tslib": "^2.2.0",
6666
"uuid": "^8.3.2",
6767
"zone.js": "^0.11.4"
6868
},
6969
"devDependencies": {
7070
"@angular-builders/jest": "^11.1.1",
7171
"@angular-devkit/build-angular": "~0.1102.7",
72-
"@angular/cli": "11.2.6",
72+
"@angular/cli": "11.2.8",
7373
"@angular/compiler-cli": "~11.2.0",
7474
"@angular/language-service": "~11.2.6",
75-
"@commitlint/cli": "^12.0.1",
75+
"@commitlint/cli": "^12.1.1",
7676
"@commitlint/config-conventional": "^12.0.1",
7777
"@compodoc/compodoc": "^1.1.11",
7878
"@ngneat/spectator": "^7.1.0",

projects/common/src/public-api.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ export * from './utilities/formatters/numeric/display-number.pipe';
5151
export * from './utilities/formatters/numeric/numeric-formatter';
5252
export * from './utilities/formatters/string/string-formatter';
5353
export * from './utilities/formatters/string/highlight.pipe';
54+
export * from './utilities/formatters/enum/display-string-enum.pipe';
55+
export * from './utilities/formatters/enum/display-string-enum';
5456

5557
// Http Param Encoder
5658
export { HttpParamEncoder } from './utilities/http/http-param-encoder';
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { Pipe, PipeTransform } from '@angular/core';
2+
import { displayStringEnum } from './display-string-enum';
3+
4+
@Pipe({
5+
name: 'htDisplayStringEnum'
6+
})
7+
export class DisplayStringEnumPipe implements PipeTransform {
8+
public transform(value: string): string {
9+
return displayStringEnum(value);
10+
}
11+
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import { displayStringEnum } from './display-string-enum';
2+
3+
describe('Display string enum', () => {
4+
const enum TestEnum {
5+
Flat = 'flatcase',
6+
UpperFlat = 'UPPERFLATCASE',
7+
Camel = 'camelCase',
8+
Pascal = 'PascalCase',
9+
Snake = 'snake_case',
10+
PascalSnake = 'Pascal_Snake_Case',
11+
Kabob = 'kabob-case',
12+
Train = 'Train-Case',
13+
Macro = 'MACRO_CASE',
14+
MacroTrain = 'MACRO-TRAIN-CASE'
15+
}
16+
17+
test('can convert to display string', () => {
18+
expect(displayStringEnum(undefined)).toBe('-');
19+
expect(displayStringEnum('a')).toBe('A');
20+
expect(displayStringEnum(TestEnum.Flat)).toBe('Flatcase');
21+
expect(displayStringEnum(TestEnum.UpperFlat)).toBe('Upperflatcase');
22+
expect(displayStringEnum(TestEnum.Camel)).toBe('Camel case');
23+
expect(displayStringEnum(TestEnum.Pascal)).toBe('Pascal case');
24+
expect(displayStringEnum(TestEnum.Snake)).toBe('Snake case');
25+
expect(displayStringEnum(TestEnum.PascalSnake)).toBe('Pascal snake case');
26+
expect(displayStringEnum(TestEnum.Kabob)).toBe('Kabob case');
27+
expect(displayStringEnum(TestEnum.Train)).toBe('Train case');
28+
expect(displayStringEnum(TestEnum.Macro)).toBe('Macro case');
29+
expect(displayStringEnum(TestEnum.MacroTrain)).toBe('Macro train case');
30+
});
31+
});
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { isNil, startCase } from 'lodash-es';
2+
3+
export const displayStringEnum = (provided?: string): string => {
4+
if (isNil(provided)) {
5+
return '-';
6+
}
7+
8+
// This removes dashes and underscores and gives all words initial caps
9+
const startCased = startCase(provided);
10+
11+
// We only want the first word capitalized.
12+
return `${startCased[0]}${startCased.substr(1).toLowerCase()}`;
13+
};

projects/common/src/utilities/formatters/formatting.module.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { NgModule } from '@angular/core';
22
import { DisplayDatePipe } from './date/display-date.pipe';
33
import { DisplayDurationPipe } from './duration/display-duration.pipe';
4+
import { DisplayStringEnumPipe } from './enum/display-string-enum.pipe';
45
import { DisplayNumberPipe } from './numeric/display-number.pipe';
56
import { OrdinalPipe } from './ordinal/ordinal.pipe';
67
import { DisplayStringPipe } from './string/display-string.pipe';
@@ -17,7 +18,8 @@ import { DisplayTimeAgo } from './time/display-time-ago.pipe';
1718
DisplayStringPipe,
1819
HighlightPipe,
1920
DisplayTitlePipe,
20-
OrdinalPipe
21+
OrdinalPipe,
22+
DisplayStringEnumPipe
2123
],
2224
exports: [
2325
DisplayNumberPipe,
@@ -27,7 +29,8 @@ import { DisplayTimeAgo } from './time/display-time-ago.pipe';
2729
DisplayStringPipe,
2830
HighlightPipe,
2931
DisplayTitlePipe,
30-
OrdinalPipe
32+
OrdinalPipe,
33+
DisplayStringEnumPipe
3134
]
3235
})
3336
export class FormattingModule {}

projects/components/src/beta-tag/beta-tag.component.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,13 @@ import { Color } from '@hypertrace/common';
55
selector: 'ht-beta-tag',
66
changeDetection: ChangeDetectionStrategy.OnPush,
77
template: `
8-
<ht-label-tag label="Beta" backgroundColor="${Color.Purple2}" labelColor="${Color.Purple5}"></ht-label-tag>
8+
<ht-label-tag
9+
htTooltip="Beta Feature"
10+
class="beta-tag"
11+
label="Beta"
12+
backgroundColor="${Color.Purple2}"
13+
labelColor="${Color.Purple5}"
14+
></ht-label-tag>
915
`
1016
})
1117
export class BetaTagComponent {}
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import { NgModule } from '@angular/core';
22
import { LabelTagModule } from '../label-tag/label-tag.module';
3+
import { TooltipModule } from '../tooltip/tooltip.module';
34
import { BetaTagComponent } from './beta-tag.component';
45

56
@NgModule({
67
declarations: [BetaTagComponent],
7-
imports: [LabelTagModule],
8+
imports: [LabelTagModule, TooltipModule],
89
exports: [BetaTagComponent]
910
})
1011
export class BetaTagModule {}

0 commit comments

Comments
 (0)