Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

From a configuration perspective, a search bar is defined by an object with following properties:

  • hideSide: Boolean boolean - Defines if a side search should be displayed

  • filters: Array<SearchItem> - Defines the items that are used as search entries. Each item will at that level will reflect either:

    • A button in the search bar

    • An entry in the side search (entry must describe a tree field filter)

...

A SearchItem can be one of the following:

  • A String reflecting string referencing a NamedFilterConfig

  • An ItemFilterConfiguration ItemFilterConfig

  • A GroupFilterConfiguration GroupFilterConfig

NamedFilterConfig description

...

NamedFilterConfig are defined in $.common.namedFilters. It can be one of:

  • A String string reflecting a NamedFilterConfig

  • A String string reflecting a field name (as defined in the admin structure area)

  • An ItemFilterConfiguration ItemFilterConfig

  • A CustomConstraintFilterConfig

  • A GroupFilterConfiguration GroupFilterConfig

...

ItemFilterConfig description

An ItemFilterConfiguration ItemFilterConfig reflects a single filter. It can be defined as:

  • A String string representing the field you want to create a filter from. In such case, default behaviour of this filter will be defined base on the field type. This is equivalent to creating a FieldFilterConfig by only specifying the field property:

    Code Block
    languagejson
    "myfieldname"
    // equivalent to
    {
      "field": "myfieldname"
    }

  • An FieldFilterConfig describing the filter.

...

Property

Type

Default

Description

additional

Booleanboolean

false

When set to true, the field button won’t show by default. User will need to select the field from the + button

class

Stringstring

undefined

Allows to add one or more classes to the component

component

Stringstring

undefined

Allows to force a component to be used. Usage of this property is discouraged.

constraintKey

Stringstring

value of field

Name of the constraint to which this filter applies

customParam

Booleanboolean

false

When set to true, the filter is considered as a custom parameter and sent as such to the REST service

field

Stringstring

undefined

The name of the field on which the filter applies. If not provided, the filter will be resolved as a CustomConstraintFilterConfig

i18n

Stringstring

undefined

I18n key to use for the button of the field

label

Stringstring

value of resolved i18n if available

field label if i18n not available

The label of the button

...

Property

Type

Default

Description

inline

Booleanboolean

false

Shows boolean filter as a Switch

...

Boolean filter when inline is false or undefined

...

Boolean property when inline is true

Additional FieldFilterConfig properties for Date fields

Property

Type

Default

Description

betweenOption

Booleanboolean

false

Adds ability to filter between two dates

operators

Array

[]

Can only define one value: eq, neq, gt, gte, lt or lte

constraintsItems

Array<DateConstraint>

[]

Allows to define “built-in” constraints for searching on the date field:

...

Property

Type

Description

i18n

Stringstring

Label of the constraint

constraint

Object

The constraint to apply on the date field

...

Property

Type

Default

Description

tree

Booleanboolean

Resolved from the field referenced resource

Allows to force not using a tree filter for a tree field.

...

Property

Type

Default

Description

aggregates

Stringstring

One of "filter", "attenuate", "off"

Defines how aggregates should be used

filter -> Removes values with no matches

attenuate -> Discourage use of values with no matches

off ->Don't do anything

cursor

String string | Object

{}

Name of the cursor, or cursor definition to use for displaying possible relationship values.

If an empty object, an anonymous cursor is created based on the field’s related resource

maxDisplayedItem

Numbernumber

60

Max number of displayed items

operators

Array

If the field is a child, ["in"]

If the field is a childmultiple,

["contains"]

The operator to use for the filter

search

Numbernumber

25

Enable searching when number of possible values reaches this value

...

Property

Type

Default

Description

inTopPanel

boolean

false

Allows to display

layout

Stringstring

""

Allows to use an alternate layout.
"folder" will use a folder layout

operators

Array

["dof"]

["in"] if layout is "folder"

The operator to use for the filter

side

boolean

false

Allows to move the filter to the side of the search bar

sideDefault

boolean

false

Allows to define the default filter to use in the side panel when multiple are available

tree

String string | Object

{}

Name of the tree, or tree definition to use for displaying possible relationship values.

If an empty object, an anonymous tree is created based on the field’s related resource

...

Tree relationship with folder layout

Image Removed

Tree relationship with empty layout

...

Additional FieldFilterConfig for tree String fields

Property

Type

Default

Description

operators

Array

["contains"]

Will use each operator to produce an input

CustomConstraintFilterConfig description

CustomConstraintFilterConfig allows to define a filter that relies on filters applying to multiple fields.

Property

Type

Default

Description

additional

boolean

false

When set to true, the field button won’t show by default. User will need to select the field from the + button

class

string

undefined

Allows to add one or more classes to the component

component

string

undefined

Allows to force a component to be used. Usage of this property is discouraged.

constraintKey

string

value of field

Name of the constraint to which this filter applies

constraint

Object

undefined

The filter’s constraint.

i18n

string

undefined

I18n key to use for the button of the field

label

string

value of resolved i18n if available

field label if i18n not available

The label of the button

GroupFilterConfig description

A GroupFilterConfig allows to group multiple ItemFilterConfig or GroupFilterConfig together.

For easier configuration, a GroupFilterConfig can de defined as a simple Array, where:

  • The first item in the array is either:

    • a string (the value is considered to be an i18n key

    • an Array<string> where

      • first item is an i18n key

      • second item is a css selector used for displaying the icon

    • an Object

    • null

  • Other items are all of type SearchItem

On such configuration, this array is transformed by the application into a GroupFilterConfig object:

Code Block
["some.key", "item1", "item2"]

is equivalent to:

Code Block
{
  "i18n": "some.key",
  "config": ["item1", "item2"]
}
Code Block
[{...props}, "item1", "item2"]

is equivalent to:

Code Block
{
  ...props,
  "config": ["item1", "item2"]
}

Code Block
[["some.key", "far fa-cog"], "item1", "item2"]

is equivalent to:

Code Block
{
  "i18n": "some.key",
  "icon": "far fa-cog",
  "config": ["item1", "item2"]
}

Code Block
[null, "item1", "item2"]

is equivalent to:

Code Block
{
  "config": ["item1", "item2"]
}

GroupFilterConfig properties

Property

Type

Default

Description

i18n

string

undefined

The i18n key of the group name

icon

string

""

The icon for the group button

tabs

Array | Object

undefined

The GroupFilterConfig will use a GroupTabWrapper if this property exists. Otherwise, GroupWrapper is used

GroupTabWrapperadditional properties

A tabs property can be provided to define how to organise , items within the groups.

Passing tabs as an Array

Use the array syntax for static tabs. Each item within the tabs array should be an object with following properties:

Property

Type

Default

Description

title

string

undefined

The i18n key of the tab name

content

NamedFilterConfig

undefined

The content of the tab

Passing tabs as an Object

Use the object syntax if you want to generate the tabs as values of a filter. On such circumstance, tabs should be an object with following properties:

Property

Type

Default

Description

titles

FieldFilterConfig | string

undefined

A FieldFilterConfig or a reference to a named one

This FieldFilterConfig must be a non tree relationship filter, and must be extended with a keyCode property which is the property name from the FieldFilterConfig underlying cursor that will be used to map title with tab content

content

Record<string, NamedFilterConfig>

undefined

The content of the tab. Each key should be the value of the keyCode property. Value is the content of the tab.

GroupWrapper additional properties

Property

Type

Default

Description

constraintPrefix

string

null

When defined, allows to group constraints from nested configs with logical operators

horizontal

bBoolean

false

When set to true, sub-items will be stacked horizontally