@pega/cosmos-react-work 7.5.6 → 7.6.0
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/components/Assignments/Assignments.js +1 -1
- package/lib/components/Assignments/Assignments.js.map +1 -1
- package/lib/components/HierarchicalAssignments/AssignmentContext.d.ts +28 -0
- package/lib/components/HierarchicalAssignments/AssignmentContext.d.ts.map +1 -0
- package/lib/components/HierarchicalAssignments/AssignmentContext.js +14 -0
- package/lib/components/HierarchicalAssignments/AssignmentContext.js.map +1 -0
- package/lib/components/HierarchicalAssignments/AssignmentDetail.d.ts +4 -1
- package/lib/components/HierarchicalAssignments/AssignmentDetail.d.ts.map +1 -1
- package/lib/components/HierarchicalAssignments/AssignmentDetail.js +2 -2
- package/lib/components/HierarchicalAssignments/AssignmentDetail.js.map +1 -1
- package/lib/components/HierarchicalAssignments/AssignmentNode.d.ts +20 -0
- package/lib/components/HierarchicalAssignments/AssignmentNode.d.ts.map +1 -0
- package/lib/components/HierarchicalAssignments/AssignmentNode.js +33 -0
- package/lib/components/HierarchicalAssignments/AssignmentNode.js.map +1 -0
- package/lib/components/HierarchicalAssignments/AssignmentTree.d.ts +15 -0
- package/lib/components/HierarchicalAssignments/AssignmentTree.d.ts.map +1 -0
- package/lib/components/HierarchicalAssignments/AssignmentTree.js +21 -0
- package/lib/components/HierarchicalAssignments/AssignmentTree.js.map +1 -0
- package/lib/components/HierarchicalAssignments/Assignments.styles.d.ts +15 -9
- package/lib/components/HierarchicalAssignments/Assignments.styles.d.ts.map +1 -1
- package/lib/components/HierarchicalAssignments/Assignments.styles.js +84 -47
- package/lib/components/HierarchicalAssignments/Assignments.styles.js.map +1 -1
- package/lib/components/HierarchicalAssignments/HierarchicalAssignments.d.ts +2 -2
- package/lib/components/HierarchicalAssignments/HierarchicalAssignments.d.ts.map +1 -1
- package/lib/components/HierarchicalAssignments/HierarchicalAssignments.js +113 -9
- package/lib/components/HierarchicalAssignments/HierarchicalAssignments.js.map +1 -1
- package/lib/components/HierarchicalAssignments/HierarchicalAssignments.types.d.ts +11 -12
- package/lib/components/HierarchicalAssignments/HierarchicalAssignments.types.d.ts.map +1 -1
- package/lib/components/HierarchicalAssignments/HierarchicalAssignments.types.js.map +1 -1
- package/lib/components/HierarchicalAssignments/helpers.d.ts +23 -0
- package/lib/components/HierarchicalAssignments/helpers.d.ts.map +1 -0
- package/lib/components/HierarchicalAssignments/helpers.js +167 -0
- package/lib/components/HierarchicalAssignments/helpers.js.map +1 -0
- package/lib/components/HierarchicalAssignments/nodeItems/AssignmentItem.d.ts +18 -0
- package/lib/components/HierarchicalAssignments/nodeItems/AssignmentItem.d.ts.map +1 -0
- package/lib/components/HierarchicalAssignments/nodeItems/AssignmentItem.js +105 -0
- package/lib/components/HierarchicalAssignments/nodeItems/AssignmentItem.js.map +1 -0
- package/lib/components/HierarchicalAssignments/nodeItems/CaseDetail.d.ts +23 -0
- package/lib/components/HierarchicalAssignments/nodeItems/CaseDetail.d.ts.map +1 -0
- package/lib/components/HierarchicalAssignments/nodeItems/CaseDetail.js +107 -0
- package/lib/components/HierarchicalAssignments/nodeItems/CaseDetail.js.map +1 -0
- package/lib/components/HierarchicalAssignments/nodeItems/useNodeFocus.d.ts +23 -0
- package/lib/components/HierarchicalAssignments/nodeItems/useNodeFocus.d.ts.map +1 -0
- package/lib/components/HierarchicalAssignments/nodeItems/useNodeFocus.js +42 -0
- package/lib/components/HierarchicalAssignments/nodeItems/useNodeFocus.js.map +1 -0
- package/lib/components/Tasks/TaskList.d.ts +6 -4
- package/lib/components/Tasks/TaskList.d.ts.map +1 -1
- package/lib/components/Tasks/TaskList.js +10 -3
- package/lib/components/Tasks/TaskList.js.map +1 -1
- package/lib/components/Tasks/Tasks.js +1 -1
- package/lib/components/Tasks/Tasks.js.map +1 -1
- package/package.json +3 -3
- package/lib/components/HierarchicalAssignments/AssignmentContainer.d.ts +0 -33
- package/lib/components/HierarchicalAssignments/AssignmentContainer.d.ts.map +0 -1
- package/lib/components/HierarchicalAssignments/AssignmentContainer.js +0 -46
- package/lib/components/HierarchicalAssignments/AssignmentContainer.js.map +0 -1
- package/lib/components/HierarchicalAssignments/AssignmentItem.d.ts +0 -11
- package/lib/components/HierarchicalAssignments/AssignmentItem.d.ts.map +0 -1
- package/lib/components/HierarchicalAssignments/AssignmentItem.js +0 -26
- package/lib/components/HierarchicalAssignments/AssignmentItem.js.map +0 -1
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { type TestIdProp } from '@pega/cosmos-react-core';
|
|
3
|
-
import type { CaseListProps, ItemsProps, AssignmentProps } from './HierarchicalAssignments.types';
|
|
4
|
-
interface AssignmentContainerProps extends CaseListProps {
|
|
5
|
-
/** Depth of the tree component, used for CSS indentation purpose. */
|
|
6
|
-
depth: number;
|
|
7
|
-
/** First Id of Assignment or childCase from the list. */
|
|
8
|
-
firstItemId?: AssignmentProps['id'] | CaseListProps['id'];
|
|
9
|
-
/** Boolean indicating if the given breakpoint is active or not */
|
|
10
|
-
isMediumOrAbove: boolean;
|
|
11
|
-
}
|
|
12
|
-
interface AssignmentTopContainerProps extends ItemsProps, TestIdProp {
|
|
13
|
-
/** Depth of the tree component, used for CSS indentation purpose. */
|
|
14
|
-
depth: 0;
|
|
15
|
-
/** First Id of Assignment or childCase from the list. */
|
|
16
|
-
firstItemId?: AssignmentProps['id'] | CaseListProps['id'];
|
|
17
|
-
/** Boolean indicating if the given breakpoint is active or not */
|
|
18
|
-
isMediumOrAbove: boolean;
|
|
19
|
-
/** AssignmentContainer is a Recursion component, where id will not be passed as prop on initial call from HierarchicalAssignment. */
|
|
20
|
-
id?: never;
|
|
21
|
-
/** AssignmentContainer is a Recursion component, where status will not be passed as prop on initial call from HierarchicalAssignment. */
|
|
22
|
-
status?: never;
|
|
23
|
-
/** AssignmentContainer is a Recursion component, where link will not be passed as prop on initial call from HierarchicalAssignment. */
|
|
24
|
-
link?: never;
|
|
25
|
-
/** AssignmentContainer is a Recursion component, where name will not be passed as prop on initial call from HierarchicalAssignment. */
|
|
26
|
-
name?: never;
|
|
27
|
-
}
|
|
28
|
-
export declare const maxDepth = 5;
|
|
29
|
-
declare const _default: (({ assignments, childCases, id, depth, status, link, collapsed, onToggleCollapsed, firstItemId, name, testId, isMediumOrAbove }: AssignmentContainerProps | AssignmentTopContainerProps) => JSX.Element) & {
|
|
30
|
-
getTestIds: (testIdProp?: string | null | undefined) => import("@pega/cosmos-react-core").TestIdsRecord<readonly ["toggle-action", "label", "id", "status"]>;
|
|
31
|
-
};
|
|
32
|
-
export default _default;
|
|
33
|
-
//# sourceMappingURL=AssignmentContainer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AssignmentContainer.d.ts","sourceRoot":"","sources":["../../../src/components/HierarchicalAssignments/AssignmentContainer.tsx"],"names":[],"mappings":";AAEA,OAAO,EAUL,KAAK,UAAU,EAChB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAalG,UAAU,wBAAyB,SAAQ,aAAa;IACtD,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,WAAW,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAC1D,kEAAkE;IAClE,eAAe,EAAE,OAAO,CAAC;CAC1B;AACD,UAAU,2BAA4B,SAAQ,UAAU,EAAE,UAAU;IAClE,qEAAqE;IACrE,KAAK,EAAE,CAAC,CAAC;IACT,yDAAyD;IACzD,WAAW,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAC1D,kEAAkE;IAClE,eAAe,EAAE,OAAO,CAAC;IACzB,qIAAqI;IACrI,EAAE,CAAC,EAAE,KAAK,CAAC;IACX,yIAAyI;IACzI,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,uIAAuI;IACvI,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,uIAAuI;IACvI,IAAI,CAAC,EAAE,KAAK,CAAC;CACd;AAED,eAAO,MAAM,QAAQ,IAAI,CAAC;;;;AAiL1B,wBAAgE"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { createElement as _createElement } from "react";
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useMemo, useState } from 'react';
|
|
4
|
-
import { Flex, useI18n, ExpandCollapse, Icon, Text, Link, Status, withTestIds, useTestIds } from '@pega/cosmos-react-core';
|
|
5
|
-
import AssignmentItem from './AssignmentItem';
|
|
6
|
-
import { StyledExpandButton, StyledHeaderContainer, StyledAssignmentContainer, StyledLinkContainer, StyledMetaListContainer, StyledMetaIdStatusContainer, StyledSummaryItem } from './Assignments.styles';
|
|
7
|
-
import { getCaseTestIds } from './HierarchicalAssignments.test-ids';
|
|
8
|
-
export const maxDepth = 5;
|
|
9
|
-
const AssignmentContainer = ({ assignments, childCases, id, depth, status, link, collapsed = false, onToggleCollapsed, firstItemId, name, testId, isMediumOrAbove }) => {
|
|
10
|
-
const t = useI18n();
|
|
11
|
-
const [open, setOpen] = useState(collapsed);
|
|
12
|
-
const testIds = useTestIds(testId, getCaseTestIds);
|
|
13
|
-
const header = useMemo(() => {
|
|
14
|
-
if (!status) {
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
const { text, variant } = status;
|
|
18
|
-
const hasChildren = !!(childCases?.length || assignments?.length);
|
|
19
|
-
const indent = depth !== 1 && !hasChildren;
|
|
20
|
-
return (_jsxs(Flex, { "data-testid": testIds.root, as: StyledHeaderContainer, container: { alignItems: 'center', gap: 1 }, depth: depth, role: 'treeitem', children: [hasChildren && (_jsx(StyledExpandButton, { "data-testid": testIds.toggleAction, type: 'button', variant: 'text', "aria-controls": id, "aria-expanded": open, "aria-label": t('childCase'), onClick: () => {
|
|
21
|
-
onToggleCollapsed?.(!open, id);
|
|
22
|
-
setOpen(prev => !prev);
|
|
23
|
-
}, children: _jsx(Icon, { name: 'caret-right' }) })), isMediumOrAbove ? (_jsx(StyledMetaListContainer, { wrapItems: true, indent: indent, items: [
|
|
24
|
-
_jsx(StyledLinkContainer, { isMediumOrAbove: isMediumOrAbove, children: _jsx(Link, { "data-testid": testIds.label, href: link?.href, previewable: true, onPreview: link?.onPreview, target: link?.target, icon: true, children: name }) }, `${id}-caseName`),
|
|
25
|
-
_jsx(StyledMetaIdStatusContainer, { wrapItems: false, items: [
|
|
26
|
-
_jsx(Text, { "data-testid": testIds.id, variant: 'secondary', children: id }, `${id}-id`),
|
|
27
|
-
_jsx(Status, { "data-testid": testIds.status, variant: variant ?? 'info', children: text }, `${id}-status`)
|
|
28
|
-
] }, `${id}-id-status`)
|
|
29
|
-
] })) : (_jsx(StyledSummaryItem, { indent: indent, primary: _jsx(StyledLinkContainer, { isMediumOrAbove: isMediumOrAbove, children: _jsx(Link, { "data-testid": testIds.label, href: link?.href, previewable: true, onPreview: link?.onPreview, target: link?.target, icon: true, children: name }) }), secondary: _jsx(StyledMetaIdStatusContainer, { wrapItems: false, items: [
|
|
30
|
-
_jsx(Text, { "data-testid": testIds.id, variant: 'secondary', children: id }, `${id}-id`),
|
|
31
|
-
_jsx(Status, { "data-testid": testIds.status, variant: variant ?? 'info', children: text }, `${id}-status`)
|
|
32
|
-
] }) }))] }));
|
|
33
|
-
}, [childCases, assignments, id, open, name, status, isMediumOrAbove]);
|
|
34
|
-
return (_jsxs(StyledAssignmentContainer, { depth: depth, hideBorders: firstItemId === id, children: [!id &&
|
|
35
|
-
assignments?.map(item => {
|
|
36
|
-
return (_createElement(AssignmentItem, { ...item, key: item.id, depth: depth, assigneeName: item?.assigneeName, firstItemId: firstItemId, testId: testId, isMediumOrAbove: isMediumOrAbove }));
|
|
37
|
-
}), id && status && header, _jsxs(ExpandCollapse, { collapsed: !open, id: id, children: [id &&
|
|
38
|
-
assignments?.map(item => {
|
|
39
|
-
return (_createElement(AssignmentItem, { ...item, key: item.id, depth: depth, assigneeName: item?.assigneeName, testId: testId, isMediumOrAbove: isMediumOrAbove }));
|
|
40
|
-
}), childCases?.map(item => {
|
|
41
|
-
const childDepth = Math.min(depth + 1, maxDepth);
|
|
42
|
-
return item.id && item.status ? (_createElement(AssignmentContainer, { ...item, key: item.id, depth: childDepth, onToggleCollapsed: onToggleCollapsed, firstItemId: firstItemId, testId: testId, isMediumOrAbove: isMediumOrAbove })) : null;
|
|
43
|
-
})] })] }));
|
|
44
|
-
};
|
|
45
|
-
export default withTestIds(AssignmentContainer, getCaseTestIds);
|
|
46
|
-
//# sourceMappingURL=AssignmentContainer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AssignmentContainer.js","sourceRoot":"","sources":["../../../src/components/HierarchicalAssignments/AssignmentContainer.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useMemo, useState } from 'react';\n\nimport {\n Flex,\n useI18n,\n ExpandCollapse,\n Icon,\n Text,\n Link,\n Status,\n withTestIds,\n useTestIds,\n type TestIdProp\n} from '@pega/cosmos-react-core';\n\nimport type { CaseListProps, ItemsProps, AssignmentProps } from './HierarchicalAssignments.types';\nimport AssignmentItem from './AssignmentItem';\nimport {\n StyledExpandButton,\n StyledHeaderContainer,\n StyledAssignmentContainer,\n StyledLinkContainer,\n StyledMetaListContainer,\n StyledMetaIdStatusContainer,\n StyledSummaryItem\n} from './Assignments.styles';\nimport { getCaseTestIds } from './HierarchicalAssignments.test-ids';\n\ninterface AssignmentContainerProps extends CaseListProps {\n /** Depth of the tree component, used for CSS indentation purpose. */\n depth: number;\n /** First Id of Assignment or childCase from the list. */\n firstItemId?: AssignmentProps['id'] | CaseListProps['id'];\n /** Boolean indicating if the given breakpoint is active or not */\n isMediumOrAbove: boolean;\n}\ninterface AssignmentTopContainerProps extends ItemsProps, TestIdProp {\n /** Depth of the tree component, used for CSS indentation purpose. */\n depth: 0;\n /** First Id of Assignment or childCase from the list. */\n firstItemId?: AssignmentProps['id'] | CaseListProps['id'];\n /** Boolean indicating if the given breakpoint is active or not */\n isMediumOrAbove: boolean;\n /** AssignmentContainer is a Recursion component, where id will not be passed as prop on initial call from HierarchicalAssignment. */\n id?: never;\n /** AssignmentContainer is a Recursion component, where status will not be passed as prop on initial call from HierarchicalAssignment. */\n status?: never;\n /** AssignmentContainer is a Recursion component, where link will not be passed as prop on initial call from HierarchicalAssignment. */\n link?: never;\n /** AssignmentContainer is a Recursion component, where name will not be passed as prop on initial call from HierarchicalAssignment. */\n name?: never;\n}\n\nexport const maxDepth = 5;\n\nconst AssignmentContainer = ({\n assignments,\n childCases,\n id,\n depth,\n status,\n link,\n collapsed = false,\n onToggleCollapsed,\n firstItemId,\n name,\n testId,\n isMediumOrAbove\n}: AssignmentTopContainerProps | AssignmentContainerProps) => {\n const t = useI18n();\n const [open, setOpen] = useState(collapsed);\n\n const testIds = useTestIds(testId, getCaseTestIds);\n\n const header = useMemo(() => {\n if (!status) {\n return;\n }\n const { text, variant } = status;\n const hasChildren = !!(childCases?.length || assignments?.length);\n const indent = depth !== 1 && !hasChildren;\n return (\n <Flex\n data-testid={testIds.root}\n as={StyledHeaderContainer}\n container={{ alignItems: 'center', gap: 1 }}\n depth={depth}\n role='treeitem'\n >\n {hasChildren && (\n <StyledExpandButton\n data-testid={testIds.toggleAction}\n type='button'\n variant='text'\n aria-controls={id}\n aria-expanded={open}\n aria-label={t('childCase')}\n onClick={() => {\n onToggleCollapsed?.(!open, id);\n setOpen(prev => !prev);\n }}\n >\n <Icon name='caret-right' />\n </StyledExpandButton>\n )}\n {isMediumOrAbove ? (\n <StyledMetaListContainer\n wrapItems\n indent={indent}\n items={[\n <StyledLinkContainer isMediumOrAbove={isMediumOrAbove} key={`${id}-caseName`}>\n <Link\n data-testid={testIds.label}\n href={link?.href}\n previewable\n onPreview={link?.onPreview}\n target={link?.target}\n icon\n >\n {name}\n </Link>\n </StyledLinkContainer>,\n <StyledMetaIdStatusContainer\n key={`${id}-id-status`}\n wrapItems={false}\n items={[\n <Text data-testid={testIds.id} variant='secondary' key={`${id}-id`}>\n {id}\n </Text>,\n <Status\n data-testid={testIds.status}\n variant={variant ?? 'info'}\n key={`${id}-status`}\n >\n {text}\n </Status>\n ]}\n />\n ]}\n />\n ) : (\n <StyledSummaryItem\n indent={indent}\n primary={\n <StyledLinkContainer isMediumOrAbove={isMediumOrAbove}>\n <Link\n data-testid={testIds.label}\n href={link?.href}\n previewable\n onPreview={link?.onPreview}\n target={link?.target}\n icon\n >\n {name}\n </Link>\n </StyledLinkContainer>\n }\n secondary={\n <StyledMetaIdStatusContainer\n wrapItems={false}\n items={[\n <Text data-testid={testIds.id} variant='secondary' key={`${id}-id`}>\n {id}\n </Text>,\n <Status\n data-testid={testIds.status}\n variant={variant ?? 'info'}\n key={`${id}-status`}\n >\n {text}\n </Status>\n ]}\n />\n }\n />\n )}\n </Flex>\n );\n }, [childCases, assignments, id, open, name, status, isMediumOrAbove]);\n\n return (\n <StyledAssignmentContainer depth={depth} hideBorders={firstItemId === id}>\n {!id &&\n assignments?.map(item => {\n return (\n <AssignmentItem\n {...item}\n key={item.id}\n depth={depth}\n assigneeName={item?.assigneeName}\n firstItemId={firstItemId}\n testId={testId}\n isMediumOrAbove={isMediumOrAbove}\n />\n );\n })}\n {id && status && header}\n <ExpandCollapse collapsed={!open} id={id}>\n {id &&\n assignments?.map(item => {\n return (\n <AssignmentItem\n {...item}\n key={item.id}\n depth={depth}\n assigneeName={item?.assigneeName}\n testId={testId}\n isMediumOrAbove={isMediumOrAbove}\n />\n );\n })}\n\n {childCases?.map(item => {\n const childDepth = Math.min(depth + 1, maxDepth);\n return item.id && item.status ? (\n <AssignmentContainer\n {...item}\n key={item.id}\n depth={childDepth}\n onToggleCollapsed={onToggleCollapsed}\n firstItemId={firstItemId}\n testId={testId}\n isMediumOrAbove={isMediumOrAbove}\n />\n ) : null;\n })}\n </ExpandCollapse>\n </StyledAssignmentContainer>\n );\n};\nexport default withTestIds(AssignmentContainer, getCaseTestIds);\n"]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import type { AssignmentProps } from './HierarchicalAssignments.types';
|
|
3
|
-
declare const _default: (({ processName, name, assigneeName, urgency, sla, depth, id, firstItemId, assigneeId, onOpen, onAssigneeClick, testId, isMediumOrAbove }: AssignmentProps & {
|
|
4
|
-
depth: number;
|
|
5
|
-
firstItemId?: string | undefined;
|
|
6
|
-
isMediumOrAbove: boolean;
|
|
7
|
-
}) => JSX.Element) & {
|
|
8
|
-
getTestIds: (testIdProp?: string | null | undefined) => import("@pega/cosmos-react-core").TestIdsRecord<readonly ["label", "assignee", "urgency", "action", "sla"]>;
|
|
9
|
-
};
|
|
10
|
-
export default _default;
|
|
11
|
-
//# sourceMappingURL=AssignmentItem.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AssignmentItem.d.ts","sourceRoot":"","sources":["../../../src/components/HierarchicalAssignments/AssignmentItem.tsx"],"names":[],"mappings":";AAqBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;;;;;;;;AA6GvE,wBAAiE"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Button, Text, useI18n, withTestIds, useTestIds, Flex, useElement, Tooltip, MetaList } from '@pega/cosmos-react-core';
|
|
3
|
-
import { StyledAssignmentItem, StyledProcessContainer, StyledActionContainer, StyledAssigneeContainer, StyledAssigneeText } from './Assignments.styles';
|
|
4
|
-
import { getAssignmentTestIds } from './HierarchicalAssignments.test-ids';
|
|
5
|
-
import { maxDepth } from './AssignmentContainer';
|
|
6
|
-
import AssignmentDetails from './AssignmentDetail';
|
|
7
|
-
const AssignmentItem = ({ processName, name, assigneeName, urgency, sla, depth, id, firstItemId, assigneeId, onOpen, onAssigneeClick, testId, isMediumOrAbove }) => {
|
|
8
|
-
const t = useI18n();
|
|
9
|
-
const [assigneeEl, setAssigneeElement] = useElement();
|
|
10
|
-
const testIds = useTestIds(testId, getAssignmentTestIds);
|
|
11
|
-
const tableDepth = depth === 0 ? depth : Math.min(depth + 1, maxDepth);
|
|
12
|
-
return (_jsxs(StyledAssignmentItem, { "data-testid": testIds.root, container: {
|
|
13
|
-
alignItems: 'center',
|
|
14
|
-
cols: isMediumOrAbove ? '2fr 2fr auto' : '2fr 0.5fr',
|
|
15
|
-
colGap: isMediumOrAbove ? 3 : 0,
|
|
16
|
-
rows: isMediumOrAbove ? 'repeat(1, auto)' : 'repeat(3, auto)'
|
|
17
|
-
}, hideBorders: firstItemId === id, role: 'treeitem', children: [_jsx(Flex, { "data-testid": testIds.label, container: { alignItems: 'center' }, as: StyledProcessContainer, depth: tableDepth, children: _jsx(AssignmentDetails, { processName: processName, name: name }) }), _jsx(Flex, { container: { justify: isMediumOrAbove ? 'end' : 'start' }, as: StyledAssigneeContainer, depth: tableDepth, variant: 'secondary', isMediumOrAbove: isMediumOrAbove, children: _jsx(MetaList, { wrapItems: true, items: [
|
|
18
|
-
_jsxs(_Fragment, { children: [_jsx(StyledAssigneeText, { onClick: (e) => {
|
|
19
|
-
onAssigneeClick(assigneeId, e);
|
|
20
|
-
}, variant: 'link', ref: setAssigneeElement, "data-testid": testIds.assignee, children: assigneeName }), _jsx(Tooltip, { target: assigneeEl, smart: true, children: assigneeName })] }),
|
|
21
|
-
sla && (_jsx(Text, { variant: 'secondary', "data-testid": testIds.sla, children: sla })),
|
|
22
|
-
_jsxs(_Fragment, { children: [_jsxs(Text, { variant: 'secondary', "data-testid": testIds.urgency, children: [t('urgency'), ":"] }), _jsx(Text, { variant: 'secondary', children: urgency })] })
|
|
23
|
-
] }) }), _jsx(Flex, { as: StyledActionContainer, container: { justify: 'end' }, isMediumOrAbove: isMediumOrAbove, children: onOpen && (_jsx(Button, { "data-testid": testIds.action, compact: true, variant: 'primary', onClick: (e) => onOpen(id, e), children: t('go') })) })] }));
|
|
24
|
-
};
|
|
25
|
-
export default withTestIds(AssignmentItem, getAssignmentTestIds);
|
|
26
|
-
//# sourceMappingURL=AssignmentItem.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AssignmentItem.js","sourceRoot":"","sources":["../../../src/components/HierarchicalAssignments/AssignmentItem.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { MouseEvent } from 'react';\n\nimport {\n Button,\n Text,\n useI18n,\n withTestIds,\n useTestIds,\n Flex,\n useElement,\n Tooltip,\n MetaList\n} from '@pega/cosmos-react-core';\n\nimport {\n StyledAssignmentItem,\n StyledProcessContainer,\n StyledActionContainer,\n StyledAssigneeContainer,\n StyledAssigneeText\n} from './Assignments.styles';\nimport type { AssignmentProps } from './HierarchicalAssignments.types';\nimport { getAssignmentTestIds } from './HierarchicalAssignments.test-ids';\nimport { maxDepth } from './AssignmentContainer';\nimport AssignmentDetails from './AssignmentDetail';\n\nconst AssignmentItem = ({\n processName,\n name,\n assigneeName,\n urgency,\n sla,\n depth,\n id,\n firstItemId,\n assigneeId,\n onOpen,\n onAssigneeClick,\n testId,\n isMediumOrAbove\n}: AssignmentProps & {\n depth: number;\n firstItemId?: string;\n isMediumOrAbove: boolean;\n}) => {\n const t = useI18n();\n const [assigneeEl, setAssigneeElement] = useElement<HTMLElement>();\n const testIds = useTestIds(testId, getAssignmentTestIds);\n const tableDepth = depth === 0 ? depth : Math.min(depth + 1, maxDepth);\n\n return (\n <StyledAssignmentItem\n data-testid={testIds.root}\n container={{\n alignItems: 'center',\n cols: isMediumOrAbove ? '2fr 2fr auto' : '2fr 0.5fr',\n colGap: isMediumOrAbove ? 3 : 0,\n rows: isMediumOrAbove ? 'repeat(1, auto)' : 'repeat(3, auto)'\n }}\n hideBorders={firstItemId === id}\n role='treeitem'\n >\n <Flex\n data-testid={testIds.label}\n container={{ alignItems: 'center' }}\n as={StyledProcessContainer}\n depth={tableDepth}\n >\n <AssignmentDetails processName={processName} name={name} />\n </Flex>\n <Flex\n container={{ justify: isMediumOrAbove ? 'end' : 'start' }}\n as={StyledAssigneeContainer}\n depth={tableDepth}\n variant='secondary'\n isMediumOrAbove={isMediumOrAbove}\n >\n <MetaList\n wrapItems\n items={[\n <>\n <StyledAssigneeText\n onClick={(e: MouseEvent<HTMLButtonElement>) => {\n onAssigneeClick(assigneeId, e);\n }}\n variant='link'\n ref={setAssigneeElement}\n data-testid={testIds.assignee}\n >\n {assigneeName}\n </StyledAssigneeText>\n <Tooltip target={assigneeEl} smart>\n {assigneeName}\n </Tooltip>\n </>,\n sla && (\n <Text variant='secondary' data-testid={testIds.sla}>\n {sla}\n </Text>\n ),\n <>\n <Text variant='secondary' data-testid={testIds.urgency}>\n {t('urgency')}:\n </Text>\n <Text variant='secondary'>{urgency}</Text>\n </>\n ]}\n />\n </Flex>\n\n <Flex\n as={StyledActionContainer}\n container={{ justify: 'end' }}\n isMediumOrAbove={isMediumOrAbove}\n >\n {onOpen && (\n <Button\n data-testid={testIds.action}\n compact\n variant='primary'\n onClick={(e: MouseEvent<HTMLButtonElement>) => onOpen(id, e)}\n >\n {t('go')}\n </Button>\n )}\n </Flex>\n </StyledAssignmentItem>\n );\n};\n\nexport default withTestIds(AssignmentItem, getAssignmentTestIds);\n"]}
|