From a2be4e6644a980ce49a672a447bcf4053bfc01e2 Mon Sep 17 00:00:00 2001 From: Joao Mario Lago Date: Thu, 14 Mar 2024 16:07:06 -0300 Subject: [PATCH] core: frontend: Add correct parameters values name * Change to use correct parameters values and units instead of just showing the raw enum value --- .../parameter-editor/ParameterLoader.vue | 87 +++++++++++++------ 1 file changed, 60 insertions(+), 27 deletions(-) diff --git a/core/frontend/src/components/parameter-editor/ParameterLoader.vue b/core/frontend/src/components/parameter-editor/ParameterLoader.vue index 718cc8a579..75f25d6f58 100755 --- a/core/frontend/src/components/parameter-editor/ParameterLoader.vue +++ b/core/frontend/src/components/parameter-editor/ParameterLoader.vue @@ -34,7 +34,7 @@ - {{ item.name }} + + + + {{ item.current?.description ?? 'No description provided' }} + + - {{ printParam(item.current_value) }} + + + + {{ prettyNameFromParameter(item.current) }} + + - {{ printParam(item.value) }} + + + + {{ prettyNameFromParameter(item.new) }} + + @@ -115,6 +148,7 @@ import { Dictionary } from 'vue-router' import mavlink2rest from '@/libs/MAVLink2Rest' import autopilot_data from '@/store/autopilot' +import Parameter, { printParam } from '@/types/autopilot/parameter' export default Vue.extend({ name: 'ParameterLoader', @@ -192,22 +226,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,12 +288,22 @@ 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 }, + } + }) + }, + prettyNameFromParameter(parameter: Parameter) { + const paramValueText = printParam(parameter) + const paramUnitsText = parameter?.units ? `[${parameter.units}]` : '' + + return paramValueText + paramUnitsText }, }, }) @@ -297,11 +325,16 @@ button { flex: 1; padding: 5px; height: 30px; - min-width: 100px; + min-width: 150px; } .virtual-table-cell .v-input { margin-top: -6px; } +.virtual-table-cell .large-text-cell { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} .checkbox-label label { font-weight: 700;