@vladimir-upirov
I’m trying to add additional items to an already populated repeater data block but am having issues with trying to do this.
Here are two ways that I’ve tried so far:
#1:
Direct Link:
https://app.webmojo.io/api/files/ui-builder/containers/Hyperpixels/index.html?page=dash
Doing it this way (above) corrupts the data that’s already in the repeater, but it’s loaded very quickly.
What’s loaded into the second group of 25 works correctly, but what was originally loaded into the first group of 25 records does not work correctly anymore. (Pay attention to the chip to change a ticket’s status)
I think that the problem with this one is that items 0 through 24 are located inside proxy objects, and items 25 through through 49 just contain the properties (not inside proxies).
I’m not sure how to fix this.
#2:
Direct link:
https://www.hyperpixels.net/?page=dash_alternate
Doing it the above way works (so the data already in the repeater data block is not corrupted and everything works properly) BUT there is a long delay because of errors that are added to the console one-at-a-time (for about 4 seconds):
The problem with #2 is ALL of the items are located within proxy objects, but code execution is severerly slowed down with 25 occurences of: “Component with uid: ‘f20f534105889b957ec106deb1557f36’ already registered for another node!”
This particular uid for the error is for an image that’s loading its image from a URL that’s located inside the repeater container.
Any thoughts on how this needs to be done correctly?
Here’s the appID: ACE46687-EB31-F095-FF38-CDB1E0260900
Container: Hyperpixels
Thanks!
Mike
Hi Mike, you don’t normally use the ‘list’ component. Just connect the ‘load table objects’ directly into ‘set repeater data’ block. Try and see if it helps.
Cheers Paul
Hello @Paul_HIllen,
Thank you, but I think that you might be missing the point.
I’m trying to add data from a DB fetch to an already existing collection of data linked to a repeater.
It’s better UX to add items to an already existing collection of items for minimal user disruption.
Mike
Hi @Michael_Kadron ,
I am investigating this situation and will return with an answer soon.
Regards,
Sergey
Hi again,
I was unable to test this in your application on the dash page, my tickets are not loading, perhaps this is due to the required login for this page.
I tested this functionality in my application by creating a repeater and also using the method
“in list { Repeater Data } add”, I also placed an image that receives a link from the database, but I don’t get such an error. For me everything works as expected.
Could you create a separate page, so that I don’t break anything in your project, on which this error will be reproduced, so that I can test it without a login.
Regards,
Sergey
Hello Sergey,
I sent the required username and password for logging it to the “Backendless Support” message channel a few days ago.
Did you receive it?
Mike
I couldn’t find it, could you send it to private messages?
Regards,
Sergey
Hi,
thank you for waiting and for providing access to the application,
In the first case, when we use “in list add”, each new ticket is added one by one and re-rendered, which affects performance. When “combine with” is used, we combine all new tickets with old ones and render them all at once. Because of this, there is a difference in the time when tickets appear.
The situation with the warning about the picture is not related to the delay, at the moment it was not possible to find exactly how the uid of the component was duplicated, this warning can be removed by simply deleting the picture and creating a new one with the same parameters and classes. If this situation happens again in the future, let us know, preferably with the steps that led to this.
As for combining elements using “combine with” and a proxy, this is an internal implementation, it should not affect the UI in any way, can you tell us in more detail what exactly happens with the Chip component that you mentioned above?
Regards,
Sergey
Hey @Sergey_Androsov
To see how the issue affects the chip’s behavior:
Go to this page (if you’re logged in as Mark already): https://www.hyperpixels.net/index.html?page=dash
Play with the chips (that are all working at this point.)
Now scroll down to the “Load More Tickets” area so it loads more tickets (only once though)
Now scroll back up halfway and you will see the following:
Now click on the first “Server Updates”, you will notice that the chip no longer works as intended. In the console, this is the one displayed as #24. The ones that are not working are located inside proxy objects.
Now click on the second “Server Updates”, you will notice that this chip is working correctly.
Now look in the console, this one is #25. The ones that ARE working are NOT located inside proxies.
Thanks for looking into this for us.
Mike
Hi @Michael_Kadron,
I will create an internal ticket for a more detailed analysis and solution to this problem, for now you can use a workaround, I have attached a screenshot, this is part of adding new data, in combination with the “combine with” method it works quickly.
Regards,
Sergey
Wow!
That works perfectly!!!
I didn’t think of trying that one.
Thank you for all of your help!!!
Mike
1 Like