Skip to content

feat(angular): angular renderer api symmetry for custom catalogs - #2060

Open
josemontespg wants to merge 8 commits into
a2ui-project:mainfrom
josemontespg:agent/wt_e8747203
Open

feat(angular): angular renderer api symmetry for custom catalogs#2060
josemontespg wants to merge 8 commits into
a2ui-project:mainfrom
josemontespg:agent/wt_e8747203

Conversation

@josemontespg

@josemontespg josemontespg commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator

What

Introduced createComponentImplementation helper in renderers/angular/src/v0_9/catalog/types.ts.
Deprecate extraComponents and functions in BasicCatalogOptions within renderers/angular/src/v0_9/catalog/basic/basic-catalog.ts in favor of direct instantiation of AngularCatalog to combine BASIC_COMPONENTS and BASIC_FUNCTIONS with custom ones.

Why

Resolves #2001. Align the Angular Renderer Catalog API with the Web Core and React implementations to provide a symmetric and cleaner way of defining custom catalogs.

Effect

Allows Angular users to register custom components and functions using a pattern that matches the core implementation, and encourages cleaner catalog creation. Fully backward compatible; existing extraComponents and functions usage is deprecated but still functions.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request deprecates extraComponents in BasicCatalogOptions, introduces the createAngularComponentImplementation helper function, and adds corresponding unit tests. The feedback suggests using the spread operator (...api) in the helper function to ensure any future properties on ComponentApi are preserved.

Comment thread renderers/angular/src/v0_9/catalog/types.ts

@josemontespg josemontespg left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adversarial review passed.

Comment thread renderers/angular/src/v0_9/catalog/basic/basic-catalog.ts
@josemontespg
josemontespg requested a review from ditman July 21, 2026 22:32

@ditman ditman left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new API looks good to me, but I think we can do better on the examples/docs maybe? PS: do we have anything that can be improved by this new APIs in the sample apps, for example?

Comment thread renderers/angular/src/v0_9/catalog/types.spec.ts Outdated
Comment thread renderers/angular/CHANGELOG.md Outdated
Comment thread renderers/angular/CHANGELOG.md Outdated
Comment thread renderers/angular/src/v0_9/catalog/types.ts Outdated
Comment thread renderers/angular/src/v0_9/catalog/types.ts Outdated
@josemontespg
josemontespg requested a review from ditman July 27, 2026 23:07
Comment thread renderers/angular/src/v0_9/catalog/types.ts Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Angular Renderer: API Symmetry

3 participants