Don't initialize the selected condition style when a view is loaded (#6478)

* Don't initialize the selected condition style when a view is loaded

* Ensure selection of styles in Edit mode works as expected. When out of edit mode, only a computed style should be chosen to display.
This commit is contained in:
Shefali Joshi 2023-03-20 17:06:10 -07:00 committed by GitHub
parent 8cf12db104
commit e174f075df
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 2 deletions

View File

@ -35,7 +35,9 @@ export default class StyleRuleManager extends EventEmitter {
}
if (styleConfiguration) {
this.initialize(styleConfiguration);
// We don't set the selectedConditionId here because we want condition set computation to happen before we apply any selected style
const styleConfigurationWithNoSelection = Object.assign(styleConfiguration, {selectedConditionId: ''});
this.initialize(styleConfigurationWithNoSelection);
if (styleConfiguration.conditionSetIdentifier) {
this.openmct.time.on("bounds", this.refreshData);
this.subscribeToConditionSet();
@ -57,14 +59,18 @@ export default class StyleRuleManager extends EventEmitter {
this.applySelectedConditionStyle();
}
} else if (this.conditionSetIdentifier) {
//reset the selected style and let the condition set output determine what it should be
this.selectedConditionId = undefined;
this.currentStyle = undefined;
this.updateDomainObjectStyle();
this.subscribeToConditionSet();
}
}
initialize(styleConfiguration) {
this.conditionSetIdentifier = styleConfiguration.conditionSetIdentifier;
this.staticStyle = styleConfiguration.staticStyle;
this.selectedConditionId = styleConfiguration.selectedConditionId;
this.staticStyle = styleConfiguration.staticStyle;
this.defaultConditionId = styleConfiguration.defaultConditionId;
this.updateConditionStylesMap(styleConfiguration.styles || []);
}

View File

@ -307,6 +307,8 @@ export default {
delete this.stopProvidingTelemetry;
}
} else {
//reset the selectedConditionID so that the condition set computation can drive it.
this.applySelectedConditionStyle('');
this.subscribeToConditionSet();
}
},