PredefinedGroup

Description

A PredefinedGroup is an interface that represents a static group with well-known properties.

Properties

Property

Type

Description

value

any

The value representing the group.

filterDescription?

FilterDescription

The filter description used to figure out the data items contained in the group.

predicate?

function(item : RawItem) => boolean

A predicate function used to figure out the data items contained in the group.

Examples

Example 1

The following example defines a PredefinedGroup that targets countries located in North America using a predicate.

const northAmerica = {

  value: "North America",

  predicate: item => (item.country === "Canada") || (item.country === "Mexico") || (item.country === "USA")

};

Example 2

The following example defines a few PredefinedGroup based on a rating using a FilterDescription.

const excellent = {

  value: "Excellent",

  filterDescription: {

    field: "rating",

    operatorKey: "gt",

    operand: 3

  }

};



const medium = {

  value: "Medium",

  filterDescription: {

    field: "rating",

    operatorKey: "eq",

    operand: 3

  }

};



const poor = {

  value: "Poor",

  filterDescription: {

    field: "rating",

    operatorKey: "lt",

    operand: 3

  }

};

Remarks

A PredefinedGroup can be provided through a GroupConfiguration.

A PredefinedGroup offers 2 ways to specify the data items contained in the group. Either it provides a FilterDescription on the filterDescription property or it provides a predicate on the predicate property. Only one of these properties must be set.

A predicate is more powerful than a FilterDescription since it can reference anything the JavaScript language provides while a FilterDescription has access to a limited set of filter operators. However, since a predicate is a function with actual code, some data provider may not be able to deal with them. For example, a data provider that sends queries to a web service will not be able to run the predicate remotely while it could be able to parse a FilterDescription and convert it in a way to let the web service do the filtering remotely.