@pega/lists-react 9.0.0-build.8.3 → 9.0.0-build.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Core/Components/Toolbar/Timeline/TimelineToolbar.d.ts +2 -3
- package/lib/Core/Components/Toolbar/Timeline/TimelineToolbar.d.ts.map +1 -1
- package/lib/Core/Components/Toolbar/Timeline/TimelineToolbar.js +92 -44
- package/lib/Core/Components/Toolbar/Timeline/TimelineToolbar.js.map +1 -1
- package/lib/Core/Components/Toolbar/hooks/useGroup/utils.d.ts +1 -1
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/VariableHeightVirtualizer.d.ts.map +1 -1
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/VariableHeightVirtualizer.js +1 -1
- package/lib/Core/Components/Virtualise/VariableHeightVirtualizer/VariableHeightVirtualizer.js.map +1 -1
- package/lib/Core/Test/JUnitMocks.d.ts +6 -617
- package/lib/Core/Test/JUnitMocks.d.ts.map +1 -1
- package/lib/Core/Test/JUnitMocks.js +5 -4
- package/lib/Core/Test/JUnitMocks.js.map +1 -1
- package/lib/Core/Views/Timeline/Timeline.d.ts +5 -0
- package/lib/Core/Views/Timeline/Timeline.d.ts.map +1 -0
- package/lib/Core/Views/Timeline/Timeline.js +28 -0
- package/lib/Core/Views/Timeline/Timeline.js.map +1 -0
- package/lib/Core/Views/Timeline/Timeline.styles.d.ts +24 -0
- package/lib/Core/Views/Timeline/Timeline.styles.d.ts.map +1 -0
- package/lib/Core/Views/Timeline/Timeline.styles.js +182 -0
- package/lib/Core/Views/Timeline/Timeline.styles.js.map +1 -0
- package/lib/Core/Views/Timeline/Timeline.types.d.ts +50 -0
- package/lib/Core/Views/Timeline/Timeline.types.d.ts.map +1 -0
- package/lib/Core/Views/Timeline/Timeline.types.js +2 -0
- package/lib/Core/Views/Timeline/Timeline.types.js.map +1 -0
- package/lib/Core/Views/Timeline/TimelineItem.d.ts +12 -0
- package/lib/Core/Views/Timeline/TimelineItem.d.ts.map +1 -0
- package/lib/Core/Views/Timeline/TimelineItem.js +43 -0
- package/lib/Core/Views/Timeline/TimelineItem.js.map +1 -0
- package/lib/Core/Views/Timeline/__tests__/Timeline.mocks.d.ts +4 -0
- package/lib/Core/Views/Timeline/__tests__/Timeline.mocks.d.ts.map +1 -0
- package/lib/Core/Views/Timeline/__tests__/Timeline.mocks.js +141 -0
- package/lib/Core/Views/Timeline/__tests__/Timeline.mocks.js.map +1 -0
- package/lib/Core/Views/Timeline/index.d.ts.map +1 -1
- package/lib/Core/Views/Timeline/index.js +2 -2
- package/lib/Core/Views/Timeline/index.js.map +1 -1
- package/lib/Core/Views/Timeline/utility.d.ts +1 -1
- package/lib/Core/Views/Timeline/utility.d.ts.map +1 -1
- package/lib/Core/Views/Timeline/utility.js.map +1 -1
- package/lib/Core/Views/Timeline/utils.d.ts +12 -0
- package/lib/Core/Views/Timeline/utils.d.ts.map +1 -0
- package/lib/Core/Views/Timeline/utils.js +66 -0
- package/lib/Core/Views/Timeline/utils.js.map +1 -0
- package/package.json +7 -8
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Link, CurrencyDisplay, Text, HTML } from '@pega/cosmos-react-core';
|
|
3
|
+
const activity = [
|
|
4
|
+
{
|
|
5
|
+
id: '1',
|
|
6
|
+
date: Date.UTC(2025, 2, 20, 19, 28, 22),
|
|
7
|
+
title: 'Email blast: "Buy today"',
|
|
8
|
+
icon: 'bell-off-solid',
|
|
9
|
+
content: [
|
|
10
|
+
{
|
|
11
|
+
id: '11',
|
|
12
|
+
name: 'Progress and Risk',
|
|
13
|
+
value: _jsx(HTML, { content: '<ul><li>Progress</li><li>Risk</li></ul>' })
|
|
14
|
+
}
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
id: '2',
|
|
19
|
+
date: Date.UTC(2025, 2, 20, 18, 6, 22),
|
|
20
|
+
title: 'Confirm eligibility',
|
|
21
|
+
icon: 'circle-stacked-mixed'
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
id: '3',
|
|
25
|
+
date: Date.UTC(2023, 2, 10, 9, 26, 22),
|
|
26
|
+
title: 'Review customer bill',
|
|
27
|
+
status: { variant: 'pending', children: 'Wait' }
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
id: '4',
|
|
31
|
+
date: Date.UTC(2022, 7, 10, 18, 6, 22),
|
|
32
|
+
title: 'Confirm eligibility',
|
|
33
|
+
icon: 'circle-stacked-mixed'
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
id: '5',
|
|
37
|
+
date: Date.UTC(2022, 6, 18, 0, 1, 22),
|
|
38
|
+
title: (_jsx(Link, { href: 'https://www.pega.com', target: '_blank', children: "Visit Pega" }))
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
id: '6',
|
|
42
|
+
date: Date.UTC(2021, 6, 10, 13, 20, 22),
|
|
43
|
+
title: 'Update plat',
|
|
44
|
+
icon: 'bulb-solid',
|
|
45
|
+
status: { variant: 'success', children: 'Good' }
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
id: '7',
|
|
49
|
+
date: Date.UTC(2021, 1, 20, 13, 20, 22),
|
|
50
|
+
title: 'Sent over request',
|
|
51
|
+
icon: 'bulb-solid',
|
|
52
|
+
defaultExpanded: true,
|
|
53
|
+
status: { variant: 'success', children: 'Good' },
|
|
54
|
+
content: [
|
|
55
|
+
{ id: '31', name: 'Date range', value: _jsx(Text, { children: "Jan 1, 2021 - May 3, 2021" }) },
|
|
56
|
+
{
|
|
57
|
+
id: '32',
|
|
58
|
+
name: "What's next",
|
|
59
|
+
value: (_jsx(Text, { children: "We will fulfill your request within 3 business days. You will receive your statement copy via mail at 23 Main St. Boston, MA." }))
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
id: '33',
|
|
63
|
+
name: 'Current due amount',
|
|
64
|
+
value: _jsx(CurrencyDisplay, { value: 1343.45, currencyISOCode: 'USD' })
|
|
65
|
+
}
|
|
66
|
+
]
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
id: '8',
|
|
70
|
+
date: Date.UTC(2021, 1, 20, 13, 19, 22),
|
|
71
|
+
title: 'Fulfill customer request for last month’s billing statement',
|
|
72
|
+
icon: 'layers',
|
|
73
|
+
status: { variant: 'pending', children: 'Wait' },
|
|
74
|
+
content: [
|
|
75
|
+
{ id: '41', name: 'Date range', value: _jsx(Text, { children: "Jan 1, 2021 - May 3, 2021" }) },
|
|
76
|
+
{
|
|
77
|
+
id: '42',
|
|
78
|
+
name: "What's next",
|
|
79
|
+
value: (_jsx(Text, { children: "We will fulfill your request within 3 business days. You will receive your statement copy via mail at 23 Main St. Boston, MA." }))
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
id: '43',
|
|
83
|
+
name: 'Current due amount',
|
|
84
|
+
value: _jsx(CurrencyDisplay, { value: 121, currencyISOCode: 'USD' })
|
|
85
|
+
}
|
|
86
|
+
]
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
id: '9',
|
|
90
|
+
date: Date.UTC(2021, 1, 20, 0, 1, 22),
|
|
91
|
+
title: (_jsx(Link, { href: 'https://community.pega.com/support', target: '_blank', children: "Visit Pega support for assistance" }))
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
id: '10',
|
|
95
|
+
date: Date.UTC(2021, 1, 19, 13, 20, 22),
|
|
96
|
+
title: 'Sent over request',
|
|
97
|
+
icon: 'bulb-solid',
|
|
98
|
+
status: { variant: 'success', children: 'Good' },
|
|
99
|
+
content: [
|
|
100
|
+
{ id: '61', name: 'Date range', value: _jsx(Text, { children: "Jan 1, 2021 - May 3, 2021" }) },
|
|
101
|
+
{
|
|
102
|
+
id: '62',
|
|
103
|
+
name: "What's next",
|
|
104
|
+
value: (_jsx(Text, { children: "We will fulfill your request within 3 business days. You will receive your statement copy via mail at 23 Main St. Boston, MA." }))
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
id: '64',
|
|
108
|
+
name: 'Current due amount long label',
|
|
109
|
+
value: _jsx(CurrencyDisplay, { value: 248.87, currencyISOCode: 'USD' })
|
|
110
|
+
}
|
|
111
|
+
]
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
id: '11',
|
|
115
|
+
date: Date.UTC(2021, 1, 17, 36, 20, 22),
|
|
116
|
+
title: 'Initial claim received',
|
|
117
|
+
status: { variant: 'pending', children: 'Wait' }
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
id: '12',
|
|
121
|
+
date: Date.UTC(2020, 12, 15, 13, 19, 22),
|
|
122
|
+
title: 'Balance inquiry',
|
|
123
|
+
icon: 'phone-solid',
|
|
124
|
+
status: { variant: 'pending', children: 'Wait' }
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
id: '13',
|
|
128
|
+
date: Date.UTC(2020, 2, 20, 19, 28, 22),
|
|
129
|
+
title: 'Email blast: "Best Offer"',
|
|
130
|
+
icon: 'bell-off-solid'
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
id: '14',
|
|
134
|
+
date: Date.UTC(2020, 1, 12, 10, 25, 48),
|
|
135
|
+
title: 'Receive customer bill',
|
|
136
|
+
icon: 'layers',
|
|
137
|
+
status: { variant: 'success', children: 'Good' }
|
|
138
|
+
}
|
|
139
|
+
];
|
|
140
|
+
export default activity;
|
|
141
|
+
//# sourceMappingURL=Timeline.mocks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Timeline.mocks.js","sourceRoot":"","sources":["../../../../../Core/Views/Timeline/__tests__/Timeline.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Link, CurrencyDisplay, Text, HTML } from '@pega/cosmos-react-core';\n\nimport type TimelineProps from '../Timeline.types';\n\nconst activity: TimelineProps['activity'] = [\n {\n id: '1',\n date: Date.UTC(2025, 2, 20, 19, 28, 22),\n title: 'Email blast: \"Buy today\"',\n icon: 'bell-off-solid',\n content: [\n {\n id: '11',\n name: 'Progress and Risk',\n value: <HTML content='<ul><li>Progress</li><li>Risk</li></ul>' />\n }\n ]\n },\n {\n id: '2',\n date: Date.UTC(2025, 2, 20, 18, 6, 22),\n title: 'Confirm eligibility',\n icon: 'circle-stacked-mixed'\n },\n {\n id: '3',\n date: Date.UTC(2023, 2, 10, 9, 26, 22),\n title: 'Review customer bill',\n status: { variant: 'pending', children: 'Wait' }\n },\n {\n id: '4',\n date: Date.UTC(2022, 7, 10, 18, 6, 22),\n title: 'Confirm eligibility',\n icon: 'circle-stacked-mixed'\n },\n {\n id: '5',\n date: Date.UTC(2022, 6, 18, 0, 1, 22),\n title: (\n <Link href='https://www.pega.com' target='_blank'>\n Visit Pega\n </Link>\n )\n },\n {\n id: '6',\n date: Date.UTC(2021, 6, 10, 13, 20, 22),\n title: 'Update plat',\n icon: 'bulb-solid',\n status: { variant: 'success', children: 'Good' }\n },\n {\n id: '7',\n date: Date.UTC(2021, 1, 20, 13, 20, 22),\n title: 'Sent over request',\n icon: 'bulb-solid',\n defaultExpanded: true,\n status: { variant: 'success', children: 'Good' },\n content: [\n { id: '31', name: 'Date range', value: <Text>Jan 1, 2021 - May 3, 2021</Text> },\n {\n id: '32',\n name: \"What's next\",\n value: (\n <Text>\n We will fulfill your request within 3 business days. You will receive your statement\n copy via mail at 23 Main St. Boston, MA.\n </Text>\n )\n },\n {\n id: '33',\n name: 'Current due amount',\n value: <CurrencyDisplay value={1343.45} currencyISOCode='USD' />\n }\n ]\n },\n {\n id: '8',\n date: Date.UTC(2021, 1, 20, 13, 19, 22),\n title: 'Fulfill customer request for last month’s billing statement',\n icon: 'layers',\n status: { variant: 'pending', children: 'Wait' },\n content: [\n { id: '41', name: 'Date range', value: <Text>Jan 1, 2021 - May 3, 2021</Text> },\n {\n id: '42',\n name: \"What's next\",\n value: (\n <Text>\n We will fulfill your request within 3 business days. You will receive your statement\n copy via mail at 23 Main St. Boston, MA.\n </Text>\n )\n },\n {\n id: '43',\n name: 'Current due amount',\n value: <CurrencyDisplay value={121} currencyISOCode='USD' />\n }\n ]\n },\n {\n id: '9',\n date: Date.UTC(2021, 1, 20, 0, 1, 22),\n title: (\n <Link href='https://community.pega.com/support' target='_blank'>\n Visit Pega support for assistance\n </Link>\n )\n },\n {\n id: '10',\n date: Date.UTC(2021, 1, 19, 13, 20, 22),\n title: 'Sent over request',\n icon: 'bulb-solid',\n status: { variant: 'success', children: 'Good' },\n content: [\n { id: '61', name: 'Date range', value: <Text>Jan 1, 2021 - May 3, 2021</Text> },\n {\n id: '62',\n name: \"What's next\",\n value: (\n <Text>\n We will fulfill your request within 3 business days. You will receive your statement\n copy via mail at 23 Main St. Boston, MA.\n </Text>\n )\n },\n {\n id: '64',\n name: 'Current due amount long label',\n value: <CurrencyDisplay value={248.87} currencyISOCode='USD' />\n }\n ]\n },\n {\n id: '11',\n date: Date.UTC(2021, 1, 17, 36, 20, 22),\n title: 'Initial claim received',\n status: { variant: 'pending', children: 'Wait' }\n },\n {\n id: '12',\n date: Date.UTC(2020, 12, 15, 13, 19, 22),\n title: 'Balance inquiry',\n icon: 'phone-solid',\n status: { variant: 'pending', children: 'Wait' }\n },\n {\n id: '13',\n date: Date.UTC(2020, 2, 20, 19, 28, 22),\n title: 'Email blast: \"Best Offer\"',\n icon: 'bell-off-solid'\n },\n {\n id: '14',\n date: Date.UTC(2020, 1, 12, 10, 25, 48),\n title: 'Receive customer bill',\n icon: 'layers',\n status: { variant: 'success', children: 'Good' }\n }\n];\n\nexport default activity;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Timeline/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Timeline/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAgElE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;CACxB;AAED,QAAA,MAAM,QAAQ,GAAI,UAAU,iBAAiB,4CAyE5C,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useCallback, useMemo, useState, useRef } from 'react';
|
|
3
3
|
import styled, { css } from 'styled-components';
|
|
4
|
-
import { Timeline as TimelineCosmos } from '@pega/cosmos-react-work';
|
|
5
4
|
import { defaultThemeProp, useFullscreenContext } from '@pega/cosmos-react-core';
|
|
6
5
|
// TODO remove ts-ignore once Toolbar migrated to TS
|
|
7
6
|
// @ts-ignore
|
|
@@ -12,8 +11,9 @@ import getCount from '../../Components/Toolbar/utils/getCount';
|
|
|
12
11
|
import { EXTERNAL_FILTERS } from '../../constants';
|
|
13
12
|
import RsCardWrapper from '../RsCardWrapper';
|
|
14
13
|
import { generateRSDataContainerHeightStyles, generateRSHeightStyles } from '../../Utils/styles';
|
|
14
|
+
import TimelineInner from './Timeline';
|
|
15
15
|
import getActivity, { mapDateFnToGroupOption } from './utility';
|
|
16
|
-
const StyledTimeline = styled(
|
|
16
|
+
const StyledTimeline = styled(TimelineInner)(({ theme }) => {
|
|
17
17
|
return css `
|
|
18
18
|
flex: 1;
|
|
19
19
|
padding-inline-end: ${theme.base.spacing};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Core/Views/Timeline/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../Core/Views/Timeline/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useCallback, useMemo, useState, useRef } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { defaultThemeProp, useFullscreenContext } from '@pega/cosmos-react-core';\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\n\n// TODO remove ts-ignore once Toolbar migrated to TS\n// @ts-ignore\nimport Toolbar from '../../Components/Toolbar';\nimport EmptyContainer from '../../Components/EmptyContainer';\nimport RenderView from '../../Components/RenderingEngine/RenderView';\nimport getCount from '../../Components/Toolbar/utils/getCount';\nimport { EXTERNAL_FILTERS } from '../../constants';\nimport RsCardWrapper from '../RsCardWrapper';\nimport { generateRSDataContainerHeightStyles, generateRSHeightStyles } from '../../Utils/styles';\n\nimport TimelineInner from './Timeline';\nimport getActivity, { mapDateFnToGroupOption } from './utility';\n\nconst StyledTimeline = styled(TimelineInner)(({ theme }) => {\n return css`\n flex: 1;\n padding-inline-end: ${theme.base.spacing};\n overflow: auto;\n `;\n});\n\nStyledTimeline.defaultProps = defaultThemeProp;\n\ninterface StyledTimelineContainerProps {\n view: RsCoreTypes.View;\n isFullscreen: boolean;\n}\n\nconst StyledTimelineContainer = styled.div<StyledTimelineContainerProps>(\n ({ view, isFullscreen }) => {\n return css`\n position: relative;\n ${() => generateRSHeightStyles({ view, isFullscreen })}\n `;\n }\n);\n\ninterface StyledRowContainerProps {\n isFullscreen: boolean;\n view: RsCoreTypes.View;\n}\n\nconst StyledRowContainer = styled.div<StyledRowContainerProps>(({ isFullscreen, view }) => {\n const {\n bodyHeight,\n totalItemCount,\n meta: { basicMode }\n } = view;\n return css`\n ${() => generateRSDataContainerHeightStyles()};\n position: relative;\n min-height: ${basicMode && totalItemCount === 0 ? '100px' : 'auto'};\n flex-grow: 0;\n\n /* Adjust height based on number of rows configured */\n height: ${bodyHeight && !isFullscreen ? `${bodyHeight}px` : 'auto'};\n `;\n});\n\nconst INITIAL_DEFAULT_CHUNK_SIZE = 40;\nconst APPEND_DEFAULT_CHUNK_SIZE = 25;\n\nexport interface TimelineViewProps {\n view: RsCoreTypes.View;\n}\n\nconst Timeline = ({ view }: TimelineViewProps) => {\n const isFullscreen = !!useFullscreenContext()?.[0];\n const {\n rows,\n meta = { fieldDefs: [] as RsCoreTypes.FieldDef[], itemKey: '' } as RsCoreTypes.Meta,\n columns,\n groupHeaders,\n state\n } = view;\n const ref = useRef<HTMLTableElement>(null);\n const [loading, setLoading] = useState(false);\n const [hasMore, setHasMore] = useState(true);\n\n const count = getCount({ view });\n const visibleGroupHeaders = groupHeaders?.filter(({ isVisible }) => isVisible)?.length ?? 0;\n const paginationEndIndex = state.paginationOptions?.rootVirtualiser?.endIndex ?? 0;\n\n const onLoadMore = useCallback(() => {\n if (!loading) {\n setLoading(true);\n const endIndex =\n rows!.length + visibleGroupHeaders + (meta.numberOfRows || APPEND_DEFAULT_CHUNK_SIZE);\n view.type.onPaginate({ startIndex: 0, endIndex, id: 'rootVirtualiser' });\n }\n }, [loading, view.type, meta.numberOfRows, rows!.length, visibleGroupHeaders]);\n\n useEffect(() => {\n view.type.onPaginate({\n startIndex: 0,\n endIndex: meta.numberOfRows || INITIAL_DEFAULT_CHUNK_SIZE,\n id: 'rootVirtualiser'\n });\n }, [view.type, meta.numberOfRows]);\n\n useEffect(() => {\n setHasMore(rows!.length !== count.total);\n if (paginationEndIndex <= rows!.length + visibleGroupHeaders || rows!.length === count.total) {\n setLoading(false);\n }\n }, [count.total, rows!.length, paginationEndIndex, visibleGroupHeaders]);\n\n const activity = useMemo(() => getActivity(rows, columns, meta), [rows, columns, meta]);\n\n let loadMore;\n if (hasMore) {\n loadMore = onLoadMore;\n }\n\n return (\n <RsCardWrapper>\n <StyledTimelineContainer view={view} isFullscreen={isFullscreen}>\n <Toolbar view={view} />\n <RenderView view={view} type={EXTERNAL_FILTERS} />\n\n <StyledRowContainer\n className='container row-container'\n isFullscreen={isFullscreen}\n view={view}\n >\n <StyledTimeline\n activity={activity || []}\n currentTime={new Date()}\n groupBy={mapDateFnToGroupOption(view.state.groups?.[0]?.dateFunction)}\n loading={loading || !rows || !!view.isLoading}\n loadMore={loadMore}\n data-test-id='Timeline'\n ref={ref}\n />\n <EmptyContainer view={view} />\n </StyledRowContainer>\n </StyledTimelineContainer>\n </RsCardWrapper>\n );\n};\n\nexport default Timeline;\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Group } from 'packages/lists-rs-core/types/State.types';
|
|
2
|
-
import type { ActivityObject, TimelineGroupBy } from '@pega/cosmos-react-work/lib/components/Timeline/Timeline.types';
|
|
3
2
|
import type { RsCoreTypes } from 'pega-repeating-structures-core';
|
|
3
|
+
import type { ActivityObject, TimelineGroupBy } from './Timeline.types';
|
|
4
4
|
declare const getActivity: (rows: RsCoreTypes.View["rows"], columns: RsCoreTypes.View["columns"], { timelineFields, timezone, defaultRowHeight }: RsCoreTypes.View["meta"]) => ActivityObject[] | undefined;
|
|
5
5
|
export default getActivity;
|
|
6
6
|
export declare const mapDateFnToGroupOption: (dateFunction: Group["dateFunction"]) => TimelineGroupBy;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utility.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Timeline/utility.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0CAA0C,CAAC;AAMtE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"utility.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Timeline/utility.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0CAA0C,CAAC;AAMtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAIlE,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAmDxE,QAAA,MAAM,WAAW,GACf,MAAM,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAC9B,SAAS,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,EACpC,gDAAgD,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KACvE,cAAc,EAAE,GAAG,SAqDrB,CAAC;AAEF,eAAe,WAAW,CAAC;AAE3B,eAAO,MAAM,sBAAsB,GAAI,cAAc,KAAK,CAAC,cAAc,CAAC,KAAG,eAa5E,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EACtC,YAAY,EAAE,WAAW,GAAG,SAAS,EACrC,UAAU,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,sBAc3C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utility.js","sourceRoot":"","sources":["../../../../Core/Views/Timeline/utility.tsx"],"names":[],"mappings":"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","sourcesContent":["import dayjs from 'dayjs';\nimport timezonePlugin from 'dayjs/plugin/timezone';\nimport type { Group } from 'packages/lists-rs-core/types/State.types';\nimport type { ReactText } from 'react';\n\nimport { FieldType, ROW_DENSITY } from 'pega-repeating-structures-core/lib/types/Meta.types';\nimport type { FieldValueListProps, StatusProps } from '@pega/cosmos-react-core';\nimport { NoValue } from '@pega/cosmos-react-core';\nimport type {\n ActivityObject,\n TimelineGroupBy\n} from '@pega/cosmos-react-work/lib/components/Timeline/Timeline.types';\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\n\nimport ValueRenderer from '../../Components/RenderingEngine/ValueRenderer';\n\ndayjs.extend(timezonePlugin);\nconst getStatusVariant = (data: string): StatusProps['variant'] => {\n let variant: StatusProps['variant'];\n const warnStrings = ['fail', 'cancel', 'reject', 'revoke', 'stopped', 'warn'];\n const infoStrings = ['open', 'hold', 'info', 'new'];\n const successStrings = ['resolved', 'completed', 'success'];\n const pendingStrings = ['pending'];\n\n if (new RegExp(warnStrings.join('|'), 'i').test(data)) {\n variant = 'warn';\n } else if (new RegExp(infoStrings.join('|'), 'i').test(data)) {\n variant = 'info';\n } else if (new RegExp(successStrings.join('|'), 'i').test(data)) {\n variant = 'success';\n } else if (new RegExp(pendingStrings.join('|'), 'i').test(data)) {\n variant = 'pending';\n } else {\n variant = 'info';\n }\n return variant;\n};\n\nconst getFieldsAsActivityContent = (\n columns: RsCoreTypes.View['columns'],\n row: RsCoreTypes.Row\n): FieldValueListProps['fields'] | undefined => {\n return columns\n ?.filter(column => column.field.name !== 'RowActionMenu' && !column.hidden)\n ?.map(column => {\n return {\n id: column.field.id,\n name: column.field.label,\n value: <ValueRenderer column={column} row={row} />\n };\n });\n};\n\nconst convertDateToTimezone = (\n value: string | number | Date,\n timezone: RsCoreTypes.Meta['timezone']\n): string => {\n return (\n dayjs(value)\n .tz(timezone)\n // cSpell:disable-next-line\n .format('YYYY-MM-DDTHH:mm:ss')\n );\n};\n\nconst getActivity = (\n rows: RsCoreTypes.View['rows'],\n columns: RsCoreTypes.View['columns'],\n { timelineFields, timezone, defaultRowHeight }: RsCoreTypes.View['meta']\n): ActivityObject[] | undefined => {\n const { title, date, status: statusProp, icon, content } = timelineFields ?? {};\n const titleColumn = columns?.find(({ field }) => field.name === title?.name);\n const dateColumn = columns?.find(({ field }) => field.name === date?.name);\n const contentColumn = columns?.find(({ field }) => field.name === content?.name);\n\n return rows\n ?.map(row => {\n const data = row.getContext().getValue();\n const dateValue = date?.name ? data[date.name] : undefined;\n const dateFieldType = dateColumn?.field?.type;\n const isDateOnlyFieldType =\n dateFieldType === FieldType.DATE ||\n dateFieldType === FieldType.DATE_ONLY ||\n dateFieldType === FieldType.DATE_TIMELINE;\n\n // Activity Object date can't be undefined\n if (!dateValue) {\n return undefined;\n }\n const statusData = statusProp?.name ? data[statusProp.name] : undefined;\n let status;\n if (statusData) {\n status = {\n variant: getStatusVariant(statusData as string),\n children: statusData as ReactText\n };\n }\n const activity: ActivityObject = {\n id: row.key as string,\n title:\n title?.name && data[title.name] && titleColumn ? (\n <ValueRenderer column={titleColumn} row={row} />\n ) : (\n <NoValue />\n ),\n date:\n timezone && dateColumn?.formatterAllowed && dateFieldType && !isDateOnlyFieldType // Date only value should be formatted without timezone\n ? convertDateToTimezone(dateValue as string, timezone)\n : (dateValue as string),\n dateVariant: isDateOnlyFieldType ? 'date' : 'datetime',\n icon: icon?.name ? (data[icon.name] as string) : undefined,\n defaultExpanded: defaultRowHeight === ROW_DENSITY.WRAP_CONTENT,\n content: contentColumn ? (\n <ValueRenderer column={contentColumn} row={row} />\n ) : (\n getFieldsAsActivityContent(columns, row)\n ),\n status: statusProp?.getCustomContent ? statusProp.getCustomContent(row) : status\n };\n return activity;\n })\n ?.filter((item): item is ActivityObject => !!item);\n};\n\nexport default getActivity;\n\nexport const mapDateFnToGroupOption = (dateFunction: Group['dateFunction']): TimelineGroupBy => {\n switch (dateFunction) {\n case 'YEARS':\n return 'year';\n case 'QUARTERS':\n return 'quarteryear';\n case 'MONTHS':\n return 'monthyear';\n case 'DAYS':\n return 'date';\n default:\n return 'none';\n }\n};\n\nexport function calculateBodyMaxHeight(\n maxHeight: string | number | undefined,\n domContainer: HTMLElement | undefined,\n pContainer: HTMLElement | null | undefined\n) {\n if (maxHeight === undefined) return;\n if (!domContainer || !pContainer) return;\n const extraHeight = domContainer.offsetHeight - pContainer.offsetHeight;\n if (typeof maxHeight === 'string' && maxHeight.startsWith('--')) {\n // Means it is a css variable which is a string, and it needs to be computed with calc function\n // If css variable is not defined then fallback to default max height i.e. 550px\n const defaultMaxHeight = `calc(550px + ${extraHeight}px + 32px)`;\n return `calc(var(${maxHeight}, ${defaultMaxHeight}) - ${extraHeight}px - 32px)`;\n }\n if (typeof maxHeight === 'number') {\n return `${maxHeight - extraHeight - 32}px`;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"utility.js","sourceRoot":"","sources":["../../../../Core/Views/Timeline/utility.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,cAAc,MAAM,uBAAuB,CAAC;AAInD,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,qDAAqD,CAAC;AAE7F,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGlD,OAAO,aAAa,MAAM,gDAAgD,CAAC;AAI3E,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;AAC7B,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAA0B,EAAE;IAChE,IAAI,OAA+B,CAAC;IACpC,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC9E,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAC5D,MAAM,cAAc,GAAG,CAAC,SAAS,CAAC,CAAC;IAEnC,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACtD,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;SAAM,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7D,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;SAAM,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,OAAO,GAAG,SAAS,CAAC;IACtB,CAAC;SAAM,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,OAAO,GAAG,SAAS,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CACjC,OAAoC,EACpC,GAAoB,EACuB,EAAE;IAC7C,OAAO,OAAO;QACZ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAC3E,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE;QACb,OAAO;YACL,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;YACnB,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK;YACxB,KAAK,EAAE,KAAC,aAAa,IAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,GAAI;SACnD,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC5B,KAA6B,EAC7B,QAAsC,EAC9B,EAAE;IACV,OAAO,CACL,KAAK,CAAC,KAAK,CAAC;SACT,EAAE,CAAC,QAAQ,CAAC;QACb,2BAA2B;SAC1B,MAAM,CAAC,qBAAqB,CAAC,CACjC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAClB,IAA8B,EAC9B,OAAoC,EACpC,EAAE,cAAc,EAAE,QAAQ,EAAE,gBAAgB,EAA4B,EAC1C,EAAE;IAChC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,cAAc,IAAI,EAAE,CAAC;IAChF,MAAM,WAAW,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,IAAI,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3E,MAAM,aAAa,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,IAAI,CAAC,CAAC;IAEjF,OAAO,IAAI;QACT,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE;QACV,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3D,MAAM,aAAa,GAAG,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC;QAC9C,MAAM,mBAAmB,GACvB,aAAa,KAAK,SAAS,CAAC,IAAI;YAChC,aAAa,KAAK,SAAS,CAAC,SAAS;YACrC,aAAa,KAAK,SAAS,CAAC,aAAa,CAAC;QAE5C,0CAA0C;QAC1C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,UAAU,GAAG,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxE,IAAI,MAAM,CAAC;QACX,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,GAAG;gBACP,OAAO,EAAE,gBAAgB,CAAC,UAAoB,CAAC;gBAC/C,QAAQ,EAAE,UAAuB;aAClC,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAmB;YAC/B,EAAE,EAAE,GAAG,CAAC,GAAa;YACrB,KAAK,EACH,KAAK,EAAE,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAC/C,KAAC,aAAa,IAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,GAAI,CACjD,CAAC,CAAC,CAAC,CACF,KAAC,OAAO,KAAG,CACZ;YACH,IAAI,EACF,QAAQ,IAAI,UAAU,EAAE,gBAAgB,IAAI,aAAa,IAAI,CAAC,mBAAmB,CAAC,uDAAuD;gBACvI,CAAC,CAAC,qBAAqB,CAAC,SAAmB,EAAE,QAAQ,CAAC;gBACtD,CAAC,CAAE,SAAoB;YAC3B,WAAW,EAAE,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU;YACtD,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAY,CAAC,CAAC,CAAC,SAAS;YAC1D,eAAe,EAAE,gBAAgB,KAAK,WAAW,CAAC,YAAY;YAC9D,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CACvB,KAAC,aAAa,IAAC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,GAAI,CACnD,CAAC,CAAC,CAAC,CACF,0BAA0B,CAAC,OAAO,EAAE,GAAG,CAAC,CACzC;YACD,MAAM,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM;SACjF,CAAC;QACF,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;QACF,EAAE,MAAM,CAAC,CAAC,IAAI,EAA0B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC;AAE3B,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,YAAmC,EAAmB,EAAE;IAC7F,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,OAAO;YACV,OAAO,MAAM,CAAC;QAChB,KAAK,UAAU;YACb,OAAO,aAAa,CAAC;QACvB,KAAK,QAAQ;YACX,OAAO,WAAW,CAAC;QACrB,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB;YACE,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,sBAAsB,CACpC,SAAsC,EACtC,YAAqC,EACrC,UAA0C;IAE1C,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO;IACpC,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU;QAAE,OAAO;IACzC,MAAM,WAAW,GAAG,YAAY,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;IACxE,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,+FAA+F;QAC/F,gFAAgF;QAChF,MAAM,gBAAgB,GAAG,gBAAgB,WAAW,YAAY,CAAC;QACjE,OAAO,YAAY,SAAS,KAAK,gBAAgB,OAAO,WAAW,YAAY,CAAC;IAClF,CAAC;IACD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,EAAE,IAAI,CAAC;IAC7C,CAAC;AACH,CAAC","sourcesContent":["import dayjs from 'dayjs';\nimport timezonePlugin from 'dayjs/plugin/timezone';\nimport type { Group } from 'packages/lists-rs-core/types/State.types';\nimport type { ReactText } from 'react';\n\nimport { FieldType, ROW_DENSITY } from 'pega-repeating-structures-core/lib/types/Meta.types';\nimport type { FieldValueListProps, StatusProps } from '@pega/cosmos-react-core';\nimport { NoValue } from '@pega/cosmos-react-core';\nimport type { RsCoreTypes } from 'pega-repeating-structures-core';\n\nimport ValueRenderer from '../../Components/RenderingEngine/ValueRenderer';\n\nimport type { ActivityObject, TimelineGroupBy } from './Timeline.types';\n\ndayjs.extend(timezonePlugin);\nconst getStatusVariant = (data: string): StatusProps['variant'] => {\n let variant: StatusProps['variant'];\n const warnStrings = ['fail', 'cancel', 'reject', 'revoke', 'stopped', 'warn'];\n const infoStrings = ['open', 'hold', 'info', 'new'];\n const successStrings = ['resolved', 'completed', 'success'];\n const pendingStrings = ['pending'];\n\n if (new RegExp(warnStrings.join('|'), 'i').test(data)) {\n variant = 'warn';\n } else if (new RegExp(infoStrings.join('|'), 'i').test(data)) {\n variant = 'info';\n } else if (new RegExp(successStrings.join('|'), 'i').test(data)) {\n variant = 'success';\n } else if (new RegExp(pendingStrings.join('|'), 'i').test(data)) {\n variant = 'pending';\n } else {\n variant = 'info';\n }\n return variant;\n};\n\nconst getFieldsAsActivityContent = (\n columns: RsCoreTypes.View['columns'],\n row: RsCoreTypes.Row\n): FieldValueListProps['fields'] | undefined => {\n return columns\n ?.filter(column => column.field.name !== 'RowActionMenu' && !column.hidden)\n ?.map(column => {\n return {\n id: column.field.id,\n name: column.field.label,\n value: <ValueRenderer column={column} row={row} />\n };\n });\n};\n\nconst convertDateToTimezone = (\n value: string | number | Date,\n timezone: RsCoreTypes.Meta['timezone']\n): string => {\n return (\n dayjs(value)\n .tz(timezone)\n // cSpell:disable-next-line\n .format('YYYY-MM-DDTHH:mm:ss')\n );\n};\n\nconst getActivity = (\n rows: RsCoreTypes.View['rows'],\n columns: RsCoreTypes.View['columns'],\n { timelineFields, timezone, defaultRowHeight }: RsCoreTypes.View['meta']\n): ActivityObject[] | undefined => {\n const { title, date, status: statusProp, icon, content } = timelineFields ?? {};\n const titleColumn = columns?.find(({ field }) => field.name === title?.name);\n const dateColumn = columns?.find(({ field }) => field.name === date?.name);\n const contentColumn = columns?.find(({ field }) => field.name === content?.name);\n\n return rows\n ?.map(row => {\n const data = row.getContext().getValue();\n const dateValue = date?.name ? data[date.name] : undefined;\n const dateFieldType = dateColumn?.field?.type;\n const isDateOnlyFieldType =\n dateFieldType === FieldType.DATE ||\n dateFieldType === FieldType.DATE_ONLY ||\n dateFieldType === FieldType.DATE_TIMELINE;\n\n // Activity Object date can't be undefined\n if (!dateValue) {\n return undefined;\n }\n const statusData = statusProp?.name ? data[statusProp.name] : undefined;\n let status;\n if (statusData) {\n status = {\n variant: getStatusVariant(statusData as string),\n children: statusData as ReactText\n };\n }\n const activity: ActivityObject = {\n id: row.key as string,\n title:\n title?.name && data[title.name] && titleColumn ? (\n <ValueRenderer column={titleColumn} row={row} />\n ) : (\n <NoValue />\n ),\n date:\n timezone && dateColumn?.formatterAllowed && dateFieldType && !isDateOnlyFieldType // Date only value should be formatted without timezone\n ? convertDateToTimezone(dateValue as string, timezone)\n : (dateValue as string),\n dateVariant: isDateOnlyFieldType ? 'date' : 'datetime',\n icon: icon?.name ? (data[icon.name] as string) : undefined,\n defaultExpanded: defaultRowHeight === ROW_DENSITY.WRAP_CONTENT,\n content: contentColumn ? (\n <ValueRenderer column={contentColumn} row={row} />\n ) : (\n getFieldsAsActivityContent(columns, row)\n ),\n status: statusProp?.getCustomContent ? statusProp.getCustomContent(row) : status\n };\n return activity;\n })\n ?.filter((item): item is ActivityObject => !!item);\n};\n\nexport default getActivity;\n\nexport const mapDateFnToGroupOption = (dateFunction: Group['dateFunction']): TimelineGroupBy => {\n switch (dateFunction) {\n case 'YEARS':\n return 'year';\n case 'QUARTERS':\n return 'quarteryear';\n case 'MONTHS':\n return 'monthyear';\n case 'DAYS':\n return 'date';\n default:\n return 'none';\n }\n};\n\nexport function calculateBodyMaxHeight(\n maxHeight: string | number | undefined,\n domContainer: HTMLElement | undefined,\n pContainer: HTMLElement | null | undefined\n) {\n if (maxHeight === undefined) return;\n if (!domContainer || !pContainer) return;\n const extraHeight = domContainer.offsetHeight - pContainer.offsetHeight;\n if (typeof maxHeight === 'string' && maxHeight.startsWith('--')) {\n // Means it is a css variable which is a string, and it needs to be computed with calc function\n // If css variable is not defined then fallback to default max height i.e. 550px\n const defaultMaxHeight = `calc(550px + ${extraHeight}px + 32px)`;\n return `calc(var(${maxHeight}, ${defaultMaxHeight}) - ${extraHeight}px - 32px)`;\n }\n if (typeof maxHeight === 'number') {\n return `${maxHeight - extraHeight - 32}px`;\n }\n}\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ActivityObject, TimelineGroupBy } from './Timeline.types';
|
|
2
|
+
export declare function getDatePartAsDate(date: string | number | Date): Date;
|
|
3
|
+
export declare function getMonthYearPartAsDate(date: string | number | Date): Date;
|
|
4
|
+
export declare function getYearPartAsDate(date: string | number | Date): Date;
|
|
5
|
+
export declare function isSameDate(firstDate: string | number | Date, secondDate: string | number | Date): boolean;
|
|
6
|
+
export declare function isSameMonthYear(firstDate: string | number | Date, secondDate: string | number | Date): boolean;
|
|
7
|
+
export declare function isSameYear(firstDate: string | number | Date, secondDate: string | number | Date): boolean;
|
|
8
|
+
export declare function isSameQuarterYear(firstDate: string | number | Date, secondDate: string | number | Date): boolean;
|
|
9
|
+
export declare function isSameGroup(firstDate: string | number | Date | undefined, secondDate: string | number | Date | undefined, groupBy: TimelineGroupBy): boolean;
|
|
10
|
+
export declare function groupByActivity(activity: ActivityObject[], groupBy: TimelineGroupBy): ActivityObject[][];
|
|
11
|
+
export declare function isFutureDate(date: string | number | Date | undefined, current: Date): boolean;
|
|
12
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../Core/Views/Timeline/utils.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAGpE;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAGzE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,CAGpE;AAED,wBAAgB,UAAU,CACxB,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EACjC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GACjC,OAAO,CAET;AAED,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EACjC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GACjC,OAAO,CAIT;AAED,wBAAgB,UAAU,CACxB,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EACjC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GACjC,OAAO,CAET;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EACjC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GACjC,OAAO,CAET;AAED,wBAAgB,WAAW,CACzB,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EAC7C,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EAC9C,OAAO,EAAE,eAAe,GACvB,OAAO,CAqBT;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,cAAc,EAAE,EAC1B,OAAO,EAAE,eAAe,GACvB,cAAc,EAAE,EAAE,CAUpB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,EAAE,IAAI,GAAG,OAAO,CAG7F"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { getQuarter, parseToDate } from '@pega/cosmos-react-core/lib/components/DateTime/Input/utils';
|
|
2
|
+
export function getDatePartAsDate(date) {
|
|
3
|
+
const parsedDate = parseToDate(date);
|
|
4
|
+
return new Date(parsedDate.getUTCFullYear(), parsedDate.getUTCMonth(), parsedDate.getUTCDate());
|
|
5
|
+
}
|
|
6
|
+
export function getMonthYearPartAsDate(date) {
|
|
7
|
+
const parsedDate = parseToDate(date);
|
|
8
|
+
return new Date(parsedDate.getUTCFullYear(), parsedDate.getUTCMonth());
|
|
9
|
+
}
|
|
10
|
+
export function getYearPartAsDate(date) {
|
|
11
|
+
const parsedDate = parseToDate(date);
|
|
12
|
+
return new Date(parsedDate.getUTCFullYear());
|
|
13
|
+
}
|
|
14
|
+
export function isSameDate(firstDate, secondDate) {
|
|
15
|
+
return getDatePartAsDate(firstDate).getTime() === getDatePartAsDate(secondDate).getTime();
|
|
16
|
+
}
|
|
17
|
+
export function isSameMonthYear(firstDate, secondDate) {
|
|
18
|
+
return (getMonthYearPartAsDate(firstDate).getTime() === getMonthYearPartAsDate(secondDate).getTime());
|
|
19
|
+
}
|
|
20
|
+
export function isSameYear(firstDate, secondDate) {
|
|
21
|
+
return getYearPartAsDate(firstDate).getTime() === getYearPartAsDate(secondDate).getTime();
|
|
22
|
+
}
|
|
23
|
+
export function isSameQuarterYear(firstDate, secondDate) {
|
|
24
|
+
return isSameYear(firstDate, secondDate) && getQuarter(firstDate) === getQuarter(secondDate);
|
|
25
|
+
}
|
|
26
|
+
export function isSameGroup(firstDate, secondDate, groupBy) {
|
|
27
|
+
if (!firstDate || !secondDate)
|
|
28
|
+
return false;
|
|
29
|
+
switch (groupBy) {
|
|
30
|
+
case 'none': {
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
case 'date': {
|
|
34
|
+
return isSameDate(firstDate, secondDate);
|
|
35
|
+
}
|
|
36
|
+
case 'monthyear': {
|
|
37
|
+
return isSameMonthYear(firstDate, secondDate);
|
|
38
|
+
}
|
|
39
|
+
case 'quarteryear': {
|
|
40
|
+
return isSameQuarterYear(firstDate, secondDate);
|
|
41
|
+
}
|
|
42
|
+
case 'year': {
|
|
43
|
+
return isSameYear(firstDate, secondDate);
|
|
44
|
+
}
|
|
45
|
+
default:
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
export function groupByActivity(activity, groupBy) {
|
|
50
|
+
return activity.reduce((result, item, index) => {
|
|
51
|
+
const isFirstItemInGroup = !isSameGroup(activity[index - 1]?.date, item.date, groupBy);
|
|
52
|
+
if (isFirstItemInGroup) {
|
|
53
|
+
result.push([item]);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
result[result.length - 1].push(item);
|
|
57
|
+
}
|
|
58
|
+
return result;
|
|
59
|
+
}, []);
|
|
60
|
+
}
|
|
61
|
+
export function isFutureDate(date, current) {
|
|
62
|
+
if (!date || !current)
|
|
63
|
+
return false;
|
|
64
|
+
return parseToDate(date).getTime() > current.getTime();
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../Core/Views/Timeline/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n getQuarter,\n parseToDate\n} from '@pega/cosmos-react-core/lib/components/DateTime/Input/utils';\n\nimport type { ActivityObject, TimelineGroupBy } from './Timeline.types';\n\nexport function getDatePartAsDate(date: string | number | Date): Date {\n const parsedDate = parseToDate(date);\n return new Date(parsedDate.getUTCFullYear(), parsedDate.getUTCMonth(), parsedDate.getUTCDate());\n}\n\nexport function getMonthYearPartAsDate(date: string | number | Date): Date {\n const parsedDate = parseToDate(date);\n return new Date(parsedDate.getUTCFullYear(), parsedDate.getUTCMonth());\n}\n\nexport function getYearPartAsDate(date: string | number | Date): Date {\n const parsedDate = parseToDate(date);\n return new Date(parsedDate.getUTCFullYear());\n}\n\nexport function isSameDate(\n firstDate: string | number | Date,\n secondDate: string | number | Date\n): boolean {\n return getDatePartAsDate(firstDate).getTime() === getDatePartAsDate(secondDate).getTime();\n}\n\nexport function isSameMonthYear(\n firstDate: string | number | Date,\n secondDate: string | number | Date\n): boolean {\n return (\n getMonthYearPartAsDate(firstDate).getTime() === getMonthYearPartAsDate(secondDate).getTime()\n );\n}\n\nexport function isSameYear(\n firstDate: string | number | Date,\n secondDate: string | number | Date\n): boolean {\n return getYearPartAsDate(firstDate).getTime() === getYearPartAsDate(secondDate).getTime();\n}\n\nexport function isSameQuarterYear(\n firstDate: string | number | Date,\n secondDate: string | number | Date\n): boolean {\n return isSameYear(firstDate, secondDate) && getQuarter(firstDate) === getQuarter(secondDate);\n}\n\nexport function isSameGroup(\n firstDate: string | number | Date | undefined,\n secondDate: string | number | Date | undefined,\n groupBy: TimelineGroupBy\n): boolean {\n if (!firstDate || !secondDate) return false;\n switch (groupBy) {\n case 'none': {\n return true;\n }\n case 'date': {\n return isSameDate(firstDate, secondDate);\n }\n case 'monthyear': {\n return isSameMonthYear(firstDate, secondDate);\n }\n case 'quarteryear': {\n return isSameQuarterYear(firstDate, secondDate);\n }\n case 'year': {\n return isSameYear(firstDate, secondDate);\n }\n default:\n return false;\n }\n}\n\nexport function groupByActivity(\n activity: ActivityObject[],\n groupBy: TimelineGroupBy\n): ActivityObject[][] {\n return activity.reduce((result: ActivityObject[][], item, index) => {\n const isFirstItemInGroup = !isSameGroup(activity[index - 1]?.date, item.date, groupBy);\n if (isFirstItemInGroup) {\n result.push([item]);\n } else {\n result[result.length - 1].push(item);\n }\n return result;\n }, []);\n}\n\nexport function isFutureDate(date: string | number | Date | undefined, current: Date): boolean {\n if (!date || !current) return false;\n return parseToDate(date).getTime() > current.getTime();\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pega/lists-react",
|
|
3
|
-
"version": "9.0.0-build.
|
|
3
|
+
"version": "9.0.0-build.9.1",
|
|
4
4
|
"description": "Repeating view structures such as Table, Gallery(Repeating layouts), Kanban etc.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"author": "Pegasystems",
|
|
@@ -14,10 +14,9 @@
|
|
|
14
14
|
"build": "tsc -b tsconfig.build.json"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@pega/cosmos-react-condition-builder": "9.0.0-build.
|
|
18
|
-
"@pega/cosmos-react-core": "9.0.0-build.
|
|
19
|
-
"@pega/cosmos-react-rte": "9.0.0-build.
|
|
20
|
-
"@pega/cosmos-react-work": "9.0.0-build.8.3",
|
|
17
|
+
"@pega/cosmos-react-condition-builder": "9.0.0-build.9.1",
|
|
18
|
+
"@pega/cosmos-react-core": "9.0.0-build.9.1",
|
|
19
|
+
"@pega/cosmos-react-rte": "9.0.0-build.9.1",
|
|
21
20
|
"@types/lodash.get": "^4.4.9",
|
|
22
21
|
"@types/react": "^17.0.62 || ^18.3.3",
|
|
23
22
|
"@types/react-dom": "^17.0.20 || ^18.3.0",
|
|
@@ -25,8 +24,8 @@
|
|
|
25
24
|
"dayjs": "^1.11.13",
|
|
26
25
|
"fast-deep-equal": "^3.1.3",
|
|
27
26
|
"lodash.get": "^4.4.2",
|
|
28
|
-
"pega-repeating-structures-core": "npm:@pega/lists-core@9.0.0-build.
|
|
29
|
-
"pega-ui-list-data-apis": "npm:@pega/lists-core-utils@9.0.0-build.
|
|
27
|
+
"pega-repeating-structures-core": "npm:@pega/lists-core@9.0.0-build.9.1",
|
|
28
|
+
"pega-ui-list-data-apis": "npm:@pega/lists-core-utils@9.0.0-build.9.1",
|
|
30
29
|
"polished": "^4.1.0",
|
|
31
30
|
"prop-types": "^15.8.1",
|
|
32
31
|
"react": "^17.0.0 || ^18.0.0",
|
|
@@ -45,7 +44,7 @@
|
|
|
45
44
|
"@testing-library/react": "^16.0.0",
|
|
46
45
|
"@testing-library/user-event": "^14.6.1",
|
|
47
46
|
"jest-axe": "^8.0.0",
|
|
48
|
-
"srs-utils": "9.0.0-build.
|
|
47
|
+
"srs-utils": "9.0.0-build.9.1",
|
|
49
48
|
"typescript": "~5.8.3"
|
|
50
49
|
}
|
|
51
50
|
}
|