@pega/sdk 0.0.2 → 0.0.4
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/LICENSE +183 -183
- package/README.md +6 -6
- package/SECURITY.md +2 -1
- package/dist/index.js +14 -57
- package/package.json +7 -6
- package/templates/angular-sdk-reference/package.json +15 -15
- package/templates/angular-sdk-reference/tsconfig.json +2 -2
- package/templates/react-native-sdk-reference/App.tsx +2 -4
- package/templates/react-native-sdk-reference/package.json +6 -6
- package/templates/react-native-sdk-reference/tsconfig.json +2 -1
- package/templates/react-sdk-reference/.claude/instructions/component-map.md +38 -0
- package/templates/react-sdk-reference/.claude/instructions/dse-component.md +75 -0
- package/templates/react-sdk-reference/.claude/instructions/field-component.md +75 -0
- package/templates/react-sdk-reference/.claude/instructions/template-component.md +93 -0
- package/templates/react-sdk-reference/.claude/instructions/widget-component.md +88 -0
- package/templates/react-sdk-reference/.claude/prompts/add-component.md +152 -0
- package/templates/react-sdk-reference/.claude/prompts/component-manifest.json +193 -0
- package/templates/react-sdk-reference/.claude/prompts/generate-all-components.md +158 -0
- package/templates/react-sdk-reference/.claude/prompts/generate-dse-components.md +140 -0
- package/templates/react-sdk-reference/.claude/prompts/generate-field-components.md +153 -0
- package/templates/react-sdk-reference/.claude/prompts/generate-template-components.md +165 -0
- package/templates/react-sdk-reference/.claude/prompts/generate-widget-components.md +138 -0
- package/templates/react-sdk-reference/.claude/prompts/identify-components.md +105 -0
- package/templates/react-sdk-reference/.claude/prompts/replace-design-system.md +519 -0
- package/templates/react-sdk-reference/.claude/skills/component-contracts.md +140 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/AlertBanner.md +137 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Banner.md +152 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/CaseSummaryFields.md +159 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/DetailsFields.md +148 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroup.md +134 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldGroupList.md +113 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/FieldValueList.md +118 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Operator.md +155 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/Pulse.md +85 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/RichTextEditor.md +232 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension-skills/WssQuickCreate.md +137 -0
- package/templates/react-sdk-reference/.claude/skills/design-system-extension.md +291 -0
- package/templates/react-sdk-reference/.claude/skills/field-components.md +295 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/AutoComplete.md +113 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/CancelAlert.md +211 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Checkbox.md +175 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Currency.md +109 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Date.md +101 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/DateTime.md +106 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Decimal.md +99 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Dropdown.md +134 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Email.md +109 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Group.md +96 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Integer.md +88 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Location.md +145 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Multiselect.md +188 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/ObjectReference.md +173 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Percentage.md +93 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Phone.md +129 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/RadioButtons.md +167 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/RichText.md +149 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/ScalarList.md +134 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/SelectableCard.md +231 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/SemanticLink.md +155 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/TextArea.md +98 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/TextContent.md +117 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/TextInput.md +107 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/Time.md +89 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/URL.md +86 -0
- package/templates/react-sdk-reference/.claude/skills/field-skills/UserReference.md +203 -0
- package/templates/react-sdk-reference/.claude/skills/run-and-verify.md +70 -0
- package/templates/react-sdk-reference/.claude/skills/template-components.md +321 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/AdvancedSearch.md +150 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/AppShell.md +124 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/BannerPage.md +86 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/CaseSummary.md +106 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/CaseView.md +137 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/CaseViewActionsMenu.md +131 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/Confirmation.md +109 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/DataReference.md +124 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultForm.md +104 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/DefaultPage.md +112 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/Details.md +90 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsSubTabs.md +97 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsThreeColumn.md +80 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/DetailsTwoColumn.md +80 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/DynamicTabs.md +106 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/FieldGroupTemplate.md +112 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/HierarchicalForm.md +116 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboard.md +108 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/InlineDashboardPage.md +82 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/ListPage.md +70 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/ListView.md +142 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/MultiReferenceReadOnly.md +82 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/NarrowWide.md +143 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/OneColumn.md +114 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/PromotedFilters.md +130 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/SelfServiceCaseView.md +142 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/SimpleTable.md +131 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/SingleReferenceReadOnly.md +108 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/SubTabs.md +82 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/TwoColumn.md +133 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/WideNarrow.md +152 -0
- package/templates/react-sdk-reference/.claude/skills/template-skills/WssNavBar.md +139 -0
- package/templates/react-sdk-reference/.claude/skills/widget-components.md +260 -0
- package/templates/react-sdk-reference/.claude/skills/widget-skills/AppAnnouncement.md +84 -0
- package/templates/react-sdk-reference/.claude/skills/widget-skills/Attachment.md +151 -0
- package/templates/react-sdk-reference/.claude/skills/widget-skills/CaseHistory.md +110 -0
- package/templates/react-sdk-reference/.claude/skills/widget-skills/FileUtility.md +206 -0
- package/templates/react-sdk-reference/.claude/skills/widget-skills/Followers.md +103 -0
- package/templates/react-sdk-reference/.claude/skills/widget-skills/QuickCreate.md +118 -0
- package/templates/react-sdk-reference/.claude/skills/widget-skills/SummaryItem.md +169 -0
- package/templates/react-sdk-reference/.claude/skills/widget-skills/ToDo.md +198 -0
- package/templates/react-sdk-reference/.cursor/rules/component-map.mdrules +41 -0
- package/templates/react-sdk-reference/.cursor/rules/dse-component.mdrules +78 -0
- package/templates/react-sdk-reference/.cursor/rules/field-component.mdrules +74 -0
- package/templates/react-sdk-reference/.cursor/rules/pega-sdk.mdrules +247 -0
- package/templates/react-sdk-reference/.cursor/rules/prompts/add-component.mdrules +149 -0
- package/templates/react-sdk-reference/.cursor/rules/prompts/component-manifest.json +193 -0
- package/templates/react-sdk-reference/.cursor/rules/prompts/generate-all-components.mdrules +154 -0
- package/templates/react-sdk-reference/.cursor/rules/prompts/generate-dse-components.mdrules +131 -0
- package/templates/react-sdk-reference/.cursor/rules/prompts/generate-field-components.mdrules +144 -0
- package/templates/react-sdk-reference/.cursor/rules/prompts/generate-template-components.mdrules +156 -0
- package/templates/react-sdk-reference/.cursor/rules/prompts/generate-widget-components.mdrules +129 -0
- package/templates/react-sdk-reference/.cursor/rules/prompts/identify-components.mdrules +110 -0
- package/templates/react-sdk-reference/.cursor/rules/prompts/replace-design-system.mdrules +524 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/component-contracts.mdrules +145 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/AlertBanner.mdrules +140 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Banner.mdrules +154 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/CaseSummaryFields.mdrules +159 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/DetailsFields.mdrules +149 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldGroup.mdrules +136 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldGroupList.mdrules +116 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/FieldValueList.mdrules +120 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Operator.mdrules +154 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/Pulse.mdrules +88 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/RichTextEditor.mdrules +211 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension-skills/WssQuickCreate.mdrules +140 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/design-system-extension.mdrules +294 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-components.mdrules +299 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/AutoComplete.mdrules +117 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/CancelAlert.mdrules +208 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Checkbox.mdrules +163 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Currency.mdrules +111 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Date.mdrules +104 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/DateTime.mdrules +108 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Decimal.mdrules +103 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Dropdown.mdrules +119 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Email.mdrules +112 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Group.mdrules +95 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Integer.mdrules +92 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Location.mdrules +141 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Multiselect.mdrules +169 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/ObjectReference.mdrules +169 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Percentage.mdrules +97 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Phone.mdrules +115 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/RadioButtons.mdrules +151 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/RichText.mdrules +143 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/ScalarList.mdrules +129 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/SelectableCard.mdrules +221 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/SemanticLink.mdrules +153 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextArea.mdrules +101 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextContent.mdrules +106 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/TextInput.mdrules +109 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/Time.mdrules +93 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/URL.mdrules +90 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/field-skills/UserReference.mdrules +185 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/run-and-verify.mdrules +73 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-components.mdrules +327 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/AdvancedSearch.mdrules +149 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/AppShell.mdrules +127 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/BannerPage.mdrules +88 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseSummary.mdrules +105 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseView.mdrules +136 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/CaseViewActionsMenu.mdrules +131 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/Confirmation.mdrules +112 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DataReference.mdrules +125 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DefaultForm.mdrules +107 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DefaultPage.mdrules +115 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/Details.mdrules +93 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsSubTabs.mdrules +100 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsThreeColumn.mdrules +83 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DetailsTwoColumn.mdrules +83 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/DynamicTabs.mdrules +106 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/FieldGroupTemplate.mdrules +114 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/HierarchicalForm.mdrules +118 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/InlineDashboard.mdrules +109 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/InlineDashboardPage.mdrules +90 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/ListPage.mdrules +73 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/ListView.mdrules +144 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/MultiReferenceReadOnly.mdrules +85 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/NarrowWide.mdrules +146 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/OneColumn.mdrules +114 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/PromotedFilters.mdrules +129 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SelfServiceCaseView.mdrules +140 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SimpleTable.mdrules +132 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SingleReferenceReadOnly.mdrules +108 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/SubTabs.mdrules +84 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/TwoColumn.mdrules +136 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/WideNarrow.mdrules +155 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/template-skills/WssNavBar.mdrules +140 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-components.mdrules +276 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/AppAnnouncement.mdrules +87 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/Attachment.mdrules +151 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/CaseHistory.mdrules +112 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/FileUtility.mdrules +205 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/Followers.mdrules +104 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/QuickCreate.mdrules +119 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/SummaryItem.mdrules +172 -0
- package/templates/react-sdk-reference/.cursor/rules/skills/widget-skills/ToDo.mdrules +195 -0
- package/templates/react-sdk-reference/.cursor/rules/template-component.mdrules +95 -0
- package/templates/react-sdk-reference/.cursor/rules/widget-component.mdrules +90 -0
- package/templates/react-sdk-reference/.github/agents/implementation-expert.agent.md +135 -0
- package/templates/react-sdk-reference/.github/copilot-instructions.md +58 -0
- package/templates/react-sdk-reference/.github/instructions/component-map.instructions.md +2 -2
- package/templates/react-sdk-reference/.github/instructions/dse-component.instructions.md +1 -1
- package/templates/react-sdk-reference/.github/instructions/field-component.instructions.md +5 -1
- package/templates/react-sdk-reference/.github/instructions/template-component.instructions.md +3 -2
- package/templates/react-sdk-reference/.github/instructions/widget-component.instructions.md +2 -1
- package/templates/react-sdk-reference/.github/prompts/add-component.prompt.md +187 -16
- package/templates/react-sdk-reference/.github/prompts/component-manifest.json +165 -83
- package/templates/react-sdk-reference/.github/prompts/generate-all-components.prompt.md +411 -0
- package/templates/react-sdk-reference/.github/prompts/generate-dse-components.prompt.md +205 -0
- package/templates/react-sdk-reference/.github/prompts/generate-field-components.prompt.md +223 -0
- package/templates/react-sdk-reference/.github/prompts/generate-template-components.prompt.md +229 -0
- package/templates/react-sdk-reference/.github/prompts/generate-widget-components.prompt.md +208 -0
- package/templates/react-sdk-reference/.github/prompts/identify-components.prompt.md +65 -65
- package/templates/react-sdk-reference/.github/skills/component-contracts.md +99 -99
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/AlertBanner.md +40 -38
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Banner.md +54 -51
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/CaseSummaryFields.md +51 -46
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/DetailsFields.md +32 -28
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroup.md +38 -35
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldGroupList.md +25 -23
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/FieldValueList.md +29 -26
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Operator.md +32 -26
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/Pulse.md +17 -15
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/RichTextEditor.md +85 -59
- package/templates/react-sdk-reference/.github/skills/design-system-extension-skills/WssQuickCreate.md +49 -47
- package/templates/react-sdk-reference/.github/skills/design-system-extension.md +60 -18
- package/templates/react-sdk-reference/.github/skills/field-components.md +56 -23
- package/templates/react-sdk-reference/.github/skills/field-skills/AutoComplete.md +27 -26
- package/templates/react-sdk-reference/.github/skills/field-skills/CancelAlert.md +30 -22
- package/templates/react-sdk-reference/.github/skills/field-skills/Checkbox.md +60 -43
- package/templates/react-sdk-reference/.github/skills/field-skills/Currency.md +23 -20
- package/templates/react-sdk-reference/.github/skills/field-skills/Date.md +19 -17
- package/templates/react-sdk-reference/.github/skills/field-skills/DateTime.md +18 -15
- package/templates/react-sdk-reference/.github/skills/field-skills/Decimal.md +22 -21
- package/templates/react-sdk-reference/.github/skills/field-skills/Dropdown.md +50 -30
- package/templates/react-sdk-reference/.github/skills/field-skills/Email.md +20 -18
- package/templates/react-sdk-reference/.github/skills/field-skills/Group.md +21 -15
- package/templates/react-sdk-reference/.github/skills/field-skills/Integer.md +17 -16
- package/templates/react-sdk-reference/.github/skills/field-skills/Location.md +30 -21
- package/templates/react-sdk-reference/.github/skills/field-skills/Multiselect.md +66 -42
- package/templates/react-sdk-reference/.github/skills/field-skills/ObjectReference.md +27 -18
- package/templates/react-sdk-reference/.github/skills/field-skills/Percentage.md +22 -21
- package/templates/react-sdk-reference/.github/skills/field-skills/Phone.md +36 -17
- package/templates/react-sdk-reference/.github/skills/field-skills/RadioButtons.md +56 -35
- package/templates/react-sdk-reference/.github/skills/field-skills/RichText.md +23 -12
- package/templates/react-sdk-reference/.github/skills/field-skills/ScalarList.md +41 -31
- package/templates/react-sdk-reference/.github/skills/field-skills/SelectableCard.md +70 -55
- package/templates/react-sdk-reference/.github/skills/field-skills/SemanticLink.md +34 -27
- package/templates/react-sdk-reference/.github/skills/field-skills/TextArea.md +24 -22
- package/templates/react-sdk-reference/.github/skills/field-skills/TextContent.md +38 -22
- package/templates/react-sdk-reference/.github/skills/field-skills/TextInput.md +24 -21
- package/templates/react-sdk-reference/.github/skills/field-skills/Time.md +16 -15
- package/templates/react-sdk-reference/.github/skills/field-skills/URL.md +16 -15
- package/templates/react-sdk-reference/.github/skills/field-skills/UserReference.md +57 -34
- package/templates/react-sdk-reference/.github/skills/run-and-verify.md +10 -8
- package/templates/react-sdk-reference/.github/skills/template-components.md +50 -14
- package/templates/react-sdk-reference/.github/skills/template-skills/AdvancedSearch.md +27 -21
- package/templates/react-sdk-reference/.github/skills/template-skills/AppShell.md +17 -15
- package/templates/react-sdk-reference/.github/skills/template-skills/BannerPage.md +19 -16
- package/templates/react-sdk-reference/.github/skills/template-skills/CaseSummary.md +19 -13
- package/templates/react-sdk-reference/.github/skills/template-skills/CaseView.md +23 -17
- package/templates/react-sdk-reference/.github/skills/template-skills/CaseViewActionsMenu.md +34 -29
- package/templates/react-sdk-reference/.github/skills/template-skills/Confirmation.md +18 -16
- package/templates/react-sdk-reference/.github/skills/template-skills/DataReference.md +36 -32
- package/templates/react-sdk-reference/.github/skills/template-skills/DefaultForm.md +23 -21
- package/templates/react-sdk-reference/.github/skills/template-skills/DefaultPage.md +31 -29
- package/templates/react-sdk-reference/.github/skills/template-skills/Details.md +19 -17
- package/templates/react-sdk-reference/.github/skills/template-skills/DetailsSubTabs.md +22 -20
- package/templates/react-sdk-reference/.github/skills/template-skills/DetailsThreeColumn.md +19 -17
- package/templates/react-sdk-reference/.github/skills/template-skills/DetailsTwoColumn.md +19 -17
- package/templates/react-sdk-reference/.github/skills/template-skills/DynamicTabs.md +15 -10
- package/templates/react-sdk-reference/.github/skills/template-skills/FieldGroupTemplate.md +19 -16
- package/templates/react-sdk-reference/.github/skills/template-skills/HierarchicalForm.md +18 -15
- package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboard.md +17 -13
- package/templates/react-sdk-reference/.github/skills/template-skills/InlineDashboardPage.md +10 -13
- package/templates/react-sdk-reference/.github/skills/template-skills/ListPage.md +9 -7
- package/templates/react-sdk-reference/.github/skills/template-skills/ListView.md +33 -30
- package/templates/react-sdk-reference/.github/skills/template-skills/MultiReferenceReadOnly.md +13 -11
- package/templates/react-sdk-reference/.github/skills/template-skills/NarrowWide.md +42 -40
- package/templates/react-sdk-reference/.github/skills/template-skills/OneColumn.md +25 -20
- package/templates/react-sdk-reference/.github/skills/template-skills/PromotedFilters.md +25 -19
- package/templates/react-sdk-reference/.github/skills/template-skills/SelfServiceCaseView.md +36 -29
- package/templates/react-sdk-reference/.github/skills/template-skills/SimpleTable.md +31 -27
- package/templates/react-sdk-reference/.github/skills/template-skills/SingleReferenceReadOnly.md +29 -24
- package/templates/react-sdk-reference/.github/skills/template-skills/SubTabs.md +14 -11
- package/templates/react-sdk-reference/.github/skills/template-skills/TwoColumn.md +34 -32
- package/templates/react-sdk-reference/.github/skills/template-skills/WideNarrow.md +48 -46
- package/templates/react-sdk-reference/.github/skills/template-skills/WssNavBar.md +23 -19
- package/templates/react-sdk-reference/.github/skills/widget-components.md +52 -26
- package/templates/react-sdk-reference/.github/skills/widget-skills/AppAnnouncement.md +22 -20
- package/templates/react-sdk-reference/.github/skills/widget-skills/Attachment.md +33 -28
- package/templates/react-sdk-reference/.github/skills/widget-skills/CaseHistory.md +18 -15
- package/templates/react-sdk-reference/.github/skills/widget-skills/FileUtility.md +43 -37
- package/templates/react-sdk-reference/.github/skills/widget-skills/Followers.md +23 -19
- package/templates/react-sdk-reference/.github/skills/widget-skills/QuickCreate.md +20 -16
- package/templates/react-sdk-reference/.github/skills/widget-skills/SummaryItem.md +26 -24
- package/templates/react-sdk-reference/.github/skills/widget-skills/ToDo.md +43 -35
- package/templates/react-sdk-reference/AGENTS.md +216 -29
- package/templates/react-sdk-reference/index.html +1 -4
- package/templates/react-sdk-reference/package.json +16 -16
- package/templates/react-sdk-reference/pega-constellationjs-0.26.3-local.tgz +0 -0
- package/templates/react-sdk-reference/pega-sdk-react-0.1.0.tgz +0 -0
- package/templates/react-sdk-reference/sdk-config.json +1 -1
- package/templates/react-sdk-reference/src/AppSelector.tsx +6 -6
- package/templates/react-sdk-reference/src/FallbackComponent.tsx +2 -6
- package/templates/react-sdk-reference/src/MashupApp.styles.ts +269 -41
- package/templates/react-sdk-reference/src/MashupApp.tsx +186 -85
- package/templates/react-sdk-reference/src/PortalApp.tsx +10 -34
- package/templates/react-sdk-reference/src/components/component-map.ts +2 -7
- package/templates/react-sdk-reference/src/components/designSystemExtension/AlertBanner/AlertBanner.tsx +7 -28
- package/templates/react-sdk-reference/src/components/designSystemExtension/Banner/Banner.tsx +12 -7
- package/templates/react-sdk-reference/src/components/designSystemExtension/CaseSummaryFields/CaseSummaryFields.tsx +35 -33
- package/templates/react-sdk-reference/src/components/designSystemExtension/DetailsFields/DetailsFields.tsx +6 -27
- package/templates/react-sdk-reference/src/components/designSystemExtension/FieldGroup/FieldGroup.tsx +15 -11
- package/templates/react-sdk-reference/src/components/designSystemExtension/FieldGroupList/FieldGroupList.tsx +7 -7
- package/templates/react-sdk-reference/src/components/designSystemExtension/FieldValueList/FieldValueList.tsx +18 -12
- package/templates/react-sdk-reference/src/components/designSystemExtension/Operator/Operator.tsx +27 -25
- package/templates/react-sdk-reference/src/components/designSystemExtension/Pulse/Pulse.tsx +4 -4
- package/templates/react-sdk-reference/src/components/designSystemExtension/RichTextEditor/RichTextEditor.tsx +8 -40
- package/templates/react-sdk-reference/src/components/designSystemExtension/WssQuickCreate/WssQuickCreate.tsx +9 -9
- package/templates/react-sdk-reference/src/components/field/AutoComplete/AutoComplete.tsx +26 -20
- package/templates/react-sdk-reference/src/components/field/CancelAlert/CancelAlert.tsx +35 -17
- package/templates/react-sdk-reference/src/components/field/Checkbox/Checkbox.tsx +27 -25
- package/templates/react-sdk-reference/src/components/field/Currency/Currency.tsx +10 -6
- package/templates/react-sdk-reference/src/components/field/Currency/currency-utils.ts +1 -1
- package/templates/react-sdk-reference/src/components/field/Date/Date.tsx +20 -7
- package/templates/react-sdk-reference/src/components/field/DateTime/DateTime.tsx +23 -8
- package/templates/react-sdk-reference/src/components/field/Decimal/Decimal.tsx +5 -5
- package/templates/react-sdk-reference/src/components/field/Dropdown/Dropdown.tsx +45 -25
- package/templates/react-sdk-reference/src/components/field/Email/Email.tsx +8 -8
- package/templates/react-sdk-reference/src/components/field/Group/Group.tsx +1 -1
- package/templates/react-sdk-reference/src/components/field/Integer/Integer.tsx +5 -5
- package/templates/react-sdk-reference/src/components/field/Location/Location.tsx +21 -16
- package/templates/react-sdk-reference/src/components/field/Multiselect/Multiselect.tsx +42 -27
- package/templates/react-sdk-reference/src/components/field/Multiselect/utils.ts +43 -29
- package/templates/react-sdk-reference/src/components/field/ObjectReference/ObjectReference.tsx +53 -30
- package/templates/react-sdk-reference/src/components/field/ObjectReference/utils.ts +12 -11
- package/templates/react-sdk-reference/src/components/field/Percentage/Percentage.tsx +6 -6
- package/templates/react-sdk-reference/src/components/field/Phone/Phone.tsx +12 -12
- package/templates/react-sdk-reference/src/components/field/RadioButtons/RadioButtons.tsx +38 -16
- package/templates/react-sdk-reference/src/components/field/RichText/RichText.tsx +17 -4
- package/templates/react-sdk-reference/src/components/field/ScalarList/ScalarList.tsx +5 -5
- package/templates/react-sdk-reference/src/components/field/SelectableCard/SelectableCard.tsx +31 -18
- package/templates/react-sdk-reference/src/components/field/SelectableCard/utils.tsx +28 -20
- package/templates/react-sdk-reference/src/components/field/SemanticLink/SemanticLink.tsx +28 -19
- package/templates/react-sdk-reference/src/components/field/SemanticLink/utils.ts +3 -1
- package/templates/react-sdk-reference/src/components/field/TextArea/TextArea.tsx +4 -4
- package/templates/react-sdk-reference/src/components/field/TextInput/TextInput.tsx +4 -4
- package/templates/react-sdk-reference/src/components/field/Time/Time.tsx +20 -7
- package/templates/react-sdk-reference/src/components/field/URL/URL.tsx +7 -7
- package/templates/react-sdk-reference/src/components/field/UserReference/UserReference.tsx +14 -14
- package/templates/react-sdk-reference/src/components/field/UserReference/UserReferenceUtils.ts +2 -2
- package/templates/react-sdk-reference/src/components/helpers/case-utils.tsx +5 -5
- package/templates/react-sdk-reference/src/components/helpers/data_page.ts +3 -3
- package/templates/react-sdk-reference/src/components/helpers/date-format-utils.ts +5 -5
- package/templates/react-sdk-reference/src/components/helpers/field-group-utils.ts +2 -7
- package/templates/react-sdk-reference/src/components/helpers/formatters/Boolean.ts +9 -3
- package/templates/react-sdk-reference/src/components/helpers/formatters/Currency.ts +18 -6
- package/templates/react-sdk-reference/src/components/helpers/formatters/CurrencyMap.ts +168 -168
- package/templates/react-sdk-reference/src/components/helpers/formatters/Date.ts +5 -5
- package/templates/react-sdk-reference/src/components/helpers/formatters/index.ts +8 -5
- package/templates/react-sdk-reference/src/components/helpers/instructions-utils.ts +2 -2
- package/templates/react-sdk-reference/src/components/helpers/simpleTableHelpers.ts +54 -30
- package/templates/react-sdk-reference/src/components/helpers/state-utils.tsx +5 -2
- package/templates/react-sdk-reference/src/components/helpers/template-utils.ts +5 -4
- package/templates/react-sdk-reference/src/components/helpers/utils.ts +3 -3
- package/templates/react-sdk-reference/src/components/helpers/versionHelpers.ts +3 -1
- package/templates/react-sdk-reference/src/components/index.ts +1 -4
- package/templates/react-sdk-reference/src/components/template/AdvancedSearch/AdvancedSearch.tsx +18 -10
- package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroup/persistUtils.ts +3 -3
- package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/SearchGroups.tsx +26 -90
- package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/hooks.ts +8 -5
- package/templates/react-sdk-reference/src/components/template/AdvancedSearch/SearchGroups/utils.ts +8 -4
- package/templates/react-sdk-reference/src/components/template/AdvancedSearch/TemplateContext.ts +1 -1
- package/templates/react-sdk-reference/src/components/template/AppShell/AppShell.tsx +28 -19
- package/templates/react-sdk-reference/src/components/template/BannerPage/BannerPage.tsx +2 -2
- package/templates/react-sdk-reference/src/components/template/CaseSummary/CaseSummary.tsx +5 -5
- package/templates/react-sdk-reference/src/components/template/CaseView/CaseView.tsx +35 -16
- package/templates/react-sdk-reference/src/components/template/CaseViewActionsMenu/CaseViewActionsMenu.tsx +10 -10
- package/templates/react-sdk-reference/src/components/template/Confirmation/Confirmation.tsx +12 -26
- package/templates/react-sdk-reference/src/components/template/DataReference/DataReference.tsx +41 -124
- package/templates/react-sdk-reference/src/components/template/DataReference/DataReferenceAdvancedSearchContext.ts +2 -2
- package/templates/react-sdk-reference/src/components/template/DataReference/SearchForm.tsx +18 -78
- package/templates/react-sdk-reference/src/components/template/DataReference/utils.ts +18 -12
- package/templates/react-sdk-reference/src/components/template/DefaultForm/DefaultForm.tsx +4 -12
- package/templates/react-sdk-reference/src/components/template/DefaultForm/utils/index.ts +3 -3
- package/templates/react-sdk-reference/src/components/template/DefaultPage/DefaultPage.tsx +3 -3
- package/templates/react-sdk-reference/src/components/template/Details/Details/Details.tsx +6 -8
- package/templates/react-sdk-reference/src/components/template/Details/DetailsThreeColumn/DetailsThreeColumn.tsx +7 -14
- package/templates/react-sdk-reference/src/components/template/Details/DetailsTwoColumn/DetailsTwoColumn.tsx +7 -14
- package/templates/react-sdk-reference/src/components/template/Details/DynamicTabs/DynamicTabs.tsx +16 -8
- package/templates/react-sdk-reference/src/components/template/FieldGroupTemplate/FieldGroupTemplate.tsx +7 -4
- package/templates/react-sdk-reference/src/components/template/HierarchicalForm/HierarchicalForm.tsx +20 -5
- package/templates/react-sdk-reference/src/components/template/HierarchicalForm/hooks.ts +35 -77
- package/templates/react-sdk-reference/src/components/template/InlineDashboard/InlineDashboard.tsx +10 -10
- package/templates/react-sdk-reference/src/components/template/ListView/DefaultViewMeta.ts +31 -31
- package/templates/react-sdk-reference/src/components/template/ListView/ListView.tsx +173 -133
- package/templates/react-sdk-reference/src/components/template/ListView/hooks.ts +17 -10
- package/templates/react-sdk-reference/src/components/template/ListView/utils.ts +64 -51
- package/templates/react-sdk-reference/src/components/template/MultiReferenceReadOnly/MultiReferenceReadOnly.tsx +6 -6
- package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWide/NarrowWide.tsx +6 -6
- package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWideDetails/NarrowWideDetails.tsx +8 -18
- package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWideForm/NarrowWideForm.tsx +3 -3
- package/templates/react-sdk-reference/src/components/template/NarrowWide/NarrowWidePage/NarrowWidePage.tsx +7 -1
- package/templates/react-sdk-reference/src/components/template/OneColumn/OneColumn/OneColumn.tsx +3 -3
- package/templates/react-sdk-reference/src/components/template/OneColumn/OneColumnTab/OneColumnTab.tsx +1 -1
- package/templates/react-sdk-reference/src/components/template/PromotedFilters/PromotedFilters.tsx +13 -40
- package/templates/react-sdk-reference/src/components/template/SelfServiceCaseView/SelfServiceCaseView.tsx +19 -16
- package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTable/SimpleTable.tsx +8 -7
- package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableManual/SimpleTableManual.tsx +84 -203
- package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableSelect/SimpleTableSelect.tsx +15 -5
- package/templates/react-sdk-reference/src/components/template/SimpleTable/SimpleTableSelectReadonly/SimpleTableSelectReadonly.tsx +15 -29
- package/templates/react-sdk-reference/src/components/template/SingleReferenceReadOnly/SingleReferenceReadOnly.tsx +7 -7
- package/templates/react-sdk-reference/src/components/template/SubTabs/SubTabs.tsx +1 -1
- package/templates/react-sdk-reference/src/components/template/SubTabs/tabUtils.ts +13 -11
- package/templates/react-sdk-reference/src/components/template/TwoColumn/TwoColumn/TwoColumn.tsx +3 -3
- package/templates/react-sdk-reference/src/components/template/TwoColumn/TwoColumnTab/TwoColumnTab.tsx +3 -3
- package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrow/WideNarrow.tsx +6 -6
- package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowDetails/WideNarrowDetails.tsx +13 -24
- package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowForm/WideNarrowForm.tsx +3 -3
- package/templates/react-sdk-reference/src/components/template/WideNarrow/WideNarrowPage/WideNarrowPage.tsx +7 -1
- package/templates/react-sdk-reference/src/components/template/WssNavBar/WssNavBar.tsx +25 -25
- package/templates/react-sdk-reference/src/components/template/utils.tsx +6 -6
- package/templates/react-sdk-reference/src/components/widget/AppAnnouncement/AppAnnouncement.tsx +9 -9
- package/templates/react-sdk-reference/src/components/widget/Attachment/Attachment.tsx +125 -79
- package/templates/react-sdk-reference/src/components/widget/Attachment/AttachmentUtils.ts +58 -33
- package/templates/react-sdk-reference/src/components/widget/CaseHistory/CaseHistory.tsx +14 -12
- package/templates/react-sdk-reference/src/components/widget/FileUtility/ActionButtonsForFileUtil/ActionButtonsForFileUtil.tsx +19 -7
- package/templates/react-sdk-reference/src/components/widget/FileUtility/FileUtility/FileUtility.tsx +137 -107
- package/templates/react-sdk-reference/src/components/widget/Followers/Followers.tsx +4 -4
- package/templates/react-sdk-reference/src/components/widget/QuickCreate/QuickCreate.tsx +15 -11
- package/templates/react-sdk-reference/src/components/widget/SummaryItem/SummaryItem.tsx +25 -18
- package/templates/react-sdk-reference/src/components/widget/SummaryList/SummaryList.tsx +7 -2
- package/templates/react-sdk-reference/src/components/widget/ToDo/ToDo.tsx +30 -116
- package/templates/react-sdk-reference/src/main.tsx +1 -1
- package/templates/react-sdk-reference/tsconfig.json +2 -1
- package/templates/react-sdk-reference/vite.config.ts +52 -27
- package/templates/wc-sdk-reference/package.json +3 -3
- package/templates/wc-sdk-reference/src/index.ts +10 -10
- package/templates/wc-sdk-reference/tsconfig.json +1 -0
- package/templates/react-sdk-reference/.github/prompts/replace-all-fields.prompt.md +0 -48
- package/templates/react-sdk-reference/.github/prompts/replace-component.prompt.md +0 -81
- package/templates/react-sdk-reference/.github/prompts/replace-field.prompt.md +0 -41
- package/templates/react-sdk-reference/.github/prompts/swap-design-system.prompt.md +0 -49
- package/templates/react-sdk-reference/.github/skills/swap-design-system.md +0 -105
- package/templates/react-sdk-reference/pega-constellationjs-0.26.2.tgz +0 -0
|
@@ -18,9 +18,9 @@ Renders a table of case events sourced from the `D_pyWorkHistory` data page. Sho
|
|
|
18
18
|
|
|
19
19
|
## Props
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
23
|
-
| `getPConnect` | `function` | Yes
|
|
21
|
+
| Prop | Type | Required | Description |
|
|
22
|
+
| ------------- | ---------- | -------- | ----------------------------------------------------- |
|
|
23
|
+
| `getPConnect` | `function` | Yes | PConnect getter — used to resolve case ID and context |
|
|
24
24
|
|
|
25
25
|
No additional custom props. All data is fetched internally.
|
|
26
26
|
|
|
@@ -50,6 +50,7 @@ Use `fast-deep-equal/react` to compare new `historyData` with previous value —
|
|
|
50
50
|
### Data Transformation
|
|
51
51
|
|
|
52
52
|
For each history row, map:
|
|
53
|
+
|
|
53
54
|
- **Date column:** Format `pyUpdatedDateTime` using the SDK date formatter (e.g., `formatDateTime(row.pyUpdatedDateTime)`) or display as-is.
|
|
54
55
|
- **Description column:** `row.pyMessageKey` — the localized event description string.
|
|
55
56
|
- **Performer column:** `row.pyPerformer` — the operator who performed the action.
|
|
@@ -59,13 +60,14 @@ For each history row, map:
|
|
|
59
60
|
|
|
60
61
|
### Table Layout
|
|
61
62
|
|
|
62
|
-
| Column
|
|
63
|
-
|
|
64
|
-
| Date
|
|
65
|
-
| Description | `pyMessageKey`
|
|
66
|
-
| Performer
|
|
63
|
+
| Column | Field | Width |
|
|
64
|
+
| ----------- | ------------------------------- | ----- |
|
|
65
|
+
| Date | `pyUpdatedDateTime` (formatted) | ~25% |
|
|
66
|
+
| Description | `pyMessageKey` | ~50% |
|
|
67
|
+
| Performer | `pyPerformer` | ~25% |
|
|
67
68
|
|
|
68
69
|
**CSS-only implementation notes:**
|
|
70
|
+
|
|
69
71
|
- Table container: `width: 100%; overflow-x: auto`.
|
|
70
72
|
- Table: `border-collapse: collapse; width: 100%`.
|
|
71
73
|
- Header cells: `background: var(--table-header-bg); font-weight: 600; padding: 8px 12px; border-bottom: 2px solid var(--divider-color)`.
|
|
@@ -93,15 +95,16 @@ For each history row, map:
|
|
|
93
95
|
|
|
94
96
|
Listed design systems are examples only.
|
|
95
97
|
|
|
96
|
-
| Design System
|
|
97
|
-
|
|
98
|
-
| Default (CSS only) | `<table>/<thead>/<tbody>/<tr>/<td>`
|
|
99
|
-
| MUI
|
|
100
|
-
| Ant Design
|
|
101
|
-
| Chakra UI
|
|
102
|
-
| Shadcn/ui
|
|
98
|
+
| Design System | Table |
|
|
99
|
+
| ------------------ | --------------------------------------------------------------------------------- |
|
|
100
|
+
| Default (CSS only) | `<table>/<thead>/<tbody>/<tr>/<td>` |
|
|
101
|
+
| MUI | `<TableContainer>` + `<Table>` + `<TableHead>/<TableBody>/<TableRow>/<TableCell>` |
|
|
102
|
+
| Ant Design | `<Table dataSource={historyData} columns={...}>` |
|
|
103
|
+
| Chakra UI | `<Table>` + `<Thead>/<Tbody>/<Tr>/<Th>/<Td>` |
|
|
104
|
+
| Shadcn/ui | `<Table>` + `<TableHeader>/<TableBody>/<TableRow>/<TableHead>/<TableCell>` |
|
|
103
105
|
|
|
104
106
|
When implementing in a specific design system:
|
|
107
|
+
|
|
105
108
|
- `fast-deep-equal` comparison is a performance optimization — include it to avoid redundant renders on re-subscription
|
|
106
109
|
- Data page name `D_pyWorkHistory` is fixed — do not make it configurable
|
|
107
110
|
- Missing field fallback `"---"` should be consistent across all three columns
|
|
@@ -18,19 +18,21 @@ The primary attachments management panel in the case utilities column. Shows up
|
|
|
18
18
|
|
|
19
19
|
## Props
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
23
|
-
| `caseId`
|
|
24
|
-
| `getPConnect` | `function` | Yes
|
|
21
|
+
| Prop | Type | Required | Description |
|
|
22
|
+
| ------------- | ---------- | -------- | --------------------------------------------------------------------------------- |
|
|
23
|
+
| `caseId` | `string` | No | Optional case ID override. If absent, resolved from `pConn.getCaseInfo().getID()` |
|
|
24
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
25
25
|
|
|
26
26
|
## Behavioral Contract
|
|
27
27
|
|
|
28
28
|
### Attachment Fetch
|
|
29
29
|
|
|
30
30
|
On mount and on attachment change events:
|
|
31
|
+
|
|
31
32
|
```
|
|
32
33
|
PCore.getAttachmentUtils().getCaseAttachments(caseKey, context)
|
|
33
34
|
```
|
|
35
|
+
|
|
34
36
|
Returns array of attachment/link objects. Store in `attachments` state.
|
|
35
37
|
|
|
36
38
|
Debounced auto-refresh: on `CASE_ATTACHMENTS_UPDATED` pub-sub event, wait 1000ms (debounced) then re-fetch. This prevents rapid re-fetches when multiple files are uploaded simultaneously.
|
|
@@ -42,6 +44,7 @@ Show only the first 3 items from `attachments`. If `attachments.length > 3`, sho
|
|
|
42
44
|
### SummaryList Integration
|
|
43
45
|
|
|
44
46
|
Map each attachment/link to a `SummaryItem`-compatible object:
|
|
47
|
+
|
|
45
48
|
```typescript
|
|
46
49
|
{
|
|
47
50
|
id: attachment.ID,
|
|
@@ -89,6 +92,7 @@ Call `PCore.getAttachmentUtils().deleteAttachment(attachmentID, context)`. Refre
|
|
|
89
92
|
### Actions Menu
|
|
90
93
|
|
|
91
94
|
Render a `<MoreVertIcon>` `<IconButton>` that opens a `<Menu>` with:
|
|
95
|
+
|
|
92
96
|
- `"Add file"` — opens add-file modal
|
|
93
97
|
- `"Add link"` — opens add-link modal
|
|
94
98
|
|
|
@@ -96,39 +100,40 @@ Render a `<MoreVertIcon>` `<IconButton>` that opens a `<Menu>` with:
|
|
|
96
100
|
|
|
97
101
|
### Main Card
|
|
98
102
|
|
|
99
|
-
| Element
|
|
100
|
-
|
|
101
|
-
| Card header
|
|
102
|
-
| Actions icon
|
|
103
|
-
| Attachment rows
|
|
104
|
-
| "View all" button | Text button, shown when > 3 attachments
|
|
103
|
+
| Element | Description |
|
|
104
|
+
| ----------------- | -------------------------------------------- |
|
|
105
|
+
| Card header | `"Attachments"` (or localized) + count badge |
|
|
106
|
+
| Actions icon | `<MoreVertIcon>` button top-right |
|
|
107
|
+
| Attachment rows | Up to 3 `SummaryItem` cards |
|
|
108
|
+
| "View all" button | Text button, shown when > 3 attachments |
|
|
105
109
|
|
|
106
110
|
### "View all" Modal
|
|
107
111
|
|
|
108
|
-
| Element
|
|
109
|
-
|
|
110
|
-
| Modal header
|
|
112
|
+
| Element | Description |
|
|
113
|
+
| --------------- | -------------------------- |
|
|
114
|
+
| Modal header | `"All attachments (N)"` |
|
|
111
115
|
| Attachment rows | All items in `SummaryList` |
|
|
112
|
-
| Close button
|
|
116
|
+
| Close button | `X` in modal header |
|
|
113
117
|
|
|
114
118
|
### Add File Modal
|
|
115
119
|
|
|
116
|
-
| Element
|
|
117
|
-
|
|
118
|
-
| File picker
|
|
119
|
-
| Progress bar
|
|
120
|
+
| Element | Description |
|
|
121
|
+
| -------------- | -------------------------------------------- |
|
|
122
|
+
| File picker | `<input type='file'>` |
|
|
123
|
+
| Progress bar | Per-file upload progress |
|
|
120
124
|
| Action buttons | `ActionButtonsForFileUtil` (Cancel + Attach) |
|
|
121
125
|
|
|
122
126
|
### Add Link Modal
|
|
123
127
|
|
|
124
|
-
| Element
|
|
125
|
-
|
|
126
|
-
| Title field
|
|
127
|
-
| URL field
|
|
128
|
-
| Attach button
|
|
128
|
+
| Element | Description |
|
|
129
|
+
| -------------- | -------------------------------------------- |
|
|
130
|
+
| Title field | `<TextField label='Title'>` — required |
|
|
131
|
+
| URL field | `<TextField label='URL'>` — required |
|
|
132
|
+
| Attach button | Enabled only when both fields are filled |
|
|
129
133
|
| Action buttons | `ActionButtonsForFileUtil` (Cancel + Attach) |
|
|
130
134
|
|
|
131
135
|
**CSS-only implementation notes:**
|
|
136
|
+
|
|
132
137
|
- Main card: standard card styles.
|
|
133
138
|
- Modal: `position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: white; border-radius: 8px; box-shadow: 0 4px 24px rgba(0,0,0,0.2); min-width: 480px; padding: 1.5rem`.
|
|
134
139
|
- "View all" button: text style, `color: var(--app-primary-color); cursor: pointer`.
|
|
@@ -142,13 +147,13 @@ A simple button row component used inside the FileUtility modals to render Cance
|
|
|
142
147
|
|
|
143
148
|
### Props
|
|
144
149
|
|
|
145
|
-
| Prop
|
|
146
|
-
|
|
147
|
-
| `arMainButtons`
|
|
148
|
-
| `arSecondaryButtons` | `any[]`
|
|
149
|
-
| `primaryAction`
|
|
150
|
-
| `secondaryAction`
|
|
151
|
-
| `getPConnect`
|
|
150
|
+
| Prop | Type | Required | Description |
|
|
151
|
+
| -------------------- | ---------- | -------- | ------------------------------------------------------------ |
|
|
152
|
+
| `arMainButtons` | `any[]` | Yes | Primary button definitions `[{ actionID, name }]` |
|
|
153
|
+
| `arSecondaryButtons` | `any[]` | Yes | Secondary (cancel) button definitions `[{ actionID, name }]` |
|
|
154
|
+
| `primaryAction` | `function` | Yes | Callback invoked when the primary button is clicked |
|
|
155
|
+
| `secondaryAction` | `function` | Yes | Callback invoked when the secondary/cancel button is clicked |
|
|
156
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
152
157
|
|
|
153
158
|
### Layout
|
|
154
159
|
|
|
@@ -186,15 +191,16 @@ A simple button row component used inside the FileUtility modals to render Cance
|
|
|
186
191
|
|
|
187
192
|
Listed design systems are examples only.
|
|
188
193
|
|
|
189
|
-
| Design System
|
|
190
|
-
|
|
191
|
-
| Default (CSS only) | `<div>` card | `<button>` + custom dropdown
|
|
192
|
-
| MUI
|
|
193
|
-
| Ant Design
|
|
194
|
-
| Chakra UI
|
|
195
|
-
| Shadcn/ui
|
|
194
|
+
| Design System | Card | Action Menu | Modal | Progress |
|
|
195
|
+
| ------------------ | ------------ | ------------------------------------ | ---------- | ------------------------------------------ |
|
|
196
|
+
| Default (CSS only) | `<div>` card | `<button>` + custom dropdown | `<dialog>` | CSS progress bar |
|
|
197
|
+
| MUI | `<Card>` | `<IconButton>` + `<Menu>/<MenuItem>` | `<Dialog>` | `<CircularProgress>` or `<LinearProgress>` |
|
|
198
|
+
| Ant Design | `<Card>` | `<Dropdown menu={{ items }}>` | `<Modal>` | `<Progress>` |
|
|
199
|
+
| Chakra UI | `<Card>` | `<Menu>/<MenuButton>/<MenuList>` | `<Modal>` | `<Progress>` |
|
|
200
|
+
| Shadcn/ui | `<Card>` | `<DropdownMenu>` | `<Dialog>` | Custom progress bar |
|
|
196
201
|
|
|
197
202
|
When implementing in a specific design system:
|
|
203
|
+
|
|
198
204
|
- Debounced refresh (1000ms) after pub-sub attachment events is required — prevents excessive API calls
|
|
199
205
|
- `linkAttachmentsToCase` must be called after upload — uploading alone does not attach to the case
|
|
200
206
|
- `ActionButtonsForFileUtil` receives button definition arrays — render them generically from `arMainButtons`/`arSecondaryButtons`
|
|
@@ -18,11 +18,12 @@ Intended to display the list of operators following a case, allowing users to fo
|
|
|
18
18
|
|
|
19
19
|
## Props
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
23
|
-
| `getPConnect` | `function` | Yes
|
|
21
|
+
| Prop | Type | Required | Description |
|
|
22
|
+
| ------------- | ---------- | -------- | --------------- |
|
|
23
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
24
24
|
|
|
25
25
|
No additional custom props in the current stub implementation. A full implementation would likely include:
|
|
26
|
+
|
|
26
27
|
- `datasource` — data page name for follower list
|
|
27
28
|
- `headerText` — widget title (e.g., `"Followers"`)
|
|
28
29
|
|
|
@@ -47,24 +48,26 @@ No additional custom props in the current stub implementation. A full implementa
|
|
|
47
48
|
|
|
48
49
|
### Stub Rendering
|
|
49
50
|
|
|
50
|
-
| Element
|
|
51
|
-
|
|
52
|
-
| Card title | `"Followers"`
|
|
53
|
-
| Card body
|
|
51
|
+
| Element | Value |
|
|
52
|
+
| ---------- | -------------------------------------- |
|
|
53
|
+
| Card title | `"Followers"` |
|
|
54
|
+
| Card body | `"Followers - unsupported"` plain text |
|
|
54
55
|
|
|
55
56
|
### Expected Full Rendering
|
|
56
57
|
|
|
57
|
-
| Element
|
|
58
|
-
|
|
59
|
-
| Card header
|
|
60
|
-
| Follower avatars | Row of avatar initials circles
|
|
61
|
-
| Follow button
|
|
58
|
+
| Element | Description |
|
|
59
|
+
| ---------------- | --------------------------------------- |
|
|
60
|
+
| Card header | `"Followers"` + count badge |
|
|
61
|
+
| Follower avatars | Row of avatar initials circles |
|
|
62
|
+
| Follow button | Toggle button `"Follow"` / `"Unfollow"` |
|
|
62
63
|
|
|
63
64
|
**CSS-only implementation notes (stub):**
|
|
65
|
+
|
|
64
66
|
- Card: standard card layout — `border-radius: 4px; box-shadow: 0 1px 4px rgba(0,0,0,0.12); padding: 1rem`.
|
|
65
67
|
- Unsupported message: `color: var(--secondary-text-color); font-size: 0.875rem`.
|
|
66
68
|
|
|
67
69
|
**CSS-only implementation notes (full):**
|
|
70
|
+
|
|
68
71
|
- Avatar row: `display: flex; flex-wrap: wrap; gap: 4px`.
|
|
69
72
|
- Avatar circle: `width: 32px; height: 32px; border-radius: 50%; background: var(--avatar-bg); display: flex; align-items: center; justify-content: center; font-size: 0.75rem; font-weight: 600`.
|
|
70
73
|
|
|
@@ -85,15 +88,16 @@ No additional custom props in the current stub implementation. A full implementa
|
|
|
85
88
|
|
|
86
89
|
Listed design systems are examples only.
|
|
87
90
|
|
|
88
|
-
| Design System
|
|
89
|
-
|
|
90
|
-
| Default (CSS only) | `<div>` with border
|
|
91
|
-
| MUI
|
|
92
|
-
| Ant Design
|
|
93
|
-
| Chakra UI
|
|
94
|
-
| Shadcn/ui
|
|
91
|
+
| Design System | Card | Avatar | Toggle Button |
|
|
92
|
+
| ------------------ | --------------------- | ------------------------ | ------------------------- |
|
|
93
|
+
| Default (CSS only) | `<div>` with border | CSS circle with initials | `<button>` |
|
|
94
|
+
| MUI | `<Card>` + `<Avatar>` | `<Avatar>` | `<Button>` variant toggle |
|
|
95
|
+
| Ant Design | `<Card>` | `<Avatar>` | `<Button>` |
|
|
96
|
+
| Chakra UI | `<Card>` | `<Avatar>` | `<Button>` |
|
|
97
|
+
| Shadcn/ui | `<Card>` | Custom avatar | `<Button>` |
|
|
95
98
|
|
|
96
99
|
When implementing in a specific design system:
|
|
100
|
+
|
|
97
101
|
- The current stub only needs a card with a message — implement the full behavior once the Pega backend supports it
|
|
98
102
|
- Follow/unfollow must be scoped to the current case (`caseKey` from `pConn.getCaseInfo().getKey()`)
|
|
99
103
|
- Follower count badge in the card header improves scannability
|
|
@@ -18,12 +18,12 @@ Provides a shortcut panel for creating new cases. Case types are sourced from th
|
|
|
18
18
|
|
|
19
19
|
## Props
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
23
|
-
| `heading`
|
|
24
|
-
| `showCaseIcons` | `boolean`
|
|
25
|
-
| `classFilter`
|
|
26
|
-
| `getPConnect`
|
|
21
|
+
| Prop | Type | Required | Description |
|
|
22
|
+
| --------------- | ---------- | -------- | --------------------------------------------------------------------------- |
|
|
23
|
+
| `heading` | `string` | Yes | Widget title (e.g., `"Create"`) |
|
|
24
|
+
| `showCaseIcons` | `boolean` | No | Whether to show case type icons alongside labels. Default `false` |
|
|
25
|
+
| `classFilter` | `any[]` | No | Array of class names to filter available case types. Empty array = show all |
|
|
26
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
27
27
|
|
|
28
28
|
## Behavioral Contract
|
|
29
29
|
|
|
@@ -39,6 +39,7 @@ Provides a shortcut panel for creating new cases. Case types are sourced from th
|
|
|
39
39
|
### Case Type Object Mapping
|
|
40
40
|
|
|
41
41
|
For each case type, build:
|
|
42
|
+
|
|
42
43
|
```typescript
|
|
43
44
|
{
|
|
44
45
|
classname: caseType.pyClassName,
|
|
@@ -54,6 +55,7 @@ For each case type, build:
|
|
|
54
55
|
### Rendering Delegation
|
|
55
56
|
|
|
56
57
|
Pass the mapped case type array to `WssQuickCreate` (retrieved via `getComponentFromRegistry('WssQuickCreate')`):
|
|
58
|
+
|
|
57
59
|
```tsx
|
|
58
60
|
const WssQuickCreate = getComponentFromRegistry('WssQuickCreate');
|
|
59
61
|
return <WssQuickCreate heading={heading} caseTypes={caseTypeObjects} />;
|
|
@@ -65,12 +67,13 @@ This component handles all button rendering — `QuickCreate` is purely a data-p
|
|
|
65
67
|
|
|
66
68
|
Visual rendering is owned by `WssQuickCreate` (a design system extension component). Typical layout:
|
|
67
69
|
|
|
68
|
-
| Element
|
|
69
|
-
|
|
70
|
-
| Heading
|
|
70
|
+
| Element | Description |
|
|
71
|
+
| ----------------- | ------------------------------------------------- |
|
|
72
|
+
| Heading | Widget title at the top |
|
|
71
73
|
| Case type buttons | One button per case type; icon (optional) + label |
|
|
72
74
|
|
|
73
75
|
**CSS-only implementation notes (if implementing without `WssQuickCreate`):**
|
|
76
|
+
|
|
74
77
|
- Container: `display: flex; flex-direction: column; gap: 0.5rem`.
|
|
75
78
|
- Heading: `font-weight: 600; margin-bottom: 0.5rem`.
|
|
76
79
|
- Case type button: `display: flex; align-items: center; gap: 0.5rem; padding: 8px 12px; border: 1px solid var(--border-color); border-radius: 4px; cursor: pointer; background: white`.
|
|
@@ -100,15 +103,16 @@ Rendering is delegated to `WssQuickCreate` — implement that DSE component for
|
|
|
100
103
|
|
|
101
104
|
If implementing without `WssQuickCreate`:
|
|
102
105
|
|
|
103
|
-
| Design System
|
|
104
|
-
|
|
105
|
-
| Default (CSS only) | `<button>` list with optional `<img>` icon
|
|
106
|
-
| MUI
|
|
107
|
-
| Ant Design
|
|
108
|
-
| Chakra UI
|
|
109
|
-
| Shadcn/ui
|
|
106
|
+
| Design System | Button List |
|
|
107
|
+
| ------------------ | --------------------------------------------------------- |
|
|
108
|
+
| Default (CSS only) | `<button>` list with optional `<img>` icon |
|
|
109
|
+
| MUI | `<List>` + `<ListItemButton>` or `<Button>` stack |
|
|
110
|
+
| Ant Design | `<Space direction='vertical'>` + `<Button>` per case type |
|
|
111
|
+
| Chakra UI | `<VStack>` + `<Button>` per case type |
|
|
112
|
+
| Shadcn/ui | `<div>` stack + `<Button variant='outline'>` |
|
|
110
113
|
|
|
111
114
|
When implementing in a specific design system:
|
|
115
|
+
|
|
112
116
|
- `classFilter` empty array = show ALL case types (not zero) — this is a common gotcha
|
|
113
117
|
- `createWork` must be called with the correct `containerName` constant (`APP.APP`)
|
|
114
118
|
- `showCaseIcons` is optional — only fetch/render icons when this prop is `true`
|
|
@@ -26,12 +26,12 @@ Individual item card for displaying an attachment, file, or link with an icon, n
|
|
|
26
26
|
|
|
27
27
|
### Props
|
|
28
28
|
|
|
29
|
-
| Prop
|
|
30
|
-
|
|
31
|
-
| `arItems$`
|
|
32
|
-
| `menuIconOverride$`
|
|
33
|
-
| `menuIconOverrideAction$` | `function` | No
|
|
34
|
-
| `getPConnect`
|
|
29
|
+
| Prop | Type | Required | Description |
|
|
30
|
+
| ------------------------- | ---------- | -------- | --------------------------------------------------------------------------------------- |
|
|
31
|
+
| `arItems$` | `object` | Yes | A single item object (see Item Structure below) |
|
|
32
|
+
| `menuIconOverride$` | `string` | No | If provided, replaces the standard actions menu with a single direct-action icon button |
|
|
33
|
+
| `menuIconOverrideAction$` | `function` | No | Callback invoked when the override icon button is clicked |
|
|
34
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
35
35
|
|
|
36
36
|
### Item Structure (`arItems$`)
|
|
37
37
|
|
|
@@ -82,14 +82,15 @@ Individual item card for displaying an attachment, file, or link with an icon, n
|
|
|
82
82
|
[Actions button (⋮ or override)]
|
|
83
83
|
```
|
|
84
84
|
|
|
85
|
-
| Element
|
|
86
|
-
|
|
87
|
-
| File icon
|
|
88
|
-
| Name
|
|
89
|
-
| Metadata
|
|
85
|
+
| Element | Description |
|
|
86
|
+
| -------------- | --------------------------------------------- |
|
|
87
|
+
| File icon | Left side, fixed size (~36px square) |
|
|
88
|
+
| Name | Bold, truncated with ellipsis if too long |
|
|
89
|
+
| Metadata | Smaller, secondary-color text |
|
|
90
90
|
| Actions button | Right side, `<MoreVertIcon>` or override icon |
|
|
91
91
|
|
|
92
92
|
**CSS-only implementation notes:**
|
|
93
|
+
|
|
93
94
|
- Row: `display: flex; align-items: center; gap: 0.75rem; padding: 8px 0`.
|
|
94
95
|
- File icon: `width: 36px; height: 36px; flex-shrink: 0`.
|
|
95
96
|
- Content area: `flex: 1; min-width: 0` (prevents text overflow).
|
|
@@ -112,12 +113,12 @@ Individual item card for displaying an attachment, file, or link with an icon, n
|
|
|
112
113
|
|
|
113
114
|
### Props
|
|
114
115
|
|
|
115
|
-
| Prop
|
|
116
|
-
|
|
117
|
-
| `arItems$`
|
|
118
|
-
| `menuIconOverride$`
|
|
119
|
-
| `menuIconOverrideAction$` | `any`
|
|
120
|
-
| `getPConnect`
|
|
116
|
+
| Prop | Type | Required | Description |
|
|
117
|
+
| ------------------------- | ---------- | -------- | ---------------------------------------------------------------- |
|
|
118
|
+
| `arItems$` | `any[]` | Yes | Array of item objects (same shape as `SummaryItem`'s `arItems$`) |
|
|
119
|
+
| `menuIconOverride$` | `string` | No | Passed to every `SummaryItem` |
|
|
120
|
+
| `menuIconOverrideAction$` | `any` | No | Passed to every `SummaryItem` |
|
|
121
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
121
122
|
|
|
122
123
|
### Behavioral Contract
|
|
123
124
|
|
|
@@ -152,15 +153,16 @@ No state, no data fetching — purely a mapping wrapper.
|
|
|
152
153
|
|
|
153
154
|
Listed design systems are examples only.
|
|
154
155
|
|
|
155
|
-
| Design System
|
|
156
|
-
|
|
157
|
-
| Default (CSS only) | `<div>` flexbox row
|
|
158
|
-
| MUI
|
|
159
|
-
| Ant Design
|
|
160
|
-
| Chakra UI
|
|
161
|
-
| Shadcn/ui
|
|
156
|
+
| Design System | Row Layout | Action Menu |
|
|
157
|
+
| ------------------ | -------------------------------------- | ------------------------------------ |
|
|
158
|
+
| Default (CSS only) | `<div>` flexbox row | `<button>` + custom dropdown |
|
|
159
|
+
| MUI | `<ListItem>` or `<Box display='flex'>` | `<IconButton>` + `<Menu>/<MenuItem>` |
|
|
160
|
+
| Ant Design | `<List.Item>` | `<Dropdown menu={{ items }}>` |
|
|
161
|
+
| Chakra UI | `<HStack>` | `<Menu>/<MenuButton>/<MenuList>` |
|
|
162
|
+
| Shadcn/ui | `<div>` flexbox | `<DropdownMenu>` |
|
|
162
163
|
|
|
163
164
|
When implementing in a specific design system:
|
|
165
|
+
|
|
164
166
|
- `menuIconOverride$` completely replaces the standard `⋮` menu — check for it before rendering the actions area
|
|
165
167
|
- `type === 'URL'` must render the name as a clickable link (not plain text)
|
|
166
168
|
- `secondary.error` is a boolean — apply error styling to the `secondary.text` when `true`
|
|
@@ -18,28 +18,30 @@ Renders a compact to-do / worklist panel showing the user's pending assignments.
|
|
|
18
18
|
|
|
19
19
|
## Props
|
|
20
20
|
|
|
21
|
-
| Prop
|
|
22
|
-
|
|
23
|
-
| `datasource`
|
|
24
|
-
| `myWorkList`
|
|
25
|
-
| `caseInfoID`
|
|
26
|
-
| `headerText`
|
|
27
|
-
| `itemKey`
|
|
28
|
-
| `showTodoList` | `boolean`
|
|
29
|
-
| `type`
|
|
30
|
-
| `context`
|
|
31
|
-
| `isConfirm`
|
|
32
|
-
| `getPConnect`
|
|
21
|
+
| Prop | Type | Required | Description |
|
|
22
|
+
| -------------- | ---------- | -------- | -------------------------------------------------------------------------------------------------- |
|
|
23
|
+
| `datasource` | `any` | No | Array of assignments passed directly (used in `todo` type). If provided, skips the data page fetch |
|
|
24
|
+
| `myWorkList` | `any` | No | Work list config object `{ datapage: string, fields: [...] }` — for `worklist` type |
|
|
25
|
+
| `caseInfoID` | `string` | No | Case ID to filter assignments (used in `todo` type) |
|
|
26
|
+
| `headerText` | `string` | No | Widget title. Default: `"To do"` |
|
|
27
|
+
| `itemKey` | `string` | No | Field key (reserved, currently unused) |
|
|
28
|
+
| `showTodoList` | `boolean` | No | Whether to show the assignment list. Default `true` |
|
|
29
|
+
| `type` | `string` | No | `'worklist'` (personal work) or `'todo'` (case-level). Default `'worklist'` |
|
|
30
|
+
| `context` | `string` | No | Context name for API calls. Falls back to `pConn.getContextName()` |
|
|
31
|
+
| `isConfirm` | `boolean` | No | Confirmation mode — adjusts rendering for post-submit confirmation view |
|
|
32
|
+
| `getPConnect` | `function` | Yes | PConnect getter |
|
|
33
33
|
|
|
34
34
|
## Behavioral Contract
|
|
35
35
|
|
|
36
36
|
### Data Source Resolution
|
|
37
37
|
|
|
38
38
|
**`type === 'todo'` (case-level):**
|
|
39
|
+
|
|
39
40
|
- Use `datasource` prop directly (array of assignment objects).
|
|
40
41
|
- `caseInfoID` is used to scope the assignments.
|
|
41
42
|
|
|
42
43
|
**`type === 'worklist'` (personal work):**
|
|
44
|
+
|
|
43
45
|
- Fetch from `myWorkList.datapage` (e.g., `D_WorkList`) via:
|
|
44
46
|
```
|
|
45
47
|
PCore.getDataPageUtils().getDataAsync(
|
|
@@ -69,20 +71,22 @@ Renders a compact to-do / worklist panel showing the user's pending assignments.
|
|
|
69
71
|
### Open Assignment
|
|
70
72
|
|
|
71
73
|
On item click:
|
|
74
|
+
|
|
72
75
|
```typescript
|
|
73
76
|
pConn.getActionsApi().openAssignment(
|
|
74
|
-
assignment.pxRefObjectKey,
|
|
77
|
+
assignment.pxRefObjectKey, // case key
|
|
75
78
|
assignment.pxRefObjectClass, // class name
|
|
76
79
|
{
|
|
77
80
|
containerName: pConn.getContainerName() || PCore.getConstants().APP.APP,
|
|
78
|
-
channelName: ''
|
|
79
|
-
}
|
|
81
|
+
channelName: '',
|
|
82
|
+
},
|
|
80
83
|
);
|
|
81
84
|
```
|
|
82
85
|
|
|
83
86
|
### Assignment Item Rendering
|
|
84
87
|
|
|
85
88
|
For each assignment, show:
|
|
89
|
+
|
|
86
90
|
- **Avatar:** Circle with user initials (derived from `pConn.getContextObject?.().pyLabel` or operator name).
|
|
87
91
|
- **Name/title:** `assignment.pyLabel` — the assignment task name.
|
|
88
92
|
- **Status badge (worklist only):** `assignment.pyStatusWork` — colored status pill.
|
|
@@ -93,6 +97,7 @@ For each assignment, show:
|
|
|
93
97
|
### Responsive Layout
|
|
94
98
|
|
|
95
99
|
Use `useMediaQuery(theme.breakpoints.down('sm'))` (MUI) to detect mobile:
|
|
100
|
+
|
|
96
101
|
- **Desktop:** Show avatar, name, status, priority, and arrow in a horizontal row.
|
|
97
102
|
- **Mobile:** Stack or truncate elements for narrow display.
|
|
98
103
|
|
|
@@ -109,10 +114,11 @@ If an assignment has `canPerform === false`, render it as non-clickable (greyed
|
|
|
109
114
|
### Operator Avatar Initials
|
|
110
115
|
|
|
111
116
|
Extract initials from `PCore.getEnvironmentInfo().getOperatorName()`:
|
|
117
|
+
|
|
112
118
|
```typescript
|
|
113
119
|
const initials = operatorName
|
|
114
120
|
.split(' ')
|
|
115
|
-
.map(w => w[0])
|
|
121
|
+
.map((w) => w[0])
|
|
116
122
|
.join('')
|
|
117
123
|
.substring(0, 2)
|
|
118
124
|
.toUpperCase();
|
|
@@ -122,23 +128,24 @@ const initials = operatorName
|
|
|
122
128
|
|
|
123
129
|
### Card Layout
|
|
124
130
|
|
|
125
|
-
| Element
|
|
126
|
-
|
|
127
|
-
| Card header
|
|
128
|
-
| Assignment rows
|
|
129
|
-
| Show more/less button | Below the last visible item
|
|
131
|
+
| Element | Description |
|
|
132
|
+
| --------------------- | --------------------------------------------------- |
|
|
133
|
+
| Card header | `headerText` (default `"To do"`) + badge with count |
|
|
134
|
+
| Assignment rows | Up to `showCount` items |
|
|
135
|
+
| Show more/less button | Below the last visible item |
|
|
130
136
|
|
|
131
137
|
### Assignment Row
|
|
132
138
|
|
|
133
|
-
| Element
|
|
134
|
-
|
|
135
|
-
| Avatar circle
|
|
136
|
-
| Task name
|
|
137
|
-
| Status badge
|
|
138
|
-
| Priority indicator | Shown
|
|
139
|
-
| Arrow icon
|
|
139
|
+
| Element | Desktop | Mobile |
|
|
140
|
+
| ------------------ | --------- | --------------- |
|
|
141
|
+
| Avatar circle | Shown | Shown |
|
|
142
|
+
| Task name | Full text | Truncated |
|
|
143
|
+
| Status badge | Shown | Hidden or small |
|
|
144
|
+
| Priority indicator | Shown | Simplified |
|
|
145
|
+
| Arrow icon | Shown | Shown |
|
|
140
146
|
|
|
141
147
|
**CSS-only implementation notes:**
|
|
148
|
+
|
|
142
149
|
- Card: standard card layout.
|
|
143
150
|
- Assignment row: `display: flex; align-items: center; gap: 0.75rem; padding: 10px 0; cursor: pointer; border-bottom: 1px solid var(--divider-color)`.
|
|
144
151
|
- Avatar: `width: 36px; height: 36px; border-radius: 50%; background: var(--avatar-bg); display: flex; align-items: center; justify-content: center; font-size: 0.875rem; font-weight: 600`.
|
|
@@ -175,15 +182,16 @@ const initials = operatorName
|
|
|
175
182
|
|
|
176
183
|
Listed design systems are examples only.
|
|
177
184
|
|
|
178
|
-
| Design System
|
|
179
|
-
|
|
180
|
-
| Default (CSS only) | `<div>` card
|
|
181
|
-
| MUI
|
|
182
|
-
| Ant Design
|
|
183
|
-
| Chakra UI
|
|
184
|
-
| Shadcn/ui
|
|
185
|
+
| Design System | Card | List | Badge | Snackbar |
|
|
186
|
+
| ------------------ | ------------------------- | ------------------- | ------------------- | ----------------------------- |
|
|
187
|
+
| Default (CSS only) | `<div>` card | `<ul>/<li>` | CSS counter badge | Custom toast overlay |
|
|
188
|
+
| MUI | `<Card>` + `<CardHeader>` | `<List>/<ListItem>` | `<Badge>` | `<Snackbar>/<Alert>` |
|
|
189
|
+
| Ant Design | `<Card>` | `<List>` | `<Badge count={N}>` | `message.error()` |
|
|
190
|
+
| Chakra UI | `<Card>` | `<VStack>` | `<Badge>` | `useToast()` |
|
|
191
|
+
| Shadcn/ui | `<Card>` | `<ul>/<li>` | Custom badge | `<Toaster>` + `toast.error()` |
|
|
185
192
|
|
|
186
193
|
When implementing in a specific design system:
|
|
194
|
+
|
|
187
195
|
- Show top 3 items by default — `showCount` state controls slice; "Show more/less" toggles between 3 and full length
|
|
188
196
|
- `canPerform === false` must make the row non-clickable — check this before calling `openAssignment`
|
|
189
197
|
- `type === 'worklist'` fetches from a data page; `type === 'todo'` uses the `datasource` prop — both paths must be implemented
|