Flexicious Filtering UI is completely customizable through the use of filterRenderer property and the the IFilterControl (and its descendant) interfaces. In fact, our sample code contains the SalaryRangeSlider component, which demonstrates how to create a custom filter control that can be embedded within the filter row.


So got an interesting question today. One of our customers, has implemented a custom Filter, and was unable to trigger the fiter mechanism inspite of following the expected steps, i.e.

1) Implementing one of the IFilterControl interfaces (in this case ITextFilterControl)

2) Triggering the Change Event (Or any event that the column is configured to listen to via filterTriggerEvent)

3) Including the given FilterInclude.as from the sample.

When we looked through their code, we quickly identified the cause of the issue: The filterControl that they were using was wrapped in a Flexicious HBox, not the MX Hbox. The issue is this: The Flexicious Container controls, VBox,HBox,Panel,Form, etc are designed to be containers from a filter/databinding perspective. Motivation behind this was loose coupling between the filtering logic and the datagrid logic, so that we are able to use the Filtering/Databinding mechanism of Flexicous outside the datagrid. (See example 5, FlexiciousUI on our demo page). Flexicious controls (TextInput, Datefield, MultiSelectComboBox etc) register themselves with the first Flexicious container they encounter in their hierarchy.  So, this particular control was registering with the Flexicoius HBox instead of the DataGridFilterRow, which is also a Flexicious container. As soon as we switched it to not be a Flexicious HBox, voila, everything works like a charm!

One of the things we pride ourselves on is being quick in responding to our customer requests. Our team works  in two different time zones, and in most cases we are able to respond to issues within a matter of hours. This customer included a reproducible Flex project, and this helps tremendouly in providing a solution expediously.

BTW: This particular customer has excellent graphics. Love to see people do amazing things with Flexicious!