Appboard/2.4/builder/widgets/actions/apply a filter to a data collection: Difference between revisions

imported>Mike.berman
No edit summary
imported>Cmace
(action filtering based on data source, not data collection)
 
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{DISPLAYTITLE:AppBoard Action - Apply a Filter to a Data Collection}}
{{DISPLAYTITLE:Apply a Filter to a Data Collection}}
[[Category:AppBoard 2.4]]
The "Apply a Filter to a Data Collection" Action will apply a client-side filter to a Data Collection when a User clicks to invoke the Action in a Widget.  This Action is provided to empower Users to control the data that they are viewing to meet their current needs.  The Data Collection that is filtered does not need to be the Data Collection that is driving the selected Widget.  Thus, it is possible to click in one Widget and have this Action filter the presentation of other Widgets.
The "Apply a Filter to a Data Collection" Action will apply a client-side filter to a Data Collection when a User clicks to invoke the Action in a Widget.  This Action is provided to empower Users to control the data that they are viewing to meet their current needs.  The Data Collection that is filtered does not need to be the Data Collection that is driving the selected Widget.  Thus, it is possible to click in one Widget and have this Action filter the presentation of other Widgets.


 
For general information about filters and filtering data in AppBoard, see the
For more information on the concepts of filtering Data Collections in AppBoard, see [[appboard/2.4/builder/filtering_data_collections|Filtering Data Collections]].
[[appboard/2.4/builder/filtering|Filtering Overview]] page.




Line 17: Line 18:


# Follow the instructions above to create the Action in the <b>Widget Actions</b> panel.
# Follow the instructions above to create the Action in the <b>Widget Actions</b> panel.
# <b>Name</b>: Enter a name for this Action.  For convenience, a default name is provided that you may use.  The Name is not used anywhere else in AppBoard, and only displayed on this configuration page.
# <b>Name</b>: Enter a name for this Action.  For convenience, a default name is provided.  The Name is not used anywhere else in AppBoard, and only displayed on this configuration page.
# <b>On selection of</b>:
# <b>On selection of</b>:
## Select "any" or "specific" for the type of data selection by the User that will trigger the Action. When selecting "specific", perform the following additional steps:
## Select "any" or "specific" for the type of data selection by the User that will trigger the Action. When selecting "specific", perform the following additional steps:
Line 23: Line 24:
### Click <b>Add Rule</b> to create one or more rules that indicate what data should trigger the Action, when selected.
### Click <b>Add Rule</b> to create one or more rules that indicate what data should trigger the Action, when selected.
### Click <b>Close</b> to save the Filter settings.
### Click <b>Close</b> to save the Filter settings.
## Select the Data Collection name. When the Widget is run, selection of data in this Data Collection will trigger the Action.  
## Select the Data Source name. When the Widget is run, selection of data in this Data Source will trigger the Action.  
# <b>Filter data collection</b>: Select the name of the data collection to be filtered.
# <b>Filter data collection</b>: Select the name of the data collection to be filtered.
# Click <b>Add Rule</b> to add the filter. Select one of the following from the list of options:
# Click <b>Add Rule</b> to add the filter. Select one of the following from the list of options:
#* [[appboard/2.4/builder/match_regular_expression|Match Regular Expression]] - This rule compares a value in the selected item to a regular expression.
#* [[appboard/2.4/builder/match_regular_expression|Match Regular Expression]] - This rule compares a value in the selected item to a regular expression.
#* [[appboard/2.4/builder/simple_property_comparison|Simple Property Comparison]] - This rule compares a value in the selected item to a constant value.
#* [[appboard/2.4/builder/simple_property_comparison|Simple Property Comparison]] - This rule compares a value in the selected item to a constant value.
#* [[appboard/2.4/builder/widget_interaction_comparison|Widget Interaction Comparison]] - This rule compares a value in the selected item to a value in another Data Collection.
#* [[appboard/2.4/builder/widget_interaction_comparison|Widget Interaction Comparison]] - This rule compares a value in the selected item to a value in another Data Collection.  
# Checking the '''Show Clear Filter Button on Widget''' box will provide a button on the Widget that the User can click, after the filter is invoked, to stop the filter from being applied and show the original full Data Collection.
# Checking the '''Show Clear Filter Button on Widget''' box will provide a button on the Widget that the User can click, after the filter is invoked, to stop the filter from being applied and show the original full Data Collection.
#*From the drop-down list, select the name of the Widget on which you want to display the Clear Filter button.
#*From the drop-down list, select the name of the Widget on which you want to display the Clear Filter button.
Line 34: Line 35:
# Click '''Close''' to exit the <b>Widget Actions</b> panel and return to the Builder.
# Click '''Close''' to exit the <b>Widget Actions</b> panel and return to the Builder.


{{Tip|If the data collection assigned to a widget changes it will try to automatically upgrade the action to continue to work. If that is unsuccessful the configuration of the action may need to be re-edited to work.}}


== Sample Use Case ==
== Sample Use Case ==


Suppose you are providing a Map Widget with nodes representing several stores in a region.  You may want to provide an action where when the User clicks on a store (node) in a particular region on the map, only the stores from that region are shown and stores from the other regions are removed.  You can create an Apply a Filter to a Data Collection Action.  This can temporarily filter the Data Collection to show only stores which have a region code matching the region code of the selected store.
Suppose you are providing a Map Widget with nodes representing several stores in a region.  You may want to provide an action where when the User clicks on a store (node) in a particular region on the map, only the stores from that region are shown and stores from the other regions are removed.  You can create an Apply a Filter to a Data Collection Action.  This can temporarily filter the Data Collection to show only stores which have a region code matching the region code of the selected store.
== Advanced Field to Field Comparison ==
While AppBoard allows users to specify [[appboard/2.4/builder/simple_property_comparison|Simple Property Comparisons]] on a specified field in a Data Collection against a specified constant, the need occasionally arises for the field to be compared instead against another field in the Data Collection. There are two suggested approaches for effecting this type of comparison:
* If the data source is an SQL Query adapter, consider specifying a query that pre-calculates the result of the comparison (i.e., <i>SELECT if(foo > bar, 'true', 'false') AS comparison</i>).
* Create a processing script that compares the fields and adds a new column to the Data Collection that can be then compared to a constant value (see: [[appboard/2.4/builder/data_processing_scripts|Data Processing Scripts]]).

Latest revision as of 18:18, 1 May 2014

The "Apply a Filter to a Data Collection" Action will apply a client-side filter to a Data Collection when a User clicks to invoke the Action in a Widget. This Action is provided to empower Users to control the data that they are viewing to meet their current needs. The Data Collection that is filtered does not need to be the Data Collection that is driving the selected Widget. Thus, it is possible to click in one Widget and have this Action filter the presentation of other Widgets.

For general information about filters and filtering data in AppBoard, see the Filtering Overview page.


How To Add Actions To A Widget

For instructions on adding an Action to a Widget, see the general instructions in How To Create an Action in a Widget.


How To Configure the Apply a Filter to a Data Collection Action

Perform the following steps to configure an "Apply a Filter to a Data Collection" Action:


  1. Follow the instructions above to create the Action in the Widget Actions panel.
  2. Name: Enter a name for this Action. For convenience, a default name is provided. The Name is not used anywhere else in AppBoard, and only displayed on this configuration page.
  3. On selection of:
    1. Select "any" or "specific" for the type of data selection by the User that will trigger the Action. When selecting "specific", perform the following additional steps:
      1. Click the Filter button. The Filter Editor is displayed.
      2. Click Add Rule to create one or more rules that indicate what data should trigger the Action, when selected.
      3. Click Close to save the Filter settings.
    2. Select the Data Source name. When the Widget is run, selection of data in this Data Source will trigger the Action.
  4. Filter data collection: Select the name of the data collection to be filtered.
  5. Click Add Rule to add the filter. Select one of the following from the list of options:
  6. Checking the Show Clear Filter Button on Widget box will provide a button on the Widget that the User can click, after the filter is invoked, to stop the filter from being applied and show the original full Data Collection.
    • From the drop-down list, select the name of the Widget on which you want to display the Clear Filter button.
    • Clear Label Button Field indicates what value should be used for the label that will be shown on the clear button.
  7. Click Close to exit the Widget Actions panel and return to the Builder.
Template-tip.png
If the data collection assigned to a widget changes it will try to automatically upgrade the action to continue to work. If that is unsuccessful the configuration of the action may need to be re-edited to work.

Sample Use Case

Suppose you are providing a Map Widget with nodes representing several stores in a region. You may want to provide an action where when the User clicks on a store (node) in a particular region on the map, only the stores from that region are shown and stores from the other regions are removed. You can create an Apply a Filter to a Data Collection Action. This can temporarily filter the Data Collection to show only stores which have a region code matching the region code of the selected store.

Advanced Field to Field Comparison

While AppBoard allows users to specify Simple Property Comparisons on a specified field in a Data Collection against a specified constant, the need occasionally arises for the field to be compared instead against another field in the Data Collection. There are two suggested approaches for effecting this type of comparison:

  • If the data source is an SQL Query adapter, consider specifying a query that pre-calculates the result of the comparison (i.e., SELECT if(foo > bar, 'true', 'false') AS comparison).
  • Create a processing script that compares the fields and adds a new column to the Data Collection that can be then compared to a constant value (see: Data Processing Scripts).