Skip to content

Commit 6ad9e11

Browse files
joaomariolagopatrickelectric
authored andcommitted
frontend: ParameterEditor: Add restore to default
* Add restore to default value in ParameterEditor when default is available and current value differs from specified default
1 parent ad9f0f9 commit 6ad9e11

File tree

1 file changed

+35
-2
lines changed

1 file changed

+35
-2
lines changed

core/frontend/src/components/parameter-editor/ParameterEditor.vue

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
:headers="[
88
{ text: 'Name', value: 'name' },
99
{ text: 'Description', value: 'description' },
10-
{ text: 'Value', value: 'value', width: '150px' },
10+
{ text: 'Value', value: 'value', width: '170px' },
1111
]"
1212
:loading="!finished_loading"
1313
:items="search && search != '' ? fuse.search(search) : params_no_input"
@@ -62,7 +62,19 @@
6262
</template>
6363
<!-- eslint-enable -->
6464
<template #item.value="{ item }">
65-
{{ printParam(item.item) }} {{ item.item.units ? `[${item.item.units}]` : '' }}
65+
<div class="value-cell-content">
66+
{{ printParam(item.item) }} {{ item.item.units ? `[${item.item.units}]` : '' }}
67+
<v-btn
68+
v-if="!item.item?.readonly && item.item?.default !== undefined && item.item?.default !== item.item.value"
69+
v-tooltip="item.item?.rebootRequired ? 'Reboot required' : undefined"
70+
icon
71+
:color="item.item?.rebootRequired ? 'warning' : 'primary'"
72+
class="value-cell-content-restore"
73+
@click.stop="setDefaultParamValue(item.item)"
74+
>
75+
<v-icon>mdi-backup-restore</v-icon>
76+
</v-btn>
77+
</div>
6678
</template>
6779
<template #footer.prepend>
6880
<v-btn
@@ -146,6 +158,7 @@ import { saveAs } from 'file-saver'
146158
import Fuse from 'fuse.js'
147159
import Vue from 'vue'
148160
161+
import mavlink2rest from '@/libs/MAVLink2Rest'
149162
import autopilot_data from '@/store/autopilot'
150163
import autopilot from '@/store/autopilot_manager'
151164
import Parameter, { printParam } from '@/types/autopilot/parameter'
@@ -217,6 +230,16 @@ export default Vue.extend({
217230
},
218231
},
219232
methods: {
233+
setDefaultParamValue(param: Parameter) {
234+
if (param.default === undefined || param.readonly) {
235+
return
236+
}
237+
mavlink2rest.setParam(param.name, param.default, autopilot_data.system_id, param.paramType.type)
238+
239+
if (param.rebootRequired) {
240+
autopilot_data.setRebootRequired(true)
241+
}
242+
},
220243
editParam(param: Parameter) {
221244
if (param.readonly) {
222245
return
@@ -330,4 +353,14 @@ div.v-messages {
330353
.hand-cursor {
331354
cursor: pointer;
332355
}
356+
357+
.value-cell-content {
358+
display: flex;
359+
justify-content: space-between;
360+
align-items: center;
361+
}
362+
363+
.value-cell-content-restore {
364+
margin-left: auto;
365+
}
333366
</style>

0 commit comments

Comments
 (0)