Skip to content

Commit

Permalink
fix(vipergc-660): identify axis keys upon adding object to composition (
Browse files Browse the repository at this point in the history
#7897)

* fix: identify axis keys upon adding object to composition

* fix: set yKey to 'none' if nonArrayValues
  • Loading branch information
ozyx authored Oct 17, 2024
1 parent 3e23dce commit 518b55c
Showing 1 changed file with 29 additions and 1 deletion.
30 changes: 29 additions & 1 deletion src/plugins/charts/bar/BarGraphView.vue
Original file line number Diff line number Diff line change
Expand Up @@ -332,7 +332,11 @@ export default {
this.domainObject.configuration.axes.xKey === undefined ||
this.domainObject.configuration.axes.yKey === undefined
) {
return;
const { xKey, yKey } = this.identifyAxesKeys(axisMetadata);
this.openmct.objects.mutate(this.domainObject, 'configuration.axes', {
xKey,
yKey
});
}

let xValues = [];
Expand Down Expand Up @@ -431,6 +435,30 @@ export default {
subscribeToAll() {
const telemetryObjects = Object.values(this.telemetryObjects);
telemetryObjects.forEach(this.subscribeToObject);
},
identifyAxesKeys(metadata) {
const { xAxisMetadata, yAxisMetadata } = metadata;

let xKey;
let yKey;

// If xAxisMetadata contains array values, use the first one for xKey
const arrayValues = xAxisMetadata.filter((metaDatum) => metaDatum.isArrayValue);
const nonArrayValues = xAxisMetadata.filter((metaDatum) => !metaDatum.isArrayValue);

if (arrayValues.length > 0) {
xKey = arrayValues[0].key;
yKey = arrayValues.length > 1 ? arrayValues[1].key : yAxisMetadata.key;
} else if (nonArrayValues.length > 0) {
xKey = nonArrayValues[0].key;
yKey = 'none';
} else {
// Fallback if no valid xKey or yKey is found
xKey = 'none';
yKey = 'none';
}

return { xKey, yKey };
}
}
};
Expand Down

0 comments on commit 518b55c

Please sign in to comment.