[KULRICE-6495] When a field is refreshed that triggers a progressive disclosure condition, the check for progressive disclosure is not triggered Created: 12/Jan/12 Updated: 16/Jan/15
|Project:||Kuali Rice Development|
|Security Level:||Public (Public: Anyone can view)|
|Reporter:||Jerry Neal (Inactive)||Assignee:||Unassigned|
|Remaining Estimate:||Not Specified|
|Time Spent:||Not Specified|
|Original Estimate:||Not Specified|
|KAI Review Status:||Not Required|
|KTI Review Status:||Not Required|
I discovered this issue while doing some testing with the new #np binding prefix on the agenda editor.
If you have a field that progressively discloses another field, and then that field (the trigger field) is refreshed (by another condition) when the field refreshes the progressive disclose condition is not checked. If the field changes we need the condition to be rechecked and the disclosed content to be shown or hidden.
This seems similar to another issue we had where the fields we populated from an ajax query or lookup where not triggering the progressive disclosure checks. I had to trigger the change event in code. It seems the browsers don't fire change events when a value is changed programmatically.
Just a note the same problem would occur if the refreshed field was suppose to trigger a refresh check itself.
Not exactly sure the solution. One possibility is to look through the refreshed content to pick up fields and trigger the change event. However, this has some problems. One the value might not have actually changed. So it could send a refresh call when it is not needed. Second the refreshed content could be a big collection, so we would be going through triggering change events on several fields that probably don't even have a condition. There might be a way we can query to determine if the field has a listener before we trigger.
The testing I did was not checked in as it was not actually part of the agenda. So we will need to recreate the situation in the kitchen sink.