From 92e581cb72f84b9e59ff85daf23a4385fe15590e Mon Sep 17 00:00:00 2001 From: gabaldon Date: Wed, 6 Apr 2022 19:45:48 +0200 Subject: [PATCH] fix(editor): allow using decimal numbers --- src/components/EditorOperatorArgument.vue | 13 ------------- src/components/EditorToolBar.vue | 4 +--- src/components/RadonOperator.vue | 9 +++++---- src/store/rad.js | 6 +----- src/utils.js | 16 +++++++++++----- 5 files changed, 18 insertions(+), 30 deletions(-) diff --git a/src/components/EditorOperatorArgument.vue b/src/components/EditorOperatorArgument.vue index 31083da16..c40ef95a3 100644 --- a/src/components/EditorOperatorArgument.vue +++ b/src/components/EditorOperatorArgument.vue @@ -58,7 +58,6 @@ > { - const id = variable.id - const value = variable.value + this.template.usedVariables.forEach(({ value, id }) => { this.updateTemplate({ id, value, keepRecord: false }) }) this.jsFile = this.radRequest.getJs() diff --git a/src/components/RadonOperator.vue b/src/components/RadonOperator.vue index 3d5999e8f..232514532 100644 --- a/src/components/RadonOperator.vue +++ b/src/components/RadonOperator.vue @@ -81,6 +81,7 @@ import { standardizeOperatorName, standardizeOutputType, selectInnerError, + getNativeValueFromMarkupArgumentType, } from '@/utils' import { UPDATE_TEMPLATE, @@ -258,7 +259,7 @@ export default { }, updateArgumentsAndVariables(input) { const id = input.id - let value = input.value + const value = input.value const type = input.type this.variableName = value this.toggleVariables({ hasVariables: true }) @@ -283,7 +284,7 @@ export default { this.toggleVariables({ hasVariables: false }) this.updateTemplate({ id, - value: value, + value: getNativeValueFromMarkupArgumentType(value, type), }) } }, @@ -291,12 +292,12 @@ export default { this.selected = { id: id, primaryText: value, - value: value, + value, secondaryText: 'boolean', } this.updateTemplate({ id, - value: value, + value, }) }, scrollToCurrentFocus() { diff --git a/src/store/rad.js b/src/store/rad.js index 70cab973a..e4aa72b1c 100644 --- a/src/store/rad.js +++ b/src/store/rad.js @@ -173,11 +173,7 @@ export default { }) }, [DELETE_USED_VARIABLE](state, { index }) { - if (index === 0) { - state.currentTemplate.usedVariables.shift() - } else { - state.currentTemplate.usedVariables.splice(index, 1) - } + state.currentTemplate.usedVariables.splice(index, 1) this.dispatch('saveTemplate') }, [USED_VARIABLES](state, { id, variable, value, type }) { diff --git a/src/utils.js b/src/utils.js index 242c8ea41..20b815c17 100644 --- a/src/utils.js +++ b/src/utils.js @@ -354,11 +354,17 @@ export function copyToClipboard(str) { // Get the native javascript type from the radon markup argument type // Map types are handled by witnet-radon-js library export function getNativeValueFromMarkupArgumentType(value, type) { - if (type.toLowerCase() === 'number') { - return Number(value) - } - if (type.toLowerCase() === 'boolean') { - return value === 'true' + if (type) { + if ( + type.toLowerCase() === 'number' && + Number(value) && + value.slice(-1) !== '.' + ) { + return Number(value) + } + if (type.toLowerCase() === 'boolean') { + return value === 'true' + } } return value }