Skip to content

Commit 60ba1d7

Browse files
authored
Display as plain text (#91)
* feat: add dispayAsPlainText property * feat: update docs
1 parent 66a8f60 commit 60ba1d7

File tree

6 files changed

+24
-6
lines changed

6 files changed

+24
-6
lines changed

docs/readme-generic-ui.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ Each field definition supports the following properties:
5858
- `"fontStyle"`: Font style for the value (CSS font-style value)
5959
- `"textDecoration"`: Text decoration for the value (CSS text-decoration value)
6060
- `"textTransform"`: Text transformation for the value (CSS text-transform value)
61+
- `"displayAsPlainText"`: Boolean valu that give you ability to render value as it is, without any built-in transformation.
6162
- `"dynamicValuesDefinition"`: Configuration for dynamic value loading:
6263
- `"operation"`: GraphQL operation name
6364
- `"gqlQuery"`: GraphQL query string

projects/lib/models/models/resource.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ export interface FieldDefinition {
2323
multiline?: boolean;
2424
};
2525
labelDisplay?: LabelDisplay | boolean;
26+
displayAsPlainText?: boolean;
2627
dynamicValuesDefinition?: {
2728
operation: string;
2829
gqlQuery: string;

projects/wc/src/app/components/generic-ui/detail-view/detail-view.component.html

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,10 @@
4848
@for (field of field.group.fields; let last = $last; track field.label) {
4949
<span [class.multiline]="field.group.multiline ?? true">
5050
<span>{{ field.label }}: </span>
51-
<value-cell [labelDisplay]="field.labelDisplay" [value]="getResourceValueByJsonPath(resource(), field)"></value-cell>
51+
<value-cell
52+
[labelDisplay]="field.labelDisplay"
53+
[displayAsPlainText]="!!field.displayAsPlainText"
54+
[value]="getResourceValueByJsonPath(resource(), field)" />
5255
</span>
5356
@if (!last && field.group.delimiter) {
5457
<span>{{ field.group.delimiter }}</span>
@@ -58,7 +61,10 @@
5861
} @else {
5962
<ui5-label>{{ field.label }}</ui5-label>
6063
<p>
61-
<value-cell [labelDisplay]="field.labelDisplay" [value]="getResourceValueByJsonPath(resource(), field)"></value-cell>
64+
<value-cell
65+
[labelDisplay]="field.labelDisplay"
66+
[displayAsPlainText]="!!field.displayAsPlainText"
67+
[value]="getResourceValueByJsonPath(resource(), field)" />
6268
</p>
6369
}
6470
</div>

projects/wc/src/app/components/generic-ui/list-view/list-view.component.html

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,10 @@
6767
@for (field of column.group.fields; let last = $last; track field.label) {
6868
<div>
6969
<span>{{ field.label }}: </span>
70-
<value-cell [labelDisplay]="field.labelDisplay" [value]="getResourceValueByJsonPath(item, field)"></value-cell>
70+
<value-cell
71+
[labelDisplay]="field.labelDisplay"
72+
[displayAsPlainText]="!!field.displayAsPlainText"
73+
[value]="getResourceValueByJsonPath(item, field)" />
7174
</div>
7275
@if (!last && column.group.delimiter) {
7376
<span>{{ column.group.delimiter }}</span>
@@ -76,7 +79,10 @@
7679
</ui5-table-cell>
7780
} @else {
7881
<ui5-table-cell>
79-
<value-cell [labelDisplay]="column.labelDisplay" [value]="getResourceValueByJsonPath(item, column)"></value-cell>
82+
<value-cell
83+
[labelDisplay]="column.labelDisplay"
84+
[displayAsPlainText]="!!column.displayAsPlainText"
85+
[value]="getResourceValueByJsonPath(item, column)" />
8086
</ui5-table-cell>
8187
}
8288
}
Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
1+
@if (displayAsPlainText()) {
2+
{{ value() }}
3+
} @else {
14
@if (isBoolLike()) {
25
<wc-boolean-value [boolValue]="boolValue()"></wc-boolean-value>
36
} @else if (isUrlValue()) {
47
<wc-link-value [urlValue]="stringValue()"></wc-link-value>
58
} @else if (isLabelValue()) {
69
<wc-label-value [labelDisplay]="labelDisplayValue()" [value]="value()"></wc-label-value>
7-
}
8-
@else {
10+
} @else {
911
{{ value() }}
1012
}
13+
}

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import { LabelDisplay } from '@platform-mesh/portal-ui-lib/models/models';
1919
export class ValueCellComponent {
2020
value = input<unknown>();
2121
labelDisplay = input<LabelDisplay | boolean>();
22+
displayAsPlainText = input<boolean>(false);
2223

2324
isLabelValue = computed(() => this.labelDisplayValue() !== undefined);
2425
isBoolLike = computed(() => this.boolValue() !== undefined);

0 commit comments

Comments
 (0)