Skip to content

Commit 759b6e1

Browse files
init commit for loading
1 parent f6905a3 commit 759b6e1

File tree

4 files changed

+21
-1
lines changed

4 files changed

+21
-1
lines changed

src/views/workflow-summary-tab/workflow-summary-tab-json-view/workflow-summary-tab-json-view.styles.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ const cssStylesObj = {
1515
gap: theme.sizing.scale600,
1616
marginBottom: theme.sizing.scale700,
1717
}),
18+
spinnerContainer: (theme) => ({
19+
paddingLeft: 0,
20+
}),
1821
} satisfies StyletronCSSObject;
1922

2023
export const cssStyles: StyletronCSSObjectOf<typeof cssStylesObj> =

src/views/workflow-summary-tab/workflow-summary-tab-json-view/workflow-summary-tab-json-view.tsx

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import React, { useEffect, useState } from 'react';
33

44
import { Button, KIND as BUTTON_KIND, SHAPE, SIZE } from 'baseui/button';
5+
import { Spinner } from 'baseui/spinner';
56
import { ACCESSIBILITY_TYPE, Tooltip } from 'baseui/tooltip';
67
import copy from 'copy-to-clipboard';
78
import { MdCopyAll } from 'react-icons/md';
@@ -18,6 +19,7 @@ import type { Props } from './workflow-summary-tab-json-view.types';
1819
export default function WorkflowSummaryTabJsonView({
1920
inputJson,
2021
resultJson,
22+
isWorkflowRunning,
2123
}: Props) {
2224
const { cls } = useStyletronClasses(cssStyles);
2325
const [showTooltip, setShowTooltip] = useState(false);
@@ -67,7 +69,13 @@ export default function WorkflowSummaryTabJsonView({
6769
</Button>
6870
</Tooltip>
6971
</div>
70-
<PrettyJson json={jsonMap[activeTab]} />
72+
{activeTab === 'result' && isWorkflowRunning ? (
73+
<div className={cls.spinnerContainer}>
74+
<Spinner $size={16} />
75+
</div>
76+
) : (
77+
<PrettyJson json={jsonMap[activeTab]} />
78+
)}
7179
</div>
7280
);
7381
}

src/views/workflow-summary-tab/workflow-summary-tab-json-view/workflow-summary-tab-json-view.types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@ import { type JsonValue } from '@/components/pretty-json/pretty-json.types';
33
export type Props = {
44
inputJson: JsonValue;
55
resultJson: JsonValue;
6+
isWorkflowRunning: boolean;
67
};

src/views/workflow-summary-tab/workflow-summary-tab.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import React from 'react';
33

44
import { useSuspenseQuery } from '@tanstack/react-query';
5+
import { Spinner } from 'baseui/spinner';
56
import queryString from 'query-string';
67

78
import PageSection from '@/components/page-section/page-section';
@@ -15,6 +16,7 @@ import request from '@/utils/request';
1516
import { type RequestError } from '@/utils/request/request-error';
1617
import type { WorkflowPageTabContentProps } from '@/views/workflow-page/workflow-page-tab-content/workflow-page-tab-content.types';
1718

19+
import getWorkflowIsCompleted from '../workflow-page/helpers/get-workflow-is-completed';
1820
import useDescribeWorkflow from '../workflow-page/hooks/use-describe-workflow';
1921

2022
import WorkflowSummaryTabDetails from './workflow-summary-tab-details/workflow-summary-tab-details';
@@ -62,6 +64,11 @@ export default function WorkflowSummaryTab({
6264
? formattedCloseEvent.result
6365
: undefined;
6466

67+
const isWorkflowRunning =
68+
!closeEvent ||
69+
!closeEvent.attributes ||
70+
!getWorkflowIsCompleted(closeEvent.attributes);
71+
6572
return (
6673
<PageSection>
6774
<div className={cls.pageContainer}>
@@ -84,6 +91,7 @@ export default function WorkflowSummaryTab({
8491
: []
8592
}
8693
resultJson={resultJson}
94+
isWorkflowRunning={isWorkflowRunning}
8795
/>
8896
</div>
8997
</div>

0 commit comments

Comments
 (0)