diff --git a/ui/src/components/codemirror-editor/index.vue b/ui/src/components/codemirror-editor/index.vue index 0c4203eee..5e63c7cad 100644 --- a/ui/src/components/codemirror-editor/index.vue +++ b/ui/src/components/codemirror-editor/index.vue @@ -21,7 +21,8 @@ defineOptions({ name: 'CodemirrorEditor' }) function getRangeFromLineAndColumn(state: any, line: number, column: number, end_column?: number) { const l = state.doc.line(line) - return { form: l.from + column, to: end_column ? l.from + end_column : l.to } + const form = l.from + column + return { form: form > l.to ? l.to : form, to: end_column ? l.from + end_column : l.to } } const regexpLinter = linter(async (view) => { diff --git a/ui/src/views/function-lib/component/FunctionDebugDrawer.vue b/ui/src/views/function-lib/component/FunctionDebugDrawer.vue index 6ae779345..e1d00784e 100644 --- a/ui/src/views/function-lib/component/FunctionDebugDrawer.vue +++ b/ui/src/views/function-lib/component/FunctionDebugDrawer.vue @@ -102,36 +102,21 @@ watch(debugVisible, (bool) => { }) const submit = async (formEl: FormInstance | undefined) => { - if (!formEl) { - functionLibApi - .postFunctionLibDebug(form.value, loading) - .then((res) => { + console.log(formEl) + const validate = formEl ? formEl.validate() : Promise.resolve() + validate.then(() => { + functionLibApi.postFunctionLibDebug(form.value, loading).then((res) => { + if (res.code === 500) { + showResult.value = true + isSuccess.value = false + result.value = res.message + } else { showResult.value = true isSuccess.value = true result.value = res.data - }) - .catch((res) => { - showResult.value = true - isSuccess.value = false - result.value = res.data - }) - } else { - await formEl.validate((valid: any) => { - if (valid) { - functionLibApi.postFunctionLibDebug(form.value, loading).then((res) => { - if (res.code === 500) { - showResult.value = true - isSuccess.value = false - result.value = res.message - } else { - showResult.value = true - isSuccess.value = true - result.value = res.data - } - }) } }) - } + }) } const open = (data: any) => {