@pega/cosmos-react-demos 3.0.0-dev.21.2 → 3.0.0-dev.23.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/jsx/build/AppHeader/AppHeader.stories.d.ts.map +1 -1
- package/jsx/build/AppHeader/AppHeader.stories.jsx +3 -4
- package/jsx/build/AppHeader/AppHeader.stories.jsx.map +1 -1
- package/jsx/build/FlowModeller/FlowModeller.stories.jsx +4 -4
- package/jsx/build/FlowModeller/FlowModeller.stories.jsx.map +1 -1
- package/jsx/build/ObjectSelect/ObjectSelect.mocks.d.ts.map +1 -1
- package/jsx/build/ObjectSelect/ObjectSelect.mocks.jsx +2 -1
- package/jsx/build/ObjectSelect/ObjectSelect.mocks.jsx.map +1 -1
- package/jsx/build/ObjectSelect/ObjectSelect.stories.d.ts.map +1 -1
- package/jsx/build/ObjectSelect/ObjectSelect.stories.jsx +3 -3
- package/jsx/build/ObjectSelect/ObjectSelect.stories.jsx.map +1 -1
- package/jsx/build/PageTemplates/PageTemplates.mocks.d.ts.map +1 -1
- package/jsx/build/PageTemplates/PageTemplates.mocks.jsx +3 -3
- package/jsx/build/PageTemplates/PageTemplates.mocks.jsx.map +1 -1
- package/jsx/build/PageTemplates/PageTemplates.stories.d.ts.map +1 -1
- package/jsx/build/PageTemplates/PageTemplates.stories.jsx +3 -3
- package/jsx/build/PageTemplates/PageTemplates.stories.jsx.map +1 -1
- package/jsx/condition-builder/PromotedFilters/PromotedFilters.mocks.d.ts.map +1 -1
- package/jsx/condition-builder/PromotedFilters/PromotedFilters.mocks.js +91 -0
- package/jsx/condition-builder/PromotedFilters/PromotedFilters.mocks.js.map +1 -1
- package/jsx/core/AppShell/AppShell.stories.d.ts +1 -0
- package/jsx/core/AppShell/AppShell.stories.d.ts.map +1 -1
- package/jsx/core/AppShell/AppShell.stories.jsx +6 -7
- package/jsx/core/AppShell/AppShell.stories.jsx.map +1 -1
- package/jsx/core/Banner/Banner.stories.d.ts +0 -1
- package/jsx/core/Banner/Banner.stories.d.ts.map +1 -1
- package/jsx/core/Banner/Banner.stories.jsx +0 -8
- package/jsx/core/Banner/Banner.stories.jsx.map +1 -1
- package/jsx/core/CreditCard/CreditCard.stories.jsx +1 -1
- package/jsx/core/CreditCard/CreditCard.stories.jsx.map +1 -1
- package/jsx/core/Currency/Currency.stories.d.ts +5 -3
- package/jsx/core/Currency/Currency.stories.d.ts.map +1 -1
- package/jsx/core/Currency/Currency.stories.jsx +2 -2
- package/jsx/core/Currency/Currency.stories.jsx.map +1 -1
- package/jsx/core/DateTime/DateTime.stories.d.ts.map +1 -1
- package/jsx/core/DateTime/DateTime.stories.jsx +3 -0
- package/jsx/core/DateTime/DateTime.stories.jsx.map +1 -1
- package/jsx/core/FieldGroup/FieldGroupList.stories.d.ts.map +1 -1
- package/jsx/core/FieldGroup/FieldGroupList.stories.jsx +4 -0
- package/jsx/core/FieldGroup/FieldGroupList.stories.jsx.map +1 -1
- package/jsx/core/FieldValueList/FieldValueList.stories.jsx +1 -1
- package/jsx/core/FieldValueList/FieldValueList.stories.jsx.map +1 -1
- package/jsx/core/FieldValueList/FieldValueList.styles.d.ts +2 -0
- package/jsx/core/FieldValueList/FieldValueList.styles.d.ts.map +1 -0
- package/{lib/core/FieldValueList/FieldValueList.mocks.js → jsx/core/FieldValueList/FieldValueList.styles.js} +2 -3
- package/jsx/core/FieldValueList/FieldValueList.styles.js.map +1 -0
- package/jsx/core/File/FileDisplay.stories.d.ts.map +1 -1
- package/jsx/core/File/FileDisplay.stories.jsx +4 -5
- package/jsx/core/File/FileDisplay.stories.jsx.map +1 -1
- package/jsx/core/Form/Form.mocks.jsx +3 -3
- package/jsx/core/Form/Form.mocks.jsx.map +1 -1
- package/jsx/core/Menu/Menu.stories.jsx +3 -3
- package/jsx/core/Menu/Menu.stories.jsx.map +1 -1
- package/jsx/core/Modal/Modal.stories.d.ts.map +1 -1
- package/jsx/core/Modal/Modal.stories.jsx +16 -20
- package/jsx/core/Modal/Modal.stories.jsx.map +1 -1
- package/jsx/core/Number/Number.stories.d.ts +1 -1
- package/jsx/core/Number/Number.stories.d.ts.map +1 -1
- package/jsx/core/Number/Number.stories.jsx +4 -4
- package/jsx/core/Number/Number.stories.jsx.map +1 -1
- package/jsx/core/SummaryList/SummaryList.stories.d.ts.map +1 -1
- package/jsx/core/SummaryList/SummaryList.stories.jsx +4 -4
- package/jsx/core/SummaryList/SummaryList.stories.jsx.map +1 -1
- package/jsx/core/Toaster/Toaster.stories.jsx +3 -3
- package/jsx/core/Toaster/Toaster.stories.jsx.map +1 -1
- package/jsx/cs/CallControlPanel/CallControlPanel.stories.d.ts.map +1 -1
- package/jsx/cs/CallControlPanel/CallControlPanel.stories.jsx +12 -1
- package/jsx/cs/CallControlPanel/CallControlPanel.stories.jsx.map +1 -1
- package/jsx/cs/IntelligentGuidance/IntelligentGuidance.stories.jsx +2 -2
- package/jsx/cs/IntelligentGuidance/IntelligentGuidance.stories.jsx.map +1 -1
- package/jsx/cs/InteractionNotification/InteractionNotification.stories.d.ts +1 -0
- package/jsx/cs/InteractionNotification/InteractionNotification.stories.d.ts.map +1 -1
- package/jsx/cs/InteractionNotification/InteractionNotification.stories.jsx +6 -6
- package/jsx/cs/InteractionNotification/InteractionNotification.stories.jsx.map +1 -1
- package/jsx/social/Email/Email.stories.d.ts.map +1 -1
- package/jsx/social/Email/Email.stories.jsx +24 -6
- package/jsx/social/Email/Email.stories.jsx.map +1 -1
- package/jsx/social/Feed/Feed.stories.d.ts.map +1 -1
- package/jsx/social/Feed/Feed.stories.jsx +6 -2
- package/jsx/social/Feed/Feed.stories.jsx.map +1 -1
- package/jsx/social/Feed/FeedNewPost.stories.d.ts.map +1 -1
- package/jsx/social/Feed/FeedNewPost.stories.jsx +1 -1
- package/jsx/social/Feed/FeedNewPost.stories.jsx.map +1 -1
- package/jsx/social/Feed/FeedPost.stories.d.ts.map +1 -1
- package/jsx/social/Feed/FeedPost.stories.jsx +2 -2
- package/jsx/social/Feed/FeedPost.stories.jsx.map +1 -1
- package/jsx/social/Feed/FeedReply.stories.d.ts.map +1 -1
- package/jsx/social/Feed/FeedReply.stories.jsx +1 -1
- package/jsx/social/Feed/FeedReply.stories.jsx.map +1 -1
- package/jsx/social/Feed/FeedReplyInput.stories.d.ts.map +1 -1
- package/jsx/social/Feed/FeedReplyInput.stories.jsx +1 -1
- package/jsx/social/Feed/FeedReplyInput.stories.jsx.map +1 -1
- package/jsx/work/AppAnnouncement/AppAnnouncement.stories.d.ts.map +1 -1
- package/jsx/work/AppAnnouncement/AppAnnouncement.stories.jsx +2 -3
- package/jsx/work/AppAnnouncement/AppAnnouncement.stories.jsx.map +1 -1
- package/jsx/work/CaseView/Attachments.mocks.jsx +5 -6
- package/jsx/work/CaseView/Attachments.mocks.jsx.map +1 -1
- package/jsx/work/CaseView/CaseView.mocks.d.ts +74 -2
- package/jsx/work/CaseView/CaseView.mocks.d.ts.map +1 -1
- package/jsx/work/CaseView/CaseView.mocks.jsx +200 -11
- package/jsx/work/CaseView/CaseView.mocks.jsx.map +1 -1
- package/jsx/work/CaseView/CaseView.stories.d.ts +3 -22
- package/jsx/work/CaseView/CaseView.stories.d.ts.map +1 -1
- package/jsx/work/CaseView/CaseView.stories.jsx +49 -238
- package/jsx/work/CaseView/CaseView.stories.jsx.map +1 -1
- package/jsx/wss/AppShell/AppShell.mocks.d.ts +11 -0
- package/jsx/wss/AppShell/AppShell.mocks.d.ts.map +1 -1
- package/jsx/wss/AppShell/AppShell.mocks.jsx +11 -0
- package/jsx/wss/AppShell/AppShell.mocks.jsx.map +1 -1
- package/jsx/wss/AppShell/AppShell.stories.d.ts +11 -9
- package/jsx/wss/AppShell/AppShell.stories.d.ts.map +1 -1
- package/jsx/wss/AppShell/AppShell.stories.jsx +11 -19
- package/jsx/wss/AppShell/AppShell.stories.jsx.map +1 -1
- package/jsx/wss/PageTemplates/PageTemplates.stories.d.ts +15 -0
- package/jsx/wss/PageTemplates/PageTemplates.stories.d.ts.map +1 -0
- package/jsx/wss/PageTemplates/PageTemplates.stories.jsx +48 -0
- package/jsx/wss/PageTemplates/PageTemplates.stories.jsx.map +1 -0
- package/lib/build/AppHeader/AppHeader.stories.d.ts.map +1 -1
- package/lib/build/AppHeader/AppHeader.stories.js +3 -4
- package/lib/build/AppHeader/AppHeader.stories.js.map +1 -1
- package/lib/build/FlowModeller/FlowModeller.stories.js +4 -4
- package/lib/build/FlowModeller/FlowModeller.stories.js.map +1 -1
- package/lib/build/ObjectSelect/ObjectSelect.mocks.d.ts.map +1 -1
- package/lib/build/ObjectSelect/ObjectSelect.mocks.js +2 -1
- package/lib/build/ObjectSelect/ObjectSelect.mocks.js.map +1 -1
- package/lib/build/ObjectSelect/ObjectSelect.stories.d.ts.map +1 -1
- package/lib/build/ObjectSelect/ObjectSelect.stories.js +3 -3
- package/lib/build/ObjectSelect/ObjectSelect.stories.js.map +1 -1
- package/lib/build/PageTemplates/PageTemplates.mocks.d.ts.map +1 -1
- package/lib/build/PageTemplates/PageTemplates.mocks.js +3 -3
- package/lib/build/PageTemplates/PageTemplates.mocks.js.map +1 -1
- package/lib/build/PageTemplates/PageTemplates.stories.d.ts.map +1 -1
- package/lib/build/PageTemplates/PageTemplates.stories.js +3 -3
- package/lib/build/PageTemplates/PageTemplates.stories.js.map +1 -1
- package/lib/condition-builder/PromotedFilters/PromotedFilters.mocks.d.ts.map +1 -1
- package/lib/condition-builder/PromotedFilters/PromotedFilters.mocks.js +91 -0
- package/lib/condition-builder/PromotedFilters/PromotedFilters.mocks.js.map +1 -1
- package/lib/core/AppShell/AppShell.stories.d.ts +1 -0
- package/lib/core/AppShell/AppShell.stories.d.ts.map +1 -1
- package/lib/core/AppShell/AppShell.stories.js +6 -7
- package/lib/core/AppShell/AppShell.stories.js.map +1 -1
- package/lib/core/Banner/Banner.stories.d.ts +0 -1
- package/lib/core/Banner/Banner.stories.d.ts.map +1 -1
- package/lib/core/Banner/Banner.stories.js +0 -11
- package/lib/core/Banner/Banner.stories.js.map +1 -1
- package/lib/core/CreditCard/CreditCard.stories.js +1 -1
- package/lib/core/CreditCard/CreditCard.stories.js.map +1 -1
- package/lib/core/Currency/Currency.stories.d.ts +5 -3
- package/lib/core/Currency/Currency.stories.d.ts.map +1 -1
- package/lib/core/Currency/Currency.stories.js +2 -2
- package/lib/core/Currency/Currency.stories.js.map +1 -1
- package/lib/core/DateTime/DateTime.stories.d.ts.map +1 -1
- package/lib/core/DateTime/DateTime.stories.js +3 -0
- package/lib/core/DateTime/DateTime.stories.js.map +1 -1
- package/lib/core/FieldGroup/FieldGroupList.stories.d.ts.map +1 -1
- package/lib/core/FieldGroup/FieldGroupList.stories.js +4 -0
- package/lib/core/FieldGroup/FieldGroupList.stories.js.map +1 -1
- package/lib/core/FieldValueList/FieldValueList.stories.js +1 -1
- package/lib/core/FieldValueList/FieldValueList.stories.js.map +1 -1
- package/lib/core/FieldValueList/FieldValueList.styles.d.ts +2 -0
- package/lib/core/FieldValueList/FieldValueList.styles.d.ts.map +1 -0
- package/{jsx/core/FieldValueList/FieldValueList.mocks.js → lib/core/FieldValueList/FieldValueList.styles.js} +2 -3
- package/lib/core/FieldValueList/FieldValueList.styles.js.map +1 -0
- package/lib/core/File/FileDisplay.stories.d.ts.map +1 -1
- package/lib/core/File/FileDisplay.stories.js +4 -5
- package/lib/core/File/FileDisplay.stories.js.map +1 -1
- package/lib/core/Form/Form.mocks.js +3 -3
- package/lib/core/Form/Form.mocks.js.map +1 -1
- package/lib/core/Menu/Menu.stories.js +3 -3
- package/lib/core/Menu/Menu.stories.js.map +1 -1
- package/lib/core/Modal/Modal.stories.d.ts.map +1 -1
- package/lib/core/Modal/Modal.stories.js +16 -20
- package/lib/core/Modal/Modal.stories.js.map +1 -1
- package/lib/core/Number/Number.stories.d.ts +1 -1
- package/lib/core/Number/Number.stories.d.ts.map +1 -1
- package/lib/core/Number/Number.stories.js +4 -4
- package/lib/core/Number/Number.stories.js.map +1 -1
- package/lib/core/SummaryList/SummaryList.stories.d.ts.map +1 -1
- package/lib/core/SummaryList/SummaryList.stories.js +4 -4
- package/lib/core/SummaryList/SummaryList.stories.js.map +1 -1
- package/lib/core/Toaster/Toaster.stories.js +3 -3
- package/lib/core/Toaster/Toaster.stories.js.map +1 -1
- package/lib/cs/CallControlPanel/CallControlPanel.stories.d.ts.map +1 -1
- package/lib/cs/CallControlPanel/CallControlPanel.stories.js +12 -1
- package/lib/cs/CallControlPanel/CallControlPanel.stories.js.map +1 -1
- package/lib/cs/IntelligentGuidance/IntelligentGuidance.stories.js +2 -2
- package/lib/cs/IntelligentGuidance/IntelligentGuidance.stories.js.map +1 -1
- package/lib/cs/InteractionNotification/InteractionNotification.stories.d.ts +1 -0
- package/lib/cs/InteractionNotification/InteractionNotification.stories.d.ts.map +1 -1
- package/lib/cs/InteractionNotification/InteractionNotification.stories.js +24 -22
- package/lib/cs/InteractionNotification/InteractionNotification.stories.js.map +1 -1
- package/lib/social/Email/Email.stories.d.ts.map +1 -1
- package/lib/social/Email/Email.stories.js +24 -6
- package/lib/social/Email/Email.stories.js.map +1 -1
- package/lib/social/Feed/Feed.stories.d.ts.map +1 -1
- package/lib/social/Feed/Feed.stories.js +6 -2
- package/lib/social/Feed/Feed.stories.js.map +1 -1
- package/lib/social/Feed/FeedNewPost.stories.d.ts.map +1 -1
- package/lib/social/Feed/FeedNewPost.stories.js +1 -1
- package/lib/social/Feed/FeedNewPost.stories.js.map +1 -1
- package/lib/social/Feed/FeedPost.stories.d.ts.map +1 -1
- package/lib/social/Feed/FeedPost.stories.js +2 -2
- package/lib/social/Feed/FeedPost.stories.js.map +1 -1
- package/lib/social/Feed/FeedReply.stories.d.ts.map +1 -1
- package/lib/social/Feed/FeedReply.stories.js +1 -1
- package/lib/social/Feed/FeedReply.stories.js.map +1 -1
- package/lib/social/Feed/FeedReplyInput.stories.d.ts.map +1 -1
- package/lib/social/Feed/FeedReplyInput.stories.js +1 -1
- package/lib/social/Feed/FeedReplyInput.stories.js.map +1 -1
- package/lib/work/AppAnnouncement/AppAnnouncement.stories.d.ts.map +1 -1
- package/lib/work/AppAnnouncement/AppAnnouncement.stories.js +2 -3
- package/lib/work/AppAnnouncement/AppAnnouncement.stories.js.map +1 -1
- package/lib/work/CaseView/Attachments.mocks.js +5 -6
- package/lib/work/CaseView/Attachments.mocks.js.map +1 -1
- package/lib/work/CaseView/CaseView.mocks.d.ts +74 -2
- package/lib/work/CaseView/CaseView.mocks.d.ts.map +1 -1
- package/lib/work/CaseView/CaseView.mocks.js +190 -11
- package/lib/work/CaseView/CaseView.mocks.js.map +1 -1
- package/lib/work/CaseView/CaseView.stories.d.ts +3 -22
- package/lib/work/CaseView/CaseView.stories.d.ts.map +1 -1
- package/lib/work/CaseView/CaseView.stories.js +44 -248
- package/lib/work/CaseView/CaseView.stories.js.map +1 -1
- package/lib/wss/AppShell/AppShell.mocks.d.ts +11 -0
- package/lib/wss/AppShell/AppShell.mocks.d.ts.map +1 -1
- package/lib/wss/AppShell/AppShell.mocks.js +11 -0
- package/lib/wss/AppShell/AppShell.mocks.js.map +1 -1
- package/lib/wss/AppShell/AppShell.stories.d.ts +11 -9
- package/lib/wss/AppShell/AppShell.stories.d.ts.map +1 -1
- package/lib/wss/AppShell/AppShell.stories.js +12 -19
- package/lib/wss/AppShell/AppShell.stories.js.map +1 -1
- package/lib/wss/PageTemplates/PageTemplates.stories.d.ts +15 -0
- package/lib/wss/PageTemplates/PageTemplates.stories.d.ts.map +1 -0
- package/lib/wss/PageTemplates/PageTemplates.stories.js +41 -0
- package/lib/wss/PageTemplates/PageTemplates.stories.js.map +1 -0
- package/package.json +10 -11
- package/jsx/core/FieldValueList/FieldValueList.mocks.d.ts +0 -3
- package/jsx/core/FieldValueList/FieldValueList.mocks.d.ts.map +0 -1
- package/jsx/core/FieldValueList/FieldValueList.mocks.js.map +0 -1
- package/jsx/cs/CSCaseView/CSAppShell.mocks.d.ts +0 -73
- package/jsx/cs/CSCaseView/CSAppShell.mocks.d.ts.map +0 -1
- package/jsx/cs/CSCaseView/CSAppShell.mocks.jsx +0 -299
- package/jsx/cs/CSCaseView/CSAppShell.mocks.jsx.map +0 -1
- package/jsx/cs/CSCaseView/CSAppShell.stories.d.ts +0 -13
- package/jsx/cs/CSCaseView/CSAppShell.stories.d.ts.map +0 -1
- package/jsx/cs/CSCaseView/CSAppShell.stories.jsx +0 -228
- package/jsx/cs/CSCaseView/CSAppShell.stories.jsx.map +0 -1
- package/lib/core/FieldValueList/FieldValueList.mocks.d.ts +0 -3
- package/lib/core/FieldValueList/FieldValueList.mocks.d.ts.map +0 -1
- package/lib/core/FieldValueList/FieldValueList.mocks.js.map +0 -1
- package/lib/cs/CSCaseView/CSAppShell.mocks.d.ts +0 -73
- package/lib/cs/CSCaseView/CSAppShell.mocks.d.ts.map +0 -1
- package/lib/cs/CSCaseView/CSAppShell.mocks.js +0 -280
- package/lib/cs/CSCaseView/CSAppShell.mocks.js.map +0 -1
- package/lib/cs/CSCaseView/CSAppShell.stories.d.ts +0 -13
- package/lib/cs/CSCaseView/CSAppShell.stories.d.ts.map +0 -1
- package/lib/cs/CSCaseView/CSAppShell.stories.js +0 -210
- package/lib/cs/CSCaseView/CSAppShell.stories.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppHeader.stories.d.ts","sourceRoot":"","sources":["../../../src/build/AppHeader/AppHeader.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"AppHeader.stories.d.ts","sourceRoot":"","sources":["../../../src/build/AppHeader/AppHeader.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAa,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;;AAGxE,wBAMU;AAEV,UAAU,mBAAoB,SAAQ,iBAAiB;IACrD,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,mBAAmB,CA0GpD,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { action } from '@storybook/addon-actions';
|
|
2
|
-
import { useContext } from 'react';
|
|
3
2
|
import { AppHeader } from '@pega/cosmos-react-build';
|
|
4
|
-
import { Button, Input, Modal,
|
|
3
|
+
import { Button, Input, Modal, useModalManager } from '@pega/cosmos-react-core';
|
|
5
4
|
export default {
|
|
6
5
|
title: 'Build/AppHeader',
|
|
7
6
|
component: AppHeader,
|
|
@@ -10,7 +9,7 @@ export default {
|
|
|
10
9
|
}
|
|
11
10
|
};
|
|
12
11
|
export const AppHeaderDemo = (args) => {
|
|
13
|
-
const { create } =
|
|
12
|
+
const { create } = useModalManager();
|
|
14
13
|
const openAddBranchModal = () => {
|
|
15
14
|
const { dismiss, update } = create(Modal, {
|
|
16
15
|
children: <Input label='Branch'/>,
|
|
@@ -110,7 +109,7 @@ export const AppHeaderDemo = (args) => {
|
|
|
110
109
|
};
|
|
111
110
|
AppHeaderDemo.args = {
|
|
112
111
|
variant: undefined,
|
|
113
|
-
text: '
|
|
112
|
+
text: 'AppStudioX (Main)',
|
|
114
113
|
count: null,
|
|
115
114
|
compact: false,
|
|
116
115
|
showPreview: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppHeader.stories.jsx","sourceRoot":"","sources":["../../../src/build/AppHeader/AppHeader.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"AppHeader.stories.jsx","sourceRoot":"","sources":["../../../src/build/AppHeader/AppHeader.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport { action } from '@storybook/addon-actions';\n\nimport { AppHeader, BranchButtonProps } from '@pega/cosmos-react-build';\nimport { Button, Input, Modal, useModalManager } from '@pega/cosmos-react-core';\n\nexport default {\n title: 'Build/AppHeader',\n component: AppHeader,\n parameters: {\n layout: 'fullscreen'\n }\n} as Meta;\n\ninterface AppHeaderStoryProps extends BranchButtonProps {\n showPreview: boolean;\n}\n\nexport const AppHeaderDemo: Story<AppHeaderStoryProps> = (args: AppHeaderStoryProps) => {\n const { create } = useModalManager();\n\n const openAddBranchModal = () => {\n const { dismiss, update } = create(Modal, {\n children: <Input label='Branch' />,\n heading: 'Add branch'\n });\n update({\n actions: [\n <Button onClick={dismiss}>Cancel</Button>,\n <Button onClick={dismiss} variant='primary'>\n Finish\n </Button>\n ]\n });\n };\n\n return (\n <AppHeader\n brand={{\n name: 'AppStudioX',\n visual: {\n icon: 'pegasus'\n },\n onClick: action('Clicked application')\n }}\n utils={{\n avatar: { name: 'Lee Ram' },\n search: {\n placeholder: 'Search anything, anywhere…'\n },\n branch: {\n text: args.text,\n count: args.count,\n variant: args.variant,\n compact: args.compact,\n items: [\n {\n primary: 'Commit to branch',\n id: 'commitToBranch',\n onClick: action('Clicked commitToBranch')\n },\n {\n primary: 'Merge branch',\n id: 'mergeBranch',\n onClick: action('Clicked mergeBranch')\n },\n {\n primary: 'View branch',\n id: 'viewBranch',\n onClick: action('Clicked viewBranch')\n },\n {\n primary: 'Switch branch',\n id: 'switchBranch',\n onClick: action('Clicked switchBranch')\n },\n {\n primary: 'Add branch',\n id: 'addBranch',\n onClick: () => {\n action('Clicked addBranch')();\n openAddBranchModal();\n }\n },\n {\n primary: 'View all branches',\n id: 'viewAllBranches',\n onClick: action('Clicked viewAllBranches')\n }\n ]\n },\n action: args.showPreview\n ? { id: 'preview', text: 'Preview', onClick: action('Clicked preview button') }\n : undefined\n }}\n links={[\n {\n id: '1',\n name: 'Applications',\n onClick: action('Clicked Applications')\n },\n {\n id: '2',\n name: 'Shared resources',\n onClick: action('Clicked Shared resources')\n },\n {\n id: '3',\n name: 'Teams',\n onClick: action('Clicked Teams')\n },\n {\n id: '4',\n name: 'AI & Analytics',\n onClick: action('Clicked AI & Analytics')\n },\n {\n id: '5',\n name: 'Deploy',\n onClick: action('Clicked Deploy')\n }\n ]}\n />\n );\n};\n\nAppHeaderDemo.args = {\n variant: undefined,\n text: 'AppStudioX (Main)',\n count: null,\n compact: false,\n showPreview: true\n};\n\nAppHeaderDemo.argTypes = {\n variant: { options: ['success', 'urgent'], control: { type: 'radio' } },\n text: { control: { type: 'text' } },\n count: { control: { type: 'number' } },\n compact: { control: { type: 'boolean' } },\n showPreview: { control: { type: 'boolean' } }\n};\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { memo,
|
|
1
|
+
import { memo, useMemo, useState } from 'react';
|
|
2
2
|
import { action } from '@storybook/addon-actions';
|
|
3
3
|
import { FlowModeller, DirectedGraph, FlowModellerHelper, Workbench } from '@pega/cosmos-react-build';
|
|
4
|
-
import { useOuterEvent, useEscape, useElement, Modal,
|
|
4
|
+
import { useOuterEvent, useEscape, useElement, Modal, ComboBox, menuHelpers, Text, useModalManager } from '@pega/cosmos-react-core';
|
|
5
5
|
import { nodeLibrary, nodeActions, exampleCRMNodesData, exampleCRMConnectorsData, emptyNodesData, emptyConnectorsData, FlowShapeType, DecisionTable, DeletePopover } from './FlowModeller.mocks';
|
|
6
6
|
import { StyledWrapper } from './FlowModeller.styles';
|
|
7
7
|
export default {
|
|
@@ -27,7 +27,7 @@ export const EmptyFlowChartView = () => {
|
|
|
27
27
|
const [target, setTarget] = useState(null);
|
|
28
28
|
const [deletePopoverEl, setDeletePopoverEl] = useElement(null);
|
|
29
29
|
const [connectorData, setConnectorData] = useState();
|
|
30
|
-
const { create } =
|
|
30
|
+
const { create } = useModalManager();
|
|
31
31
|
const selectNode = (nodeId) => {
|
|
32
32
|
const graph = new DirectedGraph(graphData);
|
|
33
33
|
const selectedNode = graph.getNode(nodeId);
|
|
@@ -165,7 +165,7 @@ export const CRMFlowChartView = (args) => {
|
|
|
165
165
|
const [target, setTarget] = useState(null);
|
|
166
166
|
const [deletePopoverEl, setDeletePopoverEl] = useElement(null);
|
|
167
167
|
const [connectorData, setConnectorData] = useState();
|
|
168
|
-
const { create } =
|
|
168
|
+
const { create } = useModalManager();
|
|
169
169
|
const selectNode = (nodeId) => {
|
|
170
170
|
const graph = new DirectedGraph(graphData);
|
|
171
171
|
const selectedNode = graph.getNode(nodeId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FlowModeller.stories.jsx","sourceRoot":"","sources":["../../../src/build/FlowModeller/FlowModeller.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAGlD,OAAO,EACL,YAAY,EAIZ,aAAa,EAIb,kBAAkB,EAGlB,SAAS,EAEV,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,aAAa,EACb,SAAS,EACT,UAAU,EACV,KAAK,EACL,mBAAmB,EACnB,QAAQ,EACR,WAAW,EAGX,IAAI,EACL,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,wBAAwB,EACxB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,aAAa,EACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,eAAe;IACb,KAAK,EAAE,oBAAoB;IAC3B,SAAS,EAAE,YAAY;IACvB,UAAU,EAAE;QACV,MAAM,EAAE,YAAY;KACrB;CACM,CAAC;AAMV,MAAM,CAAC,MAAM,kBAAkB,GAAU,GAAG,EAAE;IAC5C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAuC;QAC/E,KAAK,EAAE,cAAc;QACrB,UAAU,EAAE,mBAAmB;KAChC,CAAC,CAAC;IACH,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,EAA+B,CAAC;IACpF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAwC,CAAC;IACjF,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAuC;QACzE,KAAK,EAAE,EAAE;QACT,UAAU,EAAE,EAAE;KACf,CAAC,CAAC;IACH,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC1D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,UAAU,CAAc,IAAI,CAAC,CAAC;IAC5E,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,EAAkB,CAAC;IACrE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAEnD,MAAM,UAAU,GAAG,CAAC,MAAuB,EAAE,EAAE;QAC7C,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,aAAa,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,WAAW,CAAC;YACV,KAAK,EAAE,CAAC,YAAY,CAAC;YACrB,UAAU,EAAE,aAAa;SAC1B,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,MAAoB,EAAE,EAAE;QACjD,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE;YAClC,MAAM,CAAC,aAAa,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;SACxC;aAAM;YAEL,OAAO,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;SACnD;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,QAAkB,EAAE,QAA8B,EAAE,EAAE;QACrE,MAAM,YAAY,GAAG,QAAQ,CAAC,EAAE,KAAK,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3D,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC;YAC7C,QAAQ;YACR,SAAS;YACT,YAAY;YACZ,QAAQ;SACT,CAAC,CAAC;QACH,IAAI,WAAW,EAAE;YACf,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SACrC;IACH,CAAC,CAAC;IACF,MAAM,WAAW,GAAG,CAAC,UAAkB,EAAE,YAAoB,EAAE,EAAE;QAC/D,MAAM,CAAC,GAAG,EAAE;YACV,OAAO,CACL,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAChC;UAAA,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,YAAY,CAAE,CAAA,EAAE,IAAI,CAC/C;QAAA,EAAE,KAAK,CAAC,CACT,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,MAAoB,EAAE,KAAa,EAAE,EAAE;QACzD,IAAI,KAAK,EAAE;YACT,OAAO,WAAW,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;SAChD;QACD,YAAY,CAAE,MAAM,CAAC,cAAoC,EAAE,SAAS,CAAC,CAAC;IACxE,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,WAAiD,EAAE,EAAE;QACrE,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,KAAK,CAAC,gBAAgB,CAAC,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpE,WAAW,CAAC,EAAE,KAAK,EAAE,QAAS,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;QACnE,YAAY,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAClB,WAAiD,EACjD,SAAyB,EACzB,KAAa,EACb,cAA4C,EAC5C,CAAc,EACd,EAAE;QACF,IAAI,KAAK,EAAE;YACT,OAAO,WAAW,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;SACrD;QACD,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAClC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;QACpC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC5B,SAAS,CAAC,WAAW,CAAC,CAAC;QACvB,IAAI,CAAC,EAAE,MAAM,YAAY,OAAO,EAAE;YAChC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;YAC5B,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;SAC3C;IACH,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAE7B,MAAM,gBAAgB,GAAyC,MAAM,CAAC;QAEtE,IAAI,QAAQ,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YACrC,MAAM,gBAAgB,GACpB,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,aAAa,EAAE,EAAE;gBAC9C,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;gBACzB,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;gBAC9D,MAAM,aAAa,GAAmB,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACrE,IACE,aAAa,CAAC,EAAE,KAAK,gBAAgB,CAAC,EAAE;oBACxC,CAAC,aAAa,CAAC,KAAK,KAAK,SAAS,IAAI,aAAa,CAAC,KAAK,KAAK,WAAW,CAAC,EAC1E;oBACA,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;oBACzB,MAAM;iBACP;aACF;SACF;QAED,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAClD,MAAM,aAAa,GAAG,KAAK,CAAC,gBAAgB,CAAC,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpE,WAAW,CAAC,EAAE,KAAK,EAAE,QAAS,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;QACnE,IAAI,gBAAgB;YAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACrD,UAAU,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7B,UAAU,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE;QACjC,OAAO,CACL,EACE;QAAA,CAAC,QAAQ,IAAI,CACX,CAAC,aAAa,CACZ,WAAW,CAAC,CAAC,SAAS,CAAC,CACvB,UAAU,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CACjC,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CACzB,QAAQ,CAAC,CAAC,QAAQ,CAAC,EACnB,CACH,CACH;MAAA,GAAG,CACJ,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,CAAC;IAExD,OAAO,CACL,CAAC,aAAa,CACZ;MAAA,CAAC,SAAS,CACR,uBAAuB,CAAC,CAAC,SAAS,CAAC,CACnC,kBAAkB,CAAC,CAAC;YAClB,IAAI;YACJ,OAAO,EAAE,CAAC,gBAAgB,CAAC,AAAD,EAAG;YAC7B,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAe;YAC1C,SAAS,EAAE,GAAG,EAAE;gBACd,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;SACF,CAAC,CAEF;QAAA,CAAC,YAAY,CACX,SAAS,CAAC,CAAC,SAAS,CAAC,CACrB,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,SAAS,CAAC,CAAC,OAAO,CAAC,CACnB,WAAW,CAAC,CAAC,UAAU,CAAC,CACxB,OAAO,CAAC,CAAC,WAAW,CAAC,CACrB,aAAa,CAAC,CAAC,cAAc,CAAC,CAC9B,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,CACrC,QAAQ,CAAC,CAAC,UAAU,CAAC,EAEvB;QAAA,CAAC,aAAa,CACZ,QAAQ,CAAC,CAAC,MAAM,CAAC,CACjB,GAAG,CAAC,CAAC,kBAAkB,CAAC,CACxB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,WAAW,CAAC,CAAC,WAAW,CAAC,EAE7B;MAAA,EAAE,SAAS,CACb;IAAA,EAAE,aAAa,CAAC,CACjB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAuC,CAClE,IAAiC,EACjC,EAAE;IACF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAuC;QAC/E,KAAK,EAAE,mBAAmB;QAC1B,UAAU,EAAE,wBAAwB;KACrC,CAAC,CAAC;IACH,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,EAAwC,CAAC;IACjF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAChC,SAAS,EAAE,KAAK;SACb,MAAM,CACL,IAAI,CAAC,EAAE,CACL,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,OAAO,IAAI,IAAI,CAAC,EAAE,KAAK,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAC3F;SACA,GAAG,CAAC,MAAM,CAAC,EAAE;QACZ,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,KAAK;YACrB,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,QAAQ,EAAE,KAAK;SACC,CAAC;IACrB,CAAC,CAAC,CACL,CAAC;IACF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,EAA+B,CAAC;IACpF,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAGxC,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAuC;QACzE,KAAK,EAAE,EAAE;QACT,UAAU,EAAE,EAAE;KACf,CAAC,CAAC;IACH,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC1D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,UAAU,CAAc,IAAI,CAAC,CAAC;IAC5E,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,EAAkB,CAAC;IACrE,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAEnD,MAAM,UAAU,GAAG,CAAC,MAAuB,EAAE,EAAE;QAC7C,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,aAAa,GAAG,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,WAAW,CAAC;YACV,KAAK,EAAE,CAAC,YAAY,CAAC;YACrB,UAAU,EAAE,aAAa;SAC1B,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,MAAoB,EAAE,EAAE;QACjD,IAAI,MAAM,CAAC,QAAQ,KAAK,UAAU,EAAE;YAClC,MAAM,CAAC,aAAa,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;SACxC;aAAM;YAEL,OAAO,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;SACnD;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,QAAkB,EAAE,QAA8B,EAAE,EAAE;QACrE,MAAM,YAAY,GAAG,QAAQ,CAAC,EAAE,KAAK,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3D,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC;YAC7C,QAAQ;YACR,SAAS;YACT,YAAY;YACZ,QAAQ;SACT,CAAC,CAAC;QACH,IAAI,WAAW,EAAE;YACf,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SACrC;IACH,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,UAAkB,EAAE,YAAoB,EAAE,EAAE;QAC/D,MAAM,CAAC,GAAG,EAAE;YACV,OAAO,CACL,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAChC;UAAA,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,YAAY,CAAE,CAAA,EAAE,IAAI,CAC/C;QAAA,EAAE,KAAK,CAAC,CACT,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,MAAoB,EAAE,KAAa,EAAE,EAAE;QACzD,IAAI,KAAK,EAAE;YACT,OAAO,WAAW,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;SAChD;QACD,YAAY,CAAE,MAAM,CAAC,cAAoC,EAAE,SAAS,CAAC,CAAC;IACxE,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,WAAiD,EAAE,EAAE;QACrE,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,KAAK,CAAC,gBAAgB,CAAC,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpE,WAAW,CAAC,EAAE,KAAK,EAAE,QAAS,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;QACnE,YAAY,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAClB,WAAiD,EACjD,SAAyB,EACzB,KAAa,EACb,cAA4C,EAC5C,CAAc,EACd,EAAE;QACF,IAAI,KAAK,EAAE;YACT,OAAO,WAAW,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;SACrD;QACD,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAClC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;QACpC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAC5B,SAAS,CAAC,WAAW,CAAC,CAAC;QACvB,IAAI,CAAC,EAAE,MAAM,YAAY,OAAO,EAAE;YAChC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;YAC5B,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;SAC3C;IACH,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAE7B,MAAM,gBAAgB,GAAyC,MAAM,CAAC;QAEtE,IAAI,QAAQ,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YACrC,MAAM,gBAAgB,GACpB,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,aAAa,EAAE,EAAE;gBAC9C,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;gBACzB,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;gBAC9D,MAAM,aAAa,GAAmB,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACrE,IACE,aAAa,CAAC,EAAE,KAAK,gBAAgB,CAAC,EAAE;oBACxC,CAAC,aAAa,CAAC,KAAK,KAAK,SAAS,IAAI,aAAa,CAAC,KAAK,KAAK,WAAW,CAAC,EAC1E;oBACA,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;oBACzB,MAAM;iBACP;aACF;SACF;QAED,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,gBAAgB,CAAC,CAAC;QAClD,MAAM,aAAa,GAAG,KAAK,CAAC,gBAAgB,CAAC,QAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpE,WAAW,CAAC,EAAE,KAAK,EAAE,QAAS,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;QACnE,IAAI,gBAAgB;YAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACvD,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7B,UAAU,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE;QACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAE3E,MAAM,UAAU,GAAG,CAAC,EAAuB,EAAE,EAAE;YAC7C,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACpD,IAAI,YAAY,IAAI,QAAQ,EAAE;gBAC5B,MAAM,WAAW,GAAG;oBAClB,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;oBACpB,SAAS,EAAE,YAAY,CAAC,EAAE;iBAC3B,CAAC;gBACF,MAAM,YAAY,GAAG;oBACnB,WAAW;oBACX,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;iBACrE,CAAC;gBACF,WAAW,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACnD,YAAY,CAAC,EAAE,GAAG,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC;aACrD;YACD,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC;QAEF,OAAO,CACL,EACE;QAAA,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,IAAI,CACnD,CAAC,aAAa,CACZ,WAAW,CAAC,CAAC,SAAS,CAAC,CACvB,UAAU,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CACjC,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CACzB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EACxB,CACH,CACD;QAAA,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,IAAI,CACnD,CAAC,QAAQ,CACP,KAAK,CAAC,OAAO,CACb,WAAW,CAAC,aAAa,CACzB,IAAI,CAAC,CAAC;oBACJ,KAAK;oBACL,WAAW,EAAE,UAAU;iBACxB,CAAC,CACF,QAAQ,CAAC,CACP,QAAQ;oBACN,CAAC,CAAC;wBACE,KAAK,EAAE;4BACL,EAAE,EAAE,QAAQ,CAAC,EAAE;4BACf,IAAI,EAAE,QAAQ,CAAC,OAAO;yBACvB;qBACF;oBACH,CAAC,CAAC,SAAS,CACd,EACD,CACH,CACH;MAAA,GAAG,CACJ,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,QAAQ,CAAC,CAAC;IAEpB,aAAa,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,CAAC;IAExD,MAAM,eAAe,GAAG,CAAC,SAAkB,EAAE,EAAE;QAC7C,IAAI,SAAS,EAAE;YACb,OAAO;gBACL,GAAG,SAAS;gBACZ,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAe,EAAE,EAAE;oBAC7C,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,IAAI,IAAI,CAAC,EAAE,KAAK,KAAK,EAAE;wBACpF,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;qBAClD;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC;aACH,CAAC;SACH;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IAEF,OAAO,CACL,CAAC,aAAa,CACZ;MAAA,CAAC,SAAS,CACR,uBAAuB,CAAC,CAAC,SAAS,CAAC,CACnC,kBAAkB,CAAC,CAAC;YAClB,IAAI;YACJ,OAAO,EAAE,CAAC,gBAAgB,CAAC,AAAD,EAAG;YAC7B,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAe;YAC1C,SAAS,EAAE,GAAG,EAAE;gBACd,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;SACF,CAAC,CAEF;QAAA,CAAC,YAAY,CACX,SAAS,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,CAAC,CACzD,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,SAAS,CAAC,CAAC,OAAO,CAAC,CACnB,WAAW,CAAC,CAAC,UAAU,CAAC,CACxB,OAAO,CAAC,CAAC,WAAW,CAAC,CACrB,aAAa,CAAC,CAAC,cAAc,CAAC,CAC9B,iBAAiB,CAAC,CAAC,iBAAiB,CAAC,CACrC,QAAQ,CAAC,CAAC,UAAU,CAAC,CACrB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAE1B;QAAA,CAAC,aAAa,CACZ,QAAQ,CAAC,CAAC,MAAM,CAAC,CACjB,GAAG,CAAC,CAAC,kBAAkB,CAAC,CACxB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,WAAW,CAAC,CAAC,WAAW,CAAC,EAE7B;MAAA,EAAE,SAAS,CACb;IAAA,EAAE,aAAa,CAAC,CACjB,CAAC;AACJ,CAAC,CAAC;AAEF,gBAAgB,CAAC,IAAI,GAAG;IACtB,cAAc,EAAE,KAAK;IACrB,QAAQ,EAAE,KAAK;CAChB,CAAC;AAEF,gBAAgB,CAAC,QAAQ,GAAG;IAC1B,cAAc,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;IAChD,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;CAC3C,CAAC","sourcesContent":["import { memo, useContext, useMemo, useState } from 'react';\nimport { action } from '@storybook/addon-actions';\nimport { Meta, Story } from '@storybook/react';\n\nimport {\n FlowModeller,\n ActionParams,\n NodeProps,\n NodeType,\n DirectedGraph,\n GraphData,\n DeleteNodeOutcome,\n ConnectorProps,\n FlowModellerHelper,\n AddNodeHandlerParams,\n RendererProps,\n Workbench,\n FlowModellerProps\n} from '@pega/cosmos-react-build';\nimport {\n useOuterEvent,\n useEscape,\n useElement,\n Modal,\n ModalManagerContext,\n ComboBox,\n menuHelpers,\n MenuItemProps,\n MenuProps,\n Text\n} from '@pega/cosmos-react-core';\n\nimport {\n nodeLibrary,\n nodeActions,\n exampleCRMNodesData,\n exampleCRMConnectorsData,\n emptyNodesData,\n emptyConnectorsData,\n FlowShapeType,\n DecisionTable,\n DeletePopover\n} from './FlowModeller.mocks';\nimport { StyledWrapper } from './FlowModeller.styles';\n\nexport default {\n title: 'Build/FlowModeller',\n component: FlowModeller,\n parameters: {\n layout: 'fullscreen'\n }\n} as Meta;\ninterface FlowChartDemoProps extends FlowModellerProps {\n showErrorState?: boolean;\n readOnly?: boolean;\n}\n\nexport const EmptyFlowChartView: Story = () => {\n const [graphData, setGraphData] = useState<GraphData<NodeProps, ConnectorProps>>({\n nodes: emptyNodesData,\n connectors: emptyConnectorsData\n });\n const [highlightItems, setHighlightItems] = useState<RendererProps['highlights']>();\n const [open, setOpen] = useState(false);\n const [nodeData, setNodeData] = useState<GraphData<NodeProps, ConnectorProps>>();\n const [showPopover, setPopover] = useState(false);\n const [buffer, setBuffer] = useState<GraphData<NodeProps, ConnectorProps>>({\n nodes: [],\n connectors: []\n });\n const [target, setTarget] = useState<string | null>(null);\n const [deletePopoverEl, setDeletePopoverEl] = useElement<HTMLElement>(null);\n const [connectorData, setConnectorData] = useState<ConnectorProps>();\n const { create } = useContext(ModalManagerContext);\n\n const selectNode = (nodeId: NodeProps['id']) => {\n const graph = new DirectedGraph(graphData);\n const selectedNode = graph.getNode(nodeId);\n const outConnectors = graph.getOutConnectors(nodeId);\n setOpen(true);\n setNodeData({\n nodes: [selectedNode],\n connectors: outConnectors\n });\n };\n\n const onNodeActionClick = (params: ActionParams) => {\n if (params.actionId === 'action-2') {\n action(`ressigned ${params.nodeId}`)();\n } else {\n // eslint-disable-next-line no-console\n console.warn(`Unknown action ${params.actionId}`);\n }\n };\n\n const addNode = (nodeType: NodeType, metaData: AddNodeHandlerParams) => {\n const isBranchNode = nodeType.id === FlowShapeType.GOTO.id;\n const UpdatedData = FlowModellerHelper.addNode({\n nodeType,\n graphData,\n isBranchNode,\n metaData\n });\n if (UpdatedData) {\n setGraphData(UpdatedData.graphData);\n }\n };\n const launchModal = (errorTitle: string, errorMessage: string) => {\n create(() => {\n return (\n <Modal heading={errorTitle} center>\n <Text variant='primary'>{errorMessage} </Text>\n </Modal>\n );\n });\n };\n\n const deleteNode = (params: ActionParams, error: string) => {\n if (error) {\n return launchModal('Delete step error', error);\n }\n setGraphData((params.additionalData as DeleteNodeOutcome)?.graphData);\n };\n\n const onAddRow = (updatedData: GraphData<NodeProps, ConnectorProps>) => {\n const graph = new DirectedGraph(updatedData);\n const outConnectors = graph.getOutConnectors(nodeData!.nodes[0].id);\n setNodeData({ nodes: nodeData!.nodes, connectors: outConnectors });\n setGraphData(updatedData);\n };\n\n const onDeleteRow = (\n updatedData: GraphData<NodeProps, ConnectorProps>,\n connector: ConnectorProps,\n error: string,\n highlightsData?: RendererProps['highlights'],\n e?: MouseEvent\n ) => {\n if (error) {\n return launchModal('Delete connector error', error);\n }\n setHighlightItems(highlightsData);\n setPopover(prevState => !prevState);\n setConnectorData(connector);\n setBuffer(updatedData);\n if (e?.target instanceof Element) {\n const targetElem = e.target;\n setTarget(targetElem?.getAttribute('id'));\n }\n };\n\n const onDelete = () => {\n setHighlightItems(undefined);\n\n const updatedGraphData: GraphData<NodeProps, ConnectorProps> = buffer;\n // Remove default labels when the current number of connectors are one\n if (nodeData?.connectors.length === 2) {\n const defaultConnector: ConnectorProps =\n nodeData?.connectors[0].id !== connectorData?.id\n ? nodeData?.connectors[0]\n : nodeData?.connectors[1];\n for (let i = 0; i < updatedGraphData.connectors.length; i += 1) {\n const connectorEdge: ConnectorProps = updatedGraphData.connectors[i];\n if (\n connectorEdge.id === defaultConnector.id &&\n (connectorEdge.label === 'Default' || connectorEdge.label === 'Otherwise')\n ) {\n connectorEdge.label = '';\n break;\n }\n }\n }\n\n const graph = new DirectedGraph(updatedGraphData);\n const outConnectors = graph.getOutConnectors(nodeData!.nodes[0].id);\n setNodeData({ nodes: nodeData!.nodes, connectors: outConnectors });\n if (updatedGraphData) setGraphData(updatedGraphData);\n setPopover(false);\n };\n\n const onCancel = () => {\n setHighlightItems(undefined);\n setPopover(false);\n };\n\n const WorkbenchContent = memo(() => {\n return (\n <>\n {nodeData && (\n <DecisionTable\n updatedData={graphData}\n connectors={nodeData?.connectors}\n onDeleteRow={onDeleteRow}\n node={nodeData?.nodes[0]}\n onAddRow={onAddRow}\n />\n )}\n </>\n );\n });\n useEscape(() => {\n onCancel();\n });\n\n useOuterEvent('mousedown', [deletePopoverEl], onCancel);\n\n return (\n <StyledWrapper>\n <Workbench\n initiallyVisiblePanelId={undefined}\n configurationPanel={{\n open,\n content: <WorkbenchContent />,\n header: nodeData?.nodes[0].label as string,\n onDismiss: () => {\n setOpen(false);\n }\n }}\n >\n <FlowModeller\n graphData={graphData}\n nodeLibrary={nodeLibrary}\n onNodeAdd={addNode}\n onNodeClick={selectNode}\n actions={nodeActions}\n highlightData={highlightItems}\n onNodeActionClick={onNodeActionClick}\n onDelete={deleteNode}\n />\n <DeletePopover\n targetId={target}\n ref={setDeletePopoverEl}\n onDelete={onDelete}\n onCancel={onCancel}\n showPopover={showPopover}\n />\n </Workbench>\n </StyledWrapper>\n );\n};\n\nexport const CRMFlowChartView: Story<Partial<FlowChartDemoProps>> = (\n args: Partial<FlowChartDemoProps>\n) => {\n const [graphData, setGraphData] = useState<GraphData<NodeProps, ConnectorProps>>({\n nodes: exampleCRMNodesData,\n connectors: exampleCRMConnectorsData\n });\n const [nodeData, setNodeData] = useState<GraphData<NodeProps, ConnectorProps>>();\n const [items, setItems] = useState<MenuProps['items']>(\n graphData?.nodes\n .filter(\n node =>\n node.type.id !== 'start' && node.id !== nodeData?.nodes[0].id && node.type.id !== 'goto'\n )\n .map(option => {\n return {\n primary: option.label,\n id: option.id,\n selected: false\n } as MenuItemProps;\n })\n );\n const [highlightItems, setHighlightItems] = useState<RendererProps['highlights']>();\n const [open, setOpen] = useState(false);\n // nodeData maintains the state of selected node\n\n const [showPopover, setPopover] = useState(false);\n const [buffer, setBuffer] = useState<GraphData<NodeProps, ConnectorProps>>({\n nodes: [],\n connectors: []\n });\n const [target, setTarget] = useState<string | null>(null);\n const [deletePopoverEl, setDeletePopoverEl] = useElement<HTMLElement>(null);\n const [connectorData, setConnectorData] = useState<ConnectorProps>();\n const { create } = useContext(ModalManagerContext);\n\n const selectNode = (nodeId: NodeProps['id']) => {\n const graph = new DirectedGraph(graphData);\n const selectedNode = graph.getNode(nodeId);\n const outConnectors = graph.getOutConnectors(nodeId);\n setOpen(true);\n setNodeData({\n nodes: [selectedNode],\n connectors: outConnectors\n });\n };\n\n const onNodeActionClick = (params: ActionParams) => {\n if (params.actionId === 'action-2') {\n action(`ressigned ${params.nodeId}`)();\n } else {\n // eslint-disable-next-line no-console\n console.warn(`Unknown action ${params.actionId}`);\n }\n };\n\n const addNode = (nodeType: NodeType, metaData: AddNodeHandlerParams) => {\n const isBranchNode = nodeType.id === FlowShapeType.GOTO.id;\n const UpdatedData = FlowModellerHelper.addNode({\n nodeType,\n graphData,\n isBranchNode,\n metaData\n });\n if (UpdatedData) {\n setGraphData(UpdatedData.graphData);\n }\n };\n\n const launchModal = (errorTitle: string, errorMessage: string) => {\n create(() => {\n return (\n <Modal heading={errorTitle} center>\n <Text variant='primary'>{errorMessage} </Text>\n </Modal>\n );\n });\n };\n\n const deleteNode = (params: ActionParams, error: string) => {\n if (error) {\n return launchModal('Delete step error', error);\n }\n setGraphData((params.additionalData as DeleteNodeOutcome)?.graphData);\n };\n\n const onAddRow = (updatedData: GraphData<NodeProps, ConnectorProps>) => {\n const graph = new DirectedGraph(updatedData);\n const outConnectors = graph.getOutConnectors(nodeData!.nodes[0].id);\n setNodeData({ nodes: nodeData!.nodes, connectors: outConnectors });\n setGraphData(updatedData);\n };\n\n const onDeleteRow = (\n updatedData: GraphData<NodeProps, ConnectorProps>,\n connector: ConnectorProps,\n error: string,\n highlightsData?: RendererProps['highlights'],\n e?: MouseEvent\n ) => {\n if (error) {\n return launchModal('Delete connector error', error);\n }\n setHighlightItems(highlightsData);\n setPopover(prevState => !prevState);\n setConnectorData(connector);\n setBuffer(updatedData);\n if (e?.target instanceof Element) {\n const targetElem = e.target;\n setTarget(targetElem?.getAttribute('id'));\n }\n };\n\n const onDelete = () => {\n setPopover(false);\n setHighlightItems(undefined);\n\n const updatedGraphData: GraphData<NodeProps, ConnectorProps> = buffer;\n // Remove default labels when the current number of connectors are one\n if (nodeData?.connectors.length === 2) {\n const defaultConnector: ConnectorProps =\n nodeData?.connectors[0].id !== connectorData?.id\n ? nodeData?.connectors[0]\n : nodeData?.connectors[1];\n for (let i = 0; i < updatedGraphData.connectors.length; i += 1) {\n const connectorEdge: ConnectorProps = updatedGraphData.connectors[i];\n if (\n connectorEdge.id === defaultConnector.id &&\n (connectorEdge.label === 'Default' || connectorEdge.label === 'Otherwise')\n ) {\n connectorEdge.label = '';\n break;\n }\n }\n }\n\n const graph = new DirectedGraph(updatedGraphData);\n const outConnectors = graph.getOutConnectors(nodeData!.nodes[0].id);\n setNodeData({ nodes: nodeData!.nodes, connectors: outConnectors });\n if (updatedGraphData) setGraphData(updatedGraphData);\n };\n\n const onCancel = () => {\n setHighlightItems(undefined);\n setPopover(false);\n };\n\n const WorkbenchContent = memo(() => {\n const selected = useMemo(() => menuHelpers.getSelected(items)[0], [items]);\n\n const selectItem = (id: MenuItemProps['id']) => {\n const selectedItem = menuHelpers.getItem(items, id);\n if (selectedItem && nodeData) {\n const updatedNode = {\n ...nodeData.nodes[0],\n reference: selectedItem.id\n };\n const updatedNodes = [\n updatedNode,\n ...graphData.nodes.filter(node => nodeData?.nodes[0].id !== node.id)\n ];\n setNodeData({ ...nodeData, nodes: [updatedNode] });\n setGraphData({ ...graphData, nodes: updatedNodes });\n }\n setItems(cur => menuHelpers.selectItem(cur, id, 'single-select'));\n };\n\n return (\n <>\n {nodeData && nodeData.nodes[0].type.id !== 'goto' && (\n <DecisionTable\n updatedData={graphData}\n connectors={nodeData?.connectors}\n onDeleteRow={onDeleteRow}\n node={nodeData?.nodes[0]}\n onAddRow={onAddRow}\n readOnly={args.readOnly}\n />\n )}\n {nodeData && nodeData.nodes[0].type.id === 'goto' && (\n <ComboBox\n label='Go to'\n placeholder='Select step'\n menu={{\n items,\n onItemClick: selectItem\n }}\n selected={\n selected\n ? {\n items: {\n id: selected.id,\n text: selected.primary\n }\n }\n : undefined\n }\n />\n )}\n </>\n );\n });\n\n useEscape(onCancel);\n\n useOuterEvent('mousedown', [deletePopoverEl], onCancel);\n\n const createGraphData = (showError: boolean) => {\n if (showError) {\n return {\n ...graphData,\n nodes: graphData.nodes.map((node: NodeProps) => {\n if (node.id === '101' || node.id === '105' || node.id === '110' || node.id === '112') {\n return { ...node, error: 'Something is wrong!' };\n }\n return node;\n })\n };\n }\n return graphData;\n };\n\n return (\n <StyledWrapper>\n <Workbench\n initiallyVisiblePanelId={undefined}\n configurationPanel={{\n open,\n content: <WorkbenchContent />,\n header: nodeData?.nodes[0].label as string,\n onDismiss: () => {\n setOpen(false);\n }\n }}\n >\n <FlowModeller\n graphData={createGraphData(args.showErrorState || false)}\n nodeLibrary={nodeLibrary}\n onNodeAdd={addNode}\n onNodeClick={selectNode}\n actions={nodeActions}\n highlightData={highlightItems}\n onNodeActionClick={onNodeActionClick}\n onDelete={deleteNode}\n readOnly={args.readOnly}\n />\n <DeletePopover\n targetId={target}\n ref={setDeletePopoverEl}\n onDelete={onDelete}\n onCancel={onCancel}\n showPopover={showPopover}\n />\n </Workbench>\n </StyledWrapper>\n );\n};\n\nCRMFlowChartView.args = {\n showErrorState: false,\n readOnly: false\n};\n\nCRMFlowChartView.argTypes = {\n showErrorState: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } }\n};\n"]}
|
|
1
|
+
{"version":3,"file":"FlowModeller.stories.jsx","sourceRoot":"","sources":["../../../src/build/FlowModeller/FlowModeller.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { memo, useMemo, useState } from 'react';\nimport { action } from '@storybook/addon-actions';\nimport { Meta, Story } from '@storybook/react';\n\nimport {\n FlowModeller,\n ActionParams,\n NodeProps,\n NodeType,\n DirectedGraph,\n GraphData,\n DeleteNodeOutcome,\n ConnectorProps,\n FlowModellerHelper,\n AddNodeHandlerParams,\n RendererProps,\n Workbench,\n FlowModellerProps\n} from '@pega/cosmos-react-build';\nimport {\n useOuterEvent,\n useEscape,\n useElement,\n Modal,\n ComboBox,\n menuHelpers,\n MenuItemProps,\n MenuProps,\n Text,\n useModalManager\n} from '@pega/cosmos-react-core';\n\nimport {\n nodeLibrary,\n nodeActions,\n exampleCRMNodesData,\n exampleCRMConnectorsData,\n emptyNodesData,\n emptyConnectorsData,\n FlowShapeType,\n DecisionTable,\n DeletePopover\n} from './FlowModeller.mocks';\nimport { StyledWrapper } from './FlowModeller.styles';\n\nexport default {\n title: 'Build/FlowModeller',\n component: FlowModeller,\n parameters: {\n layout: 'fullscreen'\n }\n} as Meta;\ninterface FlowChartDemoProps extends FlowModellerProps {\n showErrorState?: boolean;\n readOnly?: boolean;\n}\n\nexport const EmptyFlowChartView: Story = () => {\n const [graphData, setGraphData] = useState<GraphData<NodeProps, ConnectorProps>>({\n nodes: emptyNodesData,\n connectors: emptyConnectorsData\n });\n const [highlightItems, setHighlightItems] = useState<RendererProps['highlights']>();\n const [open, setOpen] = useState(false);\n const [nodeData, setNodeData] = useState<GraphData<NodeProps, ConnectorProps>>();\n const [showPopover, setPopover] = useState(false);\n const [buffer, setBuffer] = useState<GraphData<NodeProps, ConnectorProps>>({\n nodes: [],\n connectors: []\n });\n const [target, setTarget] = useState<string | null>(null);\n const [deletePopoverEl, setDeletePopoverEl] = useElement<HTMLElement>(null);\n const [connectorData, setConnectorData] = useState<ConnectorProps>();\n const { create } = useModalManager();\n\n const selectNode = (nodeId: NodeProps['id']) => {\n const graph = new DirectedGraph(graphData);\n const selectedNode = graph.getNode(nodeId);\n const outConnectors = graph.getOutConnectors(nodeId);\n setOpen(true);\n setNodeData({\n nodes: [selectedNode],\n connectors: outConnectors\n });\n };\n\n const onNodeActionClick = (params: ActionParams) => {\n if (params.actionId === 'action-2') {\n action(`ressigned ${params.nodeId}`)();\n } else {\n // eslint-disable-next-line no-console\n console.warn(`Unknown action ${params.actionId}`);\n }\n };\n\n const addNode = (nodeType: NodeType, metaData: AddNodeHandlerParams) => {\n const isBranchNode = nodeType.id === FlowShapeType.GOTO.id;\n const UpdatedData = FlowModellerHelper.addNode({\n nodeType,\n graphData,\n isBranchNode,\n metaData\n });\n if (UpdatedData) {\n setGraphData(UpdatedData.graphData);\n }\n };\n const launchModal = (errorTitle: string, errorMessage: string) => {\n create(() => {\n return (\n <Modal heading={errorTitle} center>\n <Text variant='primary'>{errorMessage} </Text>\n </Modal>\n );\n });\n };\n\n const deleteNode = (params: ActionParams, error: string) => {\n if (error) {\n return launchModal('Delete step error', error);\n }\n setGraphData((params.additionalData as DeleteNodeOutcome)?.graphData);\n };\n\n const onAddRow = (updatedData: GraphData<NodeProps, ConnectorProps>) => {\n const graph = new DirectedGraph(updatedData);\n const outConnectors = graph.getOutConnectors(nodeData!.nodes[0].id);\n setNodeData({ nodes: nodeData!.nodes, connectors: outConnectors });\n setGraphData(updatedData);\n };\n\n const onDeleteRow = (\n updatedData: GraphData<NodeProps, ConnectorProps>,\n connector: ConnectorProps,\n error: string,\n highlightsData?: RendererProps['highlights'],\n e?: MouseEvent\n ) => {\n if (error) {\n return launchModal('Delete connector error', error);\n }\n setHighlightItems(highlightsData);\n setPopover(prevState => !prevState);\n setConnectorData(connector);\n setBuffer(updatedData);\n if (e?.target instanceof Element) {\n const targetElem = e.target;\n setTarget(targetElem?.getAttribute('id'));\n }\n };\n\n const onDelete = () => {\n setHighlightItems(undefined);\n\n const updatedGraphData: GraphData<NodeProps, ConnectorProps> = buffer;\n // Remove default labels when the current number of connectors are one\n if (nodeData?.connectors.length === 2) {\n const defaultConnector: ConnectorProps =\n nodeData?.connectors[0].id !== connectorData?.id\n ? nodeData?.connectors[0]\n : nodeData?.connectors[1];\n for (let i = 0; i < updatedGraphData.connectors.length; i += 1) {\n const connectorEdge: ConnectorProps = updatedGraphData.connectors[i];\n if (\n connectorEdge.id === defaultConnector.id &&\n (connectorEdge.label === 'Default' || connectorEdge.label === 'Otherwise')\n ) {\n connectorEdge.label = '';\n break;\n }\n }\n }\n\n const graph = new DirectedGraph(updatedGraphData);\n const outConnectors = graph.getOutConnectors(nodeData!.nodes[0].id);\n setNodeData({ nodes: nodeData!.nodes, connectors: outConnectors });\n if (updatedGraphData) setGraphData(updatedGraphData);\n setPopover(false);\n };\n\n const onCancel = () => {\n setHighlightItems(undefined);\n setPopover(false);\n };\n\n const WorkbenchContent = memo(() => {\n return (\n <>\n {nodeData && (\n <DecisionTable\n updatedData={graphData}\n connectors={nodeData?.connectors}\n onDeleteRow={onDeleteRow}\n node={nodeData?.nodes[0]}\n onAddRow={onAddRow}\n />\n )}\n </>\n );\n });\n useEscape(() => {\n onCancel();\n });\n\n useOuterEvent('mousedown', [deletePopoverEl], onCancel);\n\n return (\n <StyledWrapper>\n <Workbench\n initiallyVisiblePanelId={undefined}\n configurationPanel={{\n open,\n content: <WorkbenchContent />,\n header: nodeData?.nodes[0].label as string,\n onDismiss: () => {\n setOpen(false);\n }\n }}\n >\n <FlowModeller\n graphData={graphData}\n nodeLibrary={nodeLibrary}\n onNodeAdd={addNode}\n onNodeClick={selectNode}\n actions={nodeActions}\n highlightData={highlightItems}\n onNodeActionClick={onNodeActionClick}\n onDelete={deleteNode}\n />\n <DeletePopover\n targetId={target}\n ref={setDeletePopoverEl}\n onDelete={onDelete}\n onCancel={onCancel}\n showPopover={showPopover}\n />\n </Workbench>\n </StyledWrapper>\n );\n};\n\nexport const CRMFlowChartView: Story<Partial<FlowChartDemoProps>> = (\n args: Partial<FlowChartDemoProps>\n) => {\n const [graphData, setGraphData] = useState<GraphData<NodeProps, ConnectorProps>>({\n nodes: exampleCRMNodesData,\n connectors: exampleCRMConnectorsData\n });\n const [nodeData, setNodeData] = useState<GraphData<NodeProps, ConnectorProps>>();\n const [items, setItems] = useState<MenuProps['items']>(\n graphData?.nodes\n .filter(\n node =>\n node.type.id !== 'start' && node.id !== nodeData?.nodes[0].id && node.type.id !== 'goto'\n )\n .map(option => {\n return {\n primary: option.label,\n id: option.id,\n selected: false\n } as MenuItemProps;\n })\n );\n const [highlightItems, setHighlightItems] = useState<RendererProps['highlights']>();\n const [open, setOpen] = useState(false);\n // nodeData maintains the state of selected node\n\n const [showPopover, setPopover] = useState(false);\n const [buffer, setBuffer] = useState<GraphData<NodeProps, ConnectorProps>>({\n nodes: [],\n connectors: []\n });\n const [target, setTarget] = useState<string | null>(null);\n const [deletePopoverEl, setDeletePopoverEl] = useElement<HTMLElement>(null);\n const [connectorData, setConnectorData] = useState<ConnectorProps>();\n const { create } = useModalManager();\n\n const selectNode = (nodeId: NodeProps['id']) => {\n const graph = new DirectedGraph(graphData);\n const selectedNode = graph.getNode(nodeId);\n const outConnectors = graph.getOutConnectors(nodeId);\n setOpen(true);\n setNodeData({\n nodes: [selectedNode],\n connectors: outConnectors\n });\n };\n\n const onNodeActionClick = (params: ActionParams) => {\n if (params.actionId === 'action-2') {\n action(`ressigned ${params.nodeId}`)();\n } else {\n // eslint-disable-next-line no-console\n console.warn(`Unknown action ${params.actionId}`);\n }\n };\n\n const addNode = (nodeType: NodeType, metaData: AddNodeHandlerParams) => {\n const isBranchNode = nodeType.id === FlowShapeType.GOTO.id;\n const UpdatedData = FlowModellerHelper.addNode({\n nodeType,\n graphData,\n isBranchNode,\n metaData\n });\n if (UpdatedData) {\n setGraphData(UpdatedData.graphData);\n }\n };\n\n const launchModal = (errorTitle: string, errorMessage: string) => {\n create(() => {\n return (\n <Modal heading={errorTitle} center>\n <Text variant='primary'>{errorMessage} </Text>\n </Modal>\n );\n });\n };\n\n const deleteNode = (params: ActionParams, error: string) => {\n if (error) {\n return launchModal('Delete step error', error);\n }\n setGraphData((params.additionalData as DeleteNodeOutcome)?.graphData);\n };\n\n const onAddRow = (updatedData: GraphData<NodeProps, ConnectorProps>) => {\n const graph = new DirectedGraph(updatedData);\n const outConnectors = graph.getOutConnectors(nodeData!.nodes[0].id);\n setNodeData({ nodes: nodeData!.nodes, connectors: outConnectors });\n setGraphData(updatedData);\n };\n\n const onDeleteRow = (\n updatedData: GraphData<NodeProps, ConnectorProps>,\n connector: ConnectorProps,\n error: string,\n highlightsData?: RendererProps['highlights'],\n e?: MouseEvent\n ) => {\n if (error) {\n return launchModal('Delete connector error', error);\n }\n setHighlightItems(highlightsData);\n setPopover(prevState => !prevState);\n setConnectorData(connector);\n setBuffer(updatedData);\n if (e?.target instanceof Element) {\n const targetElem = e.target;\n setTarget(targetElem?.getAttribute('id'));\n }\n };\n\n const onDelete = () => {\n setPopover(false);\n setHighlightItems(undefined);\n\n const updatedGraphData: GraphData<NodeProps, ConnectorProps> = buffer;\n // Remove default labels when the current number of connectors are one\n if (nodeData?.connectors.length === 2) {\n const defaultConnector: ConnectorProps =\n nodeData?.connectors[0].id !== connectorData?.id\n ? nodeData?.connectors[0]\n : nodeData?.connectors[1];\n for (let i = 0; i < updatedGraphData.connectors.length; i += 1) {\n const connectorEdge: ConnectorProps = updatedGraphData.connectors[i];\n if (\n connectorEdge.id === defaultConnector.id &&\n (connectorEdge.label === 'Default' || connectorEdge.label === 'Otherwise')\n ) {\n connectorEdge.label = '';\n break;\n }\n }\n }\n\n const graph = new DirectedGraph(updatedGraphData);\n const outConnectors = graph.getOutConnectors(nodeData!.nodes[0].id);\n setNodeData({ nodes: nodeData!.nodes, connectors: outConnectors });\n if (updatedGraphData) setGraphData(updatedGraphData);\n };\n\n const onCancel = () => {\n setHighlightItems(undefined);\n setPopover(false);\n };\n\n const WorkbenchContent = memo(() => {\n const selected = useMemo(() => menuHelpers.getSelected(items)[0], [items]);\n\n const selectItem = (id: MenuItemProps['id']) => {\n const selectedItem = menuHelpers.getItem(items, id);\n if (selectedItem && nodeData) {\n const updatedNode = {\n ...nodeData.nodes[0],\n reference: selectedItem.id\n };\n const updatedNodes = [\n updatedNode,\n ...graphData.nodes.filter(node => nodeData?.nodes[0].id !== node.id)\n ];\n setNodeData({ ...nodeData, nodes: [updatedNode] });\n setGraphData({ ...graphData, nodes: updatedNodes });\n }\n setItems(cur => menuHelpers.selectItem(cur, id, 'single-select'));\n };\n\n return (\n <>\n {nodeData && nodeData.nodes[0].type.id !== 'goto' && (\n <DecisionTable\n updatedData={graphData}\n connectors={nodeData?.connectors}\n onDeleteRow={onDeleteRow}\n node={nodeData?.nodes[0]}\n onAddRow={onAddRow}\n readOnly={args.readOnly}\n />\n )}\n {nodeData && nodeData.nodes[0].type.id === 'goto' && (\n <ComboBox\n label='Go to'\n placeholder='Select step'\n menu={{\n items,\n onItemClick: selectItem\n }}\n selected={\n selected\n ? {\n items: {\n id: selected.id,\n text: selected.primary\n }\n }\n : undefined\n }\n />\n )}\n </>\n );\n });\n\n useEscape(onCancel);\n\n useOuterEvent('mousedown', [deletePopoverEl], onCancel);\n\n const createGraphData = (showError: boolean) => {\n if (showError) {\n return {\n ...graphData,\n nodes: graphData.nodes.map((node: NodeProps) => {\n if (node.id === '101' || node.id === '105' || node.id === '110' || node.id === '112') {\n return { ...node, error: 'Something is wrong!' };\n }\n return node;\n })\n };\n }\n return graphData;\n };\n\n return (\n <StyledWrapper>\n <Workbench\n initiallyVisiblePanelId={undefined}\n configurationPanel={{\n open,\n content: <WorkbenchContent />,\n header: nodeData?.nodes[0].label as string,\n onDismiss: () => {\n setOpen(false);\n }\n }}\n >\n <FlowModeller\n graphData={createGraphData(args.showErrorState || false)}\n nodeLibrary={nodeLibrary}\n onNodeAdd={addNode}\n onNodeClick={selectNode}\n actions={nodeActions}\n highlightData={highlightItems}\n onNodeActionClick={onNodeActionClick}\n onDelete={deleteNode}\n readOnly={args.readOnly}\n />\n <DeletePopover\n targetId={target}\n ref={setDeletePopoverEl}\n onDelete={onDelete}\n onCancel={onCancel}\n showPopover={showPopover}\n />\n </Workbench>\n </StyledWrapper>\n );\n};\n\nCRMFlowChartView.args = {\n showErrorState: false,\n readOnly: false\n};\n\nCRMFlowChartView.argTypes = {\n showErrorState: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } }\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectSelect.mocks.d.ts","sourceRoot":"","sources":["../../../src/build/ObjectSelect/ObjectSelect.mocks.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAuB,iBAAiB,EAAW,MAAM,OAAO,CAAC;AAEjG,OAAO,EAML,mBAAmB,EACnB,KAAK,EACN,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAOL,aAAa,EAGb,gBAAgB,EAGhB,SAAS,EACT,cAAc,EACd,WAAW,EACX,SAAS,EACV,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAgB,iBAAiB,EAAiB,MAAM,0BAA0B,CAAC;AAI1F,eAAO,MAAM,cAAc,wBAA0D,CAAC;AAEtF,UAAU,SAAU,SAAQ,gBAAgB;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC;CACzC;AAED,UAAU,WAAW;IACnB,UAAU,CAAC,EAAE,aAAa,GAAG;QAAE,QAAQ,EAAE,GAAG,CAAA;KAAE,CAAC;IAC/C,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IAC7F,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAClC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAChC;AAED,eAAO,MAAM,YAAY;;;;;GAmCxB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;IAgDrB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,EAmG7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,mBAqB/B,CAAC;AAEF,eAAO,MAAM,UAAU,QAAO,SAAS,EAyBtC,CAAC;AAEF,eAAO,MAAM,YAAY,WACf,SAAS,EAAE,oBAKf,YAAY,gBAAgB,GAAG,mBAAmB,CAAC,GACnD,WAAW,gBAAgB,GAAG,mBAAmB,CAAC,gBAiBvD,CAAC;AAEF,eAAO,MAAM,cAAc,8CAA+C,WAAW,gBA4CpF,CAAC;AAEF,eAAO,MAAM,oBAAoB,SAAU,GAAG,gBA8C7C,CAAC;AAEF,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"ObjectSelect.mocks.d.ts","sourceRoot":"","sources":["../../../src/build/ObjectSelect/ObjectSelect.mocks.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAuB,iBAAiB,EAAW,MAAM,OAAO,CAAC;AAEjG,OAAO,EAML,mBAAmB,EACnB,KAAK,EACN,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAOL,aAAa,EAGb,gBAAgB,EAGhB,SAAS,EACT,cAAc,EACd,WAAW,EACX,SAAS,EACV,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAgB,iBAAiB,EAAiB,MAAM,0BAA0B,CAAC;AAI1F,eAAO,MAAM,cAAc,wBAA0D,CAAC;AAEtF,UAAU,SAAU,SAAQ,gBAAgB;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC;CACzC;AAED,UAAU,WAAW;IACnB,UAAU,CAAC,EAAE,aAAa,GAAG;QAAE,QAAQ,EAAE,GAAG,CAAA;KAAE,CAAC;IAC/C,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,sBAAsB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IAC7F,QAAQ,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAClC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAChC;AAED,eAAO,MAAM,YAAY;;;;;GAmCxB,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;IAgDrB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,EAmG7B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,mBAqB/B,CAAC;AAEF,eAAO,MAAM,UAAU,QAAO,SAAS,EAyBtC,CAAC;AAEF,eAAO,MAAM,YAAY,WACf,SAAS,EAAE,oBAKf,YAAY,gBAAgB,GAAG,mBAAmB,CAAC,GACnD,WAAW,gBAAgB,GAAG,mBAAmB,CAAC,gBAiBvD,CAAC;AAEF,eAAO,MAAM,cAAc,8CAA+C,WAAW,gBA4CpF,CAAC;AAEF,eAAO,MAAM,oBAAoB,SAAU,GAAG,gBA8C7C,CAAC;AAEF,eAAO,MAAM,gBAAgB,oGAsG5B,CAAC;AAEF,MAAM,WAAW,mBAAoB,SAAQ,SAAS,EAAE,cAAc;IACpE,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC1B,UAAU,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,YAAY,EAAE,iBAAiB,CAAC,mBAAmB,CA8C/D,CAAC"}
|
|
@@ -331,7 +331,8 @@ export const ObjectSelectComp = ({ popoverContent, ...args }) => {
|
|
|
331
331
|
close();
|
|
332
332
|
};
|
|
333
333
|
useEffect(() => {
|
|
334
|
-
setTimeout(() => setDataPagesDelayed(dataPages), 2000);
|
|
334
|
+
const timeout = setTimeout(() => setDataPagesDelayed(dataPages), 2000);
|
|
335
|
+
return () => clearTimeout(timeout);
|
|
335
336
|
}, []);
|
|
336
337
|
return (<Flex container={{ direction: 'column', gap: 1 }}>
|
|
337
338
|
<ObjectSelect {...args} loading={dataPagesDelayed.length === 0} onChange={id => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectSelect.mocks.jsx","sourceRoot":"","sources":["../../../src/build/ObjectSelect/ObjectSelect.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["// cSpell:words XPTI\nimport { ChangeEvent, FocusEvent, useState, useEffect, FunctionComponent, useMemo } from 'react';\n\nimport {\n AtomicCondition,\n LeafCondition,\n getInitConditionForLhs,\n RHSType,\n formatCondition,\n DateFunctionsByType,\n Field\n} from '@pega/cosmos-react-condition-builder';\nimport {\n Flex,\n Input,\n Card,\n CardContent,\n Text,\n menuHelpers,\n MenuItemProps,\n useI18n,\n StyledRegion,\n FormControlProps,\n TextArea,\n ComboBox,\n BaseProps,\n NoChildrenProp,\n DialogProps,\n MenuProps\n} from '@pega/cosmos-react-core';\nimport { ObjectSelect, ObjectSelectProps, ObjectPreview } from '@pega/cosmos-react-build';\n\nimport { StyledCodeBlock, StyledConfigurationContent } from './ObjectSelect.styles';\n\nexport const mockNetworkReq = () => new Promise(resolve => setTimeout(resolve, 2000));\n\ninterface FormField extends FormControlProps {\n help?: string;\n error?: string;\n validator: (this: FormField) => boolean;\n}\n\ninterface DrawerProps {\n drawerData?: MenuItemProps & { metaData: any };\n drawerOpen: boolean;\n setDrawerOpen: (value: boolean) => void;\n}\n\nexport interface ObjectSelectStoryProps<P extends object = object> extends ObjectSelectProps<P> {\n onSubmit: DialogProps['onSubmit'];\n onClose: () => void;\n popoverContent?: string;\n createNewAs?: 'modal' | 'link';\n}\n\nexport const skeletonData = [\n {\n id: '01-1',\n primary: 'primary-link-1',\n secondary: ['secondary-1'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-2',\n primary: 'primary-link-2',\n secondary: [\n 'secondary-1',\n 'secondary-2',\n 'secondary-3',\n 'secondary-4',\n 'secondary-5',\n 'secondary-6',\n 'secondary-7',\n 'secondary-8',\n 'secondary-9'\n ],\n href: 'http://www.pega.com'\n },\n {\n id: '01-3',\n primary: 'primary-link-3',\n secondary: ['secondary-1', 'secondary-2'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-4',\n primary: 'primary-link-4',\n secondary: ['secondary-1', 'secondary-2'],\n href: 'http://www.pega.com'\n }\n];\n\nexport const dataPages = [\n {\n id: '01-1',\n primary: 'MortgageRequestList-DataSource',\n metaData: [\n {\n name: 'Scope',\n value: 'O1XPTI-CCompass-Work-MortgageRequest'\n }\n ],\n secondary: ['O1XPTI-CCompass-Work-MortgageRequest'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-2',\n primary: 'Credit Scores List Data Source',\n metaData: [\n {\n name: 'Scope',\n value: 'CreditScore'\n }\n ],\n secondary: ['Scope', 'CreditScore'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-3',\n primary: 'GetAutoLoanByIDDataSource',\n metaData: [\n {\n name: 'Scope',\n value: 'O1XPTI-CCompass-Work-AutoLoan'\n }\n ],\n secondary: ['Scope', 'O1XPTI-CCompass-Work-AutoLoan'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-4',\n primary: 'DS_pyMyWorkList',\n metaData: [\n {\n name: 'Scope',\n value: 'O1XPTI-CCompass-Work-AutoLoan'\n }\n ],\n href: 'http://www.pega.com'\n }\n];\n\nexport const demoFields: Field[] = [\n { id: 'employeeId', primary: 'Employee ID', type: 'TEXT' },\n {\n id: 'details',\n primary: 'Details',\n items: [\n {\n id: 'details.firstName',\n primary: 'First Name',\n type: 'TEXT'\n },\n {\n id: 'details.lastName',\n primary: 'Last Name',\n type: 'TEXT',\n possibleValues: () => {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve([\n 'Value 1',\n 'Value 2',\n 'Value 3',\n 'Value 4',\n 'Value 5',\n 'Value 6',\n 'Value 7'\n ]);\n }, 5000);\n });\n }\n },\n { id: 'details.gender', primary: 'Gender', type: 'TEXT' },\n {\n id: 'details.age',\n primary: 'Age',\n type: 'NUMBER'\n },\n {\n id: 'details.profileDetails',\n primary: 'Profile Details',\n items: [\n {\n id: 'details.profileDetails.experience',\n primary: 'Experience (yrs)',\n type: 'NUMBER'\n },\n {\n id: 'details.profileDetails.department',\n primary: 'Department',\n type: 'TEXT',\n possibleValues: [\n 'Customer Service',\n 'Engineering',\n 'Facilities',\n 'Finance',\n 'HR',\n 'IT',\n 'Sales'\n ]\n }\n ]\n }\n ]\n },\n {\n id: 'salary',\n primary: 'Salary',\n type: 'NUMBER'\n },\n { id: 'hireDate', primary: 'Hire Date', type: 'DATE_ONLY' },\n { id: 'dateOfBirth', primary: 'Date of Birth', type: 'DATE_ONLY' },\n {\n id: 'technicalDetails',\n primary: 'Technical details',\n items: [\n {\n id: 'technicalDetails.shiftStartTime',\n primary: 'Shift start time',\n type: 'TIME_ONLY'\n },\n {\n id: 'technicalDetails.shiftEndTime',\n primary: 'Shift end time',\n type: 'TIME_ONLY'\n },\n {\n id: 'technicalDetails.lastActivityAt',\n primary: 'Last activity at',\n type: 'DATE_TIME'\n },\n {\n id: 'technicalDetails.nextPasswordReset',\n primary: 'Next password reset',\n type: 'DATE_TIME'\n }\n ]\n },\n { id: 'isSeniorCitizen', primary: 'Is Senior Citizen', type: 'BOOLEAN' },\n { id: 'isRemoteEmployee', primary: 'Is Remote Employee', type: 'BOOLEAN' }\n];\n\nexport const demoDateFunctions: DateFunctionsByType = {\n DATE_TIME: [\n 'YEARS',\n 'QUARTERS',\n 'MONTHS',\n 'WEEKS',\n 'DAYS',\n 'HOURS',\n 'MONTHS_OF_YEAR',\n 'DAYS_OF_MONTH',\n 'DAYS_OF_WEEK'\n ],\n DATE_ONLY: [\n 'YEARS',\n 'QUARTERS',\n 'MONTHS',\n 'WEEKS',\n 'MONTHS_OF_YEAR',\n 'DAYS_OF_MONTH',\n 'DAYS_OF_WEEK'\n ]\n};\n\nexport const initFields = (): FormField[] => {\n const common = { value: undefined, status: undefined };\n return [\n {\n ...common,\n name: 'name',\n required: true,\n error: 'Please enter a valid name for table',\n validator() {\n if (!this.value) return false;\n return /^[a-z]{1}[a-z0-9]+$/i.test(this.value);\n }\n },\n {\n ...common,\n name: 'description',\n required: true,\n help: 'Give an appropriate description for the table',\n error: 'Field cannot be empty',\n validator() {\n if (!this.value) return false;\n return true;\n }\n }\n ];\n};\n\nexport const fieldReducer = (\n fields: FormField[],\n {\n target,\n type\n }:\n | ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n | FocusEvent<HTMLInputElement | HTMLTextAreaElement>\n) => {\n return fields.map(field => {\n if (field.name === target.name) {\n field.value = target.value;\n if (type === 'blur' || field.status === 'error') {\n if ((field.required || field.value) && !field.validator()) {\n field.status = 'error';\n field.info = field.error;\n } else {\n field.status = undefined;\n field.info = field.help;\n }\n }\n }\n return field;\n });\n};\n\nexport const ViewportDrawer = ({ drawerData, drawerOpen, setDrawerOpen }: DrawerProps) => {\n return (\n <ObjectPreview\n open={drawerOpen}\n onDismiss={() => setDrawerOpen(false)}\n header={{\n title: drawerData?.primary || '',\n metadata: drawerData?.metaData || [],\n additionalInfo: {\n title: drawerData?.primary || '',\n description: 'Interest rate for the savings account',\n fields: drawerData?.metaData || [],\n onEdit: () => {}\n }\n }}\n content={\n <StyledConfigurationContent>\n <StyledRegion style={{ minHeight: '100vh' }} />\n </StyledConfigurationContent>\n }\n primaryAction={{\n id: 'PA',\n text: 'Save',\n onClick: () => {}\n }}\n secondaryAction={{\n id: 'SA',\n text: 'Open rule',\n onClick: () => {}\n }}\n actions={{\n items: [\n {\n id: '1',\n text: 'Page action 1'\n },\n {\n id: '2',\n text: 'Page action 2'\n }\n ]\n }}\n />\n );\n};\n\nexport const ConfigurationContent = (args: any) => {\n const [showErrorIndicators] = useState(false);\n\n const ConditionBuilder = (\n <AtomicCondition\n condition={args.condition}\n fields={demoFields}\n indicateErrors={showErrorIndicators}\n dateFunctions={demoDateFunctions}\n onChange={c => args.setCondition(c)}\n itemDirection='row'\n validRhsTypes={args.validRHSTypes}\n />\n );\n\n const Inputs = (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Text variant='h4'>Inputs</Text>\n <Flex container={{ direction: 'column', gap: 1 }}>\n {Array(10)\n .fill(0)\n .map((_, index) => (\n <Flex container={{ alignItems: 'end', gap: 1 }}>\n <Input\n label={`Name ${index + 1}`}\n labelHidden\n type='text'\n defaultValue={`Sample key ${index + 1}`}\n disabled\n readOnly={args.readOnly}\n />\n <Input\n label={`Value ${index + 1}`}\n labelHidden\n type='text'\n defaultValue={`Sample value ${index + 1}`}\n readOnly={args.readOnly}\n disabled={args.disabled}\n />\n </Flex>\n ))}\n </Flex>\n </Flex>\n );\n\n return args.popoverContent === 'advanced' ? ConditionBuilder : Inputs;\n};\n\nexport const ObjectSelectComp = <P extends object = object>({\n popoverContent,\n ...args\n}: ObjectSelectStoryProps<P>) => {\n const t = useI18n();\n const [value, setValue] = useState<ObjectSelectProps['value']>(args.value);\n\n const convertRhsTypes = (\n useLiteralRHSType: boolean,\n useFieldRHSType: boolean,\n useRelativeDatesType: boolean,\n dateFunctions?: DateFunctionsByType\n ) => {\n const setRhsTypes: Set<RHSType> = new Set<RHSType>();\n if (useLiteralRHSType) setRhsTypes.add('LITERAL');\n if (useFieldRHSType) setRhsTypes.add('FIELD');\n if (dateFunctions) setRhsTypes.add('DATE_FUNCTION');\n if (useRelativeDatesType) setRhsTypes.add('RELATIVE_DATE');\n return setRhsTypes;\n };\n\n const [dataPagesDelayed, setDataPagesDelayed] = useState<ObjectSelectProps['items']>([]);\n const validRHSTypes: Set<RHSType> = convertRhsTypes(true, true, true, demoDateFunctions);\n const [submitCondition, setSubmitCondition] = useState<LeafCondition | undefined>(undefined);\n const [condition, setCondition] = useState(\n () =>\n submitCondition ||\n getInitConditionForLhs(\n { field: 'details.age' },\n demoFields,\n validRHSTypes,\n undefined,\n demoDateFunctions\n )\n );\n\n const handleSubmission = ({ close }: { close: () => void }) => {\n setSubmitCondition(condition);\n close();\n };\n\n useEffect(() => {\n setTimeout(() => setDataPagesDelayed(dataPages), 2000);\n }, []);\n\n return (\n <Flex container={{ direction: 'column', gap: 1 }}>\n <ObjectSelect\n {...args}\n loading={dataPagesDelayed.length === 0}\n onChange={id => {\n const data = menuHelpers.getItem(dataPages, id);\n if (data) {\n setValue({\n id: data.id,\n primary: data.primary,\n href: data.href ?? '#',\n meta: data.id !== '01-4' ? data.secondary?.join(' ') : ''\n });\n } else setValue(undefined);\n }}\n items={dataPagesDelayed}\n configuration={{\n label: args.disabled || args.readOnly ? 'View Configuration' : 'Edit Configuration',\n heading: 'Map Parameters',\n onSubmit: popoverContent === 'advanced' ? handleSubmission : args.onSubmit,\n onClose: args.onClose,\n children: (\n <ConfigurationContent\n {...args}\n popoverContent={popoverContent}\n condition={condition}\n setCondition={setCondition}\n validRHSTypes={validRHSTypes}\n />\n )\n }}\n value={value}\n onPreview={(id, e: { href: string }) => {\n args.onPreview?.(id, e);\n }}\n />\n {popoverContent === 'advanced' && (\n <Card>\n <CardContent>\n <Text variant='h4'>Output:</Text>\n <StyledCodeBlock>\n {submitCondition ? JSON.stringify(submitCondition, null, 2) : '(No condition)'}\n </StyledCodeBlock>\n\n <Text variant='h4'>Formatted Output:</Text>\n <StyledCodeBlock>\n {submitCondition\n ? formatCondition({ condition: submitCondition }, demoFields, t)\n : '(No condition)'}\n </StyledCodeBlock>\n </CardContent>\n </Card>\n )}\n </Flex>\n );\n};\n\nexport interface CreateRuleFormProps extends BaseProps, NoChildrenProp {\n items: MenuProps['items'];\n selectItem: MenuProps['onItemClick'];\n scopeError?: boolean;\n}\n\nexport const FormRenderer: FunctionComponent<CreateRuleFormProps> = ({\n items,\n selectItem,\n scopeError\n}: CreateRuleFormProps) => {\n const [objectName, setObjectName] = useState('');\n const [descriptionName, setDescription] = useState('');\n\n const selected = useMemo(() => menuHelpers.getSelected(items)[0], [items]);\n\n return (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Input\n label='objectName'\n required\n value={objectName}\n onChange={(e: ChangeEvent<HTMLInputElement>) => setObjectName(e.target.value)}\n />\n <TextArea\n label='description'\n value={descriptionName}\n onChange={(e: ChangeEvent<HTMLTextAreaElement>) => setDescription(e.target.value)}\n />\n <ComboBox\n label='scope'\n required\n mode='single-select'\n selected={\n selected\n ? {\n items: {\n id: selected.id,\n text: selected.primary\n }\n }\n : undefined\n }\n menu={{\n items,\n onItemClick: selectItem\n }}\n status={scopeError ? 'error' : undefined}\n info={scopeError ? 'Field cannot be empty' : undefined}\n />\n </Flex>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"ObjectSelect.mocks.jsx","sourceRoot":"","sources":["../../../src/build/ObjectSelect/ObjectSelect.mocks.tsx"],"names":[],"mappings":"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","sourcesContent":["// cSpell:words XPTI\nimport { ChangeEvent, FocusEvent, useState, useEffect, FunctionComponent, useMemo } from 'react';\n\nimport {\n AtomicCondition,\n LeafCondition,\n getInitConditionForLhs,\n RHSType,\n formatCondition,\n DateFunctionsByType,\n Field\n} from '@pega/cosmos-react-condition-builder';\nimport {\n Flex,\n Input,\n Card,\n CardContent,\n Text,\n menuHelpers,\n MenuItemProps,\n useI18n,\n StyledRegion,\n FormControlProps,\n TextArea,\n ComboBox,\n BaseProps,\n NoChildrenProp,\n DialogProps,\n MenuProps\n} from '@pega/cosmos-react-core';\nimport { ObjectSelect, ObjectSelectProps, ObjectPreview } from '@pega/cosmos-react-build';\n\nimport { StyledCodeBlock, StyledConfigurationContent } from './ObjectSelect.styles';\n\nexport const mockNetworkReq = () => new Promise(resolve => setTimeout(resolve, 2000));\n\ninterface FormField extends FormControlProps {\n help?: string;\n error?: string;\n validator: (this: FormField) => boolean;\n}\n\ninterface DrawerProps {\n drawerData?: MenuItemProps & { metaData: any };\n drawerOpen: boolean;\n setDrawerOpen: (value: boolean) => void;\n}\n\nexport interface ObjectSelectStoryProps<P extends object = object> extends ObjectSelectProps<P> {\n onSubmit: DialogProps['onSubmit'];\n onClose: () => void;\n popoverContent?: string;\n createNewAs?: 'modal' | 'link';\n}\n\nexport const skeletonData = [\n {\n id: '01-1',\n primary: 'primary-link-1',\n secondary: ['secondary-1'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-2',\n primary: 'primary-link-2',\n secondary: [\n 'secondary-1',\n 'secondary-2',\n 'secondary-3',\n 'secondary-4',\n 'secondary-5',\n 'secondary-6',\n 'secondary-7',\n 'secondary-8',\n 'secondary-9'\n ],\n href: 'http://www.pega.com'\n },\n {\n id: '01-3',\n primary: 'primary-link-3',\n secondary: ['secondary-1', 'secondary-2'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-4',\n primary: 'primary-link-4',\n secondary: ['secondary-1', 'secondary-2'],\n href: 'http://www.pega.com'\n }\n];\n\nexport const dataPages = [\n {\n id: '01-1',\n primary: 'MortgageRequestList-DataSource',\n metaData: [\n {\n name: 'Scope',\n value: 'O1XPTI-CCompass-Work-MortgageRequest'\n }\n ],\n secondary: ['O1XPTI-CCompass-Work-MortgageRequest'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-2',\n primary: 'Credit Scores List Data Source',\n metaData: [\n {\n name: 'Scope',\n value: 'CreditScore'\n }\n ],\n secondary: ['Scope', 'CreditScore'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-3',\n primary: 'GetAutoLoanByIDDataSource',\n metaData: [\n {\n name: 'Scope',\n value: 'O1XPTI-CCompass-Work-AutoLoan'\n }\n ],\n secondary: ['Scope', 'O1XPTI-CCompass-Work-AutoLoan'],\n href: 'http://www.pega.com'\n },\n {\n id: '01-4',\n primary: 'DS_pyMyWorkList',\n metaData: [\n {\n name: 'Scope',\n value: 'O1XPTI-CCompass-Work-AutoLoan'\n }\n ],\n href: 'http://www.pega.com'\n }\n];\n\nexport const demoFields: Field[] = [\n { id: 'employeeId', primary: 'Employee ID', type: 'TEXT' },\n {\n id: 'details',\n primary: 'Details',\n items: [\n {\n id: 'details.firstName',\n primary: 'First Name',\n type: 'TEXT'\n },\n {\n id: 'details.lastName',\n primary: 'Last Name',\n type: 'TEXT',\n possibleValues: () => {\n return new Promise(resolve => {\n setTimeout(() => {\n resolve([\n 'Value 1',\n 'Value 2',\n 'Value 3',\n 'Value 4',\n 'Value 5',\n 'Value 6',\n 'Value 7'\n ]);\n }, 5000);\n });\n }\n },\n { id: 'details.gender', primary: 'Gender', type: 'TEXT' },\n {\n id: 'details.age',\n primary: 'Age',\n type: 'NUMBER'\n },\n {\n id: 'details.profileDetails',\n primary: 'Profile Details',\n items: [\n {\n id: 'details.profileDetails.experience',\n primary: 'Experience (yrs)',\n type: 'NUMBER'\n },\n {\n id: 'details.profileDetails.department',\n primary: 'Department',\n type: 'TEXT',\n possibleValues: [\n 'Customer Service',\n 'Engineering',\n 'Facilities',\n 'Finance',\n 'HR',\n 'IT',\n 'Sales'\n ]\n }\n ]\n }\n ]\n },\n {\n id: 'salary',\n primary: 'Salary',\n type: 'NUMBER'\n },\n { id: 'hireDate', primary: 'Hire Date', type: 'DATE_ONLY' },\n { id: 'dateOfBirth', primary: 'Date of Birth', type: 'DATE_ONLY' },\n {\n id: 'technicalDetails',\n primary: 'Technical details',\n items: [\n {\n id: 'technicalDetails.shiftStartTime',\n primary: 'Shift start time',\n type: 'TIME_ONLY'\n },\n {\n id: 'technicalDetails.shiftEndTime',\n primary: 'Shift end time',\n type: 'TIME_ONLY'\n },\n {\n id: 'technicalDetails.lastActivityAt',\n primary: 'Last activity at',\n type: 'DATE_TIME'\n },\n {\n id: 'technicalDetails.nextPasswordReset',\n primary: 'Next password reset',\n type: 'DATE_TIME'\n }\n ]\n },\n { id: 'isSeniorCitizen', primary: 'Is Senior Citizen', type: 'BOOLEAN' },\n { id: 'isRemoteEmployee', primary: 'Is Remote Employee', type: 'BOOLEAN' }\n];\n\nexport const demoDateFunctions: DateFunctionsByType = {\n DATE_TIME: [\n 'YEARS',\n 'QUARTERS',\n 'MONTHS',\n 'WEEKS',\n 'DAYS',\n 'HOURS',\n 'MONTHS_OF_YEAR',\n 'DAYS_OF_MONTH',\n 'DAYS_OF_WEEK'\n ],\n DATE_ONLY: [\n 'YEARS',\n 'QUARTERS',\n 'MONTHS',\n 'WEEKS',\n 'MONTHS_OF_YEAR',\n 'DAYS_OF_MONTH',\n 'DAYS_OF_WEEK'\n ]\n};\n\nexport const initFields = (): FormField[] => {\n const common = { value: undefined, status: undefined };\n return [\n {\n ...common,\n name: 'name',\n required: true,\n error: 'Please enter a valid name for table',\n validator() {\n if (!this.value) return false;\n return /^[a-z]{1}[a-z0-9]+$/i.test(this.value);\n }\n },\n {\n ...common,\n name: 'description',\n required: true,\n help: 'Give an appropriate description for the table',\n error: 'Field cannot be empty',\n validator() {\n if (!this.value) return false;\n return true;\n }\n }\n ];\n};\n\nexport const fieldReducer = (\n fields: FormField[],\n {\n target,\n type\n }:\n | ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n | FocusEvent<HTMLInputElement | HTMLTextAreaElement>\n) => {\n return fields.map(field => {\n if (field.name === target.name) {\n field.value = target.value;\n if (type === 'blur' || field.status === 'error') {\n if ((field.required || field.value) && !field.validator()) {\n field.status = 'error';\n field.info = field.error;\n } else {\n field.status = undefined;\n field.info = field.help;\n }\n }\n }\n return field;\n });\n};\n\nexport const ViewportDrawer = ({ drawerData, drawerOpen, setDrawerOpen }: DrawerProps) => {\n return (\n <ObjectPreview\n open={drawerOpen}\n onDismiss={() => setDrawerOpen(false)}\n header={{\n title: drawerData?.primary || '',\n metadata: drawerData?.metaData || [],\n additionalInfo: {\n title: drawerData?.primary || '',\n description: 'Interest rate for the savings account',\n fields: drawerData?.metaData || [],\n onEdit: () => {}\n }\n }}\n content={\n <StyledConfigurationContent>\n <StyledRegion style={{ minHeight: '100vh' }} />\n </StyledConfigurationContent>\n }\n primaryAction={{\n id: 'PA',\n text: 'Save',\n onClick: () => {}\n }}\n secondaryAction={{\n id: 'SA',\n text: 'Open rule',\n onClick: () => {}\n }}\n actions={{\n items: [\n {\n id: '1',\n text: 'Page action 1'\n },\n {\n id: '2',\n text: 'Page action 2'\n }\n ]\n }}\n />\n );\n};\n\nexport const ConfigurationContent = (args: any) => {\n const [showErrorIndicators] = useState(false);\n\n const ConditionBuilder = (\n <AtomicCondition\n condition={args.condition}\n fields={demoFields}\n indicateErrors={showErrorIndicators}\n dateFunctions={demoDateFunctions}\n onChange={c => args.setCondition(c)}\n itemDirection='row'\n validRhsTypes={args.validRHSTypes}\n />\n );\n\n const Inputs = (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Text variant='h4'>Inputs</Text>\n <Flex container={{ direction: 'column', gap: 1 }}>\n {Array(10)\n .fill(0)\n .map((_, index) => (\n <Flex container={{ alignItems: 'end', gap: 1 }}>\n <Input\n label={`Name ${index + 1}`}\n labelHidden\n type='text'\n defaultValue={`Sample key ${index + 1}`}\n disabled\n readOnly={args.readOnly}\n />\n <Input\n label={`Value ${index + 1}`}\n labelHidden\n type='text'\n defaultValue={`Sample value ${index + 1}`}\n readOnly={args.readOnly}\n disabled={args.disabled}\n />\n </Flex>\n ))}\n </Flex>\n </Flex>\n );\n\n return args.popoverContent === 'advanced' ? ConditionBuilder : Inputs;\n};\n\nexport const ObjectSelectComp = <P extends object = object>({\n popoverContent,\n ...args\n}: ObjectSelectStoryProps<P>) => {\n const t = useI18n();\n const [value, setValue] = useState<ObjectSelectProps['value']>(args.value);\n\n const convertRhsTypes = (\n useLiteralRHSType: boolean,\n useFieldRHSType: boolean,\n useRelativeDatesType: boolean,\n dateFunctions?: DateFunctionsByType\n ) => {\n const setRhsTypes: Set<RHSType> = new Set<RHSType>();\n if (useLiteralRHSType) setRhsTypes.add('LITERAL');\n if (useFieldRHSType) setRhsTypes.add('FIELD');\n if (dateFunctions) setRhsTypes.add('DATE_FUNCTION');\n if (useRelativeDatesType) setRhsTypes.add('RELATIVE_DATE');\n return setRhsTypes;\n };\n\n const [dataPagesDelayed, setDataPagesDelayed] = useState<ObjectSelectProps['items']>([]);\n const validRHSTypes: Set<RHSType> = convertRhsTypes(true, true, true, demoDateFunctions);\n const [submitCondition, setSubmitCondition] = useState<LeafCondition | undefined>(undefined);\n const [condition, setCondition] = useState(\n () =>\n submitCondition ||\n getInitConditionForLhs(\n { field: 'details.age' },\n demoFields,\n validRHSTypes,\n undefined,\n demoDateFunctions\n )\n );\n\n const handleSubmission = ({ close }: { close: () => void }) => {\n setSubmitCondition(condition);\n close();\n };\n\n useEffect(() => {\n const timeout = setTimeout(() => setDataPagesDelayed(dataPages), 2000);\n return () => clearTimeout(timeout);\n }, []);\n\n return (\n <Flex container={{ direction: 'column', gap: 1 }}>\n <ObjectSelect\n {...args}\n loading={dataPagesDelayed.length === 0}\n onChange={id => {\n const data = menuHelpers.getItem(dataPages, id);\n if (data) {\n setValue({\n id: data.id,\n primary: data.primary,\n href: data.href ?? '#',\n meta: data.id !== '01-4' ? data.secondary?.join(' ') : ''\n });\n } else setValue(undefined);\n }}\n items={dataPagesDelayed}\n configuration={{\n label: args.disabled || args.readOnly ? 'View Configuration' : 'Edit Configuration',\n heading: 'Map Parameters',\n onSubmit: popoverContent === 'advanced' ? handleSubmission : args.onSubmit,\n onClose: args.onClose,\n children: (\n <ConfigurationContent\n {...args}\n popoverContent={popoverContent}\n condition={condition}\n setCondition={setCondition}\n validRHSTypes={validRHSTypes}\n />\n )\n }}\n value={value}\n onPreview={(id, e: { href: string }) => {\n args.onPreview?.(id, e);\n }}\n />\n {popoverContent === 'advanced' && (\n <Card>\n <CardContent>\n <Text variant='h4'>Output:</Text>\n <StyledCodeBlock>\n {submitCondition ? JSON.stringify(submitCondition, null, 2) : '(No condition)'}\n </StyledCodeBlock>\n\n <Text variant='h4'>Formatted Output:</Text>\n <StyledCodeBlock>\n {submitCondition\n ? formatCondition({ condition: submitCondition }, demoFields, t)\n : '(No condition)'}\n </StyledCodeBlock>\n </CardContent>\n </Card>\n )}\n </Flex>\n );\n};\n\nexport interface CreateRuleFormProps extends BaseProps, NoChildrenProp {\n items: MenuProps['items'];\n selectItem: MenuProps['onItemClick'];\n scopeError?: boolean;\n}\n\nexport const FormRenderer: FunctionComponent<CreateRuleFormProps> = ({\n items,\n selectItem,\n scopeError\n}: CreateRuleFormProps) => {\n const [objectName, setObjectName] = useState('');\n const [descriptionName, setDescription] = useState('');\n\n const selected = useMemo(() => menuHelpers.getSelected(items)[0], [items]);\n\n return (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Input\n label='objectName'\n required\n value={objectName}\n onChange={(e: ChangeEvent<HTMLInputElement>) => setObjectName(e.target.value)}\n />\n <TextArea\n label='description'\n value={descriptionName}\n onChange={(e: ChangeEvent<HTMLTextAreaElement>) => setDescription(e.target.value)}\n />\n <ComboBox\n label='scope'\n required\n mode='single-select'\n selected={\n selected\n ? {\n items: {\n id: selected.id,\n text: selected.primary\n }\n }\n : undefined\n }\n menu={{\n items,\n onItemClick: selectItem\n }}\n status={scopeError ? 'error' : undefined}\n info={scopeError ? 'Field cannot be empty' : undefined}\n />\n </Flex>\n );\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectSelect.stories.d.ts","sourceRoot":"","sources":["../../../src/build/ObjectSelect/ObjectSelect.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"ObjectSelect.stories.d.ts","sourceRoot":"","sources":["../../../src/build/ObjectSelect/ObjectSelect.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAgC/C,OAAO,EAIL,sBAAsB,EAMvB,MAAM,sBAAsB,CAAC;;AAI9B,wBAGU;AAEV,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,sBAAsB,CAsC9D,CAAC;AAoCF,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,sBAAsB,CAyE1D,CAAC;AAwCF,eAAO,MAAM,sBAAsB,EAAE,KAmJpC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { useReducer,
|
|
1
|
+
import { useReducer, useState, useCallback, useMemo } from 'react';
|
|
2
2
|
import { action } from '@storybook/addon-actions';
|
|
3
|
-
import { Form, Button, Flex, Input,
|
|
3
|
+
import { Form, Button, Flex, Input, TextArea, Card, CardContent, registerIcon, menuHelpers, useToaster, StyledRegion } from '@pega/cosmos-react-core';
|
|
4
4
|
import { ObjectSelect } from '@pega/cosmos-react-build';
|
|
5
5
|
import * as times from '@pega/cosmos-react-core/lib/components/Icon/icons/times.icon';
|
|
6
6
|
import { StyledConfigurationContent } from './ObjectSelect.styles';
|
|
@@ -155,7 +155,7 @@ ObjectSelectDemo.argTypes = {
|
|
|
155
155
|
};
|
|
156
156
|
export const ObjectSelectDemoInForm = () => {
|
|
157
157
|
const [fields, setField] = useReducer(fieldReducer, undefined, initFields);
|
|
158
|
-
const { push } =
|
|
158
|
+
const { push } = useToaster();
|
|
159
159
|
const [drawerOpen, setDrawerOpen] = useState(false);
|
|
160
160
|
const [drawerData, setDrawerData] = useState(dataPages[0]);
|
|
161
161
|
const [scopeError, setScopeError] = useState(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectSelect.stories.jsx","sourceRoot":"","sources":["../../../src/build/ObjectSelect/ObjectSelect.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport {\n FormEvent,\n useReducer,\n useContext,\n ChangeEvent,\n FocusEvent,\n useState,\n useCallback,\n useMemo\n} from 'react';\nimport { action } from '@storybook/addon-actions';\n\nimport {\n Form,\n Button,\n Flex,\n Input,\n ToasterContext,\n TextArea,\n Card,\n CardContent,\n registerIcon,\n menuHelpers,\n StyledRegion,\n MenuItemProps,\n FieldValueListProps,\n MenuProps\n} from '@pega/cosmos-react-core';\nimport { ObjectSelect, ObjectSelectProps } from '@pega/cosmos-react-build';\nimport * as times from '@pega/cosmos-react-core/lib/components/Icon/icons/times.icon';\n\nimport { StyledConfigurationContent } from './ObjectSelect.styles';\nimport {\n skeletonData,\n fieldReducer,\n initFields,\n ObjectSelectStoryProps,\n ObjectSelectComp,\n dataPages,\n ViewportDrawer,\n FormRenderer,\n mockNetworkReq\n} from './ObjectSelect.mocks';\n\nregisterIcon(times);\n\nexport default {\n title: 'Build/ObjectSelect',\n component: ObjectSelect\n} as Meta;\n\nexport const ObjectSelectSkeleton: Story<ObjectSelectStoryProps> = (\n args: ObjectSelectStoryProps\n) => {\n const [value, setValue] = useState<ObjectSelectProps['value']>(args.value);\n\n return (\n <ObjectSelect\n {...args}\n items={skeletonData}\n value={value}\n onChange={id => {\n const data = menuHelpers.getItem(skeletonData, id);\n if (data) {\n setValue({\n id: data.id,\n primary: data.primary,\n href: data.href ?? '#',\n meta: data.id !== '01-4' ? data.secondary?.join(' ') : ''\n });\n } else setValue(undefined);\n }}\n configuration={{\n label: 'Gear button label',\n heading: 'Popover heading',\n onSubmit: args.onSubmit,\n children: (\n <StyledConfigurationContent>\n <StyledRegion style={{ minHeight: '20vh' }} />\n </StyledConfigurationContent>\n )\n }}\n onPreview={args.onPreview}\n onLinkClick={(id, e) => {\n e.preventDefault();\n action(`item with id - ${id} is clicked`)(e);\n }}\n />\n );\n};\n\nObjectSelectSkeleton.args = {\n label: 'Object select label',\n labelHidden: false,\n info: 'Object select info text',\n placeholder: '',\n status: undefined,\n required: false,\n disabled: false,\n readOnly: false,\n // eslint-disable-next-line demo-patterns/literal-args\n onPreview: action('Clicked preview link'),\n // eslint-disable-next-line demo-patterns/literal-args\n onSubmit: ({ close }: { close: () => void }) => {\n action('Clicked submit button');\n close();\n },\n // eslint-disable-next-line demo-patterns/literal-args\n onClose: action('Clicked cancel button')\n};\n\nObjectSelectSkeleton.argTypes = {\n label: { control: { type: 'text' } },\n labelHidden: { control: { type: 'boolean' } },\n info: { control: { type: 'text' } },\n placeholder: { control: { type: 'text' } },\n status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },\n required: { control: { type: 'boolean' } },\n disabled: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } },\n onPreview: { table: { disable: true } },\n onSubmit: { table: { disable: true } },\n onClose: { table: { disable: true } }\n};\n\nexport const ObjectSelectDemo: Story<ObjectSelectStoryProps> = (args: ObjectSelectStoryProps) => {\n const [drawerOpen, setDrawerOpen] = useState(false);\n const [drawerData, setDrawerData] = useState<\n MenuItemProps & { metaData: FieldValueListProps['fields'] }\n >(dataPages[0]);\n\n const [scopeError, setScopeError] = useState(false);\n const [formLoading, setFormLoading] = useState(false);\n\n const [items, setItems] = useState<MenuProps['items']>((): MenuProps['items'] => {\n return menuHelpers.mapTree(dataPages, item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n }));\n });\n\n const selected = useMemo(() => menuHelpers.getSelected(items)[0], [items]);\n\n const selectItem = useCallback((id: MenuItemProps['id']) => {\n setItems(cur => menuHelpers.selectItem(cur, id, 'single-select'));\n }, []);\n\n const { createNewAs, ...restArgs } = args;\n\n return (\n <>\n <ObjectSelectComp\n {...restArgs}\n popoverContent={args.popoverContent}\n onPreview={id => {\n const data = dataPages.find(dataPage => dataPage.id === id);\n if (data) setDrawerData(data);\n if (!drawerOpen) {\n setDrawerOpen(true);\n }\n }}\n createConfiguration={\n createNewAs === 'modal'\n ? {\n loading: formLoading,\n renderer: FormRenderer,\n rendererProps: {\n items,\n selectItem,\n scopeError\n },\n onSubmit: ({ close }) => {\n if (selected) {\n setFormLoading(true);\n mockNetworkReq().then(close);\n } else setScopeError(true);\n },\n onDismiss: ({ close }) => close(),\n onBeforeOpen: () => {\n setFormLoading(true);\n mockNetworkReq().then(() => setFormLoading(false));\n },\n onAfterClose: () => {\n // Clean up loading state when the form is closed.\n setFormLoading(false);\n setItems(dataPages);\n }\n }\n : { href: 'https://www.pega.com' }\n }\n />\n <ViewportDrawer\n drawerData={drawerData}\n drawerOpen={drawerOpen}\n setDrawerOpen={setDrawerOpen}\n />\n </>\n );\n};\n\nObjectSelectDemo.args = {\n label: 'Data source',\n labelHidden: false,\n info: 'Select an appropriate data source',\n placeholder: '',\n status: undefined,\n required: false,\n disabled: false,\n readOnly: false,\n popoverContent: 'simple',\n // eslint-disable-next-line demo-patterns/literal-args\n onPreview: () => {},\n // eslint-disable-next-line demo-patterns/literal-args\n onSubmit: ({ close }: { close: () => void }) => {\n action('Clicked submit button');\n close();\n },\n // eslint-disable-next-line demo-patterns/literal-args\n onClose: action('Clicked cancel button'),\n createNewAs: 'modal'\n};\n\nObjectSelectDemo.argTypes = {\n label: { control: { type: 'text' } },\n labelHidden: { control: { type: 'boolean' } },\n info: { control: { type: 'text' } },\n placeholder: { control: { type: 'text' } },\n status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },\n required: { control: { type: 'boolean' } },\n disabled: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } },\n popoverContent: { options: ['simple', 'advanced'], control: { type: 'radio' } },\n onPreview: { table: { disable: true } },\n onSubmit: { table: { disable: true } },\n onClose: { table: { disable: true } },\n createNewAs: { options: ['modal', 'link'], control: { type: 'radio' } }\n};\n\nexport const ObjectSelectDemoInForm: Story = () => {\n const [fields, setField] = useReducer(fieldReducer, undefined, initFields);\n const { push } = useContext(ToasterContext);\n const [drawerOpen, setDrawerOpen] = useState(false);\n const [drawerData, setDrawerData] = useState<\n MenuItemProps & { metaData: FieldValueListProps['fields'] }\n >(dataPages[0]);\n\n const [scopeError, setScopeError] = useState(false);\n const [formLoading, setFormLoading] = useState(false);\n\n const [items, setItems] = useState<MenuProps['items']>((): MenuProps['items'] => {\n return menuHelpers.mapTree(dataPages, item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n }));\n });\n\n const selected = useMemo(() => menuHelpers.getSelected(items)[0], [items]);\n\n const selectItem = useCallback((id: MenuItemProps['id']) => {\n setItems(cur => menuHelpers.selectItem(cur, id, 'single-select'));\n }, []);\n\n const name = fields.find(field => field.name === 'name');\n const description = fields.find(field => field.name === 'description');\n\n if (!name || !description) return <></>;\n\n const canSubmit = fields.every(field => field.value && field.validator());\n\n const actions = (\n <>\n <Button\n name='Cancel'\n variant='secondary'\n onClick={() => {\n push({ content: 'Form cancelled!' });\n }}\n >\n Cancel\n </Button>\n <Button name='Submit' type='submit' variant='primary' disabled={!canSubmit}>\n Submit\n </Button>\n </>\n );\n\n return (\n <Card style={{ margin: 'auto', maxWidth: '37.5rem' }}>\n <CardContent>\n <Form\n actions={actions}\n onSubmit={(e: FormEvent) => {\n e.preventDefault();\n push({ content: 'Form submitted!' });\n }}\n heading='Configure Table'\n >\n <Flex container={{ direction: 'column', gap: 2 }} item={{ grow: 1 }}>\n <Input\n name='name'\n label='Table name'\n value={name.value}\n required={name.required}\n status={name.status}\n info='Enter a valid table name'\n onChange={(e: ChangeEvent<HTMLInputElement>) => setField({ ...e })}\n onBlur={(e: FocusEvent<HTMLInputElement>) => setField({ ...e })}\n autoComplete='off'\n />\n\n <TextArea\n name='description'\n required={description.required}\n label='Table description'\n status={description.status}\n info={description.info || description.help}\n onChange={(e: ChangeEvent<HTMLTextAreaElement>) => setField({ ...e })}\n onBlur={(e: FocusEvent<HTMLInputElement>) => setField({ ...e })}\n />\n <ObjectSelectComp\n label='Data page'\n info='Select an appropriate data page'\n items={[]}\n onSubmit={({ close }) => close()}\n onClose={() => null}\n onChange={() => {}}\n onPreview={id => {\n const data = dataPages.find(dataPage => dataPage.id === id);\n if (data) setDrawerData(data);\n if (!drawerOpen) {\n setDrawerOpen(true);\n }\n }}\n createConfiguration={{ href: 'https://www.pega.com' }}\n />\n <ObjectSelectComp\n label='Visibility condition'\n info='Choose a when condition from list'\n items={[]}\n onChange={() => {}}\n onSubmit={({ close }) => close()}\n onClose={() => null}\n createConfiguration={{\n loading: formLoading,\n renderer: FormRenderer,\n rendererProps: {\n items,\n selectItem,\n scopeError\n },\n onSubmit: ({ close }) => {\n if (selected) {\n setFormLoading(true);\n mockNetworkReq().then(close);\n } else setScopeError(true);\n },\n onDismiss: ({ close }) => close(),\n onBeforeOpen: () => {\n setFormLoading(true);\n mockNetworkReq().then(() => setFormLoading(false));\n },\n onAfterClose: () => {\n // Clean up loading state when the form is closed.\n setFormLoading(false);\n setItems(dataPages);\n }\n }}\n onPreview={id => {\n const data = dataPages.find(dataPage => dataPage.id === id);\n if (data) setDrawerData(data);\n if (!drawerOpen) {\n setDrawerOpen(true);\n }\n }}\n />\n <ViewportDrawer\n drawerData={drawerData}\n drawerOpen={drawerOpen}\n setDrawerOpen={setDrawerOpen}\n />\n </Flex>\n </Form>\n </CardContent>\n </Card>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"ObjectSelect.stories.jsx","sourceRoot":"","sources":["../../../src/build/ObjectSelect/ObjectSelect.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Meta, Story } from '@storybook/react';\nimport {\n FormEvent,\n useReducer,\n ChangeEvent,\n FocusEvent,\n useState,\n useCallback,\n useMemo\n} from 'react';\nimport { action } from '@storybook/addon-actions';\n\nimport {\n Form,\n Button,\n Flex,\n Input,\n TextArea,\n Card,\n CardContent,\n registerIcon,\n menuHelpers,\n useToaster,\n StyledRegion,\n MenuItemProps,\n FieldValueListProps,\n MenuProps\n} from '@pega/cosmos-react-core';\nimport { ObjectSelect, ObjectSelectProps } from '@pega/cosmos-react-build';\nimport * as times from '@pega/cosmos-react-core/lib/components/Icon/icons/times.icon';\n\nimport { StyledConfigurationContent } from './ObjectSelect.styles';\nimport {\n skeletonData,\n fieldReducer,\n initFields,\n ObjectSelectStoryProps,\n ObjectSelectComp,\n dataPages,\n ViewportDrawer,\n FormRenderer,\n mockNetworkReq\n} from './ObjectSelect.mocks';\n\nregisterIcon(times);\n\nexport default {\n title: 'Build/ObjectSelect',\n component: ObjectSelect\n} as Meta;\n\nexport const ObjectSelectSkeleton: Story<ObjectSelectStoryProps> = (\n args: ObjectSelectStoryProps\n) => {\n const [value, setValue] = useState<ObjectSelectProps['value']>(args.value);\n\n return (\n <ObjectSelect\n {...args}\n items={skeletonData}\n value={value}\n onChange={id => {\n const data = menuHelpers.getItem(skeletonData, id);\n if (data) {\n setValue({\n id: data.id,\n primary: data.primary,\n href: data.href ?? '#',\n meta: data.id !== '01-4' ? data.secondary?.join(' ') : ''\n });\n } else setValue(undefined);\n }}\n configuration={{\n label: 'Gear button label',\n heading: 'Popover heading',\n onSubmit: args.onSubmit,\n children: (\n <StyledConfigurationContent>\n <StyledRegion style={{ minHeight: '20vh' }} />\n </StyledConfigurationContent>\n )\n }}\n onPreview={args.onPreview}\n onLinkClick={(id, e) => {\n e.preventDefault();\n action(`item with id - ${id} is clicked`)(e);\n }}\n />\n );\n};\n\nObjectSelectSkeleton.args = {\n label: 'Object select label',\n labelHidden: false,\n info: 'Object select info text',\n placeholder: '',\n status: undefined,\n required: false,\n disabled: false,\n readOnly: false,\n // eslint-disable-next-line demo-patterns/literal-args\n onPreview: action('Clicked preview link'),\n // eslint-disable-next-line demo-patterns/literal-args\n onSubmit: ({ close }: { close: () => void }) => {\n action('Clicked submit button');\n close();\n },\n // eslint-disable-next-line demo-patterns/literal-args\n onClose: action('Clicked cancel button')\n};\n\nObjectSelectSkeleton.argTypes = {\n label: { control: { type: 'text' } },\n labelHidden: { control: { type: 'boolean' } },\n info: { control: { type: 'text' } },\n placeholder: { control: { type: 'text' } },\n status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },\n required: { control: { type: 'boolean' } },\n disabled: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } },\n onPreview: { table: { disable: true } },\n onSubmit: { table: { disable: true } },\n onClose: { table: { disable: true } }\n};\n\nexport const ObjectSelectDemo: Story<ObjectSelectStoryProps> = (args: ObjectSelectStoryProps) => {\n const [drawerOpen, setDrawerOpen] = useState(false);\n const [drawerData, setDrawerData] = useState<\n MenuItemProps & { metaData: FieldValueListProps['fields'] }\n >(dataPages[0]);\n\n const [scopeError, setScopeError] = useState(false);\n const [formLoading, setFormLoading] = useState(false);\n\n const [items, setItems] = useState<MenuProps['items']>((): MenuProps['items'] => {\n return menuHelpers.mapTree(dataPages, item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n }));\n });\n\n const selected = useMemo(() => menuHelpers.getSelected(items)[0], [items]);\n\n const selectItem = useCallback((id: MenuItemProps['id']) => {\n setItems(cur => menuHelpers.selectItem(cur, id, 'single-select'));\n }, []);\n\n const { createNewAs, ...restArgs } = args;\n\n return (\n <>\n <ObjectSelectComp\n {...restArgs}\n popoverContent={args.popoverContent}\n onPreview={id => {\n const data = dataPages.find(dataPage => dataPage.id === id);\n if (data) setDrawerData(data);\n if (!drawerOpen) {\n setDrawerOpen(true);\n }\n }}\n createConfiguration={\n createNewAs === 'modal'\n ? {\n loading: formLoading,\n renderer: FormRenderer,\n rendererProps: {\n items,\n selectItem,\n scopeError\n },\n onSubmit: ({ close }) => {\n if (selected) {\n setFormLoading(true);\n mockNetworkReq().then(close);\n } else setScopeError(true);\n },\n onDismiss: ({ close }) => close(),\n onBeforeOpen: () => {\n setFormLoading(true);\n mockNetworkReq().then(() => setFormLoading(false));\n },\n onAfterClose: () => {\n // Clean up loading state when the form is closed.\n setFormLoading(false);\n setItems(dataPages);\n }\n }\n : { href: 'https://www.pega.com' }\n }\n />\n <ViewportDrawer\n drawerData={drawerData}\n drawerOpen={drawerOpen}\n setDrawerOpen={setDrawerOpen}\n />\n </>\n );\n};\n\nObjectSelectDemo.args = {\n label: 'Data source',\n labelHidden: false,\n info: 'Select an appropriate data source',\n placeholder: '',\n status: undefined,\n required: false,\n disabled: false,\n readOnly: false,\n popoverContent: 'simple',\n // eslint-disable-next-line demo-patterns/literal-args\n onPreview: () => {},\n // eslint-disable-next-line demo-patterns/literal-args\n onSubmit: ({ close }: { close: () => void }) => {\n action('Clicked submit button');\n close();\n },\n // eslint-disable-next-line demo-patterns/literal-args\n onClose: action('Clicked cancel button'),\n createNewAs: 'modal'\n};\n\nObjectSelectDemo.argTypes = {\n label: { control: { type: 'text' } },\n labelHidden: { control: { type: 'boolean' } },\n info: { control: { type: 'text' } },\n placeholder: { control: { type: 'text' } },\n status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },\n required: { control: { type: 'boolean' } },\n disabled: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } },\n popoverContent: { options: ['simple', 'advanced'], control: { type: 'radio' } },\n onPreview: { table: { disable: true } },\n onSubmit: { table: { disable: true } },\n onClose: { table: { disable: true } },\n createNewAs: { options: ['modal', 'link'], control: { type: 'radio' } }\n};\n\nexport const ObjectSelectDemoInForm: Story = () => {\n const [fields, setField] = useReducer(fieldReducer, undefined, initFields);\n const { push } = useToaster();\n const [drawerOpen, setDrawerOpen] = useState(false);\n const [drawerData, setDrawerData] = useState<\n MenuItemProps & { metaData: FieldValueListProps['fields'] }\n >(dataPages[0]);\n\n const [scopeError, setScopeError] = useState(false);\n const [formLoading, setFormLoading] = useState(false);\n\n const [items, setItems] = useState<MenuProps['items']>((): MenuProps['items'] => {\n return menuHelpers.mapTree(dataPages, item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n }));\n });\n\n const selected = useMemo(() => menuHelpers.getSelected(items)[0], [items]);\n\n const selectItem = useCallback((id: MenuItemProps['id']) => {\n setItems(cur => menuHelpers.selectItem(cur, id, 'single-select'));\n }, []);\n\n const name = fields.find(field => field.name === 'name');\n const description = fields.find(field => field.name === 'description');\n\n if (!name || !description) return <></>;\n\n const canSubmit = fields.every(field => field.value && field.validator());\n\n const actions = (\n <>\n <Button\n name='Cancel'\n variant='secondary'\n onClick={() => {\n push({ content: 'Form cancelled!' });\n }}\n >\n Cancel\n </Button>\n <Button name='Submit' type='submit' variant='primary' disabled={!canSubmit}>\n Submit\n </Button>\n </>\n );\n\n return (\n <Card style={{ margin: 'auto', maxWidth: '37.5rem' }}>\n <CardContent>\n <Form\n actions={actions}\n onSubmit={(e: FormEvent) => {\n e.preventDefault();\n push({ content: 'Form submitted!' });\n }}\n heading='Configure Table'\n >\n <Flex container={{ direction: 'column', gap: 2 }} item={{ grow: 1 }}>\n <Input\n name='name'\n label='Table name'\n value={name.value}\n required={name.required}\n status={name.status}\n info='Enter a valid table name'\n onChange={(e: ChangeEvent<HTMLInputElement>) => setField({ ...e })}\n onBlur={(e: FocusEvent<HTMLInputElement>) => setField({ ...e })}\n autoComplete='off'\n />\n\n <TextArea\n name='description'\n required={description.required}\n label='Table description'\n status={description.status}\n info={description.info || description.help}\n onChange={(e: ChangeEvent<HTMLTextAreaElement>) => setField({ ...e })}\n onBlur={(e: FocusEvent<HTMLInputElement>) => setField({ ...e })}\n />\n <ObjectSelectComp\n label='Data page'\n info='Select an appropriate data page'\n items={[]}\n onSubmit={({ close }) => close()}\n onClose={() => null}\n onChange={() => {}}\n onPreview={id => {\n const data = dataPages.find(dataPage => dataPage.id === id);\n if (data) setDrawerData(data);\n if (!drawerOpen) {\n setDrawerOpen(true);\n }\n }}\n createConfiguration={{ href: 'https://www.pega.com' }}\n />\n <ObjectSelectComp\n label='Visibility condition'\n info='Choose a when condition from list'\n items={[]}\n onChange={() => {}}\n onSubmit={({ close }) => close()}\n onClose={() => null}\n createConfiguration={{\n loading: formLoading,\n renderer: FormRenderer,\n rendererProps: {\n items,\n selectItem,\n scopeError\n },\n onSubmit: ({ close }) => {\n if (selected) {\n setFormLoading(true);\n mockNetworkReq().then(close);\n } else setScopeError(true);\n },\n onDismiss: ({ close }) => close(),\n onBeforeOpen: () => {\n setFormLoading(true);\n mockNetworkReq().then(() => setFormLoading(false));\n },\n onAfterClose: () => {\n // Clean up loading state when the form is closed.\n setFormLoading(false);\n setItems(dataPages);\n }\n }}\n onPreview={id => {\n const data = dataPages.find(dataPage => dataPage.id === id);\n if (data) setDrawerData(data);\n if (!drawerOpen) {\n setDrawerOpen(true);\n }\n }}\n />\n <ViewportDrawer\n drawerData={drawerData}\n drawerOpen={drawerOpen}\n setDrawerOpen={setDrawerOpen}\n />\n </Flex>\n </Form>\n </CardContent>\n </Card>\n );\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageTemplates.mocks.d.ts","sourceRoot":"","sources":["../../../src/build/PageTemplates/PageTemplates.mocks.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"PageTemplates.mocks.d.ts","sourceRoot":"","sources":["../../../src/build/PageTemplates/PageTemplates.mocks.tsx"],"names":[],"mappings":";AAGA,OAAO,EAaL,gBAAgB,EAQjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAY,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAWnE,UAAU,KAAM,SAAQ,gBAAgB;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAGD,eAAO,MAAM,UAAU,QAAO,KAAK,EAmClC,CAAC;AA6BF,eAAO,MAAM,aAAa,UAAW,GAAG,uBA4IvC,CAAC;AAEF,eAAO,MAAM,kBAAkB,mBAe9B,CAAC;AAEF,eAAO,MAAM,0BAA0B,6BAA8B,aAAa,gBAqKjF,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { useReducer, useRef,
|
|
1
|
+
import { useReducer, useRef, useState } from 'react';
|
|
2
2
|
import styled from 'styled-components';
|
|
3
|
-
import { Button, Flex, Form, Input, CheckboxGroup, RadioButtonGroup, RadioButton, Checkbox, Select, Option, TextArea,
|
|
3
|
+
import { Button, Flex, Form, Input, CheckboxGroup, RadioButtonGroup, RadioButton, Checkbox, Select, Option, TextArea, Text, useTheme, useToaster, BuildTheme, Configuration, StandardTree, treeHelpers } from '@pega/cosmos-react-core';
|
|
4
4
|
import { RichTextEditor } from '@pega/cosmos-react-rte';
|
|
5
5
|
import { AppShell } from '@pega/cosmos-react-build';
|
|
6
6
|
import { FileInputDemo } from '../../core/File/FileInput.stories';
|
|
@@ -66,7 +66,7 @@ const fieldReducer = (fields, { target, type }) => {
|
|
|
66
66
|
export const OneColumnForm = (props) => {
|
|
67
67
|
const editorRef = useRef(null);
|
|
68
68
|
const [fields, setField] = useReducer(fieldReducer, undefined, initFields);
|
|
69
|
-
const { push } =
|
|
69
|
+
const { push } = useToaster();
|
|
70
70
|
const name = fields.find(field => field.name === 'name');
|
|
71
71
|
const email = fields.find(field => field.name === 'email');
|
|
72
72
|
const notes = fields.find(field => field.name === 'notes');
|