From e7b00290152b2de4b29848a1ab93014891b8038d Mon Sep 17 00:00:00 2001 From: weitong Date: Mon, 13 Nov 2023 13:11:30 +0800 Subject: [PATCH] code change --- kyuubi-server/web-ui/src/api/editor/index.ts | 7 ++ .../web-ui/src/locales/en_US/index.ts | 3 + .../web-ui/src/locales/zh_CN/index.ts | 3 + .../src/views/editor/components/Editor.vue | 68 +++++----- .../src/views/editor/components/Log.vue | 56 +++++++++ .../src/views/editor/components/Result.vue | 116 +++++++++--------- .../src/views/editor/components/types.ts | 10 +- .../web-ui/src/views/editor/index.vue | 23 +++- .../views/editor/styles/shared-styles.scss | 27 ++++ 9 files changed, 215 insertions(+), 98 deletions(-) create mode 100644 kyuubi-server/web-ui/src/views/editor/components/Log.vue create mode 100644 kyuubi-server/web-ui/src/views/editor/styles/shared-styles.scss diff --git a/kyuubi-server/web-ui/src/api/editor/index.ts b/kyuubi-server/web-ui/src/api/editor/index.ts index 67163af8782..daaf0471c12 100644 --- a/kyuubi-server/web-ui/src/api/editor/index.ts +++ b/kyuubi-server/web-ui/src/api/editor/index.ts @@ -68,3 +68,10 @@ export function getLog(identifier: string): any { method: 'get' }) } + +export function closeOperation(identifier: string) { + return request({ + url: `api/v1/admin/operations/${identifier}`, + method: 'delete' + }) +} diff --git a/kyuubi-server/web-ui/src/locales/en_US/index.ts b/kyuubi-server/web-ui/src/locales/en_US/index.ts index 62f6bd62504..9bb0144ff40 100644 --- a/kyuubi-server/web-ui/src/locales/en_US/index.ts +++ b/kyuubi-server/web-ui/src/locales/en_US/index.ts @@ -38,7 +38,10 @@ export default { failure_reason: 'Failure Reason', session_properties: 'Session Properties', no_data: 'No data', + no_log: 'No log', run_sql_tips: 'Run a SQL to get result', + result: 'Result', + log: 'Log', operation: { text: 'Operation', delete_confirm: 'Delete Confirm', diff --git a/kyuubi-server/web-ui/src/locales/zh_CN/index.ts b/kyuubi-server/web-ui/src/locales/zh_CN/index.ts index 7b0f41d27f0..198f379eccb 100644 --- a/kyuubi-server/web-ui/src/locales/zh_CN/index.ts +++ b/kyuubi-server/web-ui/src/locales/zh_CN/index.ts @@ -38,7 +38,10 @@ export default { failure_reason: '失败原因', session_properties: 'Session 参数', no_data: '无数据', + no_log: '无日志', run_sql_tips: '请运行SQL获取结果', + result: '结果', + log: '日志', operation: { text: '操作', delete_confirm: '确认删除', diff --git a/kyuubi-server/web-ui/src/views/editor/components/Editor.vue b/kyuubi-server/web-ui/src/views/editor/components/Editor.vue index 6ed89048384..21faee5a33a 100644 --- a/kyuubi-server/web-ui/src/views/editor/components/Editor.vue +++ b/kyuubi-server/web-ui/src/views/editor/components/Editor.vue @@ -62,14 +62,18 @@ @change="handleContentChange" @editor-save="editorSave" /> -
{{ sqlLog }}
+ + + @@ -77,6 +81,7 @@ + + diff --git a/kyuubi-server/web-ui/src/views/editor/components/Result.vue b/kyuubi-server/web-ui/src/views/editor/components/Result.vue index 1eefe1e6b39..3937905c0db 100644 --- a/kyuubi-server/web-ui/src/views/editor/components/Result.vue +++ b/kyuubi-server/web-ui/src/views/editor/components/Result.vue @@ -18,18 +18,14 @@ diff --git a/kyuubi-server/web-ui/src/views/editor/components/types.ts b/kyuubi-server/web-ui/src/views/editor/components/types.ts index 3fb84a53d62..42475bf4ae8 100644 --- a/kyuubi-server/web-ui/src/views/editor/components/types.ts +++ b/kyuubi-server/web-ui/src/views/editor/components/types.ts @@ -39,4 +39,12 @@ interface IErrorMessage { description: string } -export { IResponse, ISqlResult, IFields, ILog, IErrorMessage } +interface IError extends Error { + response?: { + data?: { + message?: string + } + } +} + +export { IResponse, ISqlResult, IFields, ILog, IErrorMessage, IError } diff --git a/kyuubi-server/web-ui/src/views/editor/index.vue b/kyuubi-server/web-ui/src/views/editor/index.vue index 37df66fe940..424d3e929c8 100644 --- a/kyuubi-server/web-ui/src/views/editor/index.vue +++ b/kyuubi-server/web-ui/src/views/editor/index.vue @@ -105,19 +105,36 @@ } :deep(.result-el-tabs) { + $border: 1px solid #e4e7ed; .el-tabs__header { margin-bottom: 0; background: transparent; .el-tabs__nav-wrap { - border-bottom: 1px solid #e4e7ed; + border-bottom: $border; } .el-tabs__nav { - background: #f5f5f5; + border: 0; + + .el-tabs__item { + border: $border; + border-bottom: 0; + margin-right: 4px; + background: #f5f5f5; + border-radius: 2px 2px 0 0; + + &.is-active { + background: #fff; + } + + &:not(.is-active) { + color: #909399; + } + } } } .el-tabs__content { padding: 10px 0 0 0; - border: 1px solid #e4e7ed; + border: $border; border-top: none; } } diff --git a/kyuubi-server/web-ui/src/views/editor/styles/shared-styles.scss b/kyuubi-server/web-ui/src/views/editor/styles/shared-styles.scss new file mode 100644 index 00000000000..9027ef69a3a --- /dev/null +++ b/kyuubi-server/web-ui/src/views/editor/styles/shared-styles.scss @@ -0,0 +1,27 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +@mixin sharedNoData { + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + font-size: 14px; + color: #999; + font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; + text-align: center; +} \ No newline at end of file