diff --git a/frontend/src/assets/icon/db/sql.svg b/frontend/src/assets/icon/db/sql.svg new file mode 100644 index 00000000..2226c807 --- /dev/null +++ b/frontend/src/assets/icon/db/sql.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/src/components/monaco/MonacoEditorBox.ts b/frontend/src/components/monaco/MonacoEditorBox.ts index 7cfa3a7f..295cf192 100644 --- a/frontend/src/components/monaco/MonacoEditorBox.ts +++ b/frontend/src/components/monaco/MonacoEditorBox.ts @@ -1,6 +1,7 @@ import { VNode, h, render } from 'vue'; import MonacoEditorDialog from './MonacoEditorDialog.vue'; import * as monaco from 'monaco-editor'; +import { ElMessage } from 'element-plus'; export type MonacoEditorDialogProps = { content: string; @@ -53,7 +54,23 @@ const MonacoEditorBox = (props: MonacoEditorDialogProps): void => { console.log('close editor'); }, onConfirm: () => { - props.confirmFn && props.confirmFn(props.content); + let value = props.content; + if (props.language === 'json') { + let val; + try { + val = JSON.parse(value); + if (typeof val !== 'object') { + ElMessage.error('Invalid json'); + return; + } + } catch (e) { + ElMessage.error('Invalid json'); + return; + } + // 压缩json字符串 + value = JSON.stringify(val); + } + props.confirmFn && props.confirmFn(value); }, }); // 将虚拟dom渲染到 container dom 上 diff --git a/frontend/src/components/monaco/MonacoEditorDialog.vue b/frontend/src/components/monaco/MonacoEditorDialog.vue index 936b515b..9ce7fed6 100644 --- a/frontend/src/components/monaco/MonacoEditorDialog.vue +++ b/frontend/src/components/monaco/MonacoEditorDialog.vue @@ -76,11 +76,11 @@ const confirm = async () => { try { val = JSON.parse(value); if (typeof val !== 'object') { - ElMessage.error('请输入正确的json'); + ElMessage.error('Invalid json'); return; } } catch (e) { - ElMessage.error('请输入正确的json'); + ElMessage.error('Invalid json'); return; } diff --git a/frontend/src/views/ops/component/TagTree.vue b/frontend/src/views/ops/component/TagTree.vue index bae39738..0cd2ddd8 100644 --- a/frontend/src/views/ops/component/TagTree.vue +++ b/frontend/src/views/ops/component/TagTree.vue @@ -18,7 +18,12 @@ :default-expanded-keys="props.defaultExpandedKeys" >