systeminit/si

[COM-28] [Feature Request] Dynamic combo box options

KairuDeibisu opened this issue · 1 comments

Is this issue related to an issue?.

The information needed for configuration is not always available before some configuration is completed.

For example, let's say we're making a GitHub integration.

This integration will allow us to configure GitHub actions.

We would like to configure GitHub actions for our private repositories.

Ideally, we could create a repository configuration frame, that takes a personal access token. Then a combo box will be filled with all of your public and private repositories, you have access to.

The problem is you cannot programmatically add options to a combo box.

Describe the outcome you'd like from us

A dynamic combo box for configuration frame assets.

Let's imagine we're integrating GitHub repositories as an asset.

We want a configuration frame to represent a repository. The configuration frame would have a combo box for the organization type and an input box for the personal access token of the user.

The problem lies in how do we dynamically show the user a combo box with a list of repositories.

We could dynamically create a combo box in the frame on the canvas. This combo box would be locked in the frame. it was dynamically generated in. The options in the combo box would be automatically filled on the successful qualifications of its parent frame.

Describe alternatives you've considered

We would create an asset marked as a dynamic asset. By dragging that asset into a frame, we can optionally select the properties that we wish to listen to on the parent frame.

When all of the properties pass qualification, The resulting values are passed to this dynamic combo box. This is when the options for the combo box are filled.

Code of Conduct

  • I agree to follow this project's Code of Conduct

Additional context

To summarize, The central issue is I need to dynamically fill a combo box with options, using the values from other properties on a parent object or on the object itself.

COM-28

To add a bit more information, I would describe the combo box property as static. It's under the assumption, that all the options would be known at the time the asset is created, and would never change.

The combo box is currently overlooking that you may want to fill in options after other properties have been qualified or go out to a server to grab a list of options that may change regularly, and to me that is a major usability future that is currently missing.