Skip to content

Commit

Permalink
fix(web-client): do not display fields when condition does not match
Browse files Browse the repository at this point in the history
  • Loading branch information
burgerni10 committed Feb 6, 2025
1 parent 54989b5 commit f3aa370
Show file tree
Hide file tree
Showing 7 changed files with 30 additions and 8 deletions.
2 changes: 1 addition & 1 deletion backend/src/south/south-mqtt/south-mqtt.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -500,7 +500,7 @@ describe('SouthMQTT with Basic Auth', () => {
south.getTimestamp({}, configuration.items[3].settings.jsonPayload!.timestampPayload!, testData.constants.dates.FAKE_NOW)
).toEqual(testData.constants.dates.FAKE_NOW);
expect(logger.warn).toHaveBeenCalledWith(
`Timestamp found for path ${configuration.items[3].settings.jsonPayload!.timestampPayload!.timestampPath!} in ${JSON.stringify(
`Timestamp not found for path ${configuration.items[3].settings.jsonPayload!.timestampPayload!.timestampPath!} in ${JSON.stringify(
{}
)}. Using OIBus timestamp "${testData.constants.dates.FAKE_NOW}" instead`
);
Expand Down
2 changes: 1 addition & 1 deletion backend/src/south/south-mqtt/south-mqtt.ts
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,7 @@ export default class SouthMQTT extends SouthConnector<SouthMQTTSettings, SouthMQ
const timestamp = objectPath.get(data, formatOptions.timestampPath!);
if (!timestamp) {
this.logger.warn(
`Timestamp found for path ${formatOptions.timestampPath!} in ${JSON.stringify(
`Timestamp not found for path ${formatOptions.timestampPath!} in ${JSON.stringify(
data
)}. Using OIBus timestamp "${messageTimestamp}" instead`
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,12 @@ export class HistoryQueryDetailComponent implements OnInit, OnDestroy {
const northSettings: Record<string, string> = JSON.parse(JSON.stringify(this.historyQuery!.northSettings));
this.northDisplayedSettings = northManifest.settings
.filter(setting => setting.displayInViewMode)
.filter(setting => {
if (setting.conditionalDisplay) {
return setting.conditionalDisplay.values.includes(northSettings[setting.conditionalDisplay.field]);
}
return true;
})
.map(setting => {
return {
key: setting.type === 'OibSelect' ? setting.translationKey + '.title' : setting.translationKey,
Expand All @@ -140,6 +146,12 @@ export class HistoryQueryDetailComponent implements OnInit, OnDestroy {
const southSettings: Record<string, string> = JSON.parse(JSON.stringify(this.historyQuery!.southSettings));
this.southDisplayedSettings = southManifest.settings
.filter(setting => setting.displayInViewMode)
.filter(setting => {
if (setting.conditionalDisplay) {
return setting.conditionalDisplay.values.includes(southSettings[setting.conditionalDisplay.field]);
}
return true;
})
.map(setting => {
return {
key: setting.type === 'OibSelect' ? setting.translationKey + '.title' : setting.translationKey,
Expand Down
6 changes: 6 additions & 0 deletions frontend/src/app/north/north-detail/north-detail.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,12 @@ export class NorthDetailComponent implements OnInit, OnDestroy {
const northSettings: Record<string, string | boolean> = JSON.parse(JSON.stringify(this.northConnector!.settings));
this.displayedSettings = manifest.settings
.filter(setting => setting.displayInViewMode)
.filter(setting => {
if (setting.conditionalDisplay) {
return setting.conditionalDisplay.values.includes(northSettings[setting.conditionalDisplay.field]);
}
return true;
})
.map(setting => {
switch (setting.type) {
case 'OibText':
Expand Down
8 changes: 3 additions & 5 deletions frontend/src/app/south/edit-south/edit-south.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -76,9 +76,8 @@ <h1 [translate]="'south.edit-title'" [translateParams]="{ name: southConnector.n
</oib-box>
</div>
<!-- items -->

@if (mode === 'edit' && southConnector) {
<div id="actions" class="d-flex justify-content-end">
<div class="d-flex justify-content-end">
<div class="btn-group">
<oib-save-button [insideOfGroup]="false" form="south-form" [state]="state" />
</div>
Expand All @@ -92,8 +91,7 @@ <h1 [translate]="'south.edit-title'" [translateParams]="{ name: southConnector.n
[saveChangesDirectly]="saveItemChangesDirectly"
(inMemoryItems)="updateInMemoryItems($event)"
/>
}
@if (mode === 'create') {
} @else if (mode === 'create') {
<oib-south-items
[southId]="southId"
[southConnector]="southConnector"
Expand All @@ -103,7 +101,7 @@ <h1 [translate]="'south.edit-title'" [translateParams]="{ name: southConnector.n
[saveChangesDirectly]="saveItemChangesDirectly"
(inMemoryItems)="updateInMemoryItems($event)"
/>
<div id="actions" class="mt-2 d-flex justify-content-end">
<div class="mt-2 d-flex justify-content-end">
<div class="btn-group">
<oib-save-button [insideOfGroup]="false" form="south-form" [state]="state" />
</div>
Expand Down
6 changes: 6 additions & 0 deletions frontend/src/app/south/south-detail/south-detail.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,12 @@ export class SouthDetailComponent implements OnInit, OnDestroy {
const southSettings: Record<string, string> = JSON.parse(JSON.stringify(this.southConnector!.settings));
this.displayedSettings = manifest.settings
.filter(setting => setting.displayInViewMode)
.filter(setting => {
if (setting.conditionalDisplay) {
return setting.conditionalDisplay.values.includes(southSettings[setting.conditionalDisplay.field]);
}
return true;
})
.map(setting => {
return {
key: setting.type === 'OibSelect' ? setting.translationKey + '.title' : setting.translationKey,
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/i18n/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -1640,7 +1640,7 @@
"suffix": "Suffix"
},
"oianalytics": {
"use-oia-module": "Use OIA module",
"use-oia-module": "Use OIAnalytics registration",
"timeout": "Timeout",
"compress": "Compress",
"specific-settings": {
Expand Down

0 comments on commit f3aa370

Please sign in to comment.