This module is a wonderful thing. I must have seen one of your previous efforts (and promptly forgotten about it!) because about half a year ago I "invented" a similar "filter-on-click" interface for a client's web-based interface to his database.
If you allow me, I have a few questions and comments:
- I have found it useful to add a "clear all filters"-button to each page, just for the case someone selects a combination of filters which yield an empty result set. It seems some users don't know what to do then and don't find the obvious answer "hit the back button". Also it saves some clicks and return trips to the database to start a new search afresh.
- Using HTML::Table is a good idea. I did it myself too. Recently however, I had the need to have access to the individual rows (or even cells) of the table, mainly because the page was written with the Template Toolkit (as the View component of Catalyst). A switch which would allow the output of your module to be either in the form of an HTML::Table or in the form of a two-dimensional array, would be really useful in that respect.
- Finally a choice about the type of config-file would be useful too, I rather like to put things in YAML-format and it would be really nice to put all configuration data in one single file, rather than have multiple files each define parts of the whole application.
CountZero
"If you have four groups working on a compiler, you'll get a 4-pass compiler." - Conway's Law