You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by li...@apache.org on 2022/07/14 08:17:14 UTC
[dolphinscheduler] branch dev updated: [Fix-10890] fix some bugs in the Resource page (#10907)
This is an automated email from the ASF dual-hosted git repository.
liudongkai pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
The following commit(s) were added to refs/heads/dev by this push:
new 895dca3e93 [Fix-10890] fix some bugs in the Resource page (#10907)
895dca3e93 is described below
commit 895dca3e9301c0495a609c3fac49799f39102217
Author: rockfang <65...@qq.com>
AuthorDate: Thu Jul 14 16:17:06 2022 +0800
[Fix-10890] fix some bugs in the Resource page (#10907)
* [Fix-10890] fix some bugs in the Resource page
* fix: cancel the unnecessary verifications and reset the form when canceling FileUploadModal
* fix: use se `resetForm` method to reset the form
---
.../src/views/resource/file/upload/index.tsx | 6 +++---
.../resource/udf/function/components/function-modal.tsx | 2 +-
.../resource/udf/resource/components/folder-modal.tsx | 17 ++++++++++++++---
.../resource/udf/resource/components/upload-modal.tsx | 9 +++++++++
.../views/resource/udf/resource/components/use-form.ts | 9 +++++++++
.../views/resource/udf/resource/components/use-modal.ts | 2 +-
6 files changed, 37 insertions(+), 8 deletions(-)
diff --git a/dolphinscheduler-ui/src/views/resource/file/upload/index.tsx b/dolphinscheduler-ui/src/views/resource/file/upload/index.tsx
index b2aee1fabe..9da3228d86 100644
--- a/dolphinscheduler-ui/src/views/resource/file/upload/index.tsx
+++ b/dolphinscheduler-ui/src/views/resource/file/upload/index.tsx
@@ -38,15 +38,14 @@ export default defineComponent({
const { handleUploadFile } = useUpload(state)
const hideModal = () => {
+ resetForm()
ctx.emit('update:show')
}
const customRequest = ({ file }: any) => {
state.uploadForm.name = file.name
state.uploadForm.file = file.file
- state.uploadFormNameRef.validate({
- trigger: 'input'
- })
+ state.uploadFormRef.validate()
}
const handleFile = () => {
@@ -55,6 +54,7 @@ export default defineComponent({
const removeFile = () => {
state.uploadForm.name = ''
+ state.uploadForm.file = ''
}
return {
diff --git a/dolphinscheduler-ui/src/views/resource/udf/function/components/function-modal.tsx b/dolphinscheduler-ui/src/views/resource/udf/function/components/function-modal.tsx
index 0b19e27dc9..9aaf3e310b 100644
--- a/dolphinscheduler-ui/src/views/resource/udf/function/components/function-modal.tsx
+++ b/dolphinscheduler-ui/src/views/resource/udf/function/components/function-modal.tsx
@@ -92,7 +92,7 @@ export default defineComponent({
() => props.row,
() => {
variables.uploadShow = false
- state.functionForm.type = props.row.type
+ state.functionForm.type = props.row.type || 'HIVE'
state.functionForm.funcName = props.row.funcName
state.functionForm.className = props.row.className
state.functionForm.resourceId = props.row.resourceId || -1
diff --git a/dolphinscheduler-ui/src/views/resource/udf/resource/components/folder-modal.tsx b/dolphinscheduler-ui/src/views/resource/udf/resource/components/folder-modal.tsx
index f717c79d77..be13ace5c8 100644
--- a/dolphinscheduler-ui/src/views/resource/udf/resource/components/folder-modal.tsx
+++ b/dolphinscheduler-ui/src/views/resource/udf/resource/components/folder-modal.tsx
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-import { defineComponent, toRefs, PropType, watch } from 'vue'
+import { defineComponent, toRefs, PropType, watch, computed } from 'vue'
import { NForm, NFormItem, NInput } from 'naive-ui'
import { useI18n } from 'vue-i18n'
import Modal from '@/components/modal'
@@ -62,8 +62,10 @@ export default defineComponent({
state.folderForm.description = props.row.description
}
)
+ const fileEdit = computed(() => props.row.id && !props.row.directory)
return {
+ fileEdit,
hideModal,
handleCreate,
handleRename,
@@ -76,7 +78,9 @@ export default defineComponent({
return (
<Modal
show={this.$props.show}
- title={t('resource.udf.create_folder')}
+ title={
+ this.row.id ? t('resource.udf.edit') : t('resource.udf.create_folder')
+ }
onCancel={this.hideModal}
onConfirm={this.row.id ? this.handleRename : this.handleCreate}
confirmClassName='btn-submit'
@@ -84,7 +88,14 @@ export default defineComponent({
confirmLoading={this.saving}
>
<NForm rules={this.rules} ref='folderFormRef'>
- <NFormItem label={t('resource.udf.folder_name')} path='name'>
+ <NFormItem
+ label={
+ this.fileEdit
+ ? t('resource.udf.file_name')
+ : t('resource.udf.folder_name')
+ }
+ path='name'
+ >
<NInput
v-model={[this.folderForm.name, 'value']}
placeholder={t('resource.udf.enter_name_tips')}
diff --git a/dolphinscheduler-ui/src/views/resource/udf/resource/components/upload-modal.tsx b/dolphinscheduler-ui/src/views/resource/udf/resource/components/upload-modal.tsx
index fc4bf4318f..84016d8fdb 100644
--- a/dolphinscheduler-ui/src/views/resource/udf/resource/components/upload-modal.tsx
+++ b/dolphinscheduler-ui/src/views/resource/udf/resource/components/upload-modal.tsx
@@ -52,12 +52,19 @@ export default defineComponent({
const customRequest = ({ file }: any) => {
state.uploadForm.name = file.name
state.uploadForm.file = file.file
+ state.uploadFormRef.validate()
+ }
+
+ const removeFile = () => {
+ state.uploadForm.name = ''
+ state.uploadForm.file = ''
}
return {
hideModal,
handleFolder,
customRequest,
+ removeFile,
...toRefs(state)
}
},
@@ -93,7 +100,9 @@ export default defineComponent({
<NUpload
v-model={[this.uploadForm.file, 'value']}
customRequest={this.customRequest}
+ max={1}
class='btn-upload'
+ onRemove={this.removeFile}
>
<NButton>
{t('resource.udf.upload')}
diff --git a/dolphinscheduler-ui/src/views/resource/udf/resource/components/use-form.ts b/dolphinscheduler-ui/src/views/resource/udf/resource/components/use-form.ts
index 21c87fc6ba..af474132c7 100644
--- a/dolphinscheduler-ui/src/views/resource/udf/resource/components/use-form.ts
+++ b/dolphinscheduler-ui/src/views/resource/udf/resource/components/use-form.ts
@@ -64,6 +64,15 @@ export const useForm = () => {
return new Error(t('resource.udf.enter_name_tips'))
}
}
+ },
+ file: {
+ required: true,
+ trigger: ['input', 'blur'],
+ validator() {
+ if (uploadState.uploadForm.file === '') {
+ return new Error(t('resource.file.enter_content_tips'))
+ }
+ }
}
} as FormRules
})
diff --git a/dolphinscheduler-ui/src/views/resource/udf/resource/components/use-modal.ts b/dolphinscheduler-ui/src/views/resource/udf/resource/components/use-modal.ts
index b8cf902e0b..d1565cbb3e 100644
--- a/dolphinscheduler-ui/src/views/resource/udf/resource/components/use-modal.ts
+++ b/dolphinscheduler-ui/src/views/resource/udf/resource/components/use-modal.ts
@@ -105,7 +105,7 @@ export function useModal(
ctx.emit('updateList')
ctx.emit('update:show')
resetUploadForm()
- } catch (err) {
+ } finally {
state.saving = false
}
}