This is an automated email from the ASF dual-hosted git repository. abeizn pushed a commit to branch release-v1.0 in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git
commit ec4cab1dc288b9e3757809cd406940240957f528 Author: 青湛 <[email protected]> AuthorDate: Fri Mar 29 20:27:23 2024 +1300 fix: missed recollect operate in onboard (#7254) --- config-ui/src/routes/onboard/context.tsx | 1 + config-ui/src/routes/onboard/step-2.tsx | 5 ++++- config-ui/src/routes/onboard/step-3.tsx | 1 + config-ui/src/routes/onboard/step-4.tsx | 28 +++++++++++++++++++++++++--- 4 files changed, 31 insertions(+), 4 deletions(-) diff --git a/config-ui/src/routes/onboard/context.tsx b/config-ui/src/routes/onboard/context.tsx index c7aa00c34..e21d12d2b 100644 --- a/config-ui/src/routes/onboard/context.tsx +++ b/config-ui/src/routes/onboard/context.tsx @@ -21,6 +21,7 @@ import { createContext } from 'react'; export type Record = { plugin: string; connectionId: ID; + blueprintId: ID; pipelineId: ID; scopeName: string; }; diff --git a/config-ui/src/routes/onboard/step-2.tsx b/config-ui/src/routes/onboard/step-2.tsx index 40c0c560c..eb7afbba1 100644 --- a/config-ui/src/routes/onboard/step-2.tsx +++ b/config-ui/src/routes/onboard/step-2.tsx @@ -97,7 +97,10 @@ export const Step2 = () => { ...payload, }); - const newRecords = [...records, { plugin, connectionId: connection.id, pipelineId: '', scopeName: '' }]; + const newRecords = [ + ...records, + { plugin, connectionId: connection.id, blueprintId: '', pipelineId: '', scopeName: '' }, + ]; setRecords(newRecords); diff --git a/config-ui/src/routes/onboard/step-3.tsx b/config-ui/src/routes/onboard/step-3.tsx index 6c9656860..0c41ce5f2 100644 --- a/config-ui/src/routes/onboard/step-3.tsx +++ b/config-ui/src/routes/onboard/step-3.tsx @@ -104,6 +104,7 @@ export const Step3 = () => { ? it : { ...it, + blueprintId: blueprint.id, pipelineId: pipeline.pipelines[0].id, scopeName: scopes[0]?.fullName ?? scopes[0].name, }, diff --git a/config-ui/src/routes/onboard/step-4.tsx b/config-ui/src/routes/onboard/step-4.tsx index 5923e4316..d54d3d105 100644 --- a/config-ui/src/routes/onboard/step-4.tsx +++ b/config-ui/src/routes/onboard/step-4.tsx @@ -103,6 +103,7 @@ const getStatus = (data: any) => { export const Step4 = () => { const [operating, setOperating] = useState(false); + const [version, setVersion] = useState(0); const navigate = useNavigate(); @@ -114,7 +115,7 @@ export const Step4 = () => { async () => { return await API.pipeline.subTasks(record?.pipelineId as string); }, - [], + [version], { cancel: (data) => { return !!(data && ['TASK_COMPLETED', 'TASK_PARTIAL', 'TASK_FAILED'].includes(data.status)); @@ -192,6 +193,23 @@ export const Step4 = () => { } }; + const handleRecollectData = async () => { + if (!record) { + return null; + } + + const [success] = await operator( + () => API.blueprint.trigger(record.blueprintId, { skipCollectors: false, fullSync: false }), + { + setOperating, + }, + ); + + if (success) { + setVersion(version + 1); + } + }; + if (!plugin || !record) { return null; } @@ -233,7 +251,9 @@ export const Step4 = () => { <CheckCircleOutlined style={{ fontSize: 120, color: orange5 }} /> <div className="action"> <Space> - <Button type="primary">Re-collect Data</Button> + <Button type="primary" onClick={handleRecollectData}> + Re-collect Data + </Button> <Button type="primary" onClick={() => window.open(DashboardURLMap[plugin])}> Check Dashboard </Button> @@ -252,7 +272,9 @@ export const Step4 = () => { <CloseCircleOutlined style={{ fontSize: 120, color: red5 }} /> <div className="action"> <Space direction="vertical"> - <Button type="primary">Re-collect Data</Button> + <Button type="primary" onClick={handleRecollectData}> + Re-collect Data + </Button> </Space> </div> </div>
