I filter my repeater data based on the AppData Contact data list. Before showing the repeater with the filtered data set I overwrite data with an empty list. But, this does not work correctly. What am I doing wrong?
Hello @Jorg_Beyer
Could you please print the contactListData
value and check what it contains in the browser dev tool?
Btw, you do not need to assign an empty list, just assign a new data what you need
Regards, Vlad
[
{
“assignedDate”: 1654071913000,
“contactCategory”: null,
“uuidSource”: null,
“lastName”: “Dampf”,
“contactEmail”: null,
“created”: 1654549715944,
“sourceChannel”: {
“___class”: “ContactSourceChannel”,
“ownerId”: null,
“updated”: null,
“displayName”: “Personal Contact/Own Network”,
“created”: 1654075011479,
“objectId”: “420A9B18-05A4-493E-9F48-901987514A50”
},
“companyName”: null,
“contactScore”: 0,
“fullName”: “Hans Dampf”,
“ownerId”: null,
“firstName”: “Hans”,
“createdDate”: 1655762400000,
“activeStatus”: true,
“contactStatus”: null,
“___class”: “Contact”,
“updated”: null,
“objectId”: “9796FB53-5C5A-4769-B5BF-9862E4EE61BE”
},
{
“assignedDate”: 1654071913000,
“contactCategory”: {
“___class”: “ContactCategories”,
“ownerId”: null,
“updated”: null,
“displayName”: “Other”,
“created”: 1654073160983,
“objectId”: “08EF3DC8-6676-456B-BDA9-D62AC30A0789”
},
“uuidSource”: null,
“lastName”: “Beyer”,
“contactEmail”: null,
“created”: 1654072937572,
“sourceChannel”: null,
“companyName”: {
“___class”: “Company”,
“ownerId”: null,
“updated”: 1654075360646,
“created”: 1654073062284,
“objectId”: “EAE907FD-3B19-4ADB-B450-290229986793”,
“companyName”: “Silverpunk”
},
“contactScore”: null,
“fullName”: “Jörg G. Beyer”,
“ownerId”: null,
“firstName”: “Jörg G.”,
“createdDate”: null,
“activeStatus”: false,
“contactStatus”: {
“helpText”: null,
“displayName”: “Unqualified”,
“created”: 1654073204053,
“___class”: “LeadStatus”,
“ownerId”: null,
“flowID”: 6,
“updated”: 1654074540158,
“objectId”: “F658DE26-254B-4BB7-B97A-E91E5C358C10”
},
“___class”: “Contact”,
“updated”: 1654096704875,
“objectId”: “E750F6F4-4B9A-4066-839C-EB8E5C60C121”
},
{
“assignedDate”: 1654071913000,
“contactCategory”: {
“___class”: “ContactCategories”,
“ownerId”: null,
“updated”: 1654073145919,
“displayName”: “Partner”,
“created”: 1654073139755,
“objectId”: “3C4AE0B6-13D9-4E1E-82AB-18F15B9C57C3”
},
“uuidSource”: null,
“lastName”: “van der Kamp”,
“contactEmail”: null,
“created”: 1654447588045,
“sourceChannel”: {
“___class”: “ContactSourceChannel”,
“ownerId”: null,
“updated”: null,
“displayName”: “linkedIn”,
“created”: 1654075031929,
“objectId”: “FA278A59-02FC-4F55-8831-79E55B6B3EDD”
},
“companyName”: {
“___class”: “Company”,
“ownerId”: null,
“updated”: null,
“created”: 1654074564407,
“objectId”: “F5006B40-8C1B-4260-B55F-73564C7A3B05”,
“companyName”: “-/&5c;?”
},
“contactScore”: 0,
“fullName”: “Ute van der Kamp”,
“ownerId”: null,
“firstName”: “Ute”,
“createdDate”: null,
“activeStatus”: true,
“contactStatus”: {
“helpText”: null,
“displayName”: “Nurture”,
“created”: 1654073196064,
“___class”: “LeadStatus”,
“ownerId”: null,
“flowID”: 5,
“updated”: 1654074536888,
“objectId”: “5734DDEA-BB9B-4D93-8022-2EB6CD6F5DF8”
},
“___class”: “Contact”,
“updated”: 1654447611937,
“objectId”: “A0D5D3E3-E4E6-4D9E-B4EC-25D338535A6E”
},
{
“assignedDate”: 1654074584000,
“contactCategory”: {
“___class”: “ContactCategories”,
“ownerId”: null,
“updated”: null,
“displayName”: “Lead”,
“created”: 1654073129295,
“objectId”: “D1227A7A-04E7-4A31-8635-23215610B3BA”
},
“uuidSource”: null,
“lastName”: “Sohn”,
“contactEmail”: null,
“created”: 1654074586438,
“sourceChannel”: null,
“companyName”: {
“___class”: “Company”,
“ownerId”: null,
“updated”: 1654075360646,
“created”: 1654073062284,
“objectId”: “EAE907FD-3B19-4ADB-B450-290229986793”,
“companyName”: “Silverpunk”
},
“contactScore”: null,
“fullName”: “Werner Sohn”,
“ownerId”: null,
“firstName”: “Werner”,
“createdDate”: null,
“activeStatus”: true,
“contactStatus”: {
“helpText”: null,
“displayName”: “Nurture”,
“created”: 1654073196064,
“___class”: “LeadStatus”,
“ownerId”: null,
“flowID”: 5,
“updated”: 1654074536888,
“objectId”: “5734DDEA-BB9B-4D93-8022-2EB6CD6F5DF8”
},
“___class”: “Contact”,
“updated”: 1654074616340,
“objectId”: “E4F63734-B691-417D-95B6-BAE82743348C”
}
]
The problem is not the contactListData, because I have looked at the list before updating the repeater component. If a column contains a NULL value for e.g. companyName then the repeater field won’t be updated with a blank value, but it keeps the value of the latest data.
Is it the data you expected the repeater to have?
The problem is not the contactListData, because I have looked at the list before updating the repeater component. If a column contains a NULL value for e.g. companyName then the repeater field won’t be updated with a blank value, but it keeps the value of the latest data.
The repeater completely re-renders itself when you assign a different data model to it.
What did the contactContainer
have prior to you assigning contactListData
from App Data
to it?
[
{
“assignedDate”: 1654074584000,
“contactCategory”: {
“___class”: “ContactCategories”,
“ownerId”: null,
“updated”: null,
“displayName”: “Lead”,
“created”: 1654073129295,
“objectId”: “D1227A7A-04E7-4A31-8635-23215610B3BA”
},
“uuidSource”: null,
“lastName”: “Sohn”,
“contactEmail”: null,
“created”: 1654074586438,
“sourceChannel”: null,
“companyName”: {
“___class”: “Company”,
“ownerId”: null,
“updated”: 1654075360646,
“created”: 1654073062284,
“objectId”: “EAE907FD-3B19-4ADB-B450-290229986793”,
“companyName”: “Silverpunk”
},
“contactScore”: null,
“fullName”: “Werner Sohn”,
“ownerId”: null,
“firstName”: “Werner”,
“createdDate”: null,
“activeStatus”: true,
“contactStatus”: {
“helpText”: null,
“displayName”: “Nurture”,
“created”: 1654073196064,
“___class”: “LeadStatus”,
“ownerId”: null,
“flowID”: 5,
“updated”: 1654074536888,
“objectId”: “5734DDEA-BB9B-4D93-8022-2EB6CD6F5DF8”
},
“___class”: “Contact”,
“updated”: 1654074616340,
“objectId”: “E4F63734-B691-417D-95B6-BAE82743348C”
}
]
Looks the same to me. Please help me here - did the repeater re-render data when you updated the data model?
Perhaps a small screen recording with loom would be helpful.
Mark
I sent you a private message with the loom link
Just watched the video. Thank you, it helps. Could you please show how you structured your repeater in the UI?
@Jorg_Beyer could you please share the video with the @staff as well in order to help you as quickly as possible
shared with the team
thanks for sharing it with the team!
On the video, I can see it stops working (displays value where it should not) only when you click on the All
button, but when you switch between other filters cells become empty
So, I assume the repeater works properly, it displays UI according to the passed data, and the problem might be with the data.
However, it requires additional checks, could you please share a link to the page or create a new one with minimum UI/Logic/Auth/etc, just to demonstrate the problem?
This is the logic of the Click Event for All:
This is the result in Browser Console:
But the repeater in UI shows all entries just with wrong content in some columns. It seems strange that the repeater show 4 lines, but the repeater data contains two records after setting the repeater data.
could you please share a link to the page or create a new one with minimum UI/Logic/Auth/etc, just to demonstrate the problem?
I found the reason, it happens because you are binding text from a sub-object, and for some records, the object doesn’t exist and as result, it returns undefined
value which is ignored in the data-binding sequence
I’ve fixed it by adding logic instead of data-binding, and when there is no value it assigns an empty string
This is a workaround until we fix this, you can do the same for other Text components
it is at least worth a try, but it appears strange to me that this only happens for the “All” where nothing gets filtered. Bur, I tried first whether I get a different result if I filter the All list. As the filter is the only difference in the logic. And, boom - everything works fine. So, I don’t need the Content Logic but only a filter that does not filter anything in the list.
Having said that I assume it is an error in the Repeater logic. Thank you for your help, it was good to know that someone is taking care of this topic.
Sorry, I have to add that I was too optimistic about “my solution”. It failed with some more data combinations. The proposal from @vladimir-upirov is the bullet proof one.
The issue has been fixed, once our QA department verified it we release it to production and notify you here.
The ticket’s number for reference is BKNDLSS-28653
Regards, Vlad