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

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

commit bd2c49154605cc097f90d77224b6aec76d18d1d5
Author: mintsweet <[email protected]>
AuthorDate: Thu Dec 28 19:22:01 2023 +1300

    fix(config-ui): bitbucket transformation status map error
---
 .../plugins/register/bitbucket/transformation.tsx  | 24 +++++++++++-----------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/config-ui/src/plugins/register/bitbucket/transformation.tsx 
b/config-ui/src/plugins/register/bitbucket/transformation.tsx
index 6bae7b8a7..9e0bc4a79 100644
--- a/config-ui/src/plugins/register/bitbucket/transformation.tsx
+++ b/config-ui/src/plugins/register/bitbucket/transformation.tsx
@@ -44,15 +44,15 @@ export const BitbucketTransformation = ({ entities, 
transformation, setTransform
     }
   }, [transformation]);
 
-  const selectedStates = useMemo(
-    () => [
+  const options = useMemo(() => {
+    const disabledOptions = [
       ...(transformation.issueStatusTodo ? 
transformation.issueStatusTodo.split(',') : []),
       ...(transformation.issueStatusInProgress ? 
transformation.issueStatusInProgress.split(',') : []),
       ...(transformation.issueStatusDone ? 
transformation.issueStatusDone.split(',') : []),
       ...(transformation.issueStatusOther ? 
transformation.issueStatusOther.split(',') : []),
-    ],
-    [transformation],
-  );
+    ];
+    return ALL_STATES.filter((it) => !disabledOptions.includes(it)).map((it) 
=> ({ label: it, value: it }));
+  }, [transformation]);
 
   const handleChangeUseCustom = (e: React.FormEvent<HTMLInputElement>) => {
     const checked = (e.target as HTMLInputElement).checked;
@@ -87,7 +87,7 @@ export const BitbucketTransformation = ({ entities, 
transformation, setTransform
       items={renderCollapseItems({
         entities,
         panelStyle,
-        selectedStates,
+        options,
         transformation,
         onChangeTransformation: setTransformation,
         useCustom,
@@ -100,7 +100,7 @@ export const BitbucketTransformation = ({ entities, 
transformation, setTransform
 const renderCollapseItems = ({
   entities,
   panelStyle,
-  selectedStates,
+  options,
   transformation,
   onChangeTransformation,
   useCustom,
@@ -108,7 +108,7 @@ const renderCollapseItems = ({
 }: {
   entities: string[];
   panelStyle: React.CSSProperties;
-  selectedStates: any;
+  options: Array<{ label: string; value: string }>;
   transformation: any;
   onChangeTransformation: any;
   useCustom: boolean;
@@ -129,7 +129,7 @@ const renderCollapseItems = ({
           <Form.Item label="TODO">
             <Select
               mode="multiple"
-              options={ALL_STATES.map((it) => ({ label: it, value: it }))}
+              options={options}
               value={transformation.issueStatusTodo ? 
transformation.issueStatusTodo.split(',') : []}
               onChange={(value) =>
                 onChangeTransformation({
@@ -142,7 +142,7 @@ const renderCollapseItems = ({
           <Form.Item label="IN-PROGRESS">
             <Select
               mode="multiple"
-              options={ALL_STATES.map((it) => ({ label: it, value: it }))}
+              options={options}
               value={transformation.issueStatusInProgress ? 
transformation.issueStatusInProgress.split(',') : []}
               onChange={(value) =>
                 onChangeTransformation({
@@ -155,7 +155,7 @@ const renderCollapseItems = ({
           <Form.Item label="DONE">
             <Select
               mode="multiple"
-              options={ALL_STATES.map((it) => ({ label: it, value: it }))}
+              options={options}
               value={transformation.issueStatusDone ? 
transformation.issueStatusDone.split(',') : []}
               onChange={(value) =>
                 onChangeTransformation({
@@ -168,7 +168,7 @@ const renderCollapseItems = ({
           <Form.Item label="OTHER">
             <Select
               mode="multiple"
-              options={ALL_STATES.map((it) => ({ label: it, value: it }))}
+              options={options}
               value={transformation.issueStatusOther ? 
transformation.issueStatusOther.split(',') : []}
               onChange={(value) =>
                 onChangeTransformation({

Reply via email to