Add PageInput support to genpage skill#45
Conversation
There was a problem hiding this comment.
Pull request overview
Adds guidance and template updates to support an optional pageInput prop in the genpage skill, aligning generated GenUX components with page-provided context (entity + record + custom data) and reinforcing navigation/OData best practices.
Changes:
- Updated the genpage component template to destructure
pageInputfrom props. - Expanded genpage rules reference with a new Page Input section (interface, rules, and examples).
- Added/clarified rules around
Xrm.Navigation.navigateTonavigation and lookup display-name selection behavior.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| plugins/model-apps/skills/genpage/SKILL.md | Updates the component template to include pageInput in props destructuring. |
| plugins/model-apps/references/genpage-rules-reference.md | Adds Page Input guidance/examples and strengthens navigation + OData lookup selection rules. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Port PageInput feature from AIBuilder CoderAgent. The generated component can now accept an optional pageInput prop with entityName, recordId, and arbitrary data from the hosting page. - genpage-rules-reference.md: add Page Input section with interface definition, usage rules, and code examples for record retrieval and safe type casting of data values - SKILL.md: include pageInput in Component Template destructuring Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…up $select rules - Rule 11: Warn about React 17 double-render flicker when using FluentProvider - Rule 13: Require Xrm.Navigation.navigateTo for all in-app navigation - Add GenUX Page Navigation pattern (entity records + genux-to-genux) - Add Dark Mode Toggle pattern using themeToVars instead of FluentProvider - Add pageInput rendering guidelines (sync prop derivation, no delays, early returns) - Add DataAPI Rule 11: lookup *name/*yominame fields cannot be in $select Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…lass entityName/recordId (#83) Co-authored-by: Jason Green <jasongre@microsoft.com>
The previous wording used a single example (regardingobjectidname) which led to the rule being applied inconsistently. Updated to make clear that ALL *name/*yominame lookup fields are OData annotations and cannot be selected, with multiple concrete examples. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…sion to 1.0.6 Adds pageInput to the canonical destructuring in the rules reference Component Structure section, matching the SKILL.md template. Bumps plugin version to 1.0.6. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
e4b8127 to
57d6427
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Extracts the full list-page and detail-page caching code into samples/9-data-caching.tsx. Rules reference now has condensed key rules + link to the sample. Reduces genpage-rules-reference.md by ~60 lines while keeping the complete patterns accessible. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Removes the full component boilerplate (imports, DataGrid, makeStyles) and keeps only the list-page array cache and detail-page Map cache patterns with header comments explaining when to use each. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Port PageInput feature from AIBuilder CoderAgent. The generated component can now accept an optional pageInput prop with entityName, recordId, and arbitrary data from the hosting page.