Select to view content in your preferred language

Group/Re-order linked attribute nodes in vcga rules?

175
4
Jump to solution
3 weeks ago
RidleySoudack
Esri Contributor

Hi there

 

I have been experimenting with (and loving!) the new VCGA components available at 2026.0. However, as I build more complex rules I am running into a slight usability challenge when configuring inspector attributes for my VCGA rule. Specifically, there seems to be no way to group or re-order attributes in the inspector directly in the VCGA configuration itself. Here's an example of an instance where this is an issue:

  • I want to allow users to choose between using a rectangular balcony or a round balcony for a given facade. To do so, I add a radio button selector that connects to the ESRI.lib nodes Rectangular_Balcony and Round_Balcony. The selector appears in the Inspector window for the rule, as expected.
  • However, I additionally want to allow the user to choose the type of railing used by the balcony. The Rectangular_Balcony and Round_Balcony nodes both allow a different menu of options for this setting. My preference is to have two different attribute selectors available in the inspector, one tied to round balconies and one tied to rectangular balconies. To accomplish this, I have basically two options:
    • First, I could click the "Show component attributes in inspector" toggle for each node. However, this is not ideal because it both exposes more attributes than I actually want to expose (I only want the railing type!), and groups these new attributes under separate rule headings in the Inspector window. This would mean the user needs to scroll down, identify which heading is relevant to their current balcony selection (there is no visual indicator of which is active until you expand a heading), find the relevant attribute, and modify it. Not super ideal from a usability perspective.
    • Second, I could use the "Link attribute in the inspector" option to expose just the Railing_Type attribute for both Rectangular_Balcony and Round_Balcony. This has the advantage of keeping both attributes listed under the primary rule's heading in the inspector (and being greyed out when not applicable to the chosen balcony type). However, there is no clear way to order or group these attributes at this stage. Instead, it seems like the order/grouping of these attributes comes from the source CGA rules - if the source CGA rules has @group or @order attribute tags configured, then those tags are used to arrange the attributes in my VCGA rule. This becomes a usability problem when my rule becomes more complex, with dozens of different attributes. See the attached image for an example - balcony-related attributes are spread throughout and groupings appear arbitrary and incomplete. I could theoretically go through and modify the source CGA files for each node to achieve better groupings. However, this means changing my core ESRI.lib nodes, presenting challenges if I want to share this rule with others, or when I eventually upgrade my ESRI.lib to keep up with future releases (which will presumably reset any modifications I make).

Am I missing some easy way to re-order attributes associated with a VCGA rule?

 

Thanks in advance for any suggestions!

0 Kudos
1 Solution

Accepted Solutions
MischaBauckhage
Esri Contributor

Hi @RidleySoudack 

Thank you for your question. I'm happy to hear that you like the new VCGA components.

For complex VCGA designs, the best way to keep attributes organized is to use your second approach and link attribute nodes. By default, these nodes inherit the values and annotations (such as Group and Order) defined in the underlying component (either a VCGA component or a CGA rule file). By clicking the @ icon on an attribute node, you can override these definitions if needed.

To avoid manually maintaining enumerations, such as the railing types in your example, you can automatically populate the fields using the "Fill annotations from..." option at the top of the annotation dialog. Once populated, all fields can be further customized to suit your needs. In your case, you could use the Group and Order settings to improve the organization of attributes.

I hope this helps.

Best regards,
Mischa

View solution in original post

4 Replies
MischaBauckhage
Esri Contributor

Hi @RidleySoudack 

Thank you for your question. I'm happy to hear that you like the new VCGA components.

For complex VCGA designs, the best way to keep attributes organized is to use your second approach and link attribute nodes. By default, these nodes inherit the values and annotations (such as Group and Order) defined in the underlying component (either a VCGA component or a CGA rule file). By clicking the @ icon on an attribute node, you can override these definitions if needed.

To avoid manually maintaining enumerations, such as the railing types in your example, you can automatically populate the fields using the "Fill annotations from..." option at the top of the annotation dialog. Once populated, all fields can be further customized to suit your needs. In your case, you could use the Group and Order settings to improve the organization of attributes.

I hope this helps.

Best regards,
Mischa

RidleySoudack
Esri Contributor

Hi @MischaBauckhage,


Thank you for the quick response, the @ symbol does indeed work! I had wondered if that button might accomplish what I was looking for, but it was greyed out and unselectable for me.

 

For anyone else who might be reading this thread later, you first need to swap the value within the attribute node dropdown from the default value to "Enter value", at which point you can select the @ button to open the annotation dialog and proceed as Mischa describes.

0 Kudos
RidleySoudack
Esri Contributor

@MischaBauckhage,

Apologies - I actually have one follow-up question: is it possible to configure annotations for CheckboxSwitch and RadioSwitch nodes? It would be great to be able to order and group these options within the attribute inspector too, but they don't have an @ button.


Thanks in advance!

0 Kudos
MischaBauckhage
Esri Contributor

@RidleySoudack 

Happy to hear that you were able to solve the ordering and grouping of the attribute nodes using annotations!

Regarding the CheckboxSwitch and RadioSwitch nodes, this is unfortunately not possible yet. However, we are well aware of this limitation and are actively working on improving this area in a future release.