I’m trying to add data from one repeating group to another on the same page. The issue I’m running into is sometimes its hard to recognize if the if data successfully loaded.
For example,
If I spam click to create new data, the data is loaded very awkwardly and I’m not even sure what number of clicks are registered.
How can I disable the input until the data has finished loading?
What am I missing here? How recognize that the repeating groups new data has completely loaded?
Hi @steven.junio91 - you can use Custom States to disable the input and “submit” button.
If you have a custom state called “Is Input Disabled” with value of true/false or yes/no (assume default is false or no), then when you click a button to create new or make update, the first workflow step will be to set “Is Input Disabled” to true or yes.
Switching to both the input field and the button Elements, set a Conditional that says if “Is Input Disabled” equal to true or yes, then disable input and disable button.
Back to the Workflow, run the steps you need. The last step in the Workflow would be to set “Is Input Disabled” back to false or no.
That makes sense. The bigger issue I’m running into if figuring how to add a workflow when the element is rendered on screen. Rather than when it is just added to the database
Can you say a bit more about the scenario you’re having issues with? You’re probably aware of the different ways to setup a RG’s Layout style in which their respective loading times can/will differ, all things being equal (ie the amount of content in a RG and the total # of cells)
I’ve never discovered a good way to fire some sort of event when the last item in a repeating group is actually visible on screen to the user – which is essentially what you want your “loading” indicator to look for.
I’ve heard it suggested that reusable elements have their own workflows and that those workflows can communicate to the page on which the reusable resides. So, perhaps you could craft such an element and put it in the RG’s cell and have it set some custom state, but I suspect you’d run into a similar issue – that little thing will probably instantiate on the page and fire its event slightly before everything is actually ready on the page.
If anyone has clever solutions to this sort of thing, I’d love to hear about them, too.
(Mostly for me this is an issue with slower devices like mobile phones. I’ve got some kinda complicated widgets which are really pretty fast on desktop, but then take quite a while to render on some phones. Would be nice to make the loading experience more graceful in cases where the user simply needs to wait. But it seems very hard to detect when, exactly, a Bubble page is actually ready for user interaction.
And as those widgets change states, some of those transitions can be slow-ish as well. And again, it would be nice if there were a way to reliably detect that “a certain element in a repeating group is actually ready for user interaction”.)