Got it! The way you have it could work but it would be an easier process is to use Bubble’s “Display Data” action. To set this up, you would first remove the custom states from the input elements in the Group Spec sheets element, and possibly change change the data type name from “Spec Sheets” to “Spec Sheet” (or “Ingredient”). You don’t have to of course but it might make it easier to see if you’re making changes to a single Ingredient or a list of Ingredients. Here is a similar example:
Editor:
Preview:
In this example, the repeating group on the left displays a list of Ingredients (similar to your GroupFocus repeating group):
Within that repeating group is the name of the Ingredient in a text element. That text element is inside of a group element that expands the height and width of the cell:
On the right side is our ‘Edit Group’ that we can use to edit the information about an Ingredient. This Group’s Type of Content is “Ingredient”, and by default, its data source is the first item in the Repeating Group of Ingredients:
Setting the data source of that Group to be the first item in the repeating group ensures that when the page is first loaded, the first Ingredient in the repeating group is edited. If we leave this empty, no information will be displayed in the Edit Group’s input elements, since the data source is empty. If you don’t want any Ingredient’s information to be displayed in that Edit Group, prior to a User clicking on an Ingredient, you would leave the data source empty.
Then we can use the “Display Data” action when an Ingredient in the RG cell is clicked, to display that Ingredient’s data in the right-hand-side group (this changes that Group’s Data Source via a workflow action). In this example, when the Group RG Ingredient element is clicked (i.e. an Ingredient is clicked in the repeating group) → Display that Ingredient’s data in the Group Ingredient element:
This action dynamically changes the data source of the Group Ingredient, and Bubble allows us to refer to that data using “Parent Group’s Ingredient’s…”. For example, in the ‘Edit Group’ inputs, that Ingredient’s data is displayed in the three input fields using these expressions:
Parent Group’s Ingredient’s Name
This dynamically displays the just-clicked-on Ingredient’s Name field value (type: text, list: no):
Parent Group’s Ingredient’s Approved
This dynamically displays the just-clicked-on Ingredient’s Approved field value (type: yes/no, list: no):
Parent Group’s Ingredient’s Source Address
This dynamically displays the just-clicked-on Ingredient’s Source Address field value (type: address, list: no):
You can see it dynamically changes the value once a RG Ingredient Group is clicked inside of the repeating group. Then, if we need to change any information about that Ingredient, we can use “Parent Group’s Ingredient” in the Make Changes to an Ingredient action once the Save button is clicked:
This action modifies the Ingredient we are editing’s fields, using the input values we’ve just modified.
After Bubble has made those changes, an alert is shown to the User stating that their changes have been saved:
Last but not least! In this example, when an Ingredient has been selected, its cell turns blue, and when a different Ingredient is hovered, its cell turns light blue. There are two conditional statements on the Group RG Ingredient element which accomplish this.
This conditional statement that changes the RG Ingredient’s background color to blue if it is being edited is accomplished using the conditional:
"When Group Ingredient’s Ingredient (the single Ingredient that is being displayed in the edit form) is Current cell’s Ingredient (the Ingredient in the RG) → change the background color to blue.
And that should work! Please let me know if any of this was confusing or if I can clarify anything at all!