mirror of
https://github.com/nasa/openmct.git
synced 2025-03-15 08:40:57 +00:00
Only save status if we have a unique ids for activities
This commit is contained in:
parent
92a30a3485
commit
4d4f83ee95
@ -23,26 +23,26 @@
|
||||
<div>
|
||||
<plan-activity-time-view
|
||||
v-for="activity in activities"
|
||||
:key="activity.uuid"
|
||||
:key="activity.key"
|
||||
class="c-inspector__properties c-inspect-properties"
|
||||
:activity="activity"
|
||||
:heading="heading"
|
||||
/>
|
||||
<plan-activity-properties-view
|
||||
v-for="activity in activities"
|
||||
:key="activity.uuid"
|
||||
:key="activity.key"
|
||||
:heading="'Properties'"
|
||||
class="c-inspector__properties c-inspect-properties"
|
||||
:activity="activity"
|
||||
></plan-activity-properties-view>
|
||||
<plan-activity-status-view
|
||||
v-if="activities.length === 1"
|
||||
:key="activities[0].uuid"
|
||||
v-if="canPersistState"
|
||||
:key="activities[0].key"
|
||||
class="c-inspector__properties c-inspect-properties"
|
||||
:activity="activities[0]"
|
||||
:execution-state="persistedActivityStates[activities[0].uuid]"
|
||||
:execution-state="persistedActivityStates[activities[0].id]"
|
||||
:heading="'Activity Status'"
|
||||
@updateActivityState="persistedActivityState"
|
||||
@update-activity-state="persistedActivityState"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
@ -80,6 +80,11 @@ export default {
|
||||
heading: ''
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
canPersistState() {
|
||||
return this.activities.length === 1 && this.activities[0].id;
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.setFormatters();
|
||||
this.getPlanData(this.selection);
|
||||
@ -142,7 +147,8 @@ export default {
|
||||
this.activities.splice(0);
|
||||
this.selectedActivities.forEach((selectedActivity, index) => {
|
||||
const activity = {
|
||||
uuid: selectedActivity.uuid ?? selectedActivity.name,
|
||||
id: selectedActivity.id,
|
||||
key: selectedActivity.id ?? selectedActivity.name,
|
||||
timeProperties: {
|
||||
start: {
|
||||
label: propertyLabels.start,
|
||||
@ -189,6 +195,8 @@ export default {
|
||||
let latestEnd;
|
||||
let gap;
|
||||
let overlap;
|
||||
let id;
|
||||
let key;
|
||||
|
||||
//Sort by start time
|
||||
let selectedActivities = this.selectedActivities.sort(this.sortFn);
|
||||
@ -207,6 +215,8 @@ export default {
|
||||
earliestStart = Math.min(earliestStart, selectedActivity.start);
|
||||
latestEnd = Math.max(latestEnd, selectedActivity.end);
|
||||
} else {
|
||||
id = selectedActivity.id;
|
||||
key = selectedActivity.id ?? selectedActivity.name;
|
||||
earliestStart = selectedActivity.start;
|
||||
latestEnd = selectedActivity.end;
|
||||
}
|
||||
@ -214,6 +224,8 @@ export default {
|
||||
let totalTime = latestEnd - earliestStart;
|
||||
|
||||
const activity = {
|
||||
id,
|
||||
key,
|
||||
timeProperties: {
|
||||
earliestStart: {
|
||||
label: propertyLabels.earliestStart,
|
||||
|
@ -32,8 +32,6 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { v4 as uuid } from 'uuid';
|
||||
|
||||
import ActivityProperty from './ActivityProperty.vue';
|
||||
|
||||
export default {
|
||||
@ -68,9 +66,10 @@ export default {
|
||||
if (this.activity.metadata[key].label) {
|
||||
const label = this.activity.metadata[key].label;
|
||||
const value = String(this.activity.metadata[key].value);
|
||||
const id = this.activity.id;
|
||||
|
||||
this.properties[this.properties.length] = {
|
||||
id: uuid(),
|
||||
id,
|
||||
label,
|
||||
value
|
||||
};
|
||||
|
@ -105,7 +105,7 @@ export default {
|
||||
}
|
||||
this.activity.executionState = this.currentStatusKey;
|
||||
this.$emit('updateActivityState', {
|
||||
key: this.activity.uuid,
|
||||
key: this.activity.id,
|
||||
executionState: this.currentStatusKey
|
||||
});
|
||||
}
|
||||
|
@ -38,8 +38,6 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { v4 as uuid } from 'uuid';
|
||||
|
||||
import ActivityProperty from './ActivityProperty.vue';
|
||||
|
||||
export default {
|
||||
@ -70,9 +68,10 @@ export default {
|
||||
if (this.activity.timeProperties[key].label) {
|
||||
const label = this.activity.timeProperties[key].label;
|
||||
const value = String(this.activity.timeProperties[key].value);
|
||||
const id = this.activity.id;
|
||||
|
||||
this.timeProperties[this.timeProperties.length] = {
|
||||
id: uuid(),
|
||||
id,
|
||||
label,
|
||||
value
|
||||
};
|
||||
|
@ -45,6 +45,10 @@ export function getValidatedData(domainObject) {
|
||||
groupActivity.end = activity[sourceMap.end];
|
||||
}
|
||||
|
||||
if (sourceMap.id) {
|
||||
groupActivity.id = activity[sourceMap.id];
|
||||
}
|
||||
|
||||
if (!mappedJson[groupIdKey]) {
|
||||
mappedJson[groupIdKey] = [];
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user