You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@devlake.apache.org by li...@apache.org on 2023/01/09 15:25:03 UTC

[incubator-devlake] branch main updated: fix(config-ui): duplicatd ID in items (#4155)

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

likyh pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git


The following commit(s) were added to refs/heads/main by this push:
     new 559a972a4 fix(config-ui): duplicatd ID in items (#4155)
559a972a4 is described below

commit 559a972a4813959a4c0d0674853666e24006f8ab
Author: 青湛 <0x...@gmail.com>
AuthorDate: Mon Jan 9 23:24:57 2023 +0800

    fix(config-ui): duplicatd ID in items (#4155)
    
    * fix(config-ui): filter shared projects in gitlab
    
    * fix(config-ui): adjust the rules for jenkins miller columns id
---
 config-ui/src/plugins/gitlab/api.ts                       |  2 +-
 .../plugins/jenkins/components/miller-columns/index.tsx   | 10 ++--------
 .../components/miller-columns/use-miller-columns.ts       | 15 ++-------------
 3 files changed, 5 insertions(+), 22 deletions(-)

diff --git a/config-ui/src/plugins/gitlab/api.ts b/config-ui/src/plugins/gitlab/api.ts
index 5a276f0b4..bcc42d4d0 100644
--- a/config-ui/src/plugins/gitlab/api.ts
+++ b/config-ui/src/plugins/gitlab/api.ts
@@ -42,7 +42,7 @@ export const getGroupSubgroups = (prefix: string, gid: ID, params: PaginationPar
 
 export const getGroupProjects = (prefix: string, gid: ID, params: PaginationParams) =>
   request(`${prefix}/groups/${gid}/projects`, {
-    data: params,
+    data: { with_shared: false, ...params },
   });
 
 type SearchProjectParams = {
diff --git a/config-ui/src/plugins/jenkins/components/miller-columns/index.tsx b/config-ui/src/plugins/jenkins/components/miller-columns/index.tsx
index 5899d8c3b..29554141f 100644
--- a/config-ui/src/plugins/jenkins/components/miller-columns/index.tsx
+++ b/config-ui/src/plugins/jenkins/components/miller-columns/index.tsx
@@ -40,12 +40,6 @@ export const MillerColumns = ({ connectionId, disabledItems, selectedItems, onCh
     connectionId,
   });
 
-  const getJobFullName = (item: any): string => {
-    if (!item.parentId) return item.title;
-    const parentItem = items.find((it) => it.id === item.parentId);
-    return `${getJobFullName(parentItem)}/${item.title}`;
-  };
-
   useEffect(() => {
     setDisabledIds((disabledItems ?? []).map((it) => it.jobFullName));
   }, [disabledItems]);
@@ -59,8 +53,8 @@ export const MillerColumns = ({ connectionId, disabledItems, selectedItems, onCh
       .filter((it) => selectedIds.includes(it.id) && it.type !== 'folder')
       .map((it: any) => ({
         connectionId,
-        jobFullName: getJobFullName(it),
-        name: getJobFullName(it),
+        jobFullName: it.id,
+        name: it.id,
       }));
 
     onChangeItems?.(result);
diff --git a/config-ui/src/plugins/jenkins/components/miller-columns/use-miller-columns.ts b/config-ui/src/plugins/jenkins/components/miller-columns/use-miller-columns.ts
index 7ac6e141e..abd293fb1 100644
--- a/config-ui/src/plugins/jenkins/components/miller-columns/use-miller-columns.ts
+++ b/config-ui/src/plugins/jenkins/components/miller-columns/use-miller-columns.ts
@@ -49,7 +49,7 @@ export const useMillerColumns = ({ connectionId }: UseMillerColumnsProps) => {
   const formatJobs = (jobs: any, parentId: ID | null = null) =>
     jobs.map((it: any) => ({
       parentId,
-      id: it.name,
+      id: parentId ? `${parentId}/${it.name}` : it.name,
       title: it.name,
       type: it.jobs ? 'folder' : 'file',
     }));
@@ -62,23 +62,12 @@ export const useMillerColumns = ({ connectionId }: UseMillerColumnsProps) => {
     })();
   }, [prefix]);
 
-  const getJobs = (item?: JenkinsItemType): ID[] => {
-    let result = [];
-
-    if (item) {
-      result.push(item.id);
-      result.unshift(...getJobs(items.find((it) => it.id === item.parentId)));
-    }
-    return result;
-  };
-
   const onExpandItem = async (item: JenkinsItemType) => {
     if (expandedIds.includes(item.id)) {
       return;
     }
 
-    const jobs = getJobs(item);
-    const res = await API.getJobChildJobs(prefix, jobs.join('/job/'));
+    const res = await API.getJobChildJobs(prefix, (item.id as string).split('/').join('/job/'));
 
     setExpandedIds([...expandedIds, item.id]);
     setLoadedIds([...loadedIds, item.id]);