a2ui-project / a2ui-project/a2ui

[FEATURE]: Rendered components should be traceable back to the A2UI Component

Open
#2,434 2 comments 0 reactions 0 assignees View on GitHub
P2
Dominant language
TypeScript
Stars
16.4k
Forks
1.3k
Avg merge
2d 13h
Merged PRs (30d)
134

Description

In developing the [A2UI Composer](https://github.com/a2ui-project/composer), a few feature requests have come up where the user would want to select a rendered component and act on it.

The problem is, there's no way for us trace from a rendered component to the A2UI component it corresponds to.

I'm not sure how this would work in all cases, but at least for web-based renderers, if the outermost DOM element that represents the A2UI component had a `data-a2ui` property whose value is **exactly** the A2UI Component's ID, then that makes it easy. Not only is there a direct mapping, but its easy to query for DOM elements.

(For rendereed components which are from a "loop", then a few options are available; perhaps they all have the same `data-a2ui` value, with an additional `data-a2ui-instance` property to distinguish them? Or, depending on how they're rendered, perhaps there's a surrounding `div` or `span` that gets the `data-a2ui` property? Or, in the case of a list, maybe the `ol` or `ul` element gets the `data-a2ui`? Options :-))

Contributor guide

Open the contributing guide

Research direction

Look at the web-based renderers in the codebase to understand how components are currently rendered to DOM. Identify where the outermost DOM element is created and add a `data-a2ui` attribute with the component's ID. For looped components, decide on an approach (like adding `data-a2ui-instance`) and implement consistently. Test by rendering components and verifying the attributes appear correctly in the browser's developer tools.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend, web-dev
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
65/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.