Skip to content

Commit bd457ff

Browse files
committed
feat: add boolean value for labelDisplay
1 parent 0fbc68e commit bd457ff

File tree

3 files changed

+21
-6
lines changed

3 files changed

+21
-6
lines changed

projects/lib/models/models/resource.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export interface FieldDefinition {
2222
delimiter?: string;
2323
multiline?: boolean;
2424
};
25-
labelDisplay?: LabelDisplay;
25+
labelDisplay?: LabelDisplay | boolean;
2626
dynamicValuesDefinition?: {
2727
operation: string;
2828
gqlQuery: string;
@@ -77,4 +77,4 @@ export interface UIDefinition {
7777
detailView?: UiView;
7878
}
7979

80-
export type KubernetesScope = 'Cluster' | 'Namespaced';
80+
export type KubernetesScope = 'Cluster' | 'Namespaced';

projects/wc/src/app/components/generic-ui/value-cell/value-cell.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
} @else if (isUrlValue()) {
44
<wc-link-value [urlValue]="stringValue()"></wc-link-value>
55
} @else if (isLabelValue()) {
6-
<wc-label-value [labelDisplay]="labelDisplay()" [value]="value()"></wc-label-value>
6+
<wc-label-value [labelDisplay]="labelDisplayValue()" [value]="value()"></wc-label-value>
77
}
88
@else {
99
{{ value() }}

projects/wc/src/app/components/generic-ui/value-cell/value-cell.component.ts

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { BooleanValueComponent } from './boolean-value/boolean-value.component';
2+
import { LabelValue } from './label-value/label-value.component';
23
import { LinkValueComponent } from './link-value/link-value.component';
34
import {
45
ChangeDetectionStrategy,
@@ -7,7 +8,6 @@ import {
78
input,
89
} from '@angular/core';
910
import { LabelDisplay } from '@platform-mesh/portal-ui-lib/models/models';
10-
import { LabelValue } from "./label-value/label-value.component";
1111

1212
@Component({
1313
selector: 'value-cell',
@@ -18,14 +18,17 @@ import { LabelValue } from "./label-value/label-value.component";
1818
})
1919
export class ValueCellComponent {
2020
value = input<unknown>();
21-
labelDisplay = input<LabelDisplay>();
21+
labelDisplay = input<LabelDisplay | boolean>();
2222

23-
isLabelValue = computed(() => this.labelDisplay() !== undefined);
23+
isLabelValue = computed(() => this.labelDisplayValue() !== undefined);
2424
isBoolLike = computed(() => this.boolValue() !== undefined);
2525
isUrlValue = computed(() => this.checkValidUrl(this.stringValue()));
2626

2727
boolValue = computed(() => this.normalizeBoolean(this.value()));
2828
stringValue = computed(() => this.normalizeString(this.value()));
29+
labelDisplayValue = computed(() =>
30+
this.normalizeLabelDisplay(this.labelDisplay()),
31+
);
2932

3033
private normalizeBoolean(value: unknown): boolean | undefined {
3134
const normalizedValue = value?.toString()?.toLowerCase();
@@ -58,4 +61,16 @@ export class ValueCellComponent {
5861
return false;
5962
}
6063
}
64+
65+
private normalizeLabelDisplay(value: unknown): LabelDisplay | undefined {
66+
if (typeof value === 'object' && value !== null) {
67+
return value;
68+
}
69+
70+
if (value) {
71+
return {};
72+
}
73+
74+
return undefined;
75+
}
6176
}

0 commit comments

Comments
 (0)