You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streampark.apache.org by be...@apache.org on 2022/11/30 14:02:32 UTC

[incubator-streampark] branch dev updated: [Fix]: dependency upload jar bug fix (#2115)

This is an automated email from the ASF dual-hosted git repository.

benjobs pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git


The following commit(s) were added to refs/heads/dev by this push:
     new 9bd050f1e [Fix]: dependency upload jar bug fix (#2115)
9bd050f1e is described below

commit 9bd050f1e988484d97192a3a5ec05313eede42b2
Author: WSZ <12...@qq.com>
AuthorDate: Wed Nov 30 22:02:26 2022 +0800

    [Fix]: dependency upload jar bug fix (#2115)
    
    * [Fix]: dependency upload jar bug fix
    
    * [Fix]: select component use limit
---
 .../src/views/flink/app/components/Dependency.vue  | 50 ++++++++++++++--------
 1 file changed, 33 insertions(+), 17 deletions(-)

diff --git a/streampark-console/streampark-console-webapp/src/views/flink/app/components/Dependency.vue b/streampark-console/streampark-console-webapp/src/views/flink/app/components/Dependency.vue
index 0adec3903..65c7bd816 100644
--- a/streampark-console/streampark-console-webapp/src/views/flink/app/components/Dependency.vue
+++ b/streampark-console/streampark-console-webapp/src/views/flink/app/components/Dependency.vue
@@ -29,7 +29,7 @@
   import { getMonacoOptions } from '../data';
   import { Icon } from '/@/components/Icon';
   import { useMonaco } from '/@/hooks/web/useMonaco';
-  import { Select, Tabs, Alert, Tag, Space } from 'ant-design-vue';
+  import { Select, Tabs, Alert, Tag, Space, Form } from 'ant-design-vue';
   import { useMessage } from '/@/hooks/web/useMessage';
   import { fetchUpload } from '/@/api/flink/app/app';
   import { fetchUploadJars } from '/@/api/flink/app/flinkHistory';
@@ -53,6 +53,7 @@
   const selectedHistoryUploadJars = ref<string[]>([]);
   const dependencyRecords = ref<DependencyType[]>([]);
   const uploadJars = ref<string[]>([]);
+  const historyUploadJars = ref<string[]>([]);
   const loading = ref(false);
 
   const emit = defineEmits(['update:value']);
@@ -208,11 +209,11 @@
   async function handleReloadHistoryUploads() {
     selectedHistoryUploadJars.value = [];
     const res = await fetchUploadJars();
-    uploadJars.value = res;
+    historyUploadJars.value = res;
   }
 
   const filteredHistoryUploadJarsOptions = computed(() => {
-    return uploadJars.value.filter((o) => !Reflect.has(dependency.jar, o));
+    return historyUploadJars.value.filter((o) => !Reflect.has(dependency.jar, o));
   });
   function handleRemoveJar(jar: string) {
     delete dependency.jar[jar];
@@ -242,6 +243,14 @@
       dependency.jar[fileName] = fileName;
     });
   }
+  function addHistoryUploadJar(item: string) {
+    dependency.jar[item] = item;
+    handleUpdateDependency();
+  }
+  function deleteHistoryUploadJar(item: string) {
+    delete dependency.jar[item];
+    handleUpdateDependency();
+  }
   onMounted(() => {
     handleReloadHistoryUploads();
   });
@@ -271,20 +280,27 @@
     </TabPane>
     <TabPane key="jar" tab="Upload Jar">
       <template v-if="isK8sExecMode(formModel?.executionMode)">
-        <Select
-          mode="multiple"
-          placeholder="Search History Uploads"
-          v-model:value="selectedHistoryUploadJars"
-          style="width: 100%"
-          :showArrow="true"
-        >
-          <SelectOption v-for="item in filteredHistoryUploadJarsOptions" :key="item" :value="item">
-            <template #suffixIcon>
-              <Icon icon="ant-design:file-done-outlined" />
-            </template>
-            {{ item }}
-          </SelectOption>
-        </Select>
+        <Form.ItemRest>
+          <Select
+            mode="multiple"
+            placeholder="Search History Uploads"
+            v-model:value="selectedHistoryUploadJars"
+            @select="addHistoryUploadJar"
+            @deselect="deleteHistoryUploadJar"
+            style="width: 100%"
+          >
+            <SelectOption
+              v-for="item in filteredHistoryUploadJarsOptions"
+              :key="item"
+              :value="item"
+            >
+              <template #suffixIcon>
+                <Icon icon="ant-design:file-done-outlined" />
+              </template>
+              {{ item }}
+            </SelectOption>
+          </Select>
+        </Form.ItemRest>
       </template>
 
       <UploadJobJar :custom-request="handleCustomDepsRequest" v-model:loading="loading" />