diff --git a/core/frontend/src/components/parameter-editor/ParameterLoader.vue b/core/frontend/src/components/parameter-editor/ParameterLoader.vue index 718cc8a579..b866b9520b 100755 --- a/core/frontend/src/components/parameter-editor/ParameterLoader.vue +++ b/core/frontend/src/components/parameter-editor/ParameterLoader.vue @@ -34,7 +34,7 @@ - {{ printParam(item.current_value) }} + {{ printParam(item.current) }} {{ item.current.units ? `[${item.current.units}]` : '' }} - {{ printParam(item.value) }} + {{ printParam(item.new) }} {{ item.current.units ? `[${item.current.units}]` : '' }} @@ -115,6 +115,7 @@ import { Dictionary } from 'vue-router' import mavlink2rest from '@/libs/MAVLink2Rest' import autopilot_data from '@/store/autopilot' +import { printParam } from '@/types/autopilot/parameter' export default Vue.extend({ name: 'ParameterLoader', @@ -192,22 +193,6 @@ export default Vue.extend({ this.$set(this.param_checkboxes, key, new_value) } }, - printParam(value: number) { - try { - if (Math.abs(value) > 1e4) { - return value.toExponential(3) - } - if (Math.abs(value) < 0.01 && value !== 0) { - return value.toExponential(3) - } - return value.toFixed(2) - } catch { - return 'N/A' - } - }, - printable(paramset: Dictionary) { - return this.createPrintableParams(paramset) - }, writeParams() { this.writing = true this.initial_size = this.user_selected_params_length @@ -270,13 +255,18 @@ export default Vue.extend({ this.$set(this.param_checkboxes, name, true) } }, - createPrintableParams(paramset: Dictionary) { - return Object.entries(paramset).map(([name, value]) => ({ - name, - value, - current_value: autopilot_data.parameter(name)?.value, - })) + parametersFromSet(paramset: Dictionary) { + return Object.entries(paramset).map(([name, value]) => { + const currentParameter = autopilot_data.parameter(name) + + return { + name, + current: currentParameter, + new: { ...currentParameter, value }, + } + }) }, + printParam, }, }) @@ -297,7 +287,8 @@ button { flex: 1; padding: 5px; height: 30px; - min-width: 100px; + min-width: 150px; + white-space: nowrap; } .virtual-table-cell .v-input { margin-top: -6px;