Free cookie consent management tool by TermsFeed

a!recordFilterList() Function

Function

a!recordFilterList( name, options, defaultOption, isVisible, allowMultipleSelections )

Creates a list user filter that can be used in a record list or records-powered grid.

Parameters

Keyword Type Description

name

Text

The name of the user filter that displays to users.

options

FacetOption Array

Array of filter options created with a!recordFilterListOption().

defaultOption

Text

Determines which, if any, filter options are applied when a record list first loads. If allowMultipleSelections is false, only one default option will be automatically applied.

isVisible

Boolean

Determines whether the filter is visible to the user at runtime. Default is true.

allowMultipleSelections

Boolean

Determines if the filter will allow the user to select a single option or multiple options. Default is true.

Returns

Facet

Usage considerations

Where to use this function

This function can only be used in a record type to create a user filter.

Create filter options

To create the options within a!recordFilterList(), use the a!recordFilterListOption() function.

Since users can save filter values, try to use expressions that rarely change the options available. If users save an option that is not available the next time they load the record, a warning message will display and the user may need to update their saved filter.

Use the defaultOption parameter

The defaultOption parameter allows developers to choose one or more filter options to apply when a record list first loads. The number of default options you can specify depends on the allowMultipleSelections parameter.

By default, the allowMultipleSelections is set to true, so you can apply one or more values in the defaultOption parameter. However, if you change allowMultipleSelections to false, then you can only apply one value in the defaultOption parameter.

Example

The following examples reference a Customer record type, which has a many-to-one relationship with the Region record type.

For additional examples, see Expression user filter configuration.

Record type object references are specific to each environment. If you copy and paste these examples into your interface, they will not evaluate. Use them as a reference only.

User filter for active or inactive customers

In this example, we're adding a "Status" user filter on the Customer record type, so users can filter by active or inactive customers.

By default, the user filter will have "Active" selected, so users only see active customers when the record list first loads.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
=a!recordFilterList(
  name: "Status",
  options: {
    a!recordFilterListOption(
      id: 1,
      name: "Active",
      filter: a!queryFilter(
        field: recordType!Customer.fields.status,
        operator: "=",
        value: true
      )
    ),
    a!recordFilterListOption(
      id: 2,
      name: "Inactive",
      filter: a!queryFilter(
        field: recordType!Customer.fields.status,
        operator: "=",
        value: false
      )
    )
  },
  defaultOption: "Active",
  isVisible: true,
  allowMultipleSelections: true
)

User filter for customer regions

In this example, we're adding a "Region" user filter on the Customer record type, so users can filter by customer regions in the United States.

By default, the user filter will have "North" and "East" selected, so users only see customers in the North and East regions on the United States when the record list first loads.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
a!recordFilterList(
  name: "Region",
  options: a!localVariables(
    local!fieldValues: a!queryRecordType(
      recordType: recordType!Region,
      fields: recordType!Region.fields.name,
      pagingInfo: a!pagingInfo(
        1,
        5000
      )
    ).data,
    a!forEach(
      items: local!fieldValues,
      expression: a!recordFilterListOption(
        id: fv!index,
        name: fv!item[recordType!Region.fields.name],
        filter: a!queryFilter(
          field: recordType!Customer.fields.regionId,
          operator: "=",
          value: fv!item[recordType!Region.fields.id]
        )
      )
    )
  ),
  defaultOption: {"North", "East"},
  isVisible: true,
  allowMultipleSelections: true
)

Feature compatibility

The table below lists this function's compatibility with various features in Appian.
Feature Compatibility Note
Portals Partially compatible

Can be used with Appian Portals if it is connected using an integration and web API.

Offline Mobile Partially compatible

Can be used with offline mobile if it is loaded at the top of the form.

Sync-Time Custom Record Fields Incompatible
Real-Time Custom Record Fields Incompatible

Custom record fields that evaluate in real time must be configured using one or more Custom Field functions.

Process Reports Incompatible

Cannot be used to configure a process report.

Process Events Incompatible

Cannot be used to configure a process event node, such as a start event or timer event.

Process Autoscaling Compatible

Feedback