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 9623e4e35ef402df452508f1c50853f6444e778b Author: mintsweet <[email protected]> AuthorDate: Wed Dec 27 17:33:52 2023 +1300 fix(config-ui): cannot select in jira transformation --- .../src/plugins/register/jira/transformation.tsx | 92 +++++++--------------- 1 file changed, 29 insertions(+), 63 deletions(-) diff --git a/config-ui/src/plugins/register/jira/transformation.tsx b/config-ui/src/plugins/register/jira/transformation.tsx index 2a2021200..ad8aec07c 100644 --- a/config-ui/src/plugins/register/jira/transformation.tsx +++ b/config-ui/src/plugins/register/jira/transformation.tsx @@ -84,14 +84,6 @@ export const JiraTransformation = ({ entities, connectionId, transformation, set setIncidents(types.filter((it) => it.standardType === StandardType.Incident).map((it) => it.name)); }, [transformation]); - const [requirementItems, bugItems, incidentItems] = useMemo(() => { - return [ - (data?.issueTypes ?? []).filter((it) => requirements.includes(it.name)), - (data?.issueTypes ?? []).filter((it) => bugs.includes(it.name)), - (data?.issueTypes ?? []).filter((it) => incidents.includes(it.name)), - ]; - }, [requirements, bugs, incidents, data?.issueTypes]); - const { token } = theme.useToken(); if (!ready || !data) { @@ -100,16 +92,9 @@ export const JiraTransformation = ({ entities, connectionId, transformation, set const { issueTypes, fields } = data; - const transformaType = ( - its: Array<{ - id: string; - name: string; - iconUrl: string; - }>, - standardType: StandardType, - ) => { + const transformaType = (its: string[], standardType: StandardType) => { return its.reduce((acc, cur) => { - acc[cur.name] = { + acc[cur] = { standardType, }; return acc; @@ -138,9 +123,9 @@ export const JiraTransformation = ({ entities, connectionId, transformation, set connectionId, issueTypes, fields, - requirementItems, - bugItems, - incidentItems, + requirements, + bugs, + incidents, transformaType, })} /> @@ -155,9 +140,9 @@ const renderCollapseItems = ({ connectionId, issueTypes, fields, - bugItems, - incidentItems, - requirementItems, + requirements, + bugs, + incidents, transformaType, }: { entities: string[]; @@ -173,18 +158,9 @@ const renderCollapseItems = ({ id: string; name: string; }>; - requirementItems: Array<{ - id: string; - name: string; - }>; - bugItems: Array<{ - id: string; - name: string; - }>; - incidentItems: Array<{ - id: string; - name: string; - }>; + requirements: string[]; + bugs: string[]; + incidents: string[]; transformaType: any; }) => [ @@ -193,7 +169,7 @@ const renderCollapseItems = ({ label: 'Issue Tracking', style: panelStyle, children: ( - <> + <Form labelCol={{ span: 5 }}> <p> Tell DevLake what types of Jira issues you are using as features, bugs and incidents, and what field as `Epic Link` or `Story Points`. @@ -208,18 +184,15 @@ const renderCollapseItems = ({ <Form.Item label="Requirement"> <Select mode="multiple" - options={issueTypes.map((it) => ({ label: it.name, value: it.id }))} - value={requirementItems.map((it) => it.id)} + options={issueTypes.map((it) => ({ label: it.name, value: it.name }))} + value={requirements} onChange={(value) => onChangeTransformation({ ...transformation, typeMappings: { - ...transformaType( - requirementItems.filter((it) => value.includes(it.id)), - StandardType.Requirement, - ), - ...transformaType(bugItems, StandardType.Bug), - ...transformaType(incidentItems, StandardType.Incident), + ...transformaType(value, StandardType.Requirement), + ...transformaType(bugs, StandardType.Bug), + ...transformaType(incidents, StandardType.Incident), }, }) } @@ -228,18 +201,15 @@ const renderCollapseItems = ({ <Form.Item label="Bug"> <Select mode="multiple" - options={issueTypes.map((it) => ({ label: it.name, value: it.id }))} - value={bugItems.map((it) => it.id)} + options={issueTypes.map((it) => ({ label: it.name, value: it.name }))} + value={bugs} onChange={(value) => onChangeTransformation({ ...transformation, typeMappings: { - ...transformaType(requirementItems, StandardType.Requirement), - ...transformaType( - bugItems.filter((it) => value.includes(it.id)), - StandardType.Bug, - ), - ...transformaType(incidentItems, StandardType.Incident), + ...transformaType(requirements, StandardType.Requirement), + ...transformaType(value, StandardType.Bug), + ...transformaType(incidents, StandardType.Incident), }, }) } @@ -257,19 +227,15 @@ const renderCollapseItems = ({ > <Select mode="multiple" - options={issueTypes.map((it) => ({ label: it.name, value: it.id }))} - value={incidentItems.map((it) => it.id)} + options={issueTypes.map((it) => ({ label: it.name, value: it.name }))} + value={incidents} onChange={(value) => onChangeTransformation({ ...transformation, typeMappings: { - ...transformaType(requirementItems, StandardType.Requirement), - ...transformaType(bugItems, StandardType.Bug), - ...transformaType( - incidentItems.filter((it) => value.includes(it.id)), - - StandardType.Incident, - ), + ...transformaType(requirements, StandardType.Requirement), + ...transformaType(bugs, StandardType.Bug), + ...transformaType(value, StandardType.Incident), }, }) } @@ -284,7 +250,7 @@ const renderCollapseItems = ({ } > <Select - options={fields.map((it) => ({ label: it.name, value: it.id }))} + options={fields.map((it) => ({ label: it.name, value: it.name }))} value={transformation.storyPointField} onChange={(value) => onChangeTransformation({ @@ -294,7 +260,7 @@ const renderCollapseItems = ({ } /> </Form.Item> - </> + </Form> ), }, {
