Issue 320: Dynamic filter hangs
Status:  New
Owner: ----
Reported by Inventor...@gmail.com, May 30, 2011
What steps will reproduce the problem?
1. Implements a DroplistFilterEditor on certain column
2. Load the table
3. Select one of the value of DroplistFilterEditor enabled column

What is the expected output? What do you see instead?
Expected : Correctly filtered new table, with enabled dynamic filter
Observed : Correctly filtered new table, with disabled dynamic filter

What version of the product are you using? On what operating system?
Jmesa   : 3.0.4
Server  : Websphere portal
Browser : Firefox, Google chrome

Please provide any additional information below.
- Same observation found after clicking the 'clear filter' function
- Table is supporting PortletTableModel and TableModel

Jun 6, 2011
Project Member #1 jeff.johnston.mn@gmail.com
Did you figure out your problem yet? 
Jun 7, 2011
#2 Inventor...@gmail.com
Nope I did not :( 

Any hints or can we have this case assigned and worked on? :)
Jun 8, 2011
Project Member #3 jeff.johnston.mn@gmail.com
I think this is very close to issue 256.

https://code.google.com/p/jmesa/issues/detail?id=256

I am not able to reproduce this. You are going to have to debug this locally. There is not much to it though. The place to look is in the jquery.jmesa.js file at the createDroplistDynFilter() method.

Nov 17, 2011
#4 tothsanyi.mail@gmail.com
I had almost the same issue when i used dynFilters.
My jmesa table updates every 10 seconds by making an ajax request, so if the filter is used when the request is sent, then the table updates but the filter cannot be accessed anymore (you cannot click on the filter to access the filter's input field).

After a short debugging i realized that the problem is from the createDynFilter() method, the dynFilter is not set to null if it is opened while the request is sent.

So i needed to check if the filter is visible before returning the created dynFilter, or else create a new one.

Line 456:
if (dynFilter) {
   // return only if dynFilter is visible
   // In my case i had just one filter so i checked:
   // document.getElementsByClassName("dynFilter")[0].style.overflow == "visible"
   return;
}