Hi Guys
I want to have a filter with the source rows in a model and filterable default on. As I created this filter, everything worked fine. Probably it stopped working with the upgrade to Rockaway. I’m working on a sandbox with version 8.8.
On my dev org, I had Banzai version 7.31, so I tried it there - worked fine. After upgrading this org to Rockaway, it stopped working again.
XML:
{{{Name}}}
{{Id}}
Ok. There is a breaking change in Rockaway.
“Field from another model” conditions can no longer have values over-riden by injected values.
We are trying to make “FFAM” conditions more powerful - so that they listen to changes made in parent models.
But a downstream impact of this feature is that we’ve taken away the ability for table filters and action framework sequences to inject specific values into those conditions. You can activate or deactivate “FFAM” conditions, but you cannot override thier values.
The workaround for this is to create a second condition that is “filterable default off” and has a blank value. Then your filter has 2 steps. Deactivate the FFAM condition and activate the second one - and pass the appropriate value into it.
With all the salesforce patch silliness from last week, we haven’t appropriately gotten this word out. That’s our task this week…
Rob,
This might explain an issue I was having with a Distance condition that is a single specified value but the “Comparison Location Source” is FFAM. I was trying to follow the advice from this thread with deferred promise and $.when calls to update the comparison location value, save it, update the FFAM model, and then update the model with the distance condition on it - all in that order.
My code seems to be working and running in the correct order, but the condition is not updated until I refresh the page. I was going to continue fiddling with my code but if the issue is related to what you said, I can stop and wait for a better option. Do you see an issue in the logic in my code or is this behavior only from the Rockaway change?
Relevant Code:
$.when(model.updateRow( { Id: row.Id },<br> { CheetahBMS__GeoLocation__Longitude__s: obj.resultsu0].geometry.location.lng,<br> CheetahBMS__GeoLocation__Latitude__s: obj.resultsu0].geometry.location.lat}<br> )<br> <br> )<br> <br> .done(function(){<br> console.log("row updated");<br> $.when(model.save())<br> .done(function(){<br> console.log("model saved");<br> $.when(model.updateData())<br> .done(function(){<br> <br> console.log("Res: "+model.datad0].CheetahBMS__GeoLocation__Latitude__s +", "+model.datad0].CheetahBMS__GeoLocation__Longitude__s);<br> var condition = Contact.getConditionByName('MailingAddress');<br> console.log(condition);<br> Contact.setCondition(condition,row.distanceFilter);<br> $.when(Contact.updateData())<br> .done(function(){<br> <br> console.log("Contact: "+Contact.conditionsi4].latitudeValue +", "+Contact.conditionsi4].longitudeValue);<br> dfd.resolve();<br> });<br> <br> });<br> });<br> <br> <br> })
Does this workaround apply for External REST Data sources?
Update: We’re planning on making an update to Rockaway that would return this functionality so that your pages work as they did in Banzai. We hope to have this fix available in the next few weeks.
Reply
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.