@pega/custom-dx-components 26.1.11 → 26.1.12-alpha.0.2
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/README.md +6 -2
- package/package.json +48 -64
- package/src/ai/README.md +44 -0
- package/src/ai/catalog/README.md +133 -0
- package/src/ai/catalog/best-practices/README.md +24 -0
- package/src/ai/catalog/best-practices/accessibility-for-async-components.md +53 -0
- package/src/ai/catalog/best-practices/error-handling-and-resiliency.md +116 -0
- package/src/ai/catalog/best-practices/genai-assistant-integration-patterns.md +49 -0
- package/src/ai/catalog/best-practices/performance-and-efficiency.md +109 -0
- package/src/ai/catalog/best-practices/security-considerations.md +93 -0
- package/src/ai/catalog/best-practices/testing-pconnect-components.md +245 -0
- package/src/ai/catalog/best-practices/troubleshooting-common-pitfalls.md +132 -0
- package/src/ai/catalog/pconnect-assignment-lifecycle/SKILL.md +44 -0
- package/src/ai/catalog/pconnect-assignment-lifecycle/cookbooks/README.md +39 -0
- package/src/ai/catalog/pconnect-assignment-lifecycle/cookbooks/approval-workflow-decision.md +47 -0
- package/src/ai/catalog/pconnect-assignment-lifecycle/cookbooks/attachment-upload.md +45 -0
- package/src/ai/catalog/pconnect-assignment-lifecycle/cookbooks/bulk-action-submit.md +50 -0
- package/src/ai/catalog/pconnect-assignment-lifecycle/cookbooks/confirm-before-destructive-action.md +43 -0
- package/src/ai/catalog/pconnect-assignment-lifecycle/cookbooks/create-and-stage-new-case.md +45 -0
- package/src/ai/catalog/pconnect-assignment-lifecycle/cookbooks/graceful-submit-failure.md +39 -0
- package/src/ai/catalog/pconnect-assignment-lifecycle/cookbooks/modal-assignment-submit.md +58 -0
- package/src/ai/catalog/pconnect-assignment-lifecycle/cookbooks/multi-step-wizard.md +44 -0
- package/src/ai/catalog/pconnect-assignment-lifecycle/cookbooks/resolve-or-ignore-duplicate.md +47 -0
- package/src/ai/catalog/pconnect-assignment-lifecycle/cookbooks/safe-case-deletion.md +36 -0
- package/src/ai/catalog/pconnect-case-collaboration/SKILL.md +42 -0
- package/src/ai/catalog/pconnect-case-collaboration/cookbooks/README.md +36 -0
- package/src/ai/catalog/pconnect-case-collaboration/cookbooks/look-up-user-details.md +43 -0
- package/src/ai/catalog/pconnect-case-collaboration/cookbooks/manage-case-attachments.md +51 -0
- package/src/ai/catalog/pconnect-case-collaboration/cookbooks/manage-case-participants.md +52 -0
- package/src/ai/catalog/pconnect-case-collaboration/cookbooks/participant-and-follower.md +40 -0
- package/src/ai/catalog/pconnect-case-collaboration/cookbooks/post-and-manage-feed.md +50 -0
- package/src/ai/catalog/pconnect-case-collaboration/cookbooks/relate-cases.md +35 -0
- package/src/ai/catalog/pconnect-case-collaboration/cookbooks/tag-case-and-find-related.md +44 -0
- package/src/ai/catalog/pconnect-data-subscriptions/SKILL.md +42 -0
- package/src/ai/catalog/pconnect-data-subscriptions/cookbooks/README.md +35 -0
- package/src/ai/catalog/pconnect-data-subscriptions/cookbooks/data-page-subscription-cleanup.md +41 -0
- package/src/ai/catalog/pconnect-data-subscriptions/cookbooks/publish-and-subscribe-events.md +40 -0
- package/src/ai/catalog/pconnect-data-subscriptions/cookbooks/pubsub-cleanup.md +38 -0
- package/src/ai/catalog/pconnect-data-subscriptions/cookbooks/query-paginated-list-data.md +44 -0
- package/src/ai/catalog/pconnect-data-subscriptions/cookbooks/realtime-case-subscription.md +46 -0
- package/src/ai/catalog/pconnect-data-subscriptions/cookbooks/refresh-and-update-data.md +41 -0
- package/src/ai/catalog/pconnect-forms-and-fields/SKILL.md +44 -0
- package/src/ai/catalog/pconnect-forms-and-fields/cookbooks/README.md +36 -0
- package/src/ai/catalog/pconnect-forms-and-fields/cookbooks/autosave-tracking.md +45 -0
- package/src/ai/catalog/pconnect-forms-and-fields/cookbooks/cascading-dependent-fields.md +51 -0
- package/src/ai/catalog/pconnect-forms-and-fields/cookbooks/collect-form-changes-for-manual-save.md +45 -0
- package/src/ai/catalog/pconnect-forms-and-fields/cookbooks/custom-field-validators.md +44 -0
- package/src/ai/catalog/pconnect-forms-and-fields/cookbooks/discard-changes-and-reset-form.md +41 -0
- package/src/ai/catalog/pconnect-forms-and-fields/cookbooks/full-form-validation.md +38 -0
- package/src/ai/catalog/pconnect-forms-and-fields/cookbooks/persist-widget-ui-state.md +41 -0
- package/src/ai/catalog/pconnect-lists-and-views/SKILL.md +44 -0
- package/src/ai/catalog/pconnect-lists-and-views/cookbooks/README.md +35 -0
- package/src/ai/catalog/pconnect-lists-and-views/cookbooks/activate-and-switch-container-items.md +52 -0
- package/src/ai/catalog/pconnect-lists-and-views/cookbooks/container-item-lifecycle.md +61 -0
- package/src/ai/catalog/pconnect-lists-and-views/cookbooks/insert-delete-list-rows.md +40 -0
- package/src/ai/catalog/pconnect-lists-and-views/cookbooks/reorder-list-rows.md +39 -0
- package/src/ai/catalog/pconnect-lists-and-views/cookbooks/repeating-row-edit.md +39 -0
- package/src/ai/catalog/pconnect-lists-and-views/cookbooks/view-personalization.md +60 -0
- package/src/ai/catalog/pconnect-navigation-locale-genai/SKILL.md +45 -0
- package/src/ai/catalog/pconnect-navigation-locale-genai/cookbooks/README.md +35 -0
- package/src/ai/catalog/pconnect-navigation-locale-genai/cookbooks/agent-conversation-for-tasks.md +54 -0
- package/src/ai/catalog/pconnect-navigation-locale-genai/cookbooks/bookmarkable-filter-state.md +40 -0
- package/src/ai/catalog/pconnect-navigation-locale-genai/cookbooks/deep-link-semantic-url.md +39 -0
- package/src/ai/catalog/pconnect-navigation-locale-genai/cookbooks/genai-assistant-conversation.md +43 -0
- package/src/ai/catalog/pconnect-navigation-locale-genai/cookbooks/locale-switch-and-relocalize.md +38 -0
- package/src/ai/catalog/pconnect-navigation-locale-genai/cookbooks/persist-operator-preferences.md +40 -0
- package/src/ai/catalog/references/architecture-overview.md +52 -0
- package/src/ai/catalog/references/pconnect-actions-api.md +948 -0
- package/src/ai/catalog/references/pconnect-case-info-data-info-localization.md +618 -0
- package/src/ai/catalog/references/pconnect-case-validation-utilities.md +238 -0
- package/src/ai/catalog/references/pconnect-container-manager.md +215 -0
- package/src/ai/catalog/references/pconnect-list-actions.md +250 -0
- package/src/ai/catalog/references/pconnect-misc-suggestions-creation.md +231 -0
- package/src/ai/catalog/references/pconnect-reference-context-component.md +471 -0
- package/src/ai/catalog/references/pconnect-state-config.md +316 -0
- package/src/ai/catalog/references/pconnect-validation-api.md +45 -0
- package/src/ai/catalog/references/pcore-analytics-genai-details.md +50 -0
- package/src/ai/catalog/references/pcore-bootstrap-init-details.md +121 -0
- package/src/ai/catalog/references/pcore-bootstrap-registry-routing.md +253 -0
- package/src/ai/catalog/references/pcore-case-collaboration-details.md +191 -0
- package/src/ai/catalog/references/pcore-case-collaboration-genai.md +264 -0
- package/src/ai/catalog/references/pcore-environment-info-details.md +96 -0
- package/src/ai/catalog/references/pcore-environment-locale-namespace.md +175 -0
- package/src/ai/catalog/references/pcore-messaging-details.md +99 -0
- package/src/ai/catalog/references/pcore-misc-details.md +207 -0
- package/src/ai/catalog/references/pcore-misc-utilities.md +325 -0
- package/src/ai/catalog/references/pcore-rest-data-details.md +164 -0
- package/src/ai/catalog/references/pcore-rest-data-messaging.md +308 -0
- package/src/ai/catalog/references/pcore-store-context-details.md +40 -0
- package/src/ai/catalog/references/pcore-store-context-state.md +130 -0
- package/src/ai/index.js +154 -0
- package/src/ai/project/.claude/skills/boolean/SKILL.md +43 -0
- package/src/ai/project/.claude/skills/case/SKILL.md +58 -0
- package/src/ai/project/.claude/skills/create-dx-component/SKILL.md +98 -0
- package/src/ai/project/.claude/skills/create-dx-component/assets/PConnProps.d.ts +24 -0
- package/src/ai/project/.claude/skills/create-dx-component/assets/create-nonce.ts +5 -0
- package/src/ai/project/.claude/skills/create-dx-component/assets/event-utils.ts +18 -0
- package/src/ai/project/.claude/skills/create-dx-component/assets/styles.ts +7 -0
- package/src/ai/project/.claude/skills/create-dx-component/cookbooks/README.md +28 -0
- package/src/ai/project/.claude/skills/create-dx-component/cookbooks/build-a-data-widget.md +281 -0
- package/src/ai/project/.claude/skills/create-dx-component/cookbooks/field-with-limits-and-validation.md +156 -0
- package/src/ai/project/.claude/skills/create-dx-component/cookbooks/status-badge-field.md +97 -0
- package/src/ai/project/.claude/skills/create-dx-component/references/accessibility.md +71 -0
- package/src/ai/project/.claude/skills/create-dx-component/references/choosing-type-and-subtype.md +79 -0
- package/src/ai/project/.claude/skills/create-dx-component/references/cli-workflow.md +125 -0
- package/src/ai/project/.claude/skills/create-dx-component/references/component-patterns.md +241 -0
- package/src/ai/project/.claude/skills/create-dx-component/references/config-schema.md +296 -0
- package/src/ai/project/.claude/skills/create-dx-component/references/cosmos-components.md +137 -0
- package/src/ai/project/.claude/skills/create-dx-component/references/field-behavior.md +155 -0
- package/src/ai/project/.claude/skills/create-dx-component/references/field-essentials.md +90 -0
- package/src/ai/project/.claude/skills/create-dx-component/references/field-subtypes-extra.md +68 -0
- package/src/ai/project/.claude/skills/create-dx-component/references/localization.md +30 -0
- package/src/ai/project/.claude/skills/create-dx-component/references/pcore-pconnect-apis.md +77 -0
- package/src/ai/project/.claude/skills/create-dx-component/references/presentation-essentials.md +57 -0
- package/src/ai/project/.claude/skills/create-dx-component/references/props-contract.md +182 -0
- package/src/ai/project/.claude/skills/create-dx-component/references/state-matrix.md +102 -0
- package/src/ai/project/.claude/skills/create-dx-component/references/storybook-pattern.md +262 -0
- package/src/ai/project/.claude/skills/create-dx-component/references/styles-pattern.md +54 -0
- package/src/ai/project/.claude/skills/create-dx-component/references/template-essentials.md +87 -0
- package/src/ai/project/.claude/skills/create-dx-component/references/template-patterns.md +131 -0
- package/src/ai/project/.claude/skills/create-dx-component/references/test-pattern.md +215 -0
- package/src/ai/project/.claude/skills/create-dx-component/references/ui-gallery-reuse.md +93 -0
- package/src/ai/project/.claude/skills/create-dx-component/references/widget-essentials.md +84 -0
- package/src/ai/project/.claude/skills/create-dx-component/references/widget-patterns.md +164 -0
- package/src/ai/project/.claude/skills/currency/SKILL.md +46 -0
- package/src/ai/project/.claude/skills/date/SKILL.md +46 -0
- package/src/ai/project/.claude/skills/decimal/SKILL.md +49 -0
- package/src/ai/project/.claude/skills/details/SKILL.md +60 -0
- package/src/ai/project/.claude/skills/email/SKILL.md +42 -0
- package/src/ai/project/.claude/skills/field/SKILL.md +68 -0
- package/src/ai/project/.claude/skills/form/SKILL.md +51 -0
- package/src/ai/project/.claude/skills/generate-component-set/SKILL.md +80 -0
- package/src/ai/project/.claude/skills/generate-component-set/component-manifest.json +161 -0
- package/src/ai/project/.claude/skills/identify-components/SKILL.md +76 -0
- package/src/ai/project/.claude/skills/integer/SKILL.md +45 -0
- package/src/ai/project/.claude/skills/page/SKILL.md +60 -0
- package/src/ai/project/.claude/skills/page-widget/SKILL.md +55 -0
- package/src/ai/project/.claude/skills/percentage/SKILL.md +52 -0
- package/src/ai/project/.claude/skills/phone/SKILL.md +44 -0
- package/src/ai/project/.claude/skills/picklist/SKILL.md +50 -0
- package/src/ai/project/.claude/skills/plan-dx-component/SKILL.md +51 -0
- package/src/ai/project/.claude/skills/plan-dx-component/references/design-system-mapping.md +108 -0
- package/src/ai/project/.claude/skills/plan-dx-component/references/intake.md +146 -0
- package/src/ai/project/.claude/skills/plan-dx-component/references/plan-template.md +76 -0
- package/src/ai/project/.claude/skills/plan-dx-component/references/requirements-template.md +88 -0
- package/src/ai/project/.claude/skills/presentation/SKILL.md +61 -0
- package/src/ai/project/.claude/skills/publish-library/SKILL.md +106 -0
- package/src/ai/project/.claude/skills/radiobuttons/SKILL.md +51 -0
- package/src/ai/project/.claude/skills/review-component/SKILL.md +49 -0
- package/src/ai/project/.claude/skills/review-component/references/checklist.md +77 -0
- package/src/ai/project/.claude/skills/template/SKILL.md +60 -0
- package/src/ai/project/.claude/skills/text/SKILL.md +45 -0
- package/src/ai/project/.claude/skills/update-dx-component/SKILL.md +56 -0
- package/src/ai/project/.claude/skills/update-dx-component/references/maintenance.md +43 -0
- package/src/ai/project/.claude/skills/url/SKILL.md +46 -0
- package/src/ai/project/.claude/skills/validate-component/SKILL.md +78 -0
- package/src/ai/project/.claude/skills/validate-component/references/runtime-troubleshooting.md +56 -0
- package/src/ai/project/.claude/skills/validate-component/scripts/check-component.mjs +327 -0
- package/src/ai/project/.claude/skills/widget/SKILL.md +59 -0
- package/src/ai/project/.gemini/settings.json +5 -0
- package/src/ai/project/AGENTS.md +74 -0
- package/src/ai/readme-section.md +91 -0
- package/src/cli.js +48 -7
- package/src/constants.js +54 -53
- package/src/internal-tests.js +27 -0
- package/src/tasks/ai-toggle/index.js +46 -0
- package/src/tasks/authenticate/helper.js +38 -38
- package/src/tasks/authenticate/index.js +17 -15
- package/src/tasks/build-all/helper.js +4 -4
- package/src/tasks/build-all/index.js +7 -7
- package/src/tasks/build-comp/helper.js +17 -17
- package/src/tasks/build-comp/index.js +10 -10
- package/src/tasks/build-jest-assets/index.js +7 -9
- package/src/tasks/build-lib/helper.js +8 -8
- package/src/tasks/build-lib/index.js +8 -8
- package/src/tasks/bundle/builder/index.js +9 -12
- package/src/tasks/bundle/builder/modules.js +8 -9
- package/src/tasks/bundle/builder/paths.js +2 -19
- package/src/tasks/bundle/builder/webpack.config.js +60 -77
- package/src/tasks/bundle/index.js +8 -8
- package/src/tasks/create/index.js +35 -35
- package/src/tasks/create/templates/Constellation/Field/Boolean/index.tsx.mustache +1 -36
- package/src/tasks/create/templates/Constellation/Field/Date/date.ts.mustache +2 -2
- package/src/tasks/create/templates/Constellation/Field/Date/index.tsx.mustache +2 -27
- package/src/tasks/create/templates/Constellation/Field/DateTime/date-utils.ts.mustache +2 -2
- package/src/tasks/create/templates/Constellation/Field/DateTime/date.ts.mustache +2 -2
- package/src/tasks/create/templates/Constellation/Field/DateTime/index.tsx.mustache +2 -35
- package/src/tasks/create/templates/Constellation/Field/Decimal/index.tsx.mustache +3 -36
- package/src/tasks/create/templates/Constellation/Field/Decimal-Currency/index.tsx.mustache +4 -39
- package/src/tasks/create/templates/Constellation/Field/Decimal-Percentage/index.tsx.mustache +4 -53
- package/src/tasks/create/templates/Constellation/Field/Icon-Button-URL/index.tsx.mustache +5 -5
- package/src/tasks/create/templates/Constellation/Field/Integer/index.tsx.mustache +3 -36
- package/src/tasks/create/templates/Constellation/Field/Picklist/index.tsx.mustache +7 -42
- package/src/tasks/create/templates/Constellation/Field/Picklist-Autocomplete/component-constants.ts +1 -1
- package/src/tasks/create/templates/Constellation/Field/Picklist-Autocomplete/date.ts.mustache +0 -2
- package/src/tasks/create/templates/Constellation/Field/Picklist-Autocomplete/embed-utils.ts.mustache +1 -1
- package/src/tasks/create/templates/Constellation/Field/Picklist-Autocomplete/index.tsx.mustache +11 -11
- package/src/tasks/create/templates/Constellation/Field/Picklist-Autocomplete/repeat-utils.ts.mustache +3 -13
- package/src/tasks/create/templates/Constellation/Field/Picklist-Autocomplete/textformat-utils.tsx.mustache +2 -3
- package/src/tasks/create/templates/Constellation/Field/Picklist-Autocomplete/utils.ts.mustache +28 -28
- package/src/tasks/create/templates/Constellation/Field/Picklist-RadioButtons/index.tsx.mustache +2 -2
- package/src/tasks/create/templates/Constellation/Field/Picklist-RadioButtons/textformat-utils.tsx.mustache +2 -3
- package/src/tasks/create/templates/Constellation/Field/Text/index.tsx.mustache +4 -33
- package/src/tasks/create/templates/Constellation/Field/Text-Email/index.tsx.mustache +3 -33
- package/src/tasks/create/templates/Constellation/Field/Text-Input/index.tsx.mustache +3 -31
- package/src/tasks/create/templates/Constellation/Field/Text-Paragraph/index.tsx.mustache +3 -31
- package/src/tasks/create/templates/Constellation/Field/Text-Phone/index.tsx.mustache +3 -35
- package/src/tasks/create/templates/Constellation/Field/Text-URL/index.tsx.mustache +3 -33
- package/src/tasks/create/templates/Constellation/Field/Text-URL/text-url.tsx.mustache +2 -3
- package/src/tasks/create/templates/Constellation/Field/TimeofDay/index.tsx.mustache +2 -35
- package/src/tasks/create/templates/Constellation/Field/TimeofDay/time-of-day.ts.mustache +2 -2
- package/src/tasks/create/templates/Constellation/Template/DETAILS/Avatar.tsx.mustache +19 -15
- package/src/tasks/create/templates/Constellation/Template/DETAILS/Operator.tsx.mustache +6 -6
- package/src/tasks/create/templates/Constellation/Template/DETAILS/demo.stories.tsx.mustache +1 -1
- package/src/tasks/create/templates/Constellation/Template/DETAILS/index.tsx.mustache +4 -8
- package/src/tasks/create/templates/Constellation/Template/DETAILS/mock.ts.mustache +9 -9
- package/src/tasks/create/templates/Constellation/Template/DETAILS/utils.js.mustache +4 -8
- package/src/tasks/create/templates/Constellation/Template/DETAILS-region/Avatar.tsx.mustache +19 -15
- package/src/tasks/create/templates/Constellation/Template/DETAILS-region/Operator.tsx.mustache +6 -6
- package/src/tasks/create/templates/Constellation/Template/DETAILS-region/demo.stories.tsx.mustache +1 -1
- package/src/tasks/create/templates/Constellation/Template/DETAILS-region/index.tsx.mustache +1 -1
- package/src/tasks/create/templates/Constellation/Template/DETAILS-region/mock.ts.mustache +9 -9
- package/src/tasks/create/templates/Constellation/Template/DETAILS-region/utils.ts.mustache +4 -8
- package/src/tasks/create/templates/Constellation/Template/FORM/demo.stories.tsx.mustache +8 -8
- package/src/tasks/create/templates/Constellation/Template/FORM-region/demo.stories.tsx.mustache +8 -8
- package/src/tasks/create/templates/Constellation/Template/PAGE/utils.ts.mustache +4 -9
- package/src/tasks/create/templates/Constellation/Widget/CASE/demo.test.tsx.mustache +3 -3
- package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/Avatar.tsx.mustache +19 -14
- package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/Operator.tsx.mustache +6 -6
- package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/index.tsx.mustache +1 -1
- package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/mock.ts.mustache +1 -1
- package/src/tasks/create/templates/Launchpad/Field/Icon-Button-URL/index.tsx.mustache +5 -5
- package/src/tasks/create/templates/Launchpad/Field/Text-Phone/index.tsx.mustache +3 -35
- package/src/tasks/create/templates/Launchpad/Field/__components.md +1 -1
- package/src/tasks/create/templates/Launchpad/Template/FORM/demo.stories.tsx.mustache +8 -8
- package/src/tasks/create/templates/Launchpad/Template/FORM-region/demo.stories.tsx.mustache +8 -8
- package/src/tasks/create/templates/Launchpad/Widget/CASE/demo.test.tsx.mustache +3 -3
- package/src/tasks/create/templates/Launchpad/Widget/PAGE-CASE/index.tsx.mustache +1 -1
- package/src/tasks/create/templates/Launchpad/Widget/PAGE-CASE/mock.ts.mustache +1 -1
- package/src/tasks/create-all/index.js +42 -41
- package/src/tasks/create-lib/helper.js +13 -13
- package/src/tasks/create-lib/index.js +5 -5
- package/src/tasks/create-version/helper.js +10 -10
- package/src/tasks/create-version/index.js +3 -4
- package/src/tasks/delete/helper.js +20 -19
- package/src/tasks/delete/index.js +2 -2
- package/src/tasks/delete-all/helper.js +26 -25
- package/src/tasks/delete-all/index.js +2 -2
- package/src/tasks/delete-lib/helper.js +6 -6
- package/src/tasks/delete-lib/index.js +6 -6
- package/src/tasks/delete-pub/helper.js +18 -18
- package/src/tasks/delete-pub/index.js +8 -8
- package/src/tasks/delete-version/index.js +2 -2
- package/src/tasks/dev-server/index.js +1 -1
- package/src/tasks/export-archive/helper.js +21 -21
- package/src/tasks/export-archive/index.js +27 -40
- package/src/tasks/export-rc/helper.js +34 -34
- package/src/tasks/export-rc/index.js +21 -31
- package/src/tasks/import-archive/helper.js +39 -39
- package/src/tasks/import-archive/index.js +69 -89
- package/src/tasks/import-comp/helper.js +8 -8
- package/src/tasks/import-comp/index.js +30 -42
- package/src/tasks/index.js +5 -0
- package/src/tasks/init/Node.gitignore +149 -0
- package/src/tasks/init/helper.js +15 -8
- package/src/tasks/init/index.js +115 -35
- package/src/tasks/init/template/.prettierrc.json +4 -1
- package/src/tasks/init/template/.storybook/main.ts +1 -4
- package/src/tasks/init/template/.storybook/manager.ts +1 -1
- package/src/tasks/init/template/.storybook/preview.tsx +2 -2
- package/src/tasks/init/template/.storybook/theme.js +1 -1
- package/src/tasks/init/template/.vscode/extensions.json +0 -1
- package/src/tasks/init/template/README.md +2 -2
- package/src/tasks/init/template/eslint.config.mjs +13 -155
- package/src/tasks/init/template/jest.config.cjs +2 -0
- package/src/tasks/init/template/package-lock.json +26864 -0
- package/src/tasks/init/template/package.json.mustache +19 -74
- package/src/tasks/init/template/setupTests.ts +10 -4
- package/src/tasks/init/template/tsconfig.json +14 -6
- package/src/tasks/internal-test/index.js +21 -0
- package/src/tasks/internal-test-full/index.js +15 -0
- package/src/tasks/internal-test-functional/index.js +15 -0
- package/src/tasks/internal-test-unit/index.js +13 -0
- package/src/tasks/linter/index.js +2 -2
- package/src/tasks/list/helper.js +41 -40
- package/src/tasks/list/index.js +3 -3
- package/src/tasks/list-lib/helper.js +5 -5
- package/src/tasks/list-lib/index.js +8 -8
- package/src/tasks/list-pub/helper.js +23 -16
- package/src/tasks/list-pub/index.js +24 -21
- package/src/tasks/move/helper.js +8 -8
- package/src/tasks/move/index.js +19 -23
- package/src/tasks/promote-webpack/index.js +4 -4
- package/src/tasks/promote-webpack/webpack.config.js +62 -93
- package/src/tasks/publish/helper.js +21 -21
- package/src/tasks/publish/index.js +16 -16
- package/src/tasks/publish-all/helper.js +20 -20
- package/src/tasks/publish-all/index.js +11 -12
- package/src/tasks/publish-archive/helper.js +9 -9
- package/src/tasks/publish-archive/index.js +12 -14
- package/src/tasks/publish-lib/helper.js +3 -3
- package/src/tasks/publish-lib/index.js +28 -34
- package/src/tasks/quarantine/index.js +8 -8
- package/src/tasks/rename/index.js +26 -30
- package/src/tasks/rename-lib/index.js +21 -25
- package/src/tasks/restore/index.js +8 -8
- package/src/tasks/restore-config/index.js +3 -5
- package/src/tasks/set-perm/index.js +8 -8
- package/src/tasks/show-help/index.js +17 -9
- package/src/tasks/show-status/index.js +2 -2
- package/src/tasks/store/index.js +8 -8
- package/src/tasks/switch-lib/helper.js +7 -7
- package/src/tasks/switch-lib/index.js +7 -7
- package/src/tasks/switch-version/helper.js +6 -6
- package/src/tasks/switch-version/index.js +7 -7
- package/src/tasks/update/index.js +1 -1
- package/src/tasks/upgrade/index.js +7 -7
- package/src/tasks/validator/index.js +49 -203
- package/src/util.js +169 -186
- package/src/rules/no-pcore-pconnect-in-presentation.js +0 -103
- package/src/tasks/init/template/.stylelintrc.json +0 -4
- package/src/tasks/init/template/babel.config.cjs +0 -22
- package/src/tasks/init/template/cspell.json +0 -14
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
# Forms, Autosave, Mashup Bridge & Asset Loading — Method Details
|
|
2
|
+
|
|
3
|
+
> Part of the [PCore / PConnect API Reference skills](../README.md). Companion to [pcore-misc-utilities.md](./pcore-misc-utilities.md), which covers the top-level `PCore.get*()` accessors. This file catalogs the methods available on the objects those accessors return.
|
|
4
|
+
>
|
|
5
|
+
> `AssetLoader` is a curated subset — most of its methods are internal component-config-loading plumbing used by the framework's own bootstrap process.
|
|
6
|
+
|
|
7
|
+
## AsynchronousUtils (via `PCore.getAsynchronousUtils()`)
|
|
8
|
+
|
|
9
|
+
| Method | Signature | Purpose |
|
|
10
|
+
| ---------------------------- | -------------------------------------- | --------------------------------------------------------------------------- |
|
|
11
|
+
| `getDebouncedSubject(delay)` | `(delay: number): Observable<unknown>` | Returns a new Observable that yields values after the given debounce delay. |
|
|
12
|
+
|
|
13
|
+
**Example:**
|
|
14
|
+
|
|
15
|
+
```typescript
|
|
16
|
+
const debouncedSubject = PCore.getAsynchronousUtils().getDebouncedSubject(200);
|
|
17
|
+
const subscription = debouncedSubject.subscribe((value) => {
|
|
18
|
+
// react to the debounced value
|
|
19
|
+
});
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## ErrorHandler (via `PCore.getErrorHandler()`)
|
|
25
|
+
|
|
26
|
+
| Method | Signature | Purpose |
|
|
27
|
+
| ---------------------------------- | ------------------------- | --------------------------------------------------------------------------- |
|
|
28
|
+
| `getGenericFailedMessage()` | `(): string` | Returns the generic failure message shown when a component fails to render. |
|
|
29
|
+
| `setGenericFailedMessage(message)` | `(message: string): void` | Sets a custom generic failure message. |
|
|
30
|
+
|
|
31
|
+
**Example:**
|
|
32
|
+
|
|
33
|
+
```typescript
|
|
34
|
+
PCore.getErrorHandler().setGenericFailedMessage('Something went wrong. Please try again.');
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## FormUtils (via `PCore.getFormUtils()`)
|
|
40
|
+
|
|
41
|
+
| Method | Signature | Purpose |
|
|
42
|
+
| ---------------------------------------- | ------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------- |
|
|
43
|
+
| `getChanges(context)` | `(context: string): unknown` | Returns the changed data for a given container's context. |
|
|
44
|
+
| `getSubmitData(context, options?)` | `(context: string, options?: { includeDisabledFields?: boolean; onlyChangedData?: boolean }): unknown` | Returns the submittable data for a context. |
|
|
45
|
+
| `isStateModified(context)` | `(context: string \| null \| undefined): boolean` | Returns whether state has been modified for a context. |
|
|
46
|
+
| `isFormValid(context, pageReference?)` | `(context: string, pageReference?: string): boolean` | Checks whether a form is valid based on its fields' validation state. |
|
|
47
|
+
| `getEditableFields(context)` | `(context: string): unknown[]` | Returns the editable fields for a context. |
|
|
48
|
+
| `clearChangedProperties(context)` | `(context: string): void` | Clears the tracked changed-properties list for a context. |
|
|
49
|
+
| `resetComplexObjectDirtyStatus(context)` | `(context: string): void` | Resets the dirty-status flag for a complex object context. |
|
|
50
|
+
| `setCustomValidator(type, validatorFn)` | `(type: string, validatorFn: Function): void` | Registers a custom validator function by type. |
|
|
51
|
+
|
|
52
|
+
**Example:**
|
|
53
|
+
|
|
54
|
+
```typescript
|
|
55
|
+
const changedFields = PCore.getFormUtils().getChanges(context);
|
|
56
|
+
const isValid = PCore.getFormUtils().isFormValid(context);
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## AutosaveUtils (via `PCore.getAutosaveUtils()`)
|
|
62
|
+
|
|
63
|
+
| Method | Signature | Purpose |
|
|
64
|
+
| --------------------------------------------- | -------------------------------------------------------------------- | ----------------------------------------------------------------------- |
|
|
65
|
+
| `isAutosaveEnabledForContext(context)` | `(context: string): boolean` | Returns whether autosave is active for a context. |
|
|
66
|
+
| `subscribeAutosaveStatus(itemKey, callback)` | `(itemKey: string, callback: (status: unknown) => void): () => void` | Subscribes to autosave status changes; returns an unsubscribe function. |
|
|
67
|
+
| `notifyChange(context, propReference, value)` | `(context: string, propReference: string, value: string): void` | Notifies the autosave engine that the user is actively editing. |
|
|
68
|
+
|
|
69
|
+
**Example:**
|
|
70
|
+
|
|
71
|
+
```typescript
|
|
72
|
+
const unsubscribe = PCore.getAutosaveUtils().subscribeAutosaveStatus(itemKey, (status) => {
|
|
73
|
+
// react to autosave status changes
|
|
74
|
+
});
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## MashupBridge (via `PCore.getMashupBridge()`)
|
|
80
|
+
|
|
81
|
+
`PCore.getMashupBridge()` returns the mashup-bridge module namespace, not the bridge instance directly — the methods are on its `mashup` property.
|
|
82
|
+
|
|
83
|
+
| Method | Signature | Purpose |
|
|
84
|
+
| -------------------------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
|
|
85
|
+
| `mashup.init(initParams)` | `(initParams: { resizing: string; parentOrigin?: string }): void` | Initializes the mashup bridge with resize configuration. Called once by the framework during bootstrap. |
|
|
86
|
+
| `mashup.send(actionInfo)` | `(actionInfo: { action: string; message: unknown }): void` | Sends a message to the parent host window. |
|
|
87
|
+
| `mashup.onMessage(messageEvent)` | `(messageEvent: MessageEvent): boolean` | Handles an inbound message from the parent window. |
|
|
88
|
+
| `mashup.getMessageHandler()` | `(): (event: MessageEvent) => boolean` | Returns the bound message handler for event listener registration. |
|
|
89
|
+
|
|
90
|
+
**Example:**
|
|
91
|
+
|
|
92
|
+
```typescript
|
|
93
|
+
const { mashup } = PCore.getMashupBridge();
|
|
94
|
+
window.addEventListener('message', mashup.getMessageHandler());
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**Notes:** The framework already registers this listener internally on load — most component authors never need to call these directly.
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## ConfirmDialogService (via `PCore.getConfirmDialogService()`)
|
|
102
|
+
|
|
103
|
+
| Method | Signature | Purpose |
|
|
104
|
+
| ---------------------------------- | --------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
|
|
105
|
+
| `registerConfirmHandler(handler?)` | `(handler?: (message: string) => Promise<boolean>): void` | Registers (or clears) the confirmation-dialog handler. |
|
|
106
|
+
| `confirm(message)` | `(message: string): Promise<boolean>` | Shows the confirmation dialog, falling back to the native browser confirm if no handler is registered. |
|
|
107
|
+
|
|
108
|
+
**Example:**
|
|
109
|
+
|
|
110
|
+
```typescript
|
|
111
|
+
PCore.getConfirmDialogService().registerConfirmHandler((message) => showCustomConfirmDialog(message));
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
## FieldUtils (via `PCore.getFieldUtils()`)
|
|
117
|
+
|
|
118
|
+
| Method | Signature | Purpose |
|
|
119
|
+
| ------------------------------------ | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
120
|
+
| `formatPageReference(referenceList)` | `(referenceList: string): string` | Converts an array-notation page reference (for example `.Questionsets[0].Questions`) into the Pega-specific format (`.Questionsets(1).Questions`) expected by the DX API. |
|
|
121
|
+
|
|
122
|
+
**Example:**
|
|
123
|
+
|
|
124
|
+
```typescript
|
|
125
|
+
const formattedRef = PCore.getFieldUtils().formatPageReference('.Questionsets[0].Questions');
|
|
126
|
+
// returns '.Questionsets(1).Questions'
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
---
|
|
130
|
+
|
|
131
|
+
## FieldDefaultUtils (via `PCore.getFieldDefaultUtils()`)
|
|
132
|
+
|
|
133
|
+
| Member | Signature | Purpose |
|
|
134
|
+
| ----------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
|
|
135
|
+
| `fieldDefaults` | `{ [fieldType: string]: unknown }` | Public property holding the current field-default configuration, keyed by component type. Read directly rather than through a getter. |
|
|
136
|
+
| `getDefaultsforType(type)` | `(type: string): unknown` | Returns the default formats/styles configured for a component type (equivalent to `fieldDefaults[type]`). |
|
|
137
|
+
| `setFieldDefault(type, key, value)` | `(type: string, key: string, value: unknown): void` | Sets a single field-default value for a component type. |
|
|
138
|
+
| `updateFieldDefaults(configs)` | `(configs: unknown): void` | Merges new field-default configurations. |
|
|
139
|
+
|
|
140
|
+
**Example:**
|
|
141
|
+
|
|
142
|
+
```typescript
|
|
143
|
+
const { allowImplicitRefresh } = PCore.getFieldDefaultUtils().fieldDefaults.DataReference || {};
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## AnnotationUtils (via `PCore.getAnnotationUtils()`)
|
|
149
|
+
|
|
150
|
+
| Method | Signature | Purpose |
|
|
151
|
+
| ------------------------ | -------------------------- | --------------------------------------------------------------------------------------------------------------- |
|
|
152
|
+
| `getPropertyName(value)` | `(value: string): string` | Returns the literal property name from an annotated property (for example, `'@P .pyName'` returns `'.pyName'`). |
|
|
153
|
+
| `isProperty(value)` | `(value: string): boolean` | Returns whether the given value is an annotated property. |
|
|
154
|
+
|
|
155
|
+
**Example:**
|
|
156
|
+
|
|
157
|
+
```typescript
|
|
158
|
+
if (PCore.getAnnotationUtils().isProperty(rawValue)) {
|
|
159
|
+
const propertyName = PCore.getAnnotationUtils().getPropertyName(rawValue);
|
|
160
|
+
}
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## AssetLoader (via `PCore.getAssetLoader()`)
|
|
166
|
+
|
|
167
|
+
| Method | Signature | Purpose |
|
|
168
|
+
| -------------------------------------------- | ------------------------------------------------------------ | ----------------------------------------------------------------------- |
|
|
169
|
+
| `getStaticServerUrl()` | `(): string \| null` | Returns the static-content server URL for Pega assets. |
|
|
170
|
+
| `getConstellationServiceUrl()` | `(): string \| null` | Returns the Constellation service URL. |
|
|
171
|
+
| `getAppAlias()` | `(): string` | Returns the application alias used for asset loading. |
|
|
172
|
+
| `getSvcComponentsConfig(criteria, options?)` | `(criteria: unknown[], options?: unknown): Promise<unknown>` | Fetches a component's configuration matching the given search criteria. |
|
|
173
|
+
| `getSvcImage(key)` | `(key: string): Promise<Blob \| undefined>` | Fetches an image asset by key. |
|
|
174
|
+
| `getSvcImageUrl(key)` | `(key: string): Promise<string \| Blob \| null>` | Fetches an image asset as a blob URL. |
|
|
175
|
+
| `getSvcLocale(locale, key)` | `(locale: string, key: string): Promise<Response>` | Fetches a localization bundle for a given locale. |
|
|
176
|
+
| `register(name, loaderFn)` | `(name: string, loaderFn: Function): void` | Registers a custom asset-loader function. |
|
|
177
|
+
| `getLoader(name?)` | `(name?: string): Function` | Returns a registered loader (or the default loader). |
|
|
178
|
+
| `loadAssets(assets, options)` | `(assets: unknown[], options: unknown): Promise<unknown[]>` | Loads a set of asset dependencies and injects them into the document. |
|
|
179
|
+
|
|
180
|
+
**Example:**
|
|
181
|
+
|
|
182
|
+
```typescript
|
|
183
|
+
const serviceUrl = PCore.getAssetLoader().getConstellationServiceUrl();
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## NavigationUtils (via `PCore.getNavigationUtils()`)
|
|
189
|
+
|
|
190
|
+
| Method | Signature | Purpose |
|
|
191
|
+
| ----------------------------------------- | -------------------------------------------------------- | ----------------------------------------------------- |
|
|
192
|
+
| `getComponentState(key, options?)` | `(key: string, options?: unknown): unknown` | Reads a component's persisted navigation state. |
|
|
193
|
+
| `setComponentState(key, state, options?)` | `(key: string, state: unknown, options?: unknown): void` | Writes a component's navigation state. |
|
|
194
|
+
| `removeComponentState(key, options?)` | `(key: string, options?: unknown): void` | Removes a component's persisted navigation state. |
|
|
195
|
+
| `getUserSettings(path)` | `(path: string): unknown` | Reads a value from the operator's user settings. |
|
|
196
|
+
| `setUserSettings(path, value)` | `(path: string, value: string): Promise<void>` | Updates a value in the operator's user settings. |
|
|
197
|
+
| `getComponentCache(key)` | `(key: string): unknown` | Reads a value from the in-memory component cache. |
|
|
198
|
+
| `setComponentCache(key, value, options?)` | `(key: string, value: unknown, options?: unknown): void` | Writes a value to the in-memory component cache. |
|
|
199
|
+
| `resetComponentCache(key)` | `(key: string): boolean` | Removes a key from the in-memory component cache. |
|
|
200
|
+
| `getURLParam(key, decode)` | `(key: string, decode: boolean): string \| null` | Reads a query parameter from the current URL. |
|
|
201
|
+
| `setURLParam(key, value, encode?)` | `(key: string, value: string, encode?: boolean): void` | Sets or updates a query parameter in the current URL. |
|
|
202
|
+
|
|
203
|
+
**Example:**
|
|
204
|
+
|
|
205
|
+
```typescript
|
|
206
|
+
const savedState = PCore.getNavigationUtils().getComponentState(key, { managed: true });
|
|
207
|
+
```
|
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
# PCore: Constants, Behavior Overrides & Misc Utilities
|
|
2
|
+
|
|
3
|
+
> Part of the [PCore / PConnect API Reference skills](../README.md). See [pcore-misc-details.md](./pcore-misc-details.md) for the full method catalogs of the objects these accessors return.
|
|
4
|
+
|
|
5
|
+
## `getConstants()`
|
|
6
|
+
|
|
7
|
+
**Purpose:** Returns the frozen (read-only) public constants object used throughout the application (for example, `CASE_INFO`, `PUB_SUB_EVENTS`, `MESSAGES`).
|
|
8
|
+
|
|
9
|
+
**Signature:**
|
|
10
|
+
|
|
11
|
+
```typescript
|
|
12
|
+
getConstants(): Readonly<Constants>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
**Example:**
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
const { CASE_INFO, MODAL } = PCore.getConstants();
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
**Notes:** The returned object is frozen — read from it, never mutate it.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## `getResolvedConstantValue(key)`
|
|
26
|
+
|
|
27
|
+
**Purpose:** Resolves the actual value for a logical constant key.
|
|
28
|
+
|
|
29
|
+
**Signature:**
|
|
30
|
+
|
|
31
|
+
```typescript
|
|
32
|
+
getResolvedConstantValue(key: string): unknown
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
**Example:**
|
|
36
|
+
|
|
37
|
+
```typescript
|
|
38
|
+
const resolvedPath = PCore.getResolvedConstantValue(PCore.getConstants().CASE_INFO.CASE_INFO_CONTENT);
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
**Notes:** Pass the constant's logical value (for example, `CASE_INFO.CASE_INFO_CONTENT`), not the constant's key name.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## `setBehaviorOverrides(overridesObj)`
|
|
46
|
+
|
|
47
|
+
**Purpose:** Replaces the entire behavior-overrides object used to toggle default runtime behaviors.
|
|
48
|
+
|
|
49
|
+
**Signature:**
|
|
50
|
+
|
|
51
|
+
```typescript
|
|
52
|
+
setBehaviorOverrides(overridesObj: { [key: string]: boolean }): void
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**Example:**
|
|
56
|
+
|
|
57
|
+
```typescript
|
|
58
|
+
PCore.setBehaviorOverrides({ dynamicLoadComponents: false });
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**Notes:** This **replaces** all existing overrides. To add/update a single flag without affecting others, use `setBehaviorOverride`.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## `setBehaviorOverride(overrideKey, overrideValue)`
|
|
66
|
+
|
|
67
|
+
**Purpose:** Adds or updates a single behavior-override flag without affecting other existing keys.
|
|
68
|
+
|
|
69
|
+
**Signature:**
|
|
70
|
+
|
|
71
|
+
```typescript
|
|
72
|
+
setBehaviorOverride(overrideKey: string, overrideValue: boolean): void
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Example:**
|
|
76
|
+
|
|
77
|
+
```typescript
|
|
78
|
+
PCore.setBehaviorOverride('dynamicSemanticUrl', true);
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## `getBehaviorOverrides()`
|
|
84
|
+
|
|
85
|
+
**Purpose:** Returns the current object of all behavior overrides.
|
|
86
|
+
|
|
87
|
+
**Signature:**
|
|
88
|
+
|
|
89
|
+
```typescript
|
|
90
|
+
getBehaviorOverrides(): { [key: string]: boolean }
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
**Example:**
|
|
94
|
+
|
|
95
|
+
```typescript
|
|
96
|
+
const overrides = PCore.getBehaviorOverrides();
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## `getBehaviorOverride(theOverride)`
|
|
102
|
+
|
|
103
|
+
**Purpose:** Returns the current value of a single behavior-override flag; `undefined` if it hasn't been set.
|
|
104
|
+
|
|
105
|
+
**Signature:**
|
|
106
|
+
|
|
107
|
+
```typescript
|
|
108
|
+
getBehaviorOverride(theOverride: string): boolean | undefined
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
**Example:**
|
|
112
|
+
|
|
113
|
+
```typescript
|
|
114
|
+
if (PCore.getBehaviorOverride('dynamicLoadComponents') === false) {
|
|
115
|
+
// skip dynamic component loading
|
|
116
|
+
}
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## `getAsynchronousUtils()`
|
|
122
|
+
|
|
123
|
+
**Purpose:** Utility APIs for asynchronous operations using Observable (RxJS) patterns.
|
|
124
|
+
|
|
125
|
+
**Signature:**
|
|
126
|
+
|
|
127
|
+
```typescript
|
|
128
|
+
getAsynchronousUtils(): AsynchronousUtils
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
**Example:**
|
|
132
|
+
|
|
133
|
+
```typescript
|
|
134
|
+
const debouncedSubject = PCore.getAsynchronousUtils().getDebouncedSubject(300);
|
|
135
|
+
debouncedSubject.subscribe((value) => {
|
|
136
|
+
// react to the debounced value
|
|
137
|
+
});
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## `getErrorHandler()`
|
|
143
|
+
|
|
144
|
+
**Purpose:** APIs to get/set the generic failure message shown when a component fails to render.
|
|
145
|
+
|
|
146
|
+
**Signature:**
|
|
147
|
+
|
|
148
|
+
```typescript
|
|
149
|
+
getErrorHandler(): ErrorHandler
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
**Example:**
|
|
153
|
+
|
|
154
|
+
```typescript
|
|
155
|
+
const genericErrorMessage = PCore.getErrorHandler().getGenericFailedMessage();
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## `getFormUtils()`
|
|
161
|
+
|
|
162
|
+
**Purpose:** Form-related operations, such as reading changed fields for a given context.
|
|
163
|
+
|
|
164
|
+
**Signature:**
|
|
165
|
+
|
|
166
|
+
```typescript
|
|
167
|
+
getFormUtils(): FormUtils
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
**Example:**
|
|
171
|
+
|
|
172
|
+
```typescript
|
|
173
|
+
const changedFields = PCore.getFormUtils().getChanges(context);
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## `getAutosaveUtils()`
|
|
179
|
+
|
|
180
|
+
**Purpose:** Autosave utility APIs: status subscription, context registration checks, and activity notification.
|
|
181
|
+
|
|
182
|
+
**Signature:**
|
|
183
|
+
|
|
184
|
+
```typescript
|
|
185
|
+
getAutosaveUtils(): AutosaveUtils
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
**Example:**
|
|
189
|
+
|
|
190
|
+
```typescript
|
|
191
|
+
const autosaveUtils = PCore.getAutosaveUtils();
|
|
192
|
+
const isAutosaveEnabled = autosaveUtils.isAutosaveEnabledForContext(context);
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## `getMashupBridge()`
|
|
198
|
+
|
|
199
|
+
**Purpose:** Utility APIs for mashup (Web Embed) related operations.
|
|
200
|
+
|
|
201
|
+
**Signature:**
|
|
202
|
+
|
|
203
|
+
```typescript
|
|
204
|
+
getMashupBridge(): MashupBridge
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
**Example:**
|
|
208
|
+
|
|
209
|
+
```typescript
|
|
210
|
+
const mashupBridge = PCore.getMashupBridge();
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
## `getConfirmDialogService()`
|
|
216
|
+
|
|
217
|
+
**Purpose:** Manages the confirmation dialog shown when orchestration requires user confirmation (for example, navigating away from unsaved changes).
|
|
218
|
+
|
|
219
|
+
**Signature:**
|
|
220
|
+
|
|
221
|
+
```typescript
|
|
222
|
+
getConfirmDialogService(): ConfirmDialogService
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
**Example:**
|
|
226
|
+
|
|
227
|
+
```typescript
|
|
228
|
+
PCore.getConfirmDialogService().registerConfirmHandler((message) => {
|
|
229
|
+
return showCustomConfirmDialog(message);
|
|
230
|
+
});
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
**Notes:** Register a custom handler so a Constellation UI dialog is used instead of the browser's native `window.confirm`.
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## `getFieldUtils()`
|
|
238
|
+
|
|
239
|
+
**Purpose:** Utility APIs for field-related operations, such as formatting page references.
|
|
240
|
+
|
|
241
|
+
**Signature:**
|
|
242
|
+
|
|
243
|
+
```typescript
|
|
244
|
+
getFieldUtils(): FieldUtils
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
**Example:**
|
|
248
|
+
|
|
249
|
+
```typescript
|
|
250
|
+
const formattedRef = PCore.getFieldUtils().formatPageReference(pageReference);
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## `getFieldDefaultUtils()`
|
|
256
|
+
|
|
257
|
+
**Purpose:** APIs for reading field-default configuration.
|
|
258
|
+
|
|
259
|
+
**Signature:**
|
|
260
|
+
|
|
261
|
+
```typescript
|
|
262
|
+
getFieldDefaultUtils(): FieldDefaultUtils
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
**Example:**
|
|
266
|
+
|
|
267
|
+
```typescript
|
|
268
|
+
const { allowImplicitRefresh } = PCore.getFieldDefaultUtils().fieldDefaults.DataReference || {};
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
---
|
|
272
|
+
|
|
273
|
+
## `getAnnotationUtils()`
|
|
274
|
+
|
|
275
|
+
**Purpose:** Utility APIs to detect and parse property annotations (for example, `@P` property references).
|
|
276
|
+
|
|
277
|
+
**Signature:**
|
|
278
|
+
|
|
279
|
+
```typescript
|
|
280
|
+
getAnnotationUtils(): AnnotationUtils
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
**Example:**
|
|
284
|
+
|
|
285
|
+
```typescript
|
|
286
|
+
if (PCore.getAnnotationUtils().isProperty(rawValue)) {
|
|
287
|
+
const propertyName = PCore.getAnnotationUtils().getPropertyName(rawValue);
|
|
288
|
+
}
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
## `getAssetLoader()`
|
|
294
|
+
|
|
295
|
+
**Purpose:** Asset-loading utility APIs, including resolving static asset URLs and dynamically loading assets.
|
|
296
|
+
|
|
297
|
+
**Signature:**
|
|
298
|
+
|
|
299
|
+
```typescript
|
|
300
|
+
getAssetLoader(): AssetLoader
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
**Example:**
|
|
304
|
+
|
|
305
|
+
```typescript
|
|
306
|
+
PCore.getAssetLoader().getLoader('component-loader')([componentName]);
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
---
|
|
310
|
+
|
|
311
|
+
## `getNavigationUtils()`
|
|
312
|
+
|
|
313
|
+
**Purpose:** APIs for reading and writing per-component navigation state, URL params, and user settings.
|
|
314
|
+
|
|
315
|
+
**Signature:**
|
|
316
|
+
|
|
317
|
+
```typescript
|
|
318
|
+
getNavigationUtils(): NavigationUtils
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
**Example:**
|
|
322
|
+
|
|
323
|
+
```typescript
|
|
324
|
+
const savedState = PCore.getNavigationUtils().getComponentState(key, { managed: true });
|
|
325
|
+
```
|