forked from cadence-workflow/cadence-web
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdomain-workflows-archival.tsx
More file actions
91 lines (78 loc) · 3.01 KB
/
domain-workflows-archival.tsx
File metadata and controls
91 lines (78 loc) · 3.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
import React, { useMemo } from 'react';
import dayjs from 'dayjs';
import getDayjsFromDateFilterValue from '@/components/date-filter/helpers/get-dayjs-from-date-filter-value';
import useSuspenseConfigValue from '@/hooks/use-config-value/use-suspense-config-value';
import usePageQueryParams from '@/hooks/use-page-query-params/use-page-query-params';
import { type DomainPageTabContentProps } from '@/views/domain-page/domain-page-content/domain-page-content.types';
import useWorkflowsListColumns from '@/views/shared/workflows-list/hooks/use-workflows-list-columns';
import domainPageQueryParamsConfig from '../domain-page/config/domain-page-query-params.config';
import useSuspenseDomainDescription from '../shared/hooks/use-domain-description/use-suspense-domain-description';
import DomainWorkflowsArchivalDisabledPanel from './domain-workflows-archival-disabled-panel/domain-workflows-archival-disabled-panel';
import DomainWorkflowsArchivalHeader from './domain-workflows-archival-header/domain-workflows-archival-header';
import DomainWorkflowsArchivalList from './domain-workflows-archival-list/domain-workflows-archival-list';
import DomainWorkflowsArchivalTable from './domain-workflows-archival-table/domain-workflows-archival-table';
export default function DomainWorkflowsArchival(
props: DomainPageTabContentProps
) {
const {
data: { historyArchivalStatus, visibilityArchivalStatus },
} = useSuspenseDomainDescription(props);
const [queryParams] = usePageQueryParams(domainPageQueryParamsConfig);
const { visibleColumns } = useWorkflowsListColumns({
cluster: props.cluster,
});
const { data: isNewWorkflowsListEnabled } = useSuspenseConfigValue(
'WORKFLOWS_LIST_ENABLED'
);
const timeRangeParams = useMemo(() => {
const now = dayjs();
return {
timeRangeStart: getDayjsFromDateFilterValue(
queryParams.timeRangeStartArchival,
now
).toISOString(),
timeRangeEnd: getDayjsFromDateFilterValue(
queryParams.timeRangeEndArchival,
now
).toISOString(),
};
}, [queryParams.timeRangeStartArchival, queryParams.timeRangeEndArchival]);
if (
historyArchivalStatus !== 'ARCHIVAL_STATUS_ENABLED' ||
visibilityArchivalStatus !== 'ARCHIVAL_STATUS_ENABLED'
) {
return <DomainWorkflowsArchivalDisabledPanel />;
}
if (isNewWorkflowsListEnabled) {
return (
<>
<DomainWorkflowsArchivalHeader
domain={props.domain}
cluster={props.cluster}
showColumnsPicker
{...timeRangeParams}
/>
<DomainWorkflowsArchivalList
domain={props.domain}
cluster={props.cluster}
visibleColumns={visibleColumns}
{...timeRangeParams}
/>
</>
);
}
return (
<>
<DomainWorkflowsArchivalHeader
domain={props.domain}
cluster={props.cluster}
{...timeRangeParams}
/>
<DomainWorkflowsArchivalTable
domain={props.domain}
cluster={props.cluster}
{...timeRangeParams}
/>
</>
);
}