@pega/cosmos-react-build 9.0.0-build.6.1 → 9.0.0-build.6.11
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/DynamicInput/DynamicInput.styles.d.ts.map +1 -1
- package/lib/components/DynamicInput/DynamicInput.styles.js +1 -0
- package/lib/components/DynamicInput/DynamicInput.styles.js.map +1 -1
- package/lib/components/LifeCycle/Category.d.ts.map +1 -1
- package/lib/components/LifeCycle/Category.js +4 -11
- package/lib/components/LifeCycle/Category.js.map +1 -1
- package/lib/components/LifeCycle/LifeCycle.js +2 -2
- package/lib/components/LifeCycle/LifeCycle.js.map +1 -1
- package/lib/components/LifeCycle/LifeCycle.types.d.ts +32 -0
- package/lib/components/LifeCycle/LifeCycle.types.d.ts.map +1 -1
- package/lib/components/LifeCycle/LifeCycle.types.js +9 -9
- package/lib/components/LifeCycle/LifeCycle.types.js.map +1 -1
- package/lib/components/LifeCycle/LifeCycleDragDropList.d.ts.map +1 -1
- package/lib/components/LifeCycle/LifeCycleDragDropList.js +8 -2
- package/lib/components/LifeCycle/LifeCycleDragDropList.js.map +1 -1
- package/lib/components/LifeCycle/Stage.d.ts.map +1 -1
- package/lib/components/LifeCycle/Stage.js +20 -11
- package/lib/components/LifeCycle/Stage.js.map +1 -1
- package/lib/components/LifeCycle/Step.d.ts.map +1 -1
- package/lib/components/LifeCycle/Step.js +1 -0
- package/lib/components/LifeCycle/Step.js.map +1 -1
- package/lib/components/LifeCycle/Task.d.ts.map +1 -1
- package/lib/components/LifeCycle/Task.js +4 -2
- package/lib/components/LifeCycle/Task.js.map +1 -1
- package/lib/components/LifeCycle/TaskGroup.d.ts +2 -2
- package/lib/components/LifeCycle/TaskGroup.d.ts.map +1 -1
- package/lib/components/LifeCycle/TaskGroup.js +6 -11
- package/lib/components/LifeCycle/TaskGroup.js.map +1 -1
- package/lib/components/LifeCycle/utils.d.ts +2 -1
- package/lib/components/LifeCycle/utils.d.ts.map +1 -1
- package/lib/components/LifeCycle/utils.js +80 -41
- package/lib/components/LifeCycle/utils.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicInput.styles.d.ts","sourceRoot":"","sources":["../../../src/components/DynamicInput/DynamicInput.styles.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,6BAA6B,oNAAmB,CAAC;AAC9D,eAAO,MAAM,uBAAuB,kNAAiB,CAAC;AAEtD,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"DynamicInput.styles.d.ts","sourceRoot":"","sources":["../../../src/components/DynamicInput/DynamicInput.styles.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,6BAA6B,oNAAmB,CAAC;AAC9D,eAAO,MAAM,uBAAuB,kNAAiB,CAAC;AAEtD,eAAO,MAAM,kBAAkB,yGAqD7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicInput.styles.js","sourceRoot":"","sources":["../../../src/components/DynamicInput/DynamicInput.styles.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,8DAA8D,CAAC;AAEhG,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA,EAAE,CAAC;AAC9D,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA,EAAE,CAAC;AAEtD,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACzD,OAAO,GAAG,CAAA;;;MAGN,iBAAiB;;;;;;MAMjB,uBAAuB;;;;;;;;;;wBAUL,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC;;;;;QAKhE,6BAA6B;;;;;;;;;;MAU/B,gBAAgB;;;sBAGA,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC;;;eAGvD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;;;;;;MAM/C,gBAAgB
|
|
1
|
+
{"version":3,"file":"DynamicInput.styles.js","sourceRoot":"","sources":["../../../src/components/DynamicInput/DynamicInput.styles.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,8DAA8D,CAAC;AAEhG,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA,EAAE,CAAC;AAC9D,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA,EAAE,CAAC;AAEtD,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACzD,OAAO,GAAG,CAAA;;;MAGN,iBAAiB;;;;;;MAMjB,uBAAuB;;;;;;;;;;wBAUL,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC;;;;;QAKhE,6BAA6B;;;;;;;;;;MAU/B,gBAAgB;;;sBAGA,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC;;;eAGvD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC;;;;;;MAM/C,gBAAgB;;;mBAGH,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE;;GAE9C,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,kBAAkB,CAAC,YAAY,GAAG,gBAAgB,CAAC","sourcesContent":["import styled, { css } from 'styled-components';\n\nimport { Button, Flex, StyledFormControl, defaultThemeProp } from '@pega/cosmos-react-core';\nimport { StyledMenuButton } from '@pega/cosmos-react-core/lib/components/MenuButton/MenuButton';\n\nexport const StyledExpressionBuilderButton = styled(Button)``;\nexport const StyledExpressionControl = styled(Flex)``;\n\nexport const StyledDynamicInput = styled.div(({ theme }) => {\n return css`\n display: flex;\n\n ${StyledFormControl} {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n width: 100%;\n }\n\n ${StyledExpressionControl} {\n position: relative;\n z-index: 1;\n\n .react-codemirror2 {\n min-height: 0;\n }\n\n .CodeMirror,\n .CodeMirror-wrap {\n border-color: ${theme.components['form-control']['border-color']};\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n\n ${StyledExpressionBuilderButton} {\n position: absolute;\n z-index: 2;\n inset-block-start: 0.0625rem;\n inset-inline-end: 0.0625rem;\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n }\n }\n\n ${StyledMenuButton} {\n z-index: 0;\n border-inline-end: 0;\n border-color: ${theme.components['form-control']['border-color']};\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n color: ${theme.base.palette['foreground-color']};\n &:focus {\n z-index: 2;\n }\n }\n\n ${StyledMenuButton} + * {\n flex-grow: 1;\n z-index: 1;\n min-width: ${theme.base['content-width'].xs};\n }\n `;\n});\n\nStyledDynamicInput.defaultProps = defaultThemeProp;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Category.d.ts","sourceRoot":"","sources":["../../../src/components/LifeCycle/Category.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAG/E,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Category.d.ts","sourceRoot":"","sources":["../../../src/components/LifeCycle/Category.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAG/E,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIxE,eAAO,MAAM,cAAc;eAA0B,OAAO;SAQ1D,CAAC;AAIH,eAAO,MAAM,UAAU,wGAIrB,CAAC;AAGH,eAAO,MAAM,aAAa;eAA2B,eAAe,GAAG,SAAS;QAAM,MAAM;SAW3F,CAAC;AAGF,eAAO,MAAM,mBAAmB,yGA4B9B,CAAC;;;;AAoFH,wBAAyD"}
|
|
@@ -3,7 +3,7 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
|
|
|
3
3
|
import { forwardRef } from 'react';
|
|
4
4
|
import styled, { css } from 'styled-components';
|
|
5
5
|
import { defaultThemeProp, useTestIds, withTestIds, readableColor, tryCatch } from '@pega/cosmos-react-core';
|
|
6
|
-
import { generateDynamicTestId } from './utils';
|
|
6
|
+
import { generateDynamicTestId, isSingleTaskArray } from './utils';
|
|
7
7
|
import TaskGroup from './TaskGroup';
|
|
8
8
|
import { getCategoryTestIds } from './LifeCycle.test-ids';
|
|
9
9
|
export const StyledCategory = styled.h3(({ showTitle, theme }) => {
|
|
@@ -66,21 +66,14 @@ const Category = forwardRef(({ item, showTitle = false, stageItem, category, id,
|
|
|
66
66
|
const categoryTestID = generateDynamicTestId([stageItem.label, category?.label]);
|
|
67
67
|
const testIds = useTestIds(categoryTestID, getCategoryTestIds);
|
|
68
68
|
const hasNoTasks = item.tasks.length === 0;
|
|
69
|
-
const singleTaskArray = item.tasks.every(taskItem => !Array.isArray(taskItem));
|
|
70
69
|
const renderTaskGroups = () => {
|
|
71
70
|
if (hasNoTasks) {
|
|
72
71
|
return (_jsx(TaskGroup, { ...restProps, taskItem: [], parallel: false, index: 0, stageItem: stageItem, categoryItem: { ...item, label: category?.label }, task: task }));
|
|
73
72
|
}
|
|
74
|
-
if (
|
|
75
|
-
|
|
76
|
-
const tasks = item.tasks;
|
|
77
|
-
return (_createElement(TaskGroup, { ...restProps,
|
|
78
|
-
// FIXME: Check if key is necessary
|
|
79
|
-
key: tasks[0].id, taskItem: tasks, parallel: false, index: 0, stageItem: stageItem, categoryItem: { ...item, label: category?.label }, task: task }));
|
|
73
|
+
if (isSingleTaskArray(item.tasks)) {
|
|
74
|
+
return (_jsx(TaskGroup, { ...restProps, taskItem: item.tasks, parallel: false, index: 0, stageItem: stageItem, categoryItem: { ...item, label: category?.label }, task: task }));
|
|
80
75
|
}
|
|
81
|
-
return item.tasks.map((taskItem, index) => (_createElement(TaskGroup, { ...restProps,
|
|
82
|
-
// FIXME: With type guard verify if ternary is necessary
|
|
83
|
-
key: Array.isArray(taskItem) ? taskItem[0]?.id : taskItem.id, taskItem: taskItem, parallel: index > 0, index: index, stageItem: stageItem, categoryItem: { ...item, label: category?.label }, task: task })));
|
|
76
|
+
return item.tasks.map((taskItem, index) => (_createElement(TaskGroup, { ...restProps, key: taskItem[0]?.id, taskItem: taskItem, parallel: index > 0, index: index, stageItem: stageItem, categoryItem: { ...item, label: category?.label }, task: task })));
|
|
84
77
|
};
|
|
85
78
|
return (_jsxs(_Fragment, { children: [category?.label && (_jsx(StyledCategory, { showTitle: showTitle, tabIndex: -1, id: item.categoryId, children: category?.label })), _jsx(StyledWrapper, { category: category, id: item.id, "data-id": item.categoryId, ref: ref, children: _jsx(StyledList, { "data-testid": testIds.root, children: renderTaskGroups() }) })] }));
|
|
86
79
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Category.js","sourceRoot":"","sources":["../../../src/components/LifeCycle/Category.tsx"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,WAAW,EACX,aAAa,EACb,QAAQ,EACT,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Category.js","sourceRoot":"","sources":["../../../src/components/LifeCycle/Category.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef } from 'react';\nimport type { PropsWithoutRef, Ref } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport {\n defaultThemeProp,\n useTestIds,\n withTestIds,\n readableColor,\n tryCatch\n} from '@pega/cosmos-react-core';\nimport type { ForwardRefForwardPropsComponent } from '@pega/cosmos-react-core';\n\nimport { generateDynamicTestId, isSingleTaskArray } from './utils';\nimport type { CategoriesProps, CategoryProps } from './LifeCycle.types';\nimport TaskGroup from './TaskGroup';\nimport { getCategoryTestIds } from './LifeCycle.test-ids';\n\nexport const StyledCategory = styled.h3<{ showTitle: boolean }>(({ showTitle, theme }) => {\n return css`\n ${!showTitle &&\n css`\n visibility: hidden;\n `}\n margin: ${theme.base.spacing} 0 0 0;\n `;\n});\n\nStyledCategory.defaultProps = defaultThemeProp;\n\nexport const StyledList = styled.ol(() => {\n return css`\n list-style-type: none;\n `;\n});\nStyledList.defaultProps = defaultThemeProp;\n\nexport const StyledWrapper = styled.div<{ category?: CategoriesProps | undefined; id: string }>(\n ({ category, theme, id }) => {\n const categoryHeight = `${category?.height}px`;\n return css`\n margin-block-start: ${theme.base.spacing};\n margin-block-end: ${theme.base.spacing};\n ${category?.elementId !== id &&\n ` min-height: ${category?.height ? categoryHeight : 'auto'};\n `}\n `;\n }\n);\nStyledWrapper.defaultProps = defaultThemeProp;\n\nexport const StyledParallelTitle = styled.div(({ theme }) => {\n const backgroundColor = theme.base.colors.slate.dark;\n\n return css`\n position: relative;\n z-index: 1;\n margin-block-end: 0.5rem;\n text-align: center;\n &::before {\n border-block-start: calc(0.2 * ${theme.base.spacing}) solid ${backgroundColor};\n content: '';\n margin: 0 auto;\n position: absolute;\n top: 50%;\n left: 0;\n right: 0;\n bottom: 0;\n width: 100%;\n z-index: -1;\n }\n span {\n background: ${backgroundColor};\n padding: 0 ${theme.base.spacing};\n border-radius: calc(0.25 * ${theme.base['border-radius']});\n color: ${tryCatch(() => readableColor(backgroundColor))};\n text-transform: uppercase;\n }\n `;\n});\n\nStyledParallelTitle.defaultProps = defaultThemeProp;\n\nconst Category: ForwardRefForwardPropsComponent<CategoryProps> = forwardRef(\n (\n {\n item,\n showTitle = false,\n stageItem,\n category,\n id,\n task,\n ...restProps\n }: PropsWithoutRef<CategoryProps>,\n ref: CategoryProps['ref']\n ) => {\n const categoryTestID = generateDynamicTestId([stageItem.label, category?.label]);\n const testIds = useTestIds(categoryTestID, getCategoryTestIds);\n const hasNoTasks = item.tasks.length === 0;\n\n const renderTaskGroups = () => {\n if (hasNoTasks) {\n return (\n <TaskGroup\n {...restProps}\n taskItem={[]}\n parallel={false}\n index={0}\n stageItem={stageItem}\n categoryItem={{ ...item, label: category?.label }}\n task={task}\n />\n );\n }\n\n if (isSingleTaskArray(item.tasks)) {\n return (\n <TaskGroup\n {...restProps}\n taskItem={item.tasks}\n parallel={false}\n index={0}\n stageItem={stageItem}\n categoryItem={{ ...item, label: category?.label }}\n task={task}\n />\n );\n }\n\n return item.tasks.map((taskItem, index) => (\n <TaskGroup\n {...restProps}\n key={taskItem[0]?.id}\n taskItem={taskItem}\n parallel={index > 0}\n index={index}\n stageItem={stageItem}\n categoryItem={{ ...item, label: category?.label }}\n task={task}\n />\n ));\n };\n\n return (\n <>\n {category?.label && (\n <StyledCategory showTitle={showTitle} tabIndex={-1} id={item.categoryId}>\n {category?.label}\n </StyledCategory>\n )}\n <StyledWrapper\n category={category}\n id={item.id}\n data-id={item.categoryId}\n ref={ref as Ref<HTMLDivElement>}\n >\n <StyledList data-testid={testIds.root}>{renderTaskGroups()}</StyledList>\n </StyledWrapper>\n </>\n );\n }\n);\n\nexport default withTestIds(Category, getCategoryTestIds);\n"]}
|
|
@@ -19,7 +19,7 @@ const StyledAddButton = styled(Button)(({ theme }) => {
|
|
|
19
19
|
});
|
|
20
20
|
StyledAddButton.defaultProps = defaultThemeProp;
|
|
21
21
|
export const StyledLifeCycleWrapper = styled(Flex)(({ hasLabel, theme }) => {
|
|
22
|
-
const { spacing
|
|
22
|
+
const { spacing } = theme.base;
|
|
23
23
|
return css `
|
|
24
24
|
padding: calc(2 * ${spacing});
|
|
25
25
|
margin: 0 calc(-2 * ${spacing}) calc(-2 * ${spacing}) calc(-2 * ${spacing});
|
|
@@ -27,7 +27,7 @@ export const StyledLifeCycleWrapper = styled(Flex)(({ hasLabel, theme }) => {
|
|
|
27
27
|
min-width: 100%;
|
|
28
28
|
min-height: 100%;
|
|
29
29
|
top: 0;
|
|
30
|
-
background-color: ${
|
|
30
|
+
background-color: ${theme.components.lifecycle.background};
|
|
31
31
|
|
|
32
32
|
${hasLabel &&
|
|
33
33
|
css `
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LifeCycle.js","sourceRoot":"","sources":["../../../src/components/LifeCycle/LifeCycle.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, useCallback, useLayoutEffect, useMemo, useState } from 'react';\nimport type { PropsWithoutRef } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport {\n defaultThemeProp,\n Flex,\n Button,\n Icon,\n Text,\n useI18n,\n useTestIds,\n withTestIds,\n useAfterInitialEffect,\n useUID,\n usePrevious,\n registerIcon\n} from '@pega/cosmos-react-core';\nimport * as plusIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/plus.icon';\nimport type { ForwardRefForwardPropsComponent } from '@pega/cosmos-react-core';\nimport { DragDropManager } from '@pega/cosmos-react-dnd';\n\nimport LifeCycleList, { type LifeCycleListProps } from './LifeCycleList';\nimport type { StageItemProps, LifeCycleProps } from './LifeCycle.types';\nimport LifeCycleContext from './LifeCycleContext';\nimport type { LifeCycleContextValue, LifeCycleDraggedItem } from './LifeCycleContext';\nimport { getAlternateStageTestIds, getStageTestIds } from './LifeCycle.test-ids';\nimport LifeCycleDragDropList from './LifeCycleDragDropList';\nimport { defaultDragDropConfig } from './utils';\n\nregisterIcon(plusIcon);\n\nconst StyledAddButton = styled(Button)(({ theme }) => {\n return css`\n align-self: flex-start;\n margin-block-start: calc(${theme.base.spacing} / 2);\n `;\n});\n\nStyledAddButton.defaultProps = defaultThemeProp;\n\nexport const StyledLifeCycleWrapper = styled(Flex)<{ hasLabel?: boolean }>(({\n hasLabel,\n theme\n}) => {\n const { spacing, palette } = theme.base;\n return css`\n padding: calc(2 * ${spacing});\n margin: 0 calc(-2 * ${spacing}) calc(-2 * ${spacing}) calc(-2 * ${spacing});\n position: absolute;\n min-width: 100%;\n min-height: 100%;\n top: 0;\n background-color: ${palette['app-background']};\n\n ${hasLabel &&\n css`\n padding-block-start: ${theme.base.spacing};\n `}\n\n li {\n list-style-type: none;\n }\n `;\n});\n\nStyledLifeCycleWrapper.defaultProps = defaultThemeProp;\n\nconst LifeCycle: ForwardRefForwardPropsComponent<LifeCycleProps> = forwardRef(\n (\n {\n items,\n categories = [],\n task = [],\n alternateItems = [],\n onAddStage,\n onAddAlternateStage,\n onDragDrop,\n dragDropConfig = defaultDragDropConfig,\n stage,\n alternateStage,\n selectedItemId,\n readOnly,\n ...restProps\n }: PropsWithoutRef<LifeCycleProps>,\n ref: LifeCycleProps['ref']\n ) => {\n const labelId = useUID();\n const t = useI18n();\n const [draggedItem, setDraggedItem] = useState<LifeCycleDraggedItem | undefined>();\n const [categoriesState, setCategoriesState] = useState(categories);\n const categoryElements: HTMLElement[] = [];\n const setRef = (element: HTMLOListElement) => {\n if (element) {\n categoryElements.push(element);\n }\n };\n\n useLayoutEffect(() => {\n let isHeightChanged = false;\n const categoriesColumn = [...categories];\n if (categoriesColumn && categoriesColumn.length > 0) {\n categoriesColumn.forEach((categoryItem, index) => {\n const categoryElm = [...categoryElements];\n let isActiveElement = false;\n const categoryComponent = categoryElm.filter((element: HTMLElement) => {\n if (element.getAttribute('data-id') === categoryItem.id) {\n if (categoryItem.elementId === element.getAttribute('id')) {\n isActiveElement = true;\n }\n return true;\n }\n return false;\n });\n if (!isActiveElement) {\n categoryItem.elementId = '';\n categoryItem.height = 0;\n }\n categoryComponent.forEach(categoryElement => {\n const columnHeight = categoryItem?.height ?? 0;\n const height = categoryElement.scrollHeight;\n const elementId = categoryElement.getAttribute('id');\n if (\n height > columnHeight ||\n (categoryItem.elementId === elementId && height !== columnHeight)\n ) {\n isHeightChanged = true;\n categoriesColumn[index].height = height;\n if (elementId) {\n categoriesColumn[index].elementId = elementId;\n }\n }\n });\n });\n if (isHeightChanged) {\n isHeightChanged = false;\n setCategoriesState(categoriesColumn);\n }\n }\n });\n\n const previouslyLoading = usePrevious(dragDropConfig.loading);\n useAfterInitialEffect(() => {\n // If the drag drop loading state is false and there was a dragged item, focus on the drag handle of the dragged item\n if (!dragDropConfig.loading && previouslyLoading && draggedItem) {\n setTimeout(() => {\n const dragHandle = document.querySelector(\n `[data-drag-handle-for=\"${draggedItem.id}\"]`\n ) as HTMLElement;\n if (dragHandle) {\n dragHandle.focus();\n }\n setDraggedItem(undefined);\n }, 100);\n }\n }, [dragDropConfig.loading, previouslyLoading, draggedItem?.id]);\n\n const getLifeCycleListProps = useCallback(\n (\n stageItem: StageItemProps,\n index: number,\n stageArray: StageItemProps[],\n alternate: boolean\n ): LifeCycleListProps => {\n return {\n id: stageItem.id,\n item: { ...stageItem, index, alternate },\n isFirstItem: index === 0,\n isLastItem: index === stageArray.length - 1,\n ref: setRef,\n task,\n categories: categoriesState,\n stageVariant: alternate ? 'alternate' : undefined,\n prevStageItem: stageArray[index - 1],\n stage: alternate ? alternateStage : stage\n };\n },\n [setRef, task, categoriesState, alternateStage, stage]\n );\n\n const stageTestIds = useTestIds('', getStageTestIds);\n const alternateStageTestIds = useTestIds('', getAlternateStageTestIds);\n const dragEnabled = !!onDragDrop && !readOnly;\n\n const addStageButton = (\n <StyledAddButton\n data-testid={stageTestIds.addButton}\n variant='simple'\n label={t('add_stage')}\n icon\n onClick={onAddStage}\n >\n <Icon name='plus' />\n </StyledAddButton>\n );\n\n const addAlternateStageButton = (\n <StyledAddButton\n data-testid={alternateStageTestIds.addButton}\n variant='simple'\n label={t('add_alternate_stage')}\n icon\n onClick={onAddAlternateStage}\n >\n <Icon name='plus' />\n </StyledAddButton>\n );\n\n const lifeCycleContext: LifeCycleContextValue = useMemo(\n () => ({\n lifeCycleData: { stages: items, alternateStages: alternateItems },\n selectedItemId,\n readOnly,\n dragDropConfig,\n dragEnabled,\n draggedItem,\n setDraggedItem,\n onDragDrop\n }),\n [\n items,\n alternateItems,\n selectedItemId,\n readOnly,\n dragDropConfig,\n dragEnabled,\n draggedItem,\n setDraggedItem,\n onDragDrop\n ]\n );\n\n return (\n <DragDropManager>\n <StyledLifeCycleWrapper\n container={{ gap: 2 }}\n hasLabel={!!stage?.label || !!alternateStage?.label}\n ref={ref}\n >\n <LifeCycleContext.Provider value={lifeCycleContext}>\n {items.length !== 0 && (\n <Flex container={{ direction: 'column', gap: 1 }}>\n {!!stage?.label && (\n <Text id={`${labelId}-stage-label`} variant='secondary'>\n {stage.label}\n </Text>\n )}\n\n {dragEnabled ? (\n <LifeCycleDragDropList\n type='stage'\n listLocation={{\n alternate: false\n }}\n items={items.map((stageItem, index, stageArray) => ({\n id: stageItem.id,\n type: 'stage',\n data: {\n ...restProps,\n ...getLifeCycleListProps(stageItem, index, stageArray, false)\n }\n }))}\n itemRenderer={LifeCycleList}\n onDragDrop={onDragDrop}\n additionalDropZone={onAddStage ? addStageButton : undefined}\n as={Flex}\n forwardedAs='ul'\n container={{ gap: 1 }}\n aria-label={t('stage')}\n aria-labelledby={`${labelId}-stage-label`}\n />\n ) : (\n <Flex\n container={{ gap: 1 }}\n aria-label={t('stage')}\n aria-labelledby={`${labelId}-stage-label`}\n as='ul'\n >\n {items.map((stageItem, index, stageArray) => {\n return (\n <LifeCycleList\n {...restProps}\n key={stageItem.id}\n {...getLifeCycleListProps(stageItem, index, stageArray, false)}\n />\n );\n })}\n\n {!readOnly && onAddStage && <li>{addStageButton}</li>}\n </Flex>\n )}\n </Flex>\n )}\n {alternateItems.length !== 0 && (\n <Flex container={{ direction: 'column', gap: 1 }}>\n {!!alternateStage?.label && (\n <Text id={`${labelId}-alt-stage-label`} variant='secondary'>\n {alternateStage.label}\n </Text>\n )}\n\n {dragEnabled ? (\n <LifeCycleDragDropList\n type='alternate-stage'\n listLocation={{\n alternate: true\n }}\n items={alternateItems.map((stageItem, index, stageArray) => ({\n id: stageItem.id,\n type: 'alternate-stage',\n data: {\n ...restProps,\n ...getLifeCycleListProps(stageItem, index, stageArray, true)\n }\n }))}\n itemRenderer={LifeCycleList}\n onDragDrop={onDragDrop}\n additionalDropZone={onAddAlternateStage ? addAlternateStageButton : undefined}\n as={Flex}\n forwardedAs='ul'\n container={{ gap: 1 }}\n aria-label={t('alternate_stage')}\n aria-labelledby={`${labelId}-alt-stage-label`}\n />\n ) : (\n <Flex\n container={{ gap: 1 }}\n aria-label={t('alternate_stage')}\n aria-labelledby={`${labelId}-alt-stage-label`}\n as='ul'\n >\n {alternateItems.map((stageItem, index, stageArray) => {\n return (\n <LifeCycleList\n {...restProps}\n key={stageItem.id}\n {...getLifeCycleListProps(stageItem, index, stageArray, true)}\n />\n );\n })}\n\n {!readOnly && onAddAlternateStage && <li>{addAlternateStageButton}</li>}\n </Flex>\n )}\n </Flex>\n )}\n </LifeCycleContext.Provider>\n </StyledLifeCycleWrapper>\n </DragDropManager>\n );\n }\n);\n\nexport default withTestIds(LifeCycle, getStageTestIds);\n"]}
|
|
1
|
+
{"version":3,"file":"LifeCycle.js","sourceRoot":"","sources":["../../../src/components/LifeCycle/LifeCycle.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, useCallback, useLayoutEffect, useMemo, useState } from 'react';\nimport type { PropsWithoutRef } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport {\n defaultThemeProp,\n Flex,\n Button,\n Icon,\n Text,\n useI18n,\n useTestIds,\n withTestIds,\n useAfterInitialEffect,\n useUID,\n usePrevious,\n registerIcon\n} from '@pega/cosmos-react-core';\nimport * as plusIcon from '@pega/cosmos-react-core/lib/components/Icon/icons/plus.icon';\nimport type { ForwardRefForwardPropsComponent } from '@pega/cosmos-react-core';\nimport { DragDropManager } from '@pega/cosmos-react-dnd';\n\nimport LifeCycleList, { type LifeCycleListProps } from './LifeCycleList';\nimport type { StageItemProps, LifeCycleProps } from './LifeCycle.types';\nimport LifeCycleContext from './LifeCycleContext';\nimport type { LifeCycleContextValue, LifeCycleDraggedItem } from './LifeCycleContext';\nimport { getAlternateStageTestIds, getStageTestIds } from './LifeCycle.test-ids';\nimport LifeCycleDragDropList from './LifeCycleDragDropList';\nimport { defaultDragDropConfig } from './utils';\n\nregisterIcon(plusIcon);\n\nconst StyledAddButton = styled(Button)(({ theme }) => {\n return css`\n align-self: flex-start;\n margin-block-start: calc(${theme.base.spacing} / 2);\n `;\n});\n\nStyledAddButton.defaultProps = defaultThemeProp;\n\nexport const StyledLifeCycleWrapper = styled(Flex)<{ hasLabel?: boolean }>(({\n hasLabel,\n theme\n}) => {\n const { spacing } = theme.base;\n return css`\n padding: calc(2 * ${spacing});\n margin: 0 calc(-2 * ${spacing}) calc(-2 * ${spacing}) calc(-2 * ${spacing});\n position: absolute;\n min-width: 100%;\n min-height: 100%;\n top: 0;\n background-color: ${theme.components.lifecycle.background};\n\n ${hasLabel &&\n css`\n padding-block-start: ${theme.base.spacing};\n `}\n\n li {\n list-style-type: none;\n }\n `;\n});\n\nStyledLifeCycleWrapper.defaultProps = defaultThemeProp;\n\nconst LifeCycle: ForwardRefForwardPropsComponent<LifeCycleProps> = forwardRef(\n (\n {\n items,\n categories = [],\n task = [],\n alternateItems = [],\n onAddStage,\n onAddAlternateStage,\n onDragDrop,\n dragDropConfig = defaultDragDropConfig,\n stage,\n alternateStage,\n selectedItemId,\n readOnly,\n ...restProps\n }: PropsWithoutRef<LifeCycleProps>,\n ref: LifeCycleProps['ref']\n ) => {\n const labelId = useUID();\n const t = useI18n();\n const [draggedItem, setDraggedItem] = useState<LifeCycleDraggedItem | undefined>();\n const [categoriesState, setCategoriesState] = useState(categories);\n const categoryElements: HTMLElement[] = [];\n const setRef = (element: HTMLOListElement) => {\n if (element) {\n categoryElements.push(element);\n }\n };\n\n useLayoutEffect(() => {\n let isHeightChanged = false;\n const categoriesColumn = [...categories];\n if (categoriesColumn && categoriesColumn.length > 0) {\n categoriesColumn.forEach((categoryItem, index) => {\n const categoryElm = [...categoryElements];\n let isActiveElement = false;\n const categoryComponent = categoryElm.filter((element: HTMLElement) => {\n if (element.getAttribute('data-id') === categoryItem.id) {\n if (categoryItem.elementId === element.getAttribute('id')) {\n isActiveElement = true;\n }\n return true;\n }\n return false;\n });\n if (!isActiveElement) {\n categoryItem.elementId = '';\n categoryItem.height = 0;\n }\n categoryComponent.forEach(categoryElement => {\n const columnHeight = categoryItem?.height ?? 0;\n const height = categoryElement.scrollHeight;\n const elementId = categoryElement.getAttribute('id');\n if (\n height > columnHeight ||\n (categoryItem.elementId === elementId && height !== columnHeight)\n ) {\n isHeightChanged = true;\n categoriesColumn[index].height = height;\n if (elementId) {\n categoriesColumn[index].elementId = elementId;\n }\n }\n });\n });\n if (isHeightChanged) {\n isHeightChanged = false;\n setCategoriesState(categoriesColumn);\n }\n }\n });\n\n const previouslyLoading = usePrevious(dragDropConfig.loading);\n useAfterInitialEffect(() => {\n // If the drag drop loading state is false and there was a dragged item, focus on the drag handle of the dragged item\n if (!dragDropConfig.loading && previouslyLoading && draggedItem) {\n setTimeout(() => {\n const dragHandle = document.querySelector(\n `[data-drag-handle-for=\"${draggedItem.id}\"]`\n ) as HTMLElement;\n if (dragHandle) {\n dragHandle.focus();\n }\n setDraggedItem(undefined);\n }, 100);\n }\n }, [dragDropConfig.loading, previouslyLoading, draggedItem?.id]);\n\n const getLifeCycleListProps = useCallback(\n (\n stageItem: StageItemProps,\n index: number,\n stageArray: StageItemProps[],\n alternate: boolean\n ): LifeCycleListProps => {\n return {\n id: stageItem.id,\n item: { ...stageItem, index, alternate },\n isFirstItem: index === 0,\n isLastItem: index === stageArray.length - 1,\n ref: setRef,\n task,\n categories: categoriesState,\n stageVariant: alternate ? 'alternate' : undefined,\n prevStageItem: stageArray[index - 1],\n stage: alternate ? alternateStage : stage\n };\n },\n [setRef, task, categoriesState, alternateStage, stage]\n );\n\n const stageTestIds = useTestIds('', getStageTestIds);\n const alternateStageTestIds = useTestIds('', getAlternateStageTestIds);\n const dragEnabled = !!onDragDrop && !readOnly;\n\n const addStageButton = (\n <StyledAddButton\n data-testid={stageTestIds.addButton}\n variant='simple'\n label={t('add_stage')}\n icon\n onClick={onAddStage}\n >\n <Icon name='plus' />\n </StyledAddButton>\n );\n\n const addAlternateStageButton = (\n <StyledAddButton\n data-testid={alternateStageTestIds.addButton}\n variant='simple'\n label={t('add_alternate_stage')}\n icon\n onClick={onAddAlternateStage}\n >\n <Icon name='plus' />\n </StyledAddButton>\n );\n\n const lifeCycleContext: LifeCycleContextValue = useMemo(\n () => ({\n lifeCycleData: { stages: items, alternateStages: alternateItems },\n selectedItemId,\n readOnly,\n dragDropConfig,\n dragEnabled,\n draggedItem,\n setDraggedItem,\n onDragDrop\n }),\n [\n items,\n alternateItems,\n selectedItemId,\n readOnly,\n dragDropConfig,\n dragEnabled,\n draggedItem,\n setDraggedItem,\n onDragDrop\n ]\n );\n\n return (\n <DragDropManager>\n <StyledLifeCycleWrapper\n container={{ gap: 2 }}\n hasLabel={!!stage?.label || !!alternateStage?.label}\n ref={ref}\n >\n <LifeCycleContext.Provider value={lifeCycleContext}>\n {items.length !== 0 && (\n <Flex container={{ direction: 'column', gap: 1 }}>\n {!!stage?.label && (\n <Text id={`${labelId}-stage-label`} variant='secondary'>\n {stage.label}\n </Text>\n )}\n\n {dragEnabled ? (\n <LifeCycleDragDropList\n type='stage'\n listLocation={{\n alternate: false\n }}\n items={items.map((stageItem, index, stageArray) => ({\n id: stageItem.id,\n type: 'stage',\n data: {\n ...restProps,\n ...getLifeCycleListProps(stageItem, index, stageArray, false)\n }\n }))}\n itemRenderer={LifeCycleList}\n onDragDrop={onDragDrop}\n additionalDropZone={onAddStage ? addStageButton : undefined}\n as={Flex}\n forwardedAs='ul'\n container={{ gap: 1 }}\n aria-label={t('stage')}\n aria-labelledby={`${labelId}-stage-label`}\n />\n ) : (\n <Flex\n container={{ gap: 1 }}\n aria-label={t('stage')}\n aria-labelledby={`${labelId}-stage-label`}\n as='ul'\n >\n {items.map((stageItem, index, stageArray) => {\n return (\n <LifeCycleList\n {...restProps}\n key={stageItem.id}\n {...getLifeCycleListProps(stageItem, index, stageArray, false)}\n />\n );\n })}\n\n {!readOnly && onAddStage && <li>{addStageButton}</li>}\n </Flex>\n )}\n </Flex>\n )}\n {alternateItems.length !== 0 && (\n <Flex container={{ direction: 'column', gap: 1 }}>\n {!!alternateStage?.label && (\n <Text id={`${labelId}-alt-stage-label`} variant='secondary'>\n {alternateStage.label}\n </Text>\n )}\n\n {dragEnabled ? (\n <LifeCycleDragDropList\n type='alternate-stage'\n listLocation={{\n alternate: true\n }}\n items={alternateItems.map((stageItem, index, stageArray) => ({\n id: stageItem.id,\n type: 'alternate-stage',\n data: {\n ...restProps,\n ...getLifeCycleListProps(stageItem, index, stageArray, true)\n }\n }))}\n itemRenderer={LifeCycleList}\n onDragDrop={onDragDrop}\n additionalDropZone={onAddAlternateStage ? addAlternateStageButton : undefined}\n as={Flex}\n forwardedAs='ul'\n container={{ gap: 1 }}\n aria-label={t('alternate_stage')}\n aria-labelledby={`${labelId}-alt-stage-label`}\n />\n ) : (\n <Flex\n container={{ gap: 1 }}\n aria-label={t('alternate_stage')}\n aria-labelledby={`${labelId}-alt-stage-label`}\n as='ul'\n >\n {alternateItems.map((stageItem, index, stageArray) => {\n return (\n <LifeCycleList\n {...restProps}\n key={stageItem.id}\n {...getLifeCycleListProps(stageItem, index, stageArray, true)}\n />\n );\n })}\n\n {!readOnly && onAddAlternateStage && <li>{addAlternateStageButton}</li>}\n </Flex>\n )}\n </Flex>\n )}\n </LifeCycleContext.Provider>\n </StyledLifeCycleWrapper>\n </DragDropManager>\n );\n }\n);\n\nexport default withTestIds(LifeCycle, getStageTestIds);\n"]}
|
|
@@ -140,6 +140,7 @@ export interface IndexData {
|
|
|
140
140
|
step?: number;
|
|
141
141
|
}
|
|
142
142
|
export type LifeCycleDragItemType = 'stage' | 'step' | 'task' | 'alternate-stage' | 'alternate-step' | 'alternate-task';
|
|
143
|
+
export type LifeCycleDragDropDirection = 'next' | 'prev';
|
|
143
144
|
export interface LifeCycleDragDropEvent {
|
|
144
145
|
/** The type of item that was moved. */
|
|
145
146
|
type: 'stage' | 'step' | 'task';
|
|
@@ -609,6 +610,37 @@ export declare const getStageInfo: (currentType: StageType, transitionType: Stag
|
|
|
609
610
|
readonly link: {
|
|
610
611
|
readonly color: string;
|
|
611
612
|
};
|
|
613
|
+
readonly modal: {
|
|
614
|
+
readonly background: string;
|
|
615
|
+
};
|
|
616
|
+
readonly lifecycle: {
|
|
617
|
+
readonly background: string;
|
|
618
|
+
readonly task: {
|
|
619
|
+
readonly background: string;
|
|
620
|
+
readonly "foreground-color": string;
|
|
621
|
+
};
|
|
622
|
+
readonly stage: {
|
|
623
|
+
readonly background: string;
|
|
624
|
+
readonly "foreground-color": string;
|
|
625
|
+
readonly start: {
|
|
626
|
+
readonly background: string;
|
|
627
|
+
readonly "hover-color": string;
|
|
628
|
+
};
|
|
629
|
+
readonly default: {
|
|
630
|
+
readonly background: string;
|
|
631
|
+
readonly "hover-color": string;
|
|
632
|
+
};
|
|
633
|
+
readonly resolution: {
|
|
634
|
+
readonly background: string;
|
|
635
|
+
readonly "hover-color": string;
|
|
636
|
+
};
|
|
637
|
+
readonly alternate: {
|
|
638
|
+
readonly background: string;
|
|
639
|
+
readonly "hover-color": string;
|
|
640
|
+
readonly "resolution-highlight": string;
|
|
641
|
+
};
|
|
642
|
+
};
|
|
643
|
+
};
|
|
612
644
|
readonly mark: {
|
|
613
645
|
readonly "background-color": string;
|
|
614
646
|
readonly "font-weight": string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LifeCycle.types.d.ts","sourceRoot":"","sources":["../../../src/components/LifeCycle/LifeCycle.types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"LifeCycle.types.d.ts","sourceRoot":"","sources":["../../../src/components/LifeCycle/LifeCycle.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { WorkTheme as Theme } from '@pega/cosmos-react-core';
|
|
2
2
|
// calculates the final stage info based on prev type and returns the final stage info
|
|
3
3
|
// second param is mandatory for accurate results, optional only for the first stage
|
|
4
4
|
export const getStageInfo = (currentType, transitionType, prevStageItem, isLastItem = false, theme = Theme) => {
|
|
@@ -6,8 +6,8 @@ export const getStageInfo = (currentType, transitionType, prevStageItem, isLastI
|
|
|
6
6
|
start: {
|
|
7
7
|
id: 'start',
|
|
8
8
|
visual: {
|
|
9
|
-
bgColor: theme.
|
|
10
|
-
bgHover: theme.
|
|
9
|
+
bgColor: theme.components.lifecycle.stage.start.background,
|
|
10
|
+
bgHover: theme.components.lifecycle.stage.start['hover-color'],
|
|
11
11
|
tailPointed: false,
|
|
12
12
|
headPointed: true
|
|
13
13
|
}
|
|
@@ -15,8 +15,8 @@ export const getStageInfo = (currentType, transitionType, prevStageItem, isLastI
|
|
|
15
15
|
default: {
|
|
16
16
|
id: 'default',
|
|
17
17
|
visual: {
|
|
18
|
-
bgColor: theme.
|
|
19
|
-
bgHover: theme.
|
|
18
|
+
bgColor: theme.components.lifecycle.stage.default.background,
|
|
19
|
+
bgHover: theme.components.lifecycle.stage.default['hover-color'],
|
|
20
20
|
tailPointed: true,
|
|
21
21
|
headPointed: true
|
|
22
22
|
}
|
|
@@ -24,16 +24,16 @@ export const getStageInfo = (currentType, transitionType, prevStageItem, isLastI
|
|
|
24
24
|
alternate: {
|
|
25
25
|
id: 'alternate',
|
|
26
26
|
visual: {
|
|
27
|
-
bgColor: theme.
|
|
28
|
-
bgHover: theme.
|
|
27
|
+
bgColor: theme.components.lifecycle.stage.alternate.background,
|
|
28
|
+
bgHover: theme.components.lifecycle.stage.alternate['hover-color'],
|
|
29
29
|
tailPointed: false,
|
|
30
30
|
headPointed: false
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
};
|
|
34
34
|
const resolutionStyle = {
|
|
35
|
-
bgColor:
|
|
36
|
-
bgHover: theme.
|
|
35
|
+
bgColor: theme.components.lifecycle.stage.resolution.background,
|
|
36
|
+
bgHover: theme.components.lifecycle.stage.resolution['hover-color']
|
|
37
37
|
};
|
|
38
38
|
const clonedStageCopy = structuredClone(stageTypeDefaults);
|
|
39
39
|
const currentStageInfo = clonedStageCopy[currentType] || clonedStageCopy.default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LifeCycle.types.js","sourceRoot":"","sources":["../../../src/components/LifeCycle/LifeCycle.types.ts"],"names":[],"mappings":"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","sourcesContent":["import type { MouseEvent, Ref } from 'react';\n\nimport type {\n Action,\n StatusProps,\n NoChildrenProp,\n BaseProps,\n FormControlProps\n} from '@pega/cosmos-react-core';\nimport { readableHue, WorkTheme as Theme } from '@pega/cosmos-react-core';\n\nimport type { LibraryItem } from '../ItemLibrary';\n\nimport type { VisualStepItemProps } from './Step';\n\nexport type StageType = 'start' | 'default' | 'alternate';\n\ninterface ItemIdentifiers {\n /** The index of the item within its list */\n index?: number;\n /** If true, this item belongs to an alternate lifecycle list */\n alternate?: boolean;\n}\n\nexport interface StepItemProps extends ItemIdentifiers {\n id: string;\n label: string;\n visual: VisualStepItemProps;\n status: { type?: StatusProps['variant'] | ''; label: string };\n error?: string;\n}\n\nexport interface TaskItemProps extends ItemIdentifiers {\n id: string;\n label: string;\n visual: {\n imgSrc: string;\n };\n error?: string;\n steps: StepItemProps[];\n subIndex?: number;\n}\n\nexport interface CategoryItemProps extends ItemIdentifiers {\n /** Data model should have id of the stage item */\n id: string;\n /** id to map with category items */\n categoryId: string;\n /** Data model should have the categoryData array */\n tasks: TaskItemProps[] | TaskItemProps[][];\n}\n\nexport interface StageItemProps extends ItemIdentifiers {\n /** Data model should have id of the stage item */\n id: string;\n /** Data model should have the stage label */\n label: string;\n /** Data model should have the categoryData array */\n categories: CategoryItemProps[];\n /** Data model should have the stageType as below */\n type: StageType;\n error?: string;\n /* Sets stage transition to wait or resolution */\n transitionType?: 'wait' | 'resolution' | undefined;\n}\n\nexport interface LifeCycleActionParam {\n value?: string;\n stage?: StageItemProps;\n task?: TaskItemProps;\n category?: CategoryItemProps;\n step?: StepItemProps;\n type?: 'Stage' | 'Step' | 'Task' | 'Alternate Stage';\n routeTo?: string;\n}\n\nexport interface LifeCycleAction extends Omit<Action, 'onClick'> {\n onClick: (\n param: LifeCycleActionParam,\n e: MouseEvent<HTMLButtonElement | HTMLAnchorElement | HTMLInputElement>,\n menuButtonEl?: HTMLButtonElement\n ) => void;\n}\n\nexport interface CategoriesItemProps {\n label: string;\n id: string;\n}\n\nexport interface StageProps extends Omit<FormControlProps, 'status' | 'id'> {\n /** Label for the region. */\n label?: string;\n /** Pass an array of Action objects to append button(s) inline with the Input. */\n actions?: Record<StageType, LifeCycleAction[]> | LifeCycleAction[];\n /** Callback for Add stage */\n onAddStage?: () => void;\n /** Callback for Adding alternate stage */\n onAddAlternateStage?: () => void;\n /** callback for Click of stage */\n onClick?: (param: LifeCycleActionParam, e: MouseEvent) => void;\n}\n\nexport interface CategoriesProps extends CategoriesItemProps {\n /** height property used to manipulate height of catergory dom */\n height?: number;\n elementId?: string;\n}\n\nexport interface TaskProps extends Omit<FormControlProps, 'status' | 'id'> {\n /** Pass an array of Action objects to append button(s) inline with the Input. */\n actions?: LifeCycleAction[];\n /** Tooltip for adding items to the task component */\n addStepTitle?: string;\n /** Region for adding the task component */\n addTask?: {\n title: string;\n showOnce: boolean;\n onAddTask?: LifeCycleAction['onClick'];\n };\n /** Callback for adding a step when nodeLibrary is provided. */\n onAddStep?: (param: LifeCycleActionParam, selectedItem: LibraryItem) => void;\n /** Callback for adding a step when nodeLibrary is not provided. */\n onAddCustomStep?: (param: LifeCycleActionParam) => void;\n /** callback for Click of a task */\n onClick?: (param: LifeCycleActionParam, e: MouseEvent) => void;\n /** Types of Nodes */\n nodeLibrary?: LibraryItem[];\n}\n\nexport interface CategoryProps extends BaseProps, NoChildrenProp {\n ref?: Ref<HTMLOListElement | HTMLDivElement>;\n /** Pass the category items */\n item: CategoryItemProps;\n /** Enable the title for categories */\n showTitle?: boolean;\n /** Props of the categoryColumn */\n category?: CategoriesProps;\n /** Task component prop */\n task?: TaskProps;\n /** Stage data - to be passed in callbacks */\n stageItem: StageItemProps;\n /** Id for the component */\n id: string;\n}\n\nexport interface StepProps extends Omit<FormControlProps, 'status' | 'id'> {\n /** Pass an array of Action objects to append button(s) inline with the Input. */\n actions?: LifeCycleAction[];\n /** If true, step names will wrap rather than truncate. */\n wrap?: boolean;\n /** callback for Click of a step */\n onClick?: (param: LifeCycleActionParam, e: MouseEvent) => void;\n}\n\nexport interface IndexData {\n /** Determines if the item part of an alternate stage. */\n alternate: boolean;\n /** The index of the parent stage to the item, or the item itself. */\n stage?: number;\n /** The index of the parent category to the item. */\n category?: number;\n /** The index of the parent task to the item, or the item itself. */\n task?: number;\n /** The index of the parent stage to the item, or the item itself, if the task is nested within another task. */\n subTask?: number;\n /** The index of the step item. */\n step?: number;\n}\n\nexport type LifeCycleDragItemType =\n | 'stage'\n | 'step'\n | 'task'\n | 'alternate-stage'\n | 'alternate-step'\n | 'alternate-task';\n\nexport interface LifeCycleDragDropEvent {\n /** The type of item that was moved. */\n type: 'stage' | 'step' | 'task';\n /** The indices of the source item. */\n sourceData: IndexData;\n /** The indices of the target location. */\n targetData: IndexData;\n}\n\nexport interface DragDropConfig\n extends Record<LifeCycleDragItemType, { enabled: boolean; accept: LifeCycleDragItemType[] }> {\n loading?: boolean;\n}\n\nexport interface LifeCycleProps extends BaseProps, NoChildrenProp {\n /** Pass reference to the LifeCycleComponent */\n ref?: Ref<HTMLDivElement>;\n /** Array of stages and its contents */\n items: StageItemProps[];\n /** Array of alternate stages and its contents */\n alternateItems?: StageItemProps[];\n /** Props for the task component */\n task?: TaskProps[];\n /** Props for the Stage component */\n stage?: StageProps;\n /** Props for the AlternatStage component */\n alternateStage?: StageProps;\n /** Props for the Cluster component */\n categories?: CategoriesProps[];\n /** Props for the Step component */\n step?: StepProps[];\n /** Call back function for on AddState */\n onAddStage?: () => void;\n /** Call back function to add alternate stages */\n onAddAlternateStage?: () => void;\n /** Selected stage or task or step */\n selectedItemId?: string;\n /** Callback function for updating the items following a drag drop event. */\n onDragDrop?: (event: LifeCycleDragDropEvent) => void;\n /**\n * Configuration to control which item types each lifecycle region can accept, and which types are draggable.\n * */\n dragDropConfig?: DragDropConfig;\n /** makes component read-only */\n readOnly?: boolean;\n}\n\nexport interface StageInfo {\n id: StageType;\n visual: {\n bgColor: string;\n bgHover: string;\n tailPointed?: boolean;\n headPointed?: boolean;\n };\n}\n\n// calculates the final stage info based on prev type and returns the final stage info\n// second param is mandatory for accurate results, optional only for the first stage\nexport const getStageInfo = (\n currentType: StageType,\n transitionType: StageItemProps['transitionType'],\n prevStageItem: StageItemProps,\n isLastItem = false,\n theme = Theme\n) => {\n const stageTypeDefaults: Record<StageType, StageInfo> = {\n start: {\n id: 'start',\n visual: {\n bgColor: theme.base.colors.blue.dark,\n bgHover: theme.base.colors.blue.medium,\n tailPointed: false,\n headPointed: true\n }\n },\n default: {\n id: 'default',\n visual: {\n bgColor: theme.base.colors.blue.medium,\n bgHover: theme.base.colors.blue.light,\n tailPointed: true,\n headPointed: true\n }\n },\n alternate: {\n id: 'alternate',\n visual: {\n bgColor: theme.base.colors.slate.dark,\n bgHover: theme.base.colors.slate.medium,\n tailPointed: false,\n headPointed: false\n }\n }\n };\n\n const resolutionStyle = {\n bgColor: readableHue(theme.base.colors.green.medium, theme.base.palette.light),\n bgHover: theme.base.colors.green.light\n };\n const clonedStageCopy = structuredClone(stageTypeDefaults);\n const currentStageInfo = clonedStageCopy[currentType] || clonedStageCopy.default;\n if (currentType !== 'alternate') {\n if (transitionType === 'resolution') {\n currentStageInfo.visual = {\n ...resolutionStyle,\n tailPointed: currentType !== 'start'\n };\n }\n if (transitionType === 'wait') {\n currentStageInfo.visual = {\n ...currentStageInfo.visual,\n tailPointed: currentType !== 'start',\n headPointed: false\n };\n }\n }\n\n // cloning, to avoid getting modified\n const result: StageInfo = {\n ...currentStageInfo,\n visual: {\n ...currentStageInfo.visual\n }\n };\n if (prevStageItem?.type) {\n const clonedStage = JSON.parse(JSON.stringify(stageTypeDefaults));\n const prevStageInfo = clonedStage[prevStageItem.type] || clonedStage.start;\n if (prevStageItem.type !== 'alternate') {\n if (prevStageItem.transitionType === 'resolution') {\n result.visual = {\n ...result.visual,\n tailPointed: false\n };\n }\n if (prevStageItem.transitionType === 'wait') {\n result.visual = {\n ...result.visual,\n ...{ tailPointed: false }\n };\n }\n } else {\n result.visual.tailPointed =\n currentStageInfo.visual.tailPointed && prevStageInfo.visual.headPointed;\n }\n }\n if (isLastItem) {\n result.visual.headPointed = false;\n }\n return result;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"LifeCycle.types.js","sourceRoot":"","sources":["../../../src/components/LifeCycle/LifeCycle.types.ts"],"names":[],"mappings":"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","sourcesContent":["import type { MouseEvent, Ref } from 'react';\n\nimport type {\n Action,\n StatusProps,\n NoChildrenProp,\n BaseProps,\n FormControlProps\n} from '@pega/cosmos-react-core';\nimport { WorkTheme as Theme } from '@pega/cosmos-react-core';\n\nimport type { LibraryItem } from '../ItemLibrary';\n\nimport type { VisualStepItemProps } from './Step';\n\nexport type StageType = 'start' | 'default' | 'alternate';\n\ninterface ItemIdentifiers {\n /** The index of the item within its list */\n index?: number;\n /** If true, this item belongs to an alternate lifecycle list */\n alternate?: boolean;\n}\n\nexport interface StepItemProps extends ItemIdentifiers {\n id: string;\n label: string;\n visual: VisualStepItemProps;\n status: { type?: StatusProps['variant'] | ''; label: string };\n error?: string;\n}\n\nexport interface TaskItemProps extends ItemIdentifiers {\n id: string;\n label: string;\n visual: {\n imgSrc: string;\n };\n error?: string;\n steps: StepItemProps[];\n subIndex?: number;\n}\n\nexport interface CategoryItemProps extends ItemIdentifiers {\n /** Data model should have id of the stage item */\n id: string;\n /** id to map with category items */\n categoryId: string;\n /** Data model should have the categoryData array */\n tasks: TaskItemProps[] | TaskItemProps[][];\n}\n\nexport interface StageItemProps extends ItemIdentifiers {\n /** Data model should have id of the stage item */\n id: string;\n /** Data model should have the stage label */\n label: string;\n /** Data model should have the categoryData array */\n categories: CategoryItemProps[];\n /** Data model should have the stageType as below */\n type: StageType;\n error?: string;\n /* Sets stage transition to wait or resolution */\n transitionType?: 'wait' | 'resolution' | undefined;\n}\n\nexport interface LifeCycleActionParam {\n value?: string;\n stage?: StageItemProps;\n task?: TaskItemProps;\n category?: CategoryItemProps;\n step?: StepItemProps;\n type?: 'Stage' | 'Step' | 'Task' | 'Alternate Stage';\n routeTo?: string;\n}\n\nexport interface LifeCycleAction extends Omit<Action, 'onClick'> {\n onClick: (\n param: LifeCycleActionParam,\n e: MouseEvent<HTMLButtonElement | HTMLAnchorElement | HTMLInputElement>,\n menuButtonEl?: HTMLButtonElement\n ) => void;\n}\n\nexport interface CategoriesItemProps {\n label: string;\n id: string;\n}\n\nexport interface StageProps extends Omit<FormControlProps, 'status' | 'id'> {\n /** Label for the region. */\n label?: string;\n /** Pass an array of Action objects to append button(s) inline with the Input. */\n actions?: Record<StageType, LifeCycleAction[]> | LifeCycleAction[];\n /** Callback for Add stage */\n onAddStage?: () => void;\n /** Callback for Adding alternate stage */\n onAddAlternateStage?: () => void;\n /** callback for Click of stage */\n onClick?: (param: LifeCycleActionParam, e: MouseEvent) => void;\n}\n\nexport interface CategoriesProps extends CategoriesItemProps {\n /** height property used to manipulate height of catergory dom */\n height?: number;\n elementId?: string;\n}\n\nexport interface TaskProps extends Omit<FormControlProps, 'status' | 'id'> {\n /** Pass an array of Action objects to append button(s) inline with the Input. */\n actions?: LifeCycleAction[];\n /** Tooltip for adding items to the task component */\n addStepTitle?: string;\n /** Region for adding the task component */\n addTask?: {\n title: string;\n showOnce: boolean;\n onAddTask?: LifeCycleAction['onClick'];\n };\n /** Callback for adding a step when nodeLibrary is provided. */\n onAddStep?: (param: LifeCycleActionParam, selectedItem: LibraryItem) => void;\n /** Callback for adding a step when nodeLibrary is not provided. */\n onAddCustomStep?: (param: LifeCycleActionParam) => void;\n /** callback for Click of a task */\n onClick?: (param: LifeCycleActionParam, e: MouseEvent) => void;\n /** Types of Nodes */\n nodeLibrary?: LibraryItem[];\n}\n\nexport interface CategoryProps extends BaseProps, NoChildrenProp {\n ref?: Ref<HTMLOListElement | HTMLDivElement>;\n /** Pass the category items */\n item: CategoryItemProps;\n /** Enable the title for categories */\n showTitle?: boolean;\n /** Props of the categoryColumn */\n category?: CategoriesProps;\n /** Task component prop */\n task?: TaskProps;\n /** Stage data - to be passed in callbacks */\n stageItem: StageItemProps;\n /** Id for the component */\n id: string;\n}\n\nexport interface StepProps extends Omit<FormControlProps, 'status' | 'id'> {\n /** Pass an array of Action objects to append button(s) inline with the Input. */\n actions?: LifeCycleAction[];\n /** If true, step names will wrap rather than truncate. */\n wrap?: boolean;\n /** callback for Click of a step */\n onClick?: (param: LifeCycleActionParam, e: MouseEvent) => void;\n}\n\nexport interface IndexData {\n /** Determines if the item part of an alternate stage. */\n alternate: boolean;\n /** The index of the parent stage to the item, or the item itself. */\n stage?: number;\n /** The index of the parent category to the item. */\n category?: number;\n /** The index of the parent task to the item, or the item itself. */\n task?: number;\n /** The index of the parent stage to the item, or the item itself, if the task is nested within another task. */\n subTask?: number;\n /** The index of the step item. */\n step?: number;\n}\n\nexport type LifeCycleDragItemType =\n | 'stage'\n | 'step'\n | 'task'\n | 'alternate-stage'\n | 'alternate-step'\n | 'alternate-task';\n\nexport type LifeCycleDragDropDirection = 'next' | 'prev';\n\nexport interface LifeCycleDragDropEvent {\n /** The type of item that was moved. */\n type: 'stage' | 'step' | 'task';\n /** The indices of the source item. */\n sourceData: IndexData;\n /** The indices of the target location. */\n targetData: IndexData;\n}\n\nexport interface DragDropConfig\n extends Record<LifeCycleDragItemType, { enabled: boolean; accept: LifeCycleDragItemType[] }> {\n loading?: boolean;\n}\n\nexport interface LifeCycleProps extends BaseProps, NoChildrenProp {\n /** Pass reference to the LifeCycleComponent */\n ref?: Ref<HTMLDivElement>;\n /** Array of stages and its contents */\n items: StageItemProps[];\n /** Array of alternate stages and its contents */\n alternateItems?: StageItemProps[];\n /** Props for the task component */\n task?: TaskProps[];\n /** Props for the Stage component */\n stage?: StageProps;\n /** Props for the AlternatStage component */\n alternateStage?: StageProps;\n /** Props for the Cluster component */\n categories?: CategoriesProps[];\n /** Props for the Step component */\n step?: StepProps[];\n /** Call back function for on AddState */\n onAddStage?: () => void;\n /** Call back function to add alternate stages */\n onAddAlternateStage?: () => void;\n /** Selected stage or task or step */\n selectedItemId?: string;\n /** Callback function for updating the items following a drag drop event. */\n onDragDrop?: (event: LifeCycleDragDropEvent) => void;\n /**\n * Configuration to control which item types each lifecycle region can accept, and which types are draggable.\n * */\n dragDropConfig?: DragDropConfig;\n /** makes component read-only */\n readOnly?: boolean;\n}\n\nexport interface StageInfo {\n id: StageType;\n visual: {\n bgColor: string;\n bgHover: string;\n tailPointed?: boolean;\n headPointed?: boolean;\n };\n}\n\n// calculates the final stage info based on prev type and returns the final stage info\n// second param is mandatory for accurate results, optional only for the first stage\nexport const getStageInfo = (\n currentType: StageType,\n transitionType: StageItemProps['transitionType'],\n prevStageItem: StageItemProps,\n isLastItem = false,\n theme = Theme\n) => {\n const stageTypeDefaults: Record<StageType, StageInfo> = {\n start: {\n id: 'start',\n visual: {\n bgColor: theme.components.lifecycle.stage.start.background,\n bgHover: theme.components.lifecycle.stage.start['hover-color'],\n tailPointed: false,\n headPointed: true\n }\n },\n default: {\n id: 'default',\n visual: {\n bgColor: theme.components.lifecycle.stage.default.background,\n bgHover: theme.components.lifecycle.stage.default['hover-color'],\n tailPointed: true,\n headPointed: true\n }\n },\n alternate: {\n id: 'alternate',\n visual: {\n bgColor: theme.components.lifecycle.stage.alternate.background,\n bgHover: theme.components.lifecycle.stage.alternate['hover-color'],\n tailPointed: false,\n headPointed: false\n }\n }\n };\n\n const resolutionStyle = {\n bgColor: theme.components.lifecycle.stage.resolution.background,\n bgHover: theme.components.lifecycle.stage.resolution['hover-color']\n };\n const clonedStageCopy = structuredClone(stageTypeDefaults);\n const currentStageInfo = clonedStageCopy[currentType] || clonedStageCopy.default;\n if (currentType !== 'alternate') {\n if (transitionType === 'resolution') {\n currentStageInfo.visual = {\n ...resolutionStyle,\n tailPointed: currentType !== 'start'\n };\n }\n if (transitionType === 'wait') {\n currentStageInfo.visual = {\n ...currentStageInfo.visual,\n tailPointed: currentType !== 'start',\n headPointed: false\n };\n }\n }\n\n // cloning, to avoid getting modified\n const result: StageInfo = {\n ...currentStageInfo,\n visual: {\n ...currentStageInfo.visual\n }\n };\n if (prevStageItem?.type) {\n const clonedStage = JSON.parse(JSON.stringify(stageTypeDefaults));\n const prevStageInfo = clonedStage[prevStageItem.type] || clonedStage.start;\n if (prevStageItem.type !== 'alternate') {\n if (prevStageItem.transitionType === 'resolution') {\n result.visual = {\n ...result.visual,\n tailPointed: false\n };\n }\n if (prevStageItem.transitionType === 'wait') {\n result.visual = {\n ...result.visual,\n ...{ tailPointed: false }\n };\n }\n } else {\n result.visual.tailPointed =\n currentStageInfo.visual.tailPointed && prevStageInfo.visual.headPointed;\n }\n }\n if (isLastItem) {\n result.visual.headPointed = false;\n }\n return result;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LifeCycleDragDropList.d.ts","sourceRoot":"","sources":["../../../src/components/LifeCycle/LifeCycleDragDropList.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AAIjE,OAAO,KAAK,EACV,MAAM,EACN,SAAS,EACT,YAAY,EACZ,cAAc,EAEd,UAAU,EACX,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAA4B,MAAM,wBAAwB,CAAC;AAEtF,OAAO,KAAK,EACV,SAAS,EAET,qBAAqB,EACrB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAO3B,UAAU,0BAA0B,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAC5D,SAAQ,MAAM,EACZ,SAAS,EACT,cAAc,EACd,UAAU,EACV,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC;IACpC,qCAAqC;IACrC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,wCAAwC;IACxC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,+EAA+E;IAC/E,YAAY,EAAE,SAAS,CAAC;IACxB,+CAA+C;IAC/C,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1B,kFAAkF;IAClF,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAC/B,kFAAkF;IAClF,kBAAkB,CAAC,EAAE,SAAS,CAAC;CAChC;AAqBD,QAAA,MAAM,qBAAqB,GAAI,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,4IAWvD,0BAA0B,CAAC,CAAC,CAAC,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"LifeCycleDragDropList.d.ts","sourceRoot":"","sources":["../../../src/components/LifeCycle/LifeCycleDragDropList.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AAIjE,OAAO,KAAK,EACV,MAAM,EACN,SAAS,EACT,YAAY,EACZ,cAAc,EAEd,UAAU,EACX,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAA4B,MAAM,wBAAwB,CAAC;AAEtF,OAAO,KAAK,EACV,SAAS,EAET,qBAAqB,EACrB,cAAc,EACf,MAAM,mBAAmB,CAAC;AAO3B,UAAU,0BAA0B,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAC5D,SAAQ,MAAM,EACZ,SAAS,EACT,cAAc,EACd,UAAU,EACV,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC;IACpC,qCAAqC;IACrC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,wCAAwC;IACxC,IAAI,EAAE,qBAAqB,CAAC;IAC5B,+EAA+E;IAC/E,YAAY,EAAE,SAAS,CAAC;IACxB,+CAA+C;IAC/C,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1B,kFAAkF;IAClF,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAC/B,kFAAkF;IAClF,kBAAkB,CAAC,EAAE,SAAS,CAAC;CAChC;AAqBD,QAAA,MAAM,qBAAqB,GAAI,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,4IAWvD,0BAA0B,CAAC,CAAC,CAAC,GAAG,YAAY,4CAoZ9C,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
|
|
@@ -260,7 +260,10 @@ const LifeCycleDragDropList = ({ testId, id: idProp, type, listLocation, items,
|
|
|
260
260
|
const item = newItems.splice(index, 1)[0];
|
|
261
261
|
newItems.splice(index - 1, 0, {
|
|
262
262
|
...item,
|
|
263
|
-
targetData: {
|
|
263
|
+
targetData: {
|
|
264
|
+
...itemData,
|
|
265
|
+
[normalizedType === 'task' ? 'subTask' : normalizedType]: index - 1
|
|
266
|
+
}
|
|
264
267
|
});
|
|
265
268
|
setClonedItems(newItems);
|
|
266
269
|
}
|
|
@@ -268,7 +271,10 @@ const LifeCycleDragDropList = ({ testId, id: idProp, type, listLocation, items,
|
|
|
268
271
|
const item = newItems.splice(index, 1)[0];
|
|
269
272
|
newItems.splice(index + 1, 0, {
|
|
270
273
|
...item,
|
|
271
|
-
targetData: {
|
|
274
|
+
targetData: {
|
|
275
|
+
...itemData,
|
|
276
|
+
[normalizedType === 'task' ? 'subTask' : normalizedType]: index + 1
|
|
277
|
+
}
|
|
272
278
|
});
|
|
273
279
|
setClonedItems(newItems);
|
|
274
280
|
}
|