This is an automated email from the ASF dual-hosted git repository.
abeizn 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 2865f4553 fix: missed recollect operate in onboard (#7254)
2865f4553 is described below
commit 2865f4553a84c370941f2ea39a7584bd89fadcfa
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>