@pega/cosmos-react-build 10.0.0-build.9.7 → 10.0.0-build.9.8
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/FlowModeller/DeleteDialog.d.ts +32 -12
- package/lib/components/FlowModeller/DeleteDialog.d.ts.map +1 -1
- package/lib/components/FlowModeller/DeleteDialog.js +4 -2
- package/lib/components/FlowModeller/DeleteDialog.js.map +1 -1
- package/lib/components/ObjectSelect/ObjectSelect.d.ts.map +1 -1
- package/lib/components/ObjectSelect/ObjectSelect.js +1 -4
- package/lib/components/ObjectSelect/ObjectSelect.js.map +1 -1
- package/package.json +4 -4
|
@@ -15,39 +15,59 @@ export interface DeleteDialogProps {
|
|
|
15
15
|
}
|
|
16
16
|
export declare const StyledDeleteDialog: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<(Omit<Omit<import("@pega/cosmos-react-core/lib/components/Dialog/Dialog.types").BaseDialogProps & {
|
|
17
17
|
onDismiss?: () => void;
|
|
18
|
-
onCancel: import("@pega/cosmos-react-core/lib/components/Dialog/Dialog.types").FormAction;
|
|
19
18
|
onSubmit: import("@pega/cosmos-react-core/lib/components/Dialog/Dialog.types").FormAction;
|
|
20
19
|
} & {
|
|
21
|
-
compact
|
|
20
|
+
compact?: boolean;
|
|
22
21
|
} & {
|
|
23
22
|
'aria-label': string;
|
|
24
23
|
heading?: never;
|
|
25
24
|
additionalInfo?: never;
|
|
26
|
-
} &
|
|
25
|
+
} & {
|
|
26
|
+
onAfterClose?: () => void;
|
|
27
|
+
onCancel: import("@pega/cosmos-react-core/lib/components/Dialog/Dialog.types").FormAction | undefined;
|
|
28
|
+
} & Omit<import("@pega/cosmos-react-core").Attributes<"div">, "compact" | "aria-label" | "onSubmit" | "onCancel" | "heading" | keyof import("@pega/cosmos-react-core/lib/components/Dialog/Dialog.types").BaseDialogProps | "onDismiss" | "additionalInfo" | "onAfterClose">, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
|
|
27
29
|
ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
|
|
28
30
|
}) | (Omit<Omit<import("@pega/cosmos-react-core/lib/components/Dialog/Dialog.types").BaseDialogProps & {
|
|
29
31
|
onDismiss?: () => void;
|
|
30
|
-
onCancel: import("@pega/cosmos-react-core/lib/components/Dialog/Dialog.types").FormAction;
|
|
31
32
|
onSubmit: import("@pega/cosmos-react-core/lib/components/Dialog/Dialog.types").FormAction;
|
|
32
33
|
} & {
|
|
33
|
-
compact?:
|
|
34
|
+
compact?: boolean;
|
|
35
|
+
} & {
|
|
36
|
+
'aria-label': string;
|
|
37
|
+
heading?: never;
|
|
38
|
+
additionalInfo?: never;
|
|
39
|
+
} & {
|
|
40
|
+
onAfterClose: () => void;
|
|
41
|
+
onCancel?: import("@pega/cosmos-react-core/lib/components/Dialog/Dialog.types").FormAction;
|
|
42
|
+
} & Omit<import("@pega/cosmos-react-core").Attributes<"div">, "compact" | "aria-label" | "onSubmit" | "onCancel" | "heading" | keyof import("@pega/cosmos-react-core/lib/components/Dialog/Dialog.types").BaseDialogProps | "onDismiss" | "additionalInfo" | "onAfterClose">, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
|
|
43
|
+
ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
|
|
44
|
+
}) | (Omit<Omit<import("@pega/cosmos-react-core/lib/components/Dialog/Dialog.types").BaseDialogProps & {
|
|
45
|
+
onDismiss?: () => void;
|
|
46
|
+
onSubmit: import("@pega/cosmos-react-core/lib/components/Dialog/Dialog.types").FormAction;
|
|
47
|
+
} & {
|
|
48
|
+
compact?: false;
|
|
34
49
|
} & {
|
|
35
50
|
heading: string;
|
|
36
51
|
additionalInfo?: import("@pega/cosmos-react-core").AdditionalInfoProps;
|
|
37
52
|
'aria-label'?: never;
|
|
38
|
-
} &
|
|
53
|
+
} & {
|
|
54
|
+
onAfterClose?: () => void;
|
|
55
|
+
onCancel: import("@pega/cosmos-react-core/lib/components/Dialog/Dialog.types").FormAction | undefined;
|
|
56
|
+
} & Omit<import("@pega/cosmos-react-core").Attributes<"div">, "compact" | "aria-label" | "onSubmit" | "onCancel" | "heading" | keyof import("@pega/cosmos-react-core/lib/components/Dialog/Dialog.types").BaseDialogProps | "onDismiss" | "additionalInfo" | "onAfterClose">, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
|
|
39
57
|
ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
|
|
40
58
|
}) | (Omit<Omit<import("@pega/cosmos-react-core/lib/components/Dialog/Dialog.types").BaseDialogProps & {
|
|
41
59
|
onDismiss?: () => void;
|
|
42
|
-
onCancel: import("@pega/cosmos-react-core/lib/components/Dialog/Dialog.types").FormAction;
|
|
43
60
|
onSubmit: import("@pega/cosmos-react-core/lib/components/Dialog/Dialog.types").FormAction;
|
|
44
61
|
} & {
|
|
45
|
-
compact?: false
|
|
62
|
+
compact?: false;
|
|
46
63
|
} & {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
} &
|
|
64
|
+
heading: string;
|
|
65
|
+
additionalInfo?: import("@pega/cosmos-react-core").AdditionalInfoProps;
|
|
66
|
+
'aria-label'?: never;
|
|
67
|
+
} & {
|
|
68
|
+
onAfterClose: () => void;
|
|
69
|
+
onCancel?: import("@pega/cosmos-react-core/lib/components/Dialog/Dialog.types").FormAction;
|
|
70
|
+
} & Omit<import("@pega/cosmos-react-core").Attributes<"div">, "compact" | "aria-label" | "onSubmit" | "onCancel" | "heading" | keyof import("@pega/cosmos-react-core/lib/components/Dialog/Dialog.types").BaseDialogProps | "onDismiss" | "additionalInfo" | "onAfterClose">, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & {
|
|
51
71
|
ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
|
|
52
72
|
}), import("styled-components/dist/types").BaseObject>> & string & Omit<import("react").ForwardRefExoticComponent<PropsWithoutRef<FormDialogProps> & import("react").RefAttributes<HTMLDivElement>>, keyof import("react").Component<any, {}, any>>;
|
|
53
73
|
declare const DeleteDialog: ({ target, flowGraphData, rendererGraphData, nodeId, onChange, onSubmit, onCancel }: PropsWithoutRef<DeleteDialogProps>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteDialog.d.ts","sourceRoot":"","sources":["../../../src/components/FlowModeller/DeleteDialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAsB,WAAW,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DeleteDialog.d.ts","sourceRoot":"","sources":["../../../src/components/FlowModeller/DeleteDialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAsB,WAAW,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAe9E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAElB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAGnD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IAClC,aAAa,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACpC,iBAAiB,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,CACT,aAAa,EAAE,cAAc,EAC7B,aAAa,EAAE,cAAc,GAAG,SAAS,EACzC,EAAE,CAAC,EAAE,WAAW,KACb,IAAI,CAAC;IACV,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,GAAG,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;CAC9B;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mPAM7B,CAAC;AAIH,QAAA,MAAM,YAAY,GAAI,oFAQnB,eAAe,CAAC,iBAAiB,CAAC,4CA6NpC,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useState, useEffect, useMemo } from 'react';
|
|
3
3
|
import styled, { css } from 'styled-components';
|
|
4
|
-
import { Select, Option, Text, Flex, useI18n, useElement, FormDialog, defaultThemeProp, getResolvedTarget } from '@pega/cosmos-react-core';
|
|
4
|
+
import { StyledTouchDialog, Select, Option, Text, Flex, useI18n, useElement, FormDialog, defaultThemeProp, getResolvedTarget } from '@pega/cosmos-react-core';
|
|
5
5
|
import { DirectedGraph } from './Renderer/Utils/Graph';
|
|
6
6
|
import deleteNodeUtils from './Utils/deleteNodeUtils';
|
|
7
7
|
import { getReferences } from './helper';
|
|
8
8
|
export const StyledDeleteDialog = styled(FormDialog)(({ theme }) => {
|
|
9
9
|
return css `
|
|
10
|
-
|
|
10
|
+
&:not(${StyledTouchDialog}) {
|
|
11
|
+
min-width: calc(30 * ${theme.base.spacing});
|
|
12
|
+
}
|
|
11
13
|
`;
|
|
12
14
|
});
|
|
13
15
|
StyledDeleteDialog.defaultProps = defaultThemeProp;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteDialog.js","sourceRoot":"","sources":["../../../src/components/FlowModeller/DeleteDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState, useEffect, useMemo } from 'react';\nimport type { ChangeEventHandler, ChangeEvent, PropsWithoutRef } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport {\n Select,\n Option,\n Text,\n Flex,\n useI18n,\n useElement,\n FormDialog,\n defaultThemeProp,\n getResolvedTarget\n} from '@pega/cosmos-react-core';\nimport type { FormDialogProps } from '@pega/cosmos-react-core';\n\nimport { DirectedGraph } from './Renderer/Utils/Graph';\nimport type { GraphData } from './Renderer/Utils/Graph';\nimport type {\n GraphDataAsMap,\n DeleteNodeOutcome,\n DeleteNodeModalOption\n} from './Utils/deleteNodeUtils';\nimport deleteNodeUtils from './Utils/deleteNodeUtils';\nimport type { NodeProps } from './Node/Node.types';\nimport { getReferences } from './helper';\n\nexport interface DeleteDialogProps {\n target: FormDialogProps['target'];\n flowGraphData: GraphData<NodeProps>;\n rendererGraphData: GraphData<NodeProps>;\n nodeId: string;\n onChange?: (\n itemsToDelete: GraphDataAsMap,\n itemsToRetain: GraphDataAsMap | undefined,\n ev?: ChangeEvent\n ) => void;\n onSubmit?: (outcome: DeleteNodeOutcome) => void;\n onCancel?: () => void;\n ref?: FormDialogProps['ref'];\n}\n\nexport const StyledDeleteDialog = styled(FormDialog)(({ theme }) => {\n return css`\n min-width: calc(30 * ${theme.base.spacing});\n `;\n});\n\nStyledDeleteDialog.defaultProps = defaultThemeProp;\n\nconst DeleteDialog = ({\n target,\n flowGraphData,\n rendererGraphData,\n nodeId,\n onChange,\n onSubmit,\n onCancel\n}: PropsWithoutRef<DeleteDialogProps>) => {\n const [currentSelection, setCurrentSelection] = useState<number>(0);\n\n const [currNode, setCurrNode] = useElement<Element>();\n\n const t = useI18n();\n\n const graph = new DirectedGraph<NodeProps>(rendererGraphData);\n\n const deleteOptionsResult = deleteNodeUtils.getDeleteNodeOptions(graph, nodeId);\n\n const deleteOptions: DeleteNodeModalOption[] = deleteOptionsResult.options;\n\n const selectedPath: string = useMemo(() => {\n if (currentSelection === -1 || !deleteOptions[currentSelection]) {\n return 'none';\n }\n const option = deleteOptions[currentSelection];\n return option.connector.label || option.connector.id;\n }, [deleteOptions, currentSelection]);\n\n const nodeType = graph.getNode(nodeId).type.name;\n\n useEffect(() => {\n if (deleteOptionsResult && deleteOptions[currentSelection]) {\n const itemsToDelete: GraphDataAsMap =\n nodeType !== 'Decision'\n ? deleteOptionsResult.allItems\n : deleteOptions[currentSelection].restItems;\n\n // add the actual node to be deleted also, to the list\n itemsToDelete.nodes[nodeId] = graph.getNode(nodeId);\n setCurrNode(getResolvedTarget(target));\n onChange?.(itemsToDelete, deleteOptions[currentSelection].pathItems);\n }\n }, [rendererGraphData]);\n\n const onChangeHandler: ChangeEventHandler = (ev: ChangeEvent<HTMLSelectElement>) => {\n const newSelection =\n ev.target.selectedIndex >= deleteOptions.length ? -1 : ev.target.selectedIndex;\n\n setCurrentSelection(newSelection);\n\n let itemsToDelete;\n if (deleteOptionsResult) {\n itemsToDelete = deleteOptionsResult.allItems;\n }\n\n let itemsToRetain;\n\n if (newSelection !== -1) {\n itemsToDelete = deleteOptions[newSelection].restItems;\n itemsToRetain = deleteOptions[newSelection].pathItems;\n }\n\n // add the actual node to be deleted also, to the list\n if (itemsToDelete) {\n itemsToDelete.nodes[nodeId] = graph.getNode(nodeId);\n }\n\n if (itemsToDelete) {\n onChange?.(itemsToDelete, itemsToRetain, ev);\n }\n };\n\n const submitHandler = () => {\n let error = true;\n const finalGraph = new DirectedGraph<NodeProps>(flowGraphData);\n const finalDeleteOptionsResult = deleteNodeUtils.getDeleteNodeOptions(finalGraph, nodeId);\n\n let newTargetNode = finalDeleteOptionsResult?.destinationNodeId\n ? finalGraph.getNode(finalDeleteOptionsResult.destinationNodeId)\n : undefined;\n let itemsToDelete = finalDeleteOptionsResult.allItems;\n\n const selectedOption =\n currentSelection === -1 || nodeType !== 'Decision'\n ? undefined\n : finalDeleteOptionsResult?.options[currentSelection];\n let finalMetaData = selectedOption;\n\n if (selectedOption) {\n const pathConnectors = selectedOption.pathItems.connectors;\n const connectors = Object.keys(pathConnectors);\n for (let i = 0; i < connectors.length; i += 1) {\n const connectorData = pathConnectors[connectors[i]];\n if (\n connectorData &&\n finalGraph.getNode(connectorData.fromNodeId).type?.minConnectors !== 0 &&\n connectorData.toNodeId === finalDeleteOptionsResult.destinationNodeId\n ) {\n error = false;\n break;\n }\n }\n\n const references = getReferences(Object.values(itemsToDelete.nodes), finalGraph);\n if (error || references.length > 0) {\n onSubmit?.({\n graphData: {\n nodes: [],\n connectors: []\n },\n updates: {\n connectors: []\n },\n deletes: { nodes: {}, connectors: {} },\n error: true,\n references\n });\n return;\n }\n\n finalMetaData = finalDeleteOptionsResult.options.find(\n current => selectedOption.connector.id === current.connector.id\n );\n\n if (finalMetaData) {\n // get the ref of the first node of the retaining path\n newTargetNode = finalGraph.getNode(finalMetaData.connector.toNodeId);\n itemsToDelete = finalMetaData.restItems;\n }\n }\n\n // get the in-connectors of the selected node\n const nodeInConnectors = finalGraph.getInConnectors(nodeId);\n\n // iterate and set the targetNode to the above first node instead of the selected node.\n if (newTargetNode) {\n nodeInConnectors.forEach(con => {\n finalGraph.setConnector(con.id, {\n toNodeId: newTargetNode.id\n });\n });\n } else {\n // if no retaining path, then remove the in connectors of the deleted node as well\n nodeInConnectors.forEach(con => {\n finalGraph.removeConnector(con.id);\n });\n }\n\n const resultGraphData = finalGraph.getGraphData();\n\n itemsToDelete.nodes[nodeId] = finalGraph.getNode(nodeId);\n\n // filter the highlighted nodes, including the selected node\n const nodes = resultGraphData.nodes.filter(item => {\n return itemsToDelete.nodes[item.id] === undefined;\n });\n\n if (finalMetaData) {\n itemsToDelete.connectors[finalMetaData.connector.id] = finalMetaData.connector;\n }\n\n // filter the highlighted connectors\n const connectors = resultGraphData.connectors.filter(item => {\n return itemsToDelete.connectors[item.id] === undefined;\n });\n\n const outcome: DeleteNodeOutcome = {\n graphData: {\n nodes,\n connectors\n },\n updates: {\n connectors: nodeInConnectors\n },\n deletes: itemsToDelete,\n error: false\n };\n onSubmit?.(outcome);\n };\n\n const onCancelHandler = () => {\n if (currNode instanceof HTMLElement) {\n currNode.focus();\n }\n onCancel?.();\n };\n\n return (\n <StyledDeleteDialog\n target={target}\n heading={t('delete_step_title')}\n onCancel={onCancelHandler}\n onSubmit={submitHandler}\n placement='right-end'\n >\n <Flex container={{ gap: 2, pad: 2, direction: 'column' }}>\n {nodeType === 'Decision' ? (\n <>\n <Text>{t('delete_decision_step')}</Text>\n <Select\n id='select-demo'\n label={t('delete_step_outcome')}\n value={selectedPath}\n required\n onChange={onChangeHandler}\n >\n {deleteOptions.map(item => {\n return (\n <Option\n key={item.connector.id}\n value={item.connector.label ? item.connector.label : item.connector.id}\n >\n {item.connector.label ? item.connector.label : item.connector.id}\n </Option>\n );\n })}\n\n <Option key='none' value='none'>\n {t('delete_all_outcomes')}\n </Option>\n </Select>\n </>\n ) : (\n <Text>{t('delete_step')}</Text>\n )}\n </Flex>\n </StyledDeleteDialog>\n );\n};\n\nexport default DeleteDialog;\n"]}
|
|
1
|
+
{"version":3,"file":"DeleteDialog.js","sourceRoot":"","sources":["../../../src/components/FlowModeller/DeleteDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useState, useEffect, useMemo } from 'react';\nimport type { ChangeEventHandler, ChangeEvent, PropsWithoutRef } from 'react';\nimport styled, { css } from 'styled-components';\n\nimport {\n StyledTouchDialog,\n Select,\n Option,\n Text,\n Flex,\n useI18n,\n useElement,\n FormDialog,\n defaultThemeProp,\n getResolvedTarget\n} from '@pega/cosmos-react-core';\nimport type { FormDialogProps } from '@pega/cosmos-react-core';\n\nimport { DirectedGraph } from './Renderer/Utils/Graph';\nimport type { GraphData } from './Renderer/Utils/Graph';\nimport type {\n GraphDataAsMap,\n DeleteNodeOutcome,\n DeleteNodeModalOption\n} from './Utils/deleteNodeUtils';\nimport deleteNodeUtils from './Utils/deleteNodeUtils';\nimport type { NodeProps } from './Node/Node.types';\nimport { getReferences } from './helper';\n\nexport interface DeleteDialogProps {\n target: FormDialogProps['target'];\n flowGraphData: GraphData<NodeProps>;\n rendererGraphData: GraphData<NodeProps>;\n nodeId: string;\n onChange?: (\n itemsToDelete: GraphDataAsMap,\n itemsToRetain: GraphDataAsMap | undefined,\n ev?: ChangeEvent\n ) => void;\n onSubmit?: (outcome: DeleteNodeOutcome) => void;\n onCancel?: () => void;\n ref?: FormDialogProps['ref'];\n}\n\nexport const StyledDeleteDialog = styled(FormDialog)(({ theme }) => {\n return css`\n &:not(${StyledTouchDialog}) {\n min-width: calc(30 * ${theme.base.spacing});\n }\n `;\n});\n\nStyledDeleteDialog.defaultProps = defaultThemeProp;\n\nconst DeleteDialog = ({\n target,\n flowGraphData,\n rendererGraphData,\n nodeId,\n onChange,\n onSubmit,\n onCancel\n}: PropsWithoutRef<DeleteDialogProps>) => {\n const [currentSelection, setCurrentSelection] = useState<number>(0);\n\n const [currNode, setCurrNode] = useElement<Element>();\n\n const t = useI18n();\n\n const graph = new DirectedGraph<NodeProps>(rendererGraphData);\n\n const deleteOptionsResult = deleteNodeUtils.getDeleteNodeOptions(graph, nodeId);\n\n const deleteOptions: DeleteNodeModalOption[] = deleteOptionsResult.options;\n\n const selectedPath: string = useMemo(() => {\n if (currentSelection === -1 || !deleteOptions[currentSelection]) {\n return 'none';\n }\n const option = deleteOptions[currentSelection];\n return option.connector.label || option.connector.id;\n }, [deleteOptions, currentSelection]);\n\n const nodeType = graph.getNode(nodeId).type.name;\n\n useEffect(() => {\n if (deleteOptionsResult && deleteOptions[currentSelection]) {\n const itemsToDelete: GraphDataAsMap =\n nodeType !== 'Decision'\n ? deleteOptionsResult.allItems\n : deleteOptions[currentSelection].restItems;\n\n // add the actual node to be deleted also, to the list\n itemsToDelete.nodes[nodeId] = graph.getNode(nodeId);\n setCurrNode(getResolvedTarget(target));\n onChange?.(itemsToDelete, deleteOptions[currentSelection].pathItems);\n }\n }, [rendererGraphData]);\n\n const onChangeHandler: ChangeEventHandler = (ev: ChangeEvent<HTMLSelectElement>) => {\n const newSelection =\n ev.target.selectedIndex >= deleteOptions.length ? -1 : ev.target.selectedIndex;\n\n setCurrentSelection(newSelection);\n\n let itemsToDelete;\n if (deleteOptionsResult) {\n itemsToDelete = deleteOptionsResult.allItems;\n }\n\n let itemsToRetain;\n\n if (newSelection !== -1) {\n itemsToDelete = deleteOptions[newSelection].restItems;\n itemsToRetain = deleteOptions[newSelection].pathItems;\n }\n\n // add the actual node to be deleted also, to the list\n if (itemsToDelete) {\n itemsToDelete.nodes[nodeId] = graph.getNode(nodeId);\n }\n\n if (itemsToDelete) {\n onChange?.(itemsToDelete, itemsToRetain, ev);\n }\n };\n\n const submitHandler = () => {\n let error = true;\n const finalGraph = new DirectedGraph<NodeProps>(flowGraphData);\n const finalDeleteOptionsResult = deleteNodeUtils.getDeleteNodeOptions(finalGraph, nodeId);\n\n let newTargetNode = finalDeleteOptionsResult?.destinationNodeId\n ? finalGraph.getNode(finalDeleteOptionsResult.destinationNodeId)\n : undefined;\n let itemsToDelete = finalDeleteOptionsResult.allItems;\n\n const selectedOption =\n currentSelection === -1 || nodeType !== 'Decision'\n ? undefined\n : finalDeleteOptionsResult?.options[currentSelection];\n let finalMetaData = selectedOption;\n\n if (selectedOption) {\n const pathConnectors = selectedOption.pathItems.connectors;\n const connectors = Object.keys(pathConnectors);\n for (let i = 0; i < connectors.length; i += 1) {\n const connectorData = pathConnectors[connectors[i]];\n if (\n connectorData &&\n finalGraph.getNode(connectorData.fromNodeId).type?.minConnectors !== 0 &&\n connectorData.toNodeId === finalDeleteOptionsResult.destinationNodeId\n ) {\n error = false;\n break;\n }\n }\n\n const references = getReferences(Object.values(itemsToDelete.nodes), finalGraph);\n if (error || references.length > 0) {\n onSubmit?.({\n graphData: {\n nodes: [],\n connectors: []\n },\n updates: {\n connectors: []\n },\n deletes: { nodes: {}, connectors: {} },\n error: true,\n references\n });\n return;\n }\n\n finalMetaData = finalDeleteOptionsResult.options.find(\n current => selectedOption.connector.id === current.connector.id\n );\n\n if (finalMetaData) {\n // get the ref of the first node of the retaining path\n newTargetNode = finalGraph.getNode(finalMetaData.connector.toNodeId);\n itemsToDelete = finalMetaData.restItems;\n }\n }\n\n // get the in-connectors of the selected node\n const nodeInConnectors = finalGraph.getInConnectors(nodeId);\n\n // iterate and set the targetNode to the above first node instead of the selected node.\n if (newTargetNode) {\n nodeInConnectors.forEach(con => {\n finalGraph.setConnector(con.id, {\n toNodeId: newTargetNode.id\n });\n });\n } else {\n // if no retaining path, then remove the in connectors of the deleted node as well\n nodeInConnectors.forEach(con => {\n finalGraph.removeConnector(con.id);\n });\n }\n\n const resultGraphData = finalGraph.getGraphData();\n\n itemsToDelete.nodes[nodeId] = finalGraph.getNode(nodeId);\n\n // filter the highlighted nodes, including the selected node\n const nodes = resultGraphData.nodes.filter(item => {\n return itemsToDelete.nodes[item.id] === undefined;\n });\n\n if (finalMetaData) {\n itemsToDelete.connectors[finalMetaData.connector.id] = finalMetaData.connector;\n }\n\n // filter the highlighted connectors\n const connectors = resultGraphData.connectors.filter(item => {\n return itemsToDelete.connectors[item.id] === undefined;\n });\n\n const outcome: DeleteNodeOutcome = {\n graphData: {\n nodes,\n connectors\n },\n updates: {\n connectors: nodeInConnectors\n },\n deletes: itemsToDelete,\n error: false\n };\n onSubmit?.(outcome);\n };\n\n const onCancelHandler = () => {\n if (currNode instanceof HTMLElement) {\n currNode.focus();\n }\n onCancel?.();\n };\n\n return (\n <StyledDeleteDialog\n target={target}\n heading={t('delete_step_title')}\n onCancel={onCancelHandler}\n onSubmit={submitHandler}\n placement='right-end'\n >\n <Flex container={{ gap: 2, pad: 2, direction: 'column' }}>\n {nodeType === 'Decision' ? (\n <>\n <Text>{t('delete_decision_step')}</Text>\n <Select\n id='select-demo'\n label={t('delete_step_outcome')}\n value={selectedPath}\n required\n onChange={onChangeHandler}\n >\n {deleteOptions.map(item => {\n return (\n <Option\n key={item.connector.id}\n value={item.connector.label ? item.connector.label : item.connector.id}\n >\n {item.connector.label ? item.connector.label : item.connector.id}\n </Option>\n );\n })}\n\n <Option key='none' value='none'>\n {t('delete_all_outcomes')}\n </Option>\n </Select>\n </>\n ) : (\n <Text>{t('delete_step')}</Text>\n )}\n </Flex>\n </StyledDeleteDialog>\n );\n};\n\nexport default DeleteDialog;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectSelect.d.ts","sourceRoot":"","sources":["../../../src/components/ObjectSelect/ObjectSelect.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAO5D,OAAO,KAAK,EAAqB,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEjF,QAAA,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"ObjectSelect.d.ts","sourceRoot":"","sources":["../../../src/components/ObjectSelect/ObjectSelect.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAO5D,OAAO,KAAK,EAAqB,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEjF,QAAA,MAAM,YAAY,EA+Ib,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,YAAY,KAAK,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;AAEnG,eAAe,YAAY,CAAC"}
|
|
@@ -26,15 +26,12 @@ const ObjectSelect = forwardRef(({ testId, menu, configuration, createConfigurat
|
|
|
26
26
|
configuration.onClose?.();
|
|
27
27
|
} }));
|
|
28
28
|
}
|
|
29
|
-
return (_jsx(FormDialog, { ...commonProps,
|
|
29
|
+
return (_jsx(FormDialog, { ...commonProps, onCancel: () => {
|
|
30
30
|
if (preventDialogDismiss) {
|
|
31
31
|
return;
|
|
32
32
|
}
|
|
33
33
|
setConfigTarget(null);
|
|
34
34
|
configuration.onClose?.();
|
|
35
|
-
}, onCancel: () => {
|
|
36
|
-
setConfigTarget(null);
|
|
37
|
-
configuration.onClose?.();
|
|
38
35
|
}, onSubmit: () => {
|
|
39
36
|
configuration.onSubmit?.({
|
|
40
37
|
close: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectSelect.js","sourceRoot":"","sources":["../../../src/components/ObjectSelect/ObjectSelect.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAItF,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAElD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,SAAS,MAAM,aAAa,CAAC;AAGpC,MAAM,YAAY,GAAG,UAAU,CAC7B,CACE,EACE,MAAM,EACN,IAAI,EACJ,aAAa,EACb,mBAAmB,EACnB,QAAQ,EACR,QAAQ,EACR,GAAG,SAAS,EAC0B,EACxC,GAA6B,EAC7B,EAAE;IACF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAsB,QAAQ,CAAC,CAAC;IAChE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,UAAU,EAE/C,CAAC;IAEJ,MAAM,mBAAmB,GAAG,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;IAE5F,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,IAAI,CAAC,aAAa,IAAI,CAAC,YAAY,IAAI,QAAQ,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,EAAE,oBAAoB,GAAG,KAAK,EAAE,GAAG,aAAa,CAAC;QAEvD,MAAM,WAAW,GACsB;YACrC,OAAO,EAAE,aAAa,CAAC,OAAQ;YAC/B,MAAM,EAAE,YAAY;YACpB,QAAQ,EAAE,aAAa,CAAC,OAAO;YAC/B,GAAG,EAAG,aAAmC,CAAC,GAAG;YAC7C,QAAQ,EAAE,aAAa,CAAC,QAAQ;SACjC,CAAC;QACF,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CACL,KAAC,UAAU,OACL,WAAW,EACf,SAAS,EAAE,GAAG,EAAE;oBACd,eAAe,CAAC,IAAI,CAAC,CAAC;oBACtB,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC5B,CAAC,GACD,CACH,CAAC;QACJ,CAAC;QAED,OAAO,CACL,KAAC,UAAU,OACL,WAAW,EACf,
|
|
1
|
+
{"version":3,"file":"ObjectSelect.js","sourceRoot":"","sources":["../../../src/components/ObjectSelect/ObjectSelect.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, useEffect, useMemo, useState } from 'react';\nimport type { MouseEvent, PropsWithoutRef } from 'react';\n\nimport { hasProp, useElement, InfoDialog, FormDialog } from '@pega/cosmos-react-core';\nimport type { ForwardProps } from '@pega/cosmos-react-core';\nimport type { BaseDialogProps } from '@pega/cosmos-react-core/lib/components/Dialog/Dialog.types';\n\nimport RulePicker from '../RulePicker/RulePicker';\n\nimport useCreateModal from './useCreateModal';\nimport InputTree from './InputTree';\nimport type { ObjectConfigProps, ObjectSelectProps } from './ObjectSelect.types';\n\nconst ObjectSelect = forwardRef(\n <P extends object = object>(\n {\n testId,\n menu,\n configuration,\n createConfiguration,\n readOnly,\n disabled,\n ...restProps\n }: PropsWithoutRef<ObjectSelectProps<P>>,\n ref: ObjectSelectProps['ref']\n ) => {\n const [mode, setMode] = useState<'picker' | 'create'>('picker');\n const [configTarget, setConfigTarget] = useElement<\n HTMLAnchorElement | HTMLButtonElement | HTMLInputElement\n >();\n\n const isCreateModalConfig = createConfiguration && hasProp(createConfiguration, 'renderer');\n\n const configDialog = useMemo(() => {\n if (!configuration || !configTarget || disabled) {\n return null;\n }\n const { preventDialogDismiss = false } = configuration;\n\n const commonProps: Pick<BaseDialogProps, 'target' | 'progress' | 'ref' | 'children'> &\n Pick<ObjectConfigProps, 'heading'> = {\n heading: configuration.heading!,\n target: configTarget,\n progress: configuration.loading,\n ref: (configuration as ObjectConfigProps).ref,\n children: configuration.children\n };\n if (readOnly) {\n return (\n <InfoDialog\n {...commonProps}\n onDismiss={() => {\n setConfigTarget(null);\n configuration.onClose?.();\n }}\n />\n );\n }\n\n return (\n <FormDialog\n {...commonProps}\n onCancel={() => {\n if (preventDialogDismiss) {\n return;\n }\n setConfigTarget(null);\n configuration.onClose?.();\n }}\n onSubmit={() => {\n configuration.onSubmit?.({\n close: () => {\n setConfigTarget(null);\n }\n });\n }}\n />\n );\n }, [configTarget, configuration, disabled, readOnly]);\n\n const { renderModal } = useCreateModal(\n isCreateModalConfig\n ? {\n ...createConfiguration,\n onAfterClose: () => {\n createConfiguration.onAfterClose?.();\n setMode('picker');\n }\n }\n : undefined\n );\n\n useEffect(() => {\n if (mode === 'create' && isCreateModalConfig) {\n renderModal(createConfiguration);\n }\n }, [mode, createConfiguration]);\n\n useEffect(() => {\n if (configTarget) {\n configuration?.onOpen?.();\n }\n }, [configTarget]);\n\n return (\n <div>\n <RulePicker\n {...restProps}\n testId={testId}\n ref={ref}\n readOnly={readOnly}\n disabled={disabled}\n onMenuOpen={(...args) => {\n setConfigTarget(null);\n configuration?.onClose?.();\n restProps.onMenuOpen?.(...args);\n }}\n menu={{\n ...menu,\n onCreateNew: (() => {\n if (isCreateModalConfig) {\n return () => setMode('create');\n }\n if (createConfiguration) {\n return () => {\n if (createConfiguration.onClick) {\n createConfiguration.onClick();\n }\n };\n }\n })()\n }}\n actions={\n configuration && !configuration.inlineParameter\n ? [\n {\n id: 'parameters-config',\n text: configuration?.label ? configuration.label : 'parameters',\n icon: 'gear',\n onClick: (\n id: string,\n e: MouseEvent<HTMLAnchorElement | HTMLButtonElement | HTMLInputElement>\n ) => {\n e.preventDefault();\n setConfigTarget(e.currentTarget);\n }\n }\n ]\n : undefined\n }\n />\n {configDialog}\n {configuration?.inlineParameter && <InputTree testId={testId} {...configuration} />}\n </div>\n );\n }\n) as <P extends object = object>(props: ObjectSelectProps<P> & ForwardProps) => JSX.Element | null;\n\nexport default ObjectSelect;\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pega/cosmos-react-build",
|
|
3
|
-
"version": "10.0.0-build.9.
|
|
3
|
+
"version": "10.0.0-build.9.8",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE",
|
|
5
5
|
"author": "Pegasystems",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"@dagrejs/dagre": "^3.0.0",
|
|
18
|
-
"@pega/cosmos-react-core": "10.0.0-build.9.
|
|
19
|
-
"@pega/cosmos-react-dnd": "10.0.0-build.9.
|
|
20
|
-
"@pega/cosmos-react-rte": "10.0.0-build.9.
|
|
18
|
+
"@pega/cosmos-react-core": "10.0.0-build.9.8",
|
|
19
|
+
"@pega/cosmos-react-dnd": "10.0.0-build.9.8",
|
|
20
|
+
"@pega/cosmos-react-rte": "10.0.0-build.9.8",
|
|
21
21
|
"@types/codemirror": "^5.60.15",
|
|
22
22
|
"@types/react": "^17.0.62 || ^18.3.3",
|
|
23
23
|
"@types/react-dom": "^17.0.20 || ^18.3.0",
|